/*JS functions for Betting Module*/
/*Resize the slip height*/
function Betting_SlipContainerResize(){
	var oIfrSlipContainerRef = window.frames['ifrBettingSlipContainer'];
	var oIfrSlipContainer = getElm('ifrBettingSlipContainer');
	var oSlipWrapper = oIfrSlipContainerRef.document.getElementById('divBettingSlip');
	if(oSlipWrapper){
		var height = oSlipWrapper.offsetHeight;		
			oIfrSlipContainer.style.height = height + "px";
	}
}
/*BEGIN:Betting scrolling left div*/
var bDisableScrollingSlip = false;
var bettingFade;
function Betting_InitSlipSettings(){
	var cookieSlipScroll = getCookie("bettingDisableScrollingSlip");
	if(cookieSlipScroll != null){
		bDisableScrollingSlip = (cookieSlipScroll == "true") ? true : false;
	}
	Betting_SetSlipArea();
}
function Betting_ChangeSlipSettings(){
	bDisableScrollingSlip = (bDisableScrollingSlip == true) ? false : true;
	Betting_SaveSlipSettings("bettingDisableScrollingSlip",bDisableScrollingSlip);
	Betting_SetSlipArea();
}
function Betting_SetSlipArea(){
	var oPinIcon = getElm('pinArea');
	if(oPinIcon){
		oPinIcon.className	= (bDisableScrollingSlip == true) ? "pinSlipScroll" : "pinSlipNoScroll";
		oPinIcon.title		= (bDisableScrollingSlip == true) ? lib_BettingScrollSlip : lib_BettingPinSlip;
	}
	if(bDisableScrollingSlip == true){
		window.onscroll = "";
		Betting_SlipAreaFade();
	}
	else{
		//add the onscroll event
		window.onscroll = function () {
			Betting_ScrollSlipArea();
		}
		clearTimeout(bettingFade); //clear time if the user clicks again
		Betting_ScrollSlipArea();
	}
}
function Betting_SaveSlipSettings(cookieName,val){
	var cookieExpires = new Date();
	cookieExpires.setTime(cookieExpires.getTime() + 3600000 * 24 * 360);//30
	setCookie(cookieName,val,cookieExpires);
}
function Betting_SlipAreaFade(){
	var moveInterval = 20;
	var oLeftArea = getElm('divLeftWrapper');
	if(oLeftArea){
		var top = oLeftArea.style.top;
		top = top.replace("px","");
		//alert(top);
		if(top <= moveInterval){
			oLeftArea.style.top = 0;
			clearTimeout(bettingFade);
		}
		else{
			oLeftArea.style.top = (top - moveInterval) + "px";
			bettingFade = setTimeout("Betting_SlipAreaFade()",10);
		}
	}
}
/*Move slip area when scrolling*/
function Betting_ScrollSlipArea(){
	/*todo pin slip*/
	if(!bDisableScrollingSlip){
		var oLeftArea = getElm('divLeftWrapper');
		if(oLeftArea){
			var oContentWrapper = getElm('divContentWrapper');
			var scrollingElementHeight = oLeftArea.offsetHeight;
			var maxHeight = oContentWrapper.offsetHeight;
			var headerWrapperHeight = getElm('divHeaderWrapper').offsetHeight;
			var top = 0;
			if(typeof(window.pageYOffset) != "undefined"){
				top = window.pageYOffset;
			}else{
				top = document.documentElement.scrollTop;
			}
			var total = scrollingElementHeight + top;
			if(total > maxHeight){
				//fix bottom margin
				var diff = total - maxHeight;
				if(diff > headerWrapperHeight){
					top = maxHeight + headerWrapperHeight - scrollingElementHeight;
				}
			}
			/*top 0 as long as posible*/
			if(top <= headerWrapperHeight){
				top = 0;
			}else{
				top = top - headerWrapperHeight;
			}
			oLeftArea.style.top = top + "px";
			//oLeftArea.style.background ="#ccc";
		}
	}
}
/*END:Betting scrolling left div*/
function addOdds(outcomeId, odds, slipObjectUrl)
{	
	this.frames["ifrBettingSlipContainer"].location.href = slipObjectUrl + "?addOutcome=" + outcomeId + "&odds=" + odds;	
}

