
	function ps_optionSelect(obj) {
		// Set [is toggled] to 'false' for other radio buttons in obj group
		var e = document.getElementsByName(obj.name);

		for(var i = 0 ; i < e.length ; i++) {
			if(e[i].value != obj.value) {
				var radVals = new Array();
				radVals = e[i].value.split(',');
				e[i].value = radVals[0] + "," + radVals[1] + ",false" + "," + radVals[3];
			}
		}
	
		// Check [is toggled] and flip value
		var vals = new Array();
		vals = obj.value.split(',');

		if(vals[2] == "false") {
			obj.value = vals[0] + "," + vals[1] + ",true" + "," + vals[3];
		} else { // Set .checked to false if button was toggled on
			obj.value = vals[0] + "," + vals[1] + ",false" + "," + vals[3];
			obj.checked = false;
		}
	  
		ps_calcTotal(obj);
	}


	/*
	 * Clear all radio buttons, reset disabled fields
	 * Return wager and total fields to default values
	 */
	function ps_calc_reset() {
		for(var i = 0 ; i < document.ps_Calculator.length ; i++) {
	    	if(document.ps_Calculator.elements[i].type=="radio") {
	      		document.ps_Calculator.elements[i].checked = false;
	      		document.ps_Calculator.elements[i].disabled = false;

			  	var vals = new Array();
			  	vals = document.ps_Calculator.elements[i].value.split(',');
				document.ps_Calculator.elements[i].value = vals[0] + "," + vals[1] + ",false" + "," + vals[3];
	    	}
	  	}
	  
	  	document.ps_Calculator.ps_wager.value = 2;
	  	ps_calcTotal(null);
		updatePSDisplay(0);	  	
	}


	/*
	 * Redirect form to print page passed as parameter and submits
	 */
	function ps_print() {
		document.ps_Calculator.target = '_new';
		document.ps_Calculator.submit();
	}

	
	/*
	 * Recalculate totals based on selected game and place value into 
	 *   calc_total input field
	 * Disable radio buttons in groups with no selected elements when
	 *	 maximum number of selections is reached
	 * Pre:
	 *  - game input field exists
	 *  - calc_total input field exists
	 *  - wager input field exists
	 *  - radio buttons in ps_Calculator form have values of the form:
	 *	 	"[option label (string)],[option value (float)],
	 *		 [is toggled ('true'/'false')],[option sport (string)]"
	 */
	function ps_calcTotal(obj) {
		var sum = 0.00;
		var numSelected = 0;
		var sprt = "***"; // Total
		var sprtFirst = "***"; // Determinator of multiple sport selections
		var sprtTemp = "";
		var sprtError = false;
		var vals = new Array();
		var htmlStr = "";
		
		if(obj != null) {
	    	vals = obj.value.split(',');
	    }
	
		// Total selected values and count selected elements
	  	for(var i = 0 ; i < document.ps_Calculator.length ; i++) {
	    	if(document.ps_Calculator.elements[i].type == "radio" && document.ps_Calculator.elements[i].checked == true) {
				var rowName = document.ps_Calculator.elements[i].name;
				var radVals = new Array();
	      		radVals = document.ps_Calculator.elements[i].value.split(',');
	      		
	      		// Set sport if it has not been set
	      		if(obj == null || sprt == "***" && radVals.value != obj.value) {
	        		sprtTemp = radVals[3];
	      		}

	      		if(sprtFirst == "***") { // Assume first sport is correct
	        		sprtFirst  = radVals[3];
					sprt = sprtFirst; 
	      		} else if(sprtFirst != radVals[3]) { // Different sport selected
		        	sprtError = true
	
					if (sprtFirst == vals[3]) {
		  				sprt = radVals[3];
					}
	      		}
				
	
				numSelected++;
	    	   }
	  	}


		// More than one sport was selected
		if(sprtError) {
	    	alert('You may only make selections for one sport when playing POINT SPREAD');
	    	obj.value = vals[0] + "," + vals[1] + ",false" + "," + vals[3];
	    	obj.checked = false;
	    	numSelected--;
	  	}
	  
		// Ensure the first sport is set
	  	if(sprt == "***") {
	    	sprt = sprtFirst;
	  	}
	  
	  	// More than 12 games selected
		if(numSelected > 12) {
	    	alert('You must select between 2 and 12 games for POINT SPREAD');
	    
	    	var vals = new Array();
	    	vals = obj.value.split(',');
	    	obj.value = vals[0] + "," + vals[1] + ",false" + "," + vals[3];
	    	obj.checked = false;
	    	numSelected--;
	  	}
	
		// Display total and change state of radio buttons
		if(numSelected >= 2) {
	    	var wager = document.ps_Calculator.ps_wager.value;

	    	if(!isNaN(wager)) {
	      		var hky_bbl_vals = new Array(1.25, 2, 4, 8, 15, 30, 50, 90, 150, 200, 400, 500);
	      		var ftb_bkt_vals = new Array(1.25, 2.5, 5, 9, 16, 30, 50, 90, 150, 200, 400, 500);

			    if(sprt == "HKY" || sprt == "BBL") {
	        		sum = wager * hky_bbl_vals[numSelected-1];
	      		} else if(sprt == "FTB" || sprt == "BKT") {
	        		sum = wager * ftb_bkt_vals[numSelected-1];
	      		}
	    	}

	    	document.ps_Calculator.ps_total.value = "$" + sum.toFixed(2);
	  	} else {
	    	document.ps_Calculator.ps_total.value = "***";
	  	}
		
		updatePSDisplay(numSelected);
	}


