// pointspreadJavascript.js
var pointspreadDateViews=null;
var pointspreadCheckedEvents=new Array(12);
pointspreadCheckedEvents[0]=null;
pointspreadCheckedEvents[1]=null;
pointspreadCheckedEvents[2]=null;
pointspreadCheckedEvents[3]=null;
pointspreadCheckedEvents[4]=null;
pointspreadCheckedEvents[5]=null;
pointspreadCheckedEvents[6]=null;
pointspreadCheckedEvents[7]=null;
pointspreadCheckedEvents[8]=null;
pointspreadCheckedEvents[9]=null;
pointspreadCheckedEvents[10]=null;
pointspreadCheckedEvents[11]=null;
function getPointspreadEventsByTimeTab(tab){
document.forms[0].elements["selectedTimeTab"].value=tab;
document.forms[0].submit();
}
function getPointspreadEventsBySportId(id){
document.forms[0].elements["selectedSportId"].value=id;
document.forms[0].submit();
}

function getPointspreadCurrentRadio(rdio,label){

	for(i=0;i<12;i++){
	
		if(pointspreadCheckedEvents[i]!=null){
			if(pointspreadCheckedEvents[i].radio!=null&&pointspreadCheckedEvents[i].radio.name==rdio.name&&pointspreadCheckedEvents[i].label==label){
				if(pointspreadCheckedEvents[i].checked==true){
					pointspreadCheckedEvents[i].radio.checked=false;
					pointspreadCheckedEvents[i].checked=false;
				}else{ 
					pointspreadCheckedEvents[i].radio.checked=true;
					pointspreadCheckedEvents[i].checked=true;
				}
				return pointspreadCheckedEvents[i].radio;
			}
			
		}
	}
	return null;
}

function getPointspreadChecked(){
	checked = 0;
	
	for(i=0;i<12;i++){
	
		if(pointspreadCheckedEvents[i]!=null){
			if(pointspreadCheckedEvents[i].radio!=null&&pointspreadCheckedEvents[i].radio.checked)
				checked++;
		}
	}
	
	return checked;
}
function getPointspreadPayoutFactor(checked){
	if(checked<2||checked>12) return 0;
	if(checked==2) return 2;
	if(checked==3) return 5;
	if(checked==4) return 10;
	if(checked==5) return 20;
	if(checked==6) return 35;
	if(checked==7) return 75;
	if(checked==8) return 150;
	if(checked==9) return 300;
	if(checked==10) return 400;
	if(checked==11) return 600;
	if(checked==12) return 1000;
}
function assignPointspreadCheckedEvents(rdio,listNo, date, dateString,eventNo,time,sport,visitor,home,label){
	exists=false;
	firstNullEventIndex=-1;
	for(i=0;i<12;i++){
		if(pointspreadCheckedEvents[i]==null||!pointspreadCheckedEvents[i].checked){
			if(firstNullEventIndex==-1)
				firstNullEventIndex=i;
		}else if (pointspreadCheckedEvents[i].number==eventNo){
			exists=true;
			pointspreadCheckedEvents[i].radio=rdio;
			pointspreadCheckedEvents[i].label=label;
			pointspreadCheckedEvents[i].value=rdio.value; 
			 
		}
	}
	if(!exists){
		if(firstNullEventIndex!=-1){
			pointspreadCheckedEvents[firstNullEventIndex]=new Object();
			pointspreadCheckedEvents[firstNullEventIndex].listnumber=listNo;
			pointspreadCheckedEvents[firstNullEventIndex].date=date;
			pointspreadCheckedEvents[firstNullEventIndex].dateString=dateString;
			pointspreadCheckedEvents[firstNullEventIndex].number=eventNo;
			pointspreadCheckedEvents[firstNullEventIndex].time=time;
			pointspreadCheckedEvents[firstNullEventIndex].sport=sport;
			pointspreadCheckedEvents[firstNullEventIndex].visitor=visitor;
			pointspreadCheckedEvents[firstNullEventIndex].home=home;
			pointspreadCheckedEvents[firstNullEventIndex].radio=rdio;
			pointspreadCheckedEvents[firstNullEventIndex].value=rdio.value;
			pointspreadCheckedEvents[firstNullEventIndex].label=label;
			pointspreadCheckedEvents[firstNullEventIndex].checked=true;
			
		}else{
			return false;
		}
	}
	return true;
}
function updatePointspreadPayout(rdio,listNo,date,dateString,eventNo,time,sport,visitor,home,label,lang,msg){
	radio=getPointspreadCurrentRadio(rdio,label);
	if(radio==null){
	
		result=assignPointspreadCheckedEvents(rdio,listNo, date,dateString,eventNo,time,sport,visitor,home,label);
		
		if(!result){
			alert(msg);
			rdio.checked=false;
			return;
		}
	}
	checked=getPointspreadChecked();
	if(checked>12){
		alert(msg);
		rdio.checked=false;
		return;
	}
	if(checked<2){
		document.forms[0].elements["totalOdds"].value=0;
		document.forms[0].elements["totalPayout"].value=0;
		return;
	}
	payoutFactor=getPointspreadPayoutFactor(checked);
	document.forms[0].elements["totalOdds"].value=payoutFactor+".00";
		
	payouts=payoutFactor*document.forms[0].elements["wager"].value;
	
	if(lang==1)
		document.forms[0].elements["totalPayout"].value=payouts+".00$";
	else	
		document.forms[0].elements["totalPayout"].value="$"+payouts+".00";	
			
	
}
function updatePointspreadPayoutByWager(lang){
	payouts=document.forms[0].elements["totalOdds"].value*document.forms[0].elements["wager"].value;
	payoutsPointPos= payouts.toString().indexOf(".");
	paydecimals = payouts.toString().length-1-payoutsPointPos;
	if(paydecimals<1||payoutsPointPos<0)payouts = payouts+".00";
	else if(paydecimals<2) payoutFinal=payoutFinal+"0";
	if(lang==1)
		document.forms[0].elements["totalPayout"].value=payouts+"$";
	else
		document.forms[0].elements["totalPayout"].value="$"+payouts;
}	
function clearPointspreadPicks(msg){
	response=confirm(msg);
	if(response==false)
		return;
	for(i=0;i<12;i++){
		if(pointspreadCheckedEvents[i]!=null){
			if(pointspreadCheckedEvents[i].radio!=null&&pointspreadCheckedEvents[i].radio.checked)
				pointspreadCheckedEvents[i].radio.checked=false;
			
		}
		pointspreadCheckedEvents[i]=null;
	}
	
	document.forms[0].elements["totalOdds"].value=0;
	document.forms[0].elements["totalPayout"].value=0;
}