function addQuickPick(outcomeIds, odds, slipObjectUrl)
{
	this.frames["ifrBettingSlipContainer"].location.href = slipObjectUrl + "?addQuickPick=" + outcomeIds + "&odds=" + odds;
}

function PlaceBet()
{
	if(document.all)
	{
		document.all.confirm.style.display="none";
		document.all.trans.style.display="";
	} 
	else 
	{
		document.getElementById("confirm").style.display="none";
		document.getElementById("trans").style.display="";
	}
		
	parent.Betting_SlipContainerResize();	
	document.forms[0].submit();
}

var clockID = 0;
var clockDiff  = new Date();

function UpdateClock() 
{
	if(clockID) 
	{
		clearTimeout(clockID);
		clockID  = 0;
	}

	var tLocalDate = new Date();
	
	tDate.setTime(tLocalDate.getTime() - clockDiff.getTime());
	oClock = getElm("jsClock");
	if(oClock){
		oClock.innerHTML = "" 
						+ tDate.getHours() + ":" 
						+ FixNumber(tDate.getMinutes()) + ":" 
						+ FixNumber(tDate.getSeconds()) + timezone;
	}
	clockID = setTimeout("UpdateClock()", 900);		
}

function StartClock() 
{	
	var tLocalDate = new Date();			
	clockDiff.setTime(tLocalDate.getTime() - tDate.getTime());
	clockID = setTimeout("UpdateClock()", 500);
}

function FixNumber(intNumber)
{
	if (intNumber > 9)
		return intNumber;
	else
		return "0" + intNumber;
}

function toggleCategory(oElm,oElmCategory){
	
	showHideElm(oElm);
	
	if (oElmCategory.className == "bettingOpen")
	{
		oElmCategory.className = "bettingClose";
	}else{		
		oElmCategory.className = "bettingOpen";
	}
}

function closeCategory(oElm,oElmCategory){
		
	oElmCategory.className = "bettingOpen";
	if(oElm){
		oElm.style.display = "none";
	}
	
}

function openCategory(oElm,oElmCategory){
		
	oElmCategory.className = "bettingClose";
	if(oElm){
		oElm.style.display = "block";
	}
	
}


catArr = new Array(0)

function toggleLeauge(oElm,id){
	if(oElm != null && id != null)
	{
	    if (oElm.className == "catNotSelected")
	    {
		    oElm.className = "catSelected";
		    catAdd(id);    
	    }
	    else
	    {
	        oElm.className = "catNotSelected";
		    catRemove(id);	    
	    } 
	}
}

function catAdd(id)
{
	catArr.push(id);
}

function catRemove(id)
{
	for (i=0;i<catArr.length;i++)
	{
		if (catArr[i]==id)
		{
			tmp=catArr.splice(i,1);
		}
	}
}

function SearchActiveOdds(oddsObjectUrl)
{
	document.location.href = oddsObjectUrl + (catArr!="" ? "?leagues=" + catArr : "");
}

function openAllCategories(oElmAll){
	
	var arrT = document.getElementsByTagName('a');			
	className = oElmAll.className;
			
	for(var i=0;i<arrT.length;i++){
		if(arrT[i]){
			var oElm = arrT[i];
			var ind = oElm.id.indexOf('category_');
			if(oElm.id.indexOf('category_') > -1){				
				var catId = oElm.id.substring(9);
												
				if(className != "bettingOpen" || className == ""){										
					closeCategory(getElm('body_'+catId), oElm);					
				}else{										
					openCategory(getElm('body_'+catId), oElm);					
				}					
			
			}
		}
	}
}

function GetLockedAmount(requestText){
	var aInput = document.getElementsByName("cashin:Game");
	var found = false;
	for(var i=0;i<aInput.length;i++)
	{
		if(aInput[i].value == "Sportbetting" && aInput[i].checked == true)
		{
			if(document.getElementById("cashin:BettingLockedMoney").checked == true)
			{
				ans = confirm(requestText);
				if(ans == true)
					document.getElementById("cashin:BettingLockedMoney").checked = true;
				else
					document.getElementById("cashin:BettingLockedMoney").checked = false;
				found = true;
			}
		}
	}
	if(!found)
		{
			document.getElementById("cashin:BettingLockedMoney").checked = false;
		}
}