function updatePSDisplay(numSelected) {

  var htmlStr = "";

  // Highlight the rows
  $(".stripeMeSpread tr").css( {"background-color":""});
  $(".stripeMeSpread tr").css( {"color":"white"} );
  $(".stripeMeSpread tr:even").addClass("alt");

  if (numSelected == 0) {
    htmlStr = "No events selected<br/>" ;
  } else {

    for(var i = 0 ; i < document.ps_Calculator.length ; i++) {
      if(document.ps_Calculator.elements[i].type == "radio" && document.ps_Calculator.elements[i].checked == true) {
        var radVals = new Array();
        radVals = document.ps_Calculator.elements[i].value.split(',');
        var rowName = document.ps_Calculator.elements[i].name;
        var sepLoc = rowName.indexOf("_");
        var rowId =  "#psTr_" + rowName.substr(0,sepLoc)

        // highlight selected rows
        $( rowId).css( {"background-color":"#C5DC45"} );
        $( rowId).css( {"color":"black"} );
        $( rowId ).removeClass("alt");

	sepLoc = rowName.indexOf("_");
	rowId =  "#psTr_" + rowName.substr(0,sepLoc);

        // enter summary text

	// parse the sport name from the full league descriptor
	var sportDes = $( rowId + " td:eq(3)").attr('title');
        var spaceIndex = sportDes.lastIndexOf(" ");
        sportDes = sportDes.substring(spaceIndex + 1);

	var visitorDes = $( rowId + " td:eq(4)").html();
	var homeDes = $( rowId + " td:eq(6)").html();
	var locSelected = radVals[0];
	var homeSpread = $( rowId + " td:eq(7)").html();
	var visitorSpread = $( rowId + " td:eq(5)").html();

        htmlStr = htmlStr + "Game #" + $( rowId + " td:eq(0)").html() + " &nbsp;";

        if (visitorSpread == "") {
          htmlStr = htmlStr + visitorDes + " &nbsp;";
        } else {
          htmlStr = htmlStr + visitorDes + " &nbsp;" + visitorSpread + " &nbsp;";
        }

        htmlStr = htmlStr + "at &nbsp;";

        if (homeSpread == "") {
          htmlStr = htmlStr + homeDes + " &nbsp;";
        } else {
          htmlStr = htmlStr + homeDes + " &nbsp;" + homeSpread + " &nbsp;";
        }

        htmlStr = htmlStr + sportDes + "<br/>";

	if ( radVals[0] == "V" ) {
		htmlStr = htmlStr + "You picked " + visitorDes;
	} else if ( radVals[0] == "H" ) {
		htmlStr = htmlStr + "You picked " + homeDes;
	}

        htmlStr = htmlStr + " to WIN.<br /><br />";

      }
    }
  }

  $("#psTicketSummary").html(htmlStr);
}