function printPointspreadPicks(msg,inst,instPC,instMAC,listNumberHTML,NoHTML,TimeHTML,sportHTML,visitorHTML,homeHTML,pointspreadHTML,wagerHTML,winningHTML){
	if(getPointspreadChecked()<2){
		alert(msg);
		return;
	}
	pointspreadDateViews=null;
	getPointspreadSortedChecked();
	var generator=window.open('','','height=560,width=500');
   	generator.document.write('<html><head><title>pointspreadPicks.html</title>');
   	generator.document.write('<LINK href="theme/Master.css" rel="stylesheet" type="text/css">');
  	generator.document.write('</head><body><br/>');
	generator.document.write('<p align="center"><table><tr><td><b>');
	generator.document.write(inst);
	generator.document.write('</b></td></tr><tr><td>'); 
	generator.document.write(instPC);
	generator.document.write('</td></tr><tr><td>');
	generator.document.write(instMAC);
	generator.document.write('</td></tr></table></p><b>');  
	generator.document.write(listNumberHTML);
	generator.document.write("&nbsp;&nbsp;");     
	generator.document.write(pointspreadDateViews[0].events[0].listnumber);
	generator.document.write('</b><TABLE><tr><th>');
	generator.document.write(NoHTML);
	generator.document.write('</th><th>');
	generator.document.write(TimeHTML);
	generator.document.write('</th><th>');
	generator.document.write(sportHTML);
	generator.document.write('</th><th>');
	generator.document.write(visitorHTML);
	generator.document.write('</th><th>');
	generator.document.write(homeHTML);
	generator.document.write('</th><th>');
	generator.document.write(pointspreadHTML);
	generator.document.write('</th></tr><tr><td colspan="7" bgcolor="#000000" height="2"><img src="./images/spacer.gif" height="2" width="1" /></td></tr>');
	for(j=0;j<12;j++){
		if(pointspreadDateViews[j]!=null){
			generator.document.write("<tr><td colspan='5'><b>");
			generator.document.write(pointspreadDateViews[j].dateString);
			generator.document.write("</b></td></tr>");
			for(i=0;i<12;i++){
				if(pointspreadDateViews[j].events[i]!=null&&pointspreadDateViews[j].events[i].radio!=null&&pointspreadDateViews[j].events[i].radio.checked){
					generator.document.write("<tr><td>");
					generator.document.write(pointspreadDateViews[j].events[i].number);
					generator.document.write("</td><td>");
					generator.document.write(pointspreadDateViews[j].events[i].time);
					generator.document.write("</td><td>");
					generator.document.write(pointspreadDateViews[j].events[i].sport);
					generator.document.write("</td><td>");
					generator.document.write(pointspreadDateViews[j].events[i].visitor);
					generator.document.write("</td><td>");
					generator.document.write(pointspreadDateViews[j].events[i].home);
					generator.document.write("</td><td>");
					if(pointspreadDateViews[j].events[i].label!=null && pointspreadDateViews[j].events[i].radio.checked){
						generator.document.write(pointspreadDateViews[j].events[i].label);
						generator.document.write("&nbsp;&nbsp;&nbsp;&nbsp;");
						generator.document.write(pointspreadDateViews[j].events[i].value);
						generator.document.write("</td></tr>" );
					}
				}
			}     
 		}
	}
	generator.document.write('<tr><td colspan="7" bgcolor="#000000" height="1"><img	src="./images/spacer.gif" height="1" width="1" /></td></tr></TABLE><br>');
 	generator.document.write('<p align="center"><table><tr><td>');
 	generator.document.write(wagerHTML);
 	generator.document.write('</td><td><b>');    
	generator.document.write(document.forms[0].elements["wager"].options[document.forms[0].elements["wager"].selectedIndex].text);
	generator.document.write('</b><br></td></tr><tr><td>');
	generator.document.write(winningHTML);
	generator.document.write('</td><td> <b>');    
	generator.document.write(document.forms[0].elements["totalPayout"].value);
	generator.document.write('</b></td></tr></table></p>');
	generator.document.write('</body></html>');
	
}
function printPointspreadList(){
target=getHostAndContextPath()+"/pointspreadPrintList.do";
window.open(target,'_blank','height=600px width=680px resizable=yes scrollbars=yes menubar=yes location=no status=yes');
}
function getPointspreadSortedChecked(){
	for(i=0;i<12;i++){
		if(pointspreadCheckedEvents[i]!=null){
			if(pointspreadCheckedEvents[i].radio!=null&&pointspreadCheckedEvents[i].radio.checked){
				addToPointspreadDateView(pointspreadCheckedEvents[i]);
			}
			
		}
	}
	sortPointspreadDateViews();
}
function sortPointspreadDateViews(){

	temp=null;
	for(k=0;k<11;k++){
		if(pointspreadDateViews[k]==null) break;
		for(m=k+1;m<12;m++){
			if(pointspreadDateViews[m]==null) break;
			else {
				
				if(pointspreadDateViews[k].date>pointspreadDateViews[m].date||
				(pointspreadDateViews[k].date==pointspreadDateViews[m].date&&parseInt(pointspreadDateViews[k].listnumber)>parseInt(pointspreadDateViews[m].listnumber))){
					temp=pointspreadDateViews[m];
					pointspreadDateViews[m]=pointspreadDateViews[k];
					pointspreadDateViews[k]=temp;
				}
			}
				
		}
	}
	
	sortPointspreadEvents();
}
function sortPointspreadEvents(){
	for(x=0;x<12;x++){
		if(pointspreadDateViews[x]==null||pointspreadDateViews[x].events==null) break;
		for(n=0;n<11;n++){
			if(pointspreadDateViews[x].events[n]==null) break;
			for(l=n+1;l<12;l++){
				if(pointspreadDateViews[x].events[l]==null) break;
				else {
					if(parseInt(pointspreadDateViews[x].events[n].number)>parseInt(pointspreadDateViews[x].events[l].number)){
						temp=pointspreadDateViews[x].events[l];
						pointspreadDateViews[x].events[l]=pointspreadDateViews[x].events[n];
						pointspreadDateViews[x].events[n]=temp;
					}
				}
			}
		}
	}
}

function addToPointspreadDateView(checkedevent){
	if(pointspreadDateViews==null) pointspreadDateViews = new Array(13);
	for(h=0;h<12;h++){
		if(pointspreadDateViews[h]==null){
			pointspreadDateViews[h] = new Object();
			pointspreadDateViews[h].date=checkedevent.date.substring(0,10);
			pointspreadDateViews[h].dateString=checkedevent.dateString;
			pointspreadDateViews[h].events = new Array(12);
			pointspreadDateViews[h].events[0]=checkedevent;
			break;
		}else{
			if(stringsEquals(checkedevent.date.substring(0,10),pointspreadDateViews[h].date)){
				added=false;
				availIndex=-1;
				for(j=0;j<12;j++){
					if(pointspreadDateViews[h].events[j]==null){
						if(availIndex==-1)
							availIndex=j;
					}else{
						if(pointspreadDateViews[h].events[j]==checkedevent){
							added = true;
							break;
						}
					}
				}
				if(!added&&availIndex!=-1)
					pointspreadDateViews[h].events[availIndex]=checkedevent;
				break;
			}
				
		}
	}
}