function IsSportsbettingRadioButtonChecked()
{
	var aInput = document.getElementsByName("buy:Game");
	for(var i=0;i<aInput.length;i++)
	{
		if(aInput[i].value == "Sportbetting" && aInput[i].checked == true)
		{
			/*
			var oElm = getElm("buy:BettingCodeDiv");
			oElm.style.display = "block";
			oElm = getElm("buy:BettingCodeInputDiv");
			oElm.style.display = "block";
			break;
			*/
			var oElm = getElm("buy:BettingCodeInputDiv");
			oElm.style.display = "block";
			break;
		}
		else if(aInput[i].value == "Poker" && aInput[i].checked == true ||
				aInput[i].value == "Casino" && aInput[i].checked == true ||
				aInput[i].value == "Affiliate" && aInput[i].checked == true ||
				aInput[i].value == "CardRoom2" && aInput[i].checked == true ||
				aInput[i].value == "ParlayBingo" && aInput[i].checked == true
				)
		{
		/*
			var oElm = getElm("buy:BettingCodeDiv");
			oElm.style.display = "none";
			oElm = getElm("buy:BettingCodeInputDiv");
			oElm.style.display = "none";
			break;			
			*/
			var oElm = getElm("buy:BettingCodeInputDiv");
			if(oElm){
				oElm.style.display = "none";
			}
			break;
		}
	}
}

function GetSlip(parameters, method, callbackFunction)
{
	var sUrl = wroot + slipUrl;
	
	if (method==null || method=="GET")
		sUrl += parameters==null ? "" : "?" + parameters;

	oAjax = new CMSAjaxObj(sUrl);
	//define function to handle result
	oAjax.onReadyStateChange = callbackFunction==null ? "ShowSlip()" : callbackFunction;
	//send the request
	
	if (method!=null)
		oAjax.method = method;
	
	if (method!=null && method=="POST")
		oAjax.sendRequest(parameters);
	else
		oAjax.sendRequest();
}

var http_request = false;
function ShowSlip()
{		
	req = oAjax.http_request;	
	if ( req.readyState == 4 || req.readyState == 'complete' ) {	    
		document.getElementById("divAjaxSlip").innerHTML = req.responseText;
		document.getElementById("divAjaxSlip").style.display = 'block';					
		
		if (req.responseText.indexOf("errorBoxSmall")!=-1 && window.frames['ifrBettingBalance']!=null)
			window.frames['ifrBettingBalance'].location.href = window.frames['ifrBettingBalance'].location.href;
	}
}

var slipUrl = "Customers/WebForms/Integration/Wallet/Betting/BettingSlip.aspx";

function ClearSlip()
{
	GetSlip("emptySlip=true");
}

function DeleteOutcome(outcomeId)
{
	showStatusInfo("gettingData");
	GetSlip("deleteOutcome=" + outcomeId);
}

function addToSlip(outcomeId, odds)
{	
	showStatusInfo("gettingData");
	GetSlip("addOutcome=" + outcomeId + "&odds=" + odds);
}

function addQP(outcomeIds, odds)
{
	showStatusInfo("gettingData");
	GetSlip("addQuickPick=" + outcomeIds + "&odds=" + odds);
}

function AddBanker(outcomeId)
{
	showStatusInfo("gettingData");
	GetSlip("AddBanker=" + outcomeId);
}

function DeleteBanker(outcomeId)
{
	showStatusInfo("gettingData");
	GetSlip("deleteBanker=" + outcomeId);
}

function BackToSlip()
{
	showStatusInfo("gettingData");
	GetSlip("back=1");
}

function GetConfirmation()
{
	showStatusInfo("gettingData");
	var poststr = "hidMode=select";
	inputs = document.getElementsByTagName("input");
	for (i=0;i<inputs.length;i++)
	{
		if (inputs[i].type=="text")
		{
			if (inputs[i].name=="AmountSingle" ||
				inputs[i].name=="Amount_1" ||
				inputs[i].name=="Amount_2" ||
				inputs[i].name=="Amount_3" ||
				inputs[i].name=="Amount_4" ||
				inputs[i].name=="Amount_5" ||
				inputs[i].name=="Amount_6" ||
				inputs[i].name=="Amount_7" ||
				inputs[i].name=="Amount_8" ||
				inputs[i].name=="Amount_9" ||
				inputs[i].name=="Amount_10")
			
			poststr += "&" + inputs[i].name + "=" + inputs[i].value;
		}
	}
	
	GetSlip(poststr, "POST");	
}

function GetReqConfirmation()
{
	showStatusInfo("gettingData");
	
	var poststr = "hidMode=selectReq";	

	for (i=1;i<=10;i++)
	{
		if (document.getElementById("radBetReq_" + i)!=null && document.getElementById("radBetReq_" + i).checked)
		{
			poststr += "&" + "max_" + i + "=" + document.getElementById("hidMax_" + i).value;
			poststr += "&" + "req_" + i + "=" + document.getElementById("hidReq_" + i).value;
		}
		else if (document.getElementById("radMaxBet_" + i)!=null && document.getElementById("radMaxBet_" + i).checked)
		{
			poststr += "&" + "max_" + i + "=" + document.getElementById("hidMax_" + i).value;
		}		
		else if (document.getElementById("radBet_" + i)!=null && document.getElementById("radBet_" + i).checked)
		{
			poststr += "&" + "max_" + i + "=" + document.getElementById("txtAmount_" + i).value;
		}		
		else if (document.getElementById("hidBet_" + i)!=null)
		{
			poststr += "&" + "max_" + i + "=" + document.getElementById("hidBet_" + i).value;
		}
	}
	
	GetSlip(poststr, "POST");
}

function PlaceTheBet()
{
	showStatusInfo("trans");	
	
	var poststr = "hidMode=confirm";
	
	inputs = document.getElementsByTagName("input");
	for (i=0;i<inputs.length;i++)
	{
		if (inputs[i].type=="hidden")
		{
			if (inputs[i].name=="hidOdds_1" ||
				inputs[i].name=="hidOdds_2" ||
				inputs[i].name=="hidOdds_3" ||
				inputs[i].name=="hidOdds_4" ||
				inputs[i].name=="hidOdds_5" ||
				inputs[i].name=="hidOdds_6" ||
				inputs[i].name=="hidOdds_7" ||
				inputs[i].name=="hidOdds_8" ||
				inputs[i].name=="hidOdds_9" ||
				inputs[i].name=="hidOdds_10")
			
			poststr += "&" + inputs[i].name + "=" + inputs[i].value;	
		}
	}
	
	if (document.getElementById("chkMail")!=null)
		poststr += "&chkMail=" + document.getElementById("chkMail").checked;
		
	//Add email check..
	GetSlip(poststr, "POST", "ShowSlipReload()");	
}

function ShowSlipReload()
{		
	req = oAjax.http_request;	
	if ( req.readyState == 4 || req.readyState == 'complete' )
	{ 		
		//alert(req.responseText);
		document.getElementById("divAjaxSlip").innerHTML = req.responseText;
		document.getElementById("divAjaxSlip").style.display = 'block';					
		
		//window.frames['ifrBettingBalance'].location.href = window.frames['ifrBettingBalance'].location.href;
		if (window.parent.getBalances)
		    window.parent.getBalances();
	}
}

function showStatusInfo(show)
{	
	if (document.getElementById("ShowError")!=null)
		document.getElementById("ShowError").style.display="none";
	if (document.getElementById("confirm")!=null)
		document.getElementById("confirm").style.display="none";
	if (document.getElementById("inputchoice")!=null)
		document.getElementById("inputchoice").style.display="none";
	if (document.getElementById("inputchoice1")!=null)
	{
		document.getElementById("inputchoice1").style.display="none";
					
		for (i=2;i<=10;i++)
		{
			if (eval("document.getElementById(\"inputchoice" + i + "\")")!=null)
			{
				eval("document.getElementById(\"inputchoice" + i + "\").style.display=\"none\"");
			}
		}
	}
	
	if (show!="")
	{
		if (eval("document.getElementById(\"" + show + "\")")!=null)
			eval("document.getElementById(\"" + show + "\").style.display=\"\"");
	}		
}

function FillMax(id, max)
{
	if (document.getElementById("txtAmount_" + id)!=null && (document.getElementById("txtAmount_" + id).value=="" || max==''))
		document.getElementById("txtAmount_" + id).value = max;
}

function GetCompObjects(competitionId, leagueId) {
    document.getElementById("hidCompId").value = competitionId;
    document.getElementById("hidLeagueId").value = leagueId;
    CMS_Post('', 'oddslist')
}

