//----------------------------------------------------------
// this file holds methods to store, read or delete cookies
//----------------------------------------------------------
var SELECTED='1';
var UNSELECTED='0'; 
var NOTAVAILABLE='2';
var FORCE_REDRAW=false;

//----------------------------------------------
// try to get the cookie by name
//----------------------------------------------
function getCookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) 
    	return null;
    if (start == -1) 
    	return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) 
    	end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

//-----------------------------------------------
// divides datastring into single data and sets
// the selected bets, betamound, roundnumber,
// filter and bettype in the form
//-----------------------------------------------
function setCookieDataToForm(topBetList,data) {
	topBetTicket.betMoneyArray=new Array();
	//---------------------------------------
	// get the opened bet
	//---------------------------------------
	var openedBet=data.substring(0,data.indexOf('|'));	
	setCurrentOpenBet(openedBet);
	//---------------------------------------
	// cut off openId. from origin datastring
	//---------------------------------------	
	data=data.substring(data.indexOf('|')+1);
	//---------------------------------------
	// get the filter
	//---------------------------------------
	var filter=data.substring(0,data.indexOf('|'));
        if(document.filterform!=null && document.filterform.select != null){
		for(a=0;a<=document.filterform.select.length;a++) {
			if(document.filterform.select[a] && document.filterform.select[a].value==filter)
				document.filterform.select[a].checked=true;
		}	
	}
	if(BETSTATUS=='1')
		return;
	//---------------------------------------
	// cut off filter from origin datastring
	//---------------------------------------	
	data=data.substring(data.indexOf('|')+1);
	
	//---------------------------------------
	// rebuild all selected bets
	//---------------------------------------
	while(data.charAt(0)=='N') {
		//---------------------------------------
		// get the betnumber
		//---------------------------------------
		var betnumber=data.substring(0,data.indexOf('|'));	
		//---------------------------------------
		// cut off betnum. from origin datastring
		//---------------------------------------	
		data=data.substring(data.indexOf('|')+1);	
		//---------------------------------------
		// get the tippboxstring from datastrings
		//---------------------------------------
		var tippBoxString=data.substring(0,data.indexOf('|'));	
		//---------------------------------------
		// cut off tippboxstr. from origin datastring
		//---------------------------------------	
		data=data.substring(data.indexOf('|')+1);
		//---------------------------------------
		// get betamounts from datastrings
		//---------------------------------------
		var betAmountString=data.substring(0,data.indexOf('|'));	
		//---------------------------------------
		// cut off betamountstr. from origin datastring
		//---------------------------------------	
		data=data.substring(data.indexOf('|')+1);
		//---------------------------------------
		// get this bet from the main list
		//--------------------------------------			
		var bNum=betnumber.substring(1);		
		var thisBet=topBetList.getTopBetByNumber(bNum);				
		for(b=0;b<tippBoxString.length;b++) {
			var myBetAmount=betAmountString.substring(0,betAmountString.indexOf("-"));
			betAmountString=betAmountString.substring(betAmountString.indexOf("-")+1);
			//-------------------------------
			// check if equal, if not then
			// we change the value 
			//-------------------------------			
			if(thisBet!=null) {
				var myTipps=thisBet.tipp;				
				if((tippBoxString.charAt(b)=='1')&&(thisBet.tipp.getTippStatusByListNumber(thisBet.tipp,(b+1))=='0')) {
					var thisTipp=myTipps.getTippByListNumber(myTipps,(b+1));
					thisTipp.setTippBoxByNumber(thisTipp.tippNr,'1');					
					thisTipp.setBetAmountByNumber(thisTipp.tippNr,myBetAmount);
				}				
			}				
		}
		//-------------------------------
		// now add this bet to the ticket
		//-------------------------------		
		topBetTicket.addBet(thisBet);
		topBetList.updateTopBet(thisBet);									
	}	
	//---------------------------------------
	// set the data in the form
	//---------------------------------------
	if(BETSTATUS=="1") {
		// alert('setCookieDataToForm and BETSATUS='+BETSTATUS);
		FORCE_REDRAW=true;
		drawTicket(topBetTicket.redrawTicket());
	}
}

//----------------------------------------------
// set a cookie
//----------------------------------------------
function setCookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

//----------------------------------------------
// Prepares the value string for the cookie.
// fills the value part of the cookie with the
// datas of the betround and betticket
//----------------------------------------------
function setCookieValueString(bets) {
	var valueString="";
	//---------------------------
	// get the round number
	//---------------------------
	valueString=valueString+currentOpenBet+'|';
        if(document.filterform!=null){
		for(a=0;a<=document.filterform.select.length;a++) {
			if(document.filterform.select[a] && document.filterform.select[a].checked == true){
				valueString=valueString+document.filterform.select[a].value+'|';
	        }
        }
    }
	//---------------------------
	// get all selected bets
	//---------------------------
	var actBet=bets;
	while(actBet!=null) {
		//------------------------------------------
		// add a bet if something is set
		//------------------------------------------
		if(actBet.tipp.countSelectedBets(actBet.tipp)>0) {
			//----------------------------------
			// add the tippbox string:
			// returns smth. like 00101110.....
			// 0...not selected, 1...selected
			//----------------------------------			
			valueString=valueString+"N"+actBet.getGameNumber()+"|"+actBet.tipp.getTippBoxString()+"|";
			var myTipps=actBet.tipp;
			var tokenizer="-";
			while(myTipps!=null) {
				valueString=valueString+myTipps.betAmount+tokenizer;
				myTipps=myTipps.nextTipp;
			}
			valueString=valueString+"|";
		}
		actBet=actBet.getNextTopBet();
	}	
	return valueString;	
}

//----------------------------------------------
// delete a cookie
//----------------------------------------------
function deleteCookie(name,path,domain) {
    if (getCookie(name)) document.cookie = name + "=" +
       ( (path) ? ";path=" + path : "") +
       ( (domain) ? ";domain=" + domain : "") +
       ";expires=Thu, 01-Jan-70 00:00:01 GMT";
}

//----------------------------------------------
// renew information of a cookie
//----------------------------------------------
function renewCookie(name,value,expires,path,domain,secure) {
	deleteCookie(name,path,domain);
	setCookie(name,value,expires,path,domain,secure);
}



//----------------------------------------------
// The replace() function simply replaces any 
// occurences of the text string within the 
// string string with the by string. 
//----------------------------------------------
function replace(string,text,by) {
// Replaces text with by in string
    var i = string.indexOf(text);
    var newstr = '';
    if ((!i) || (i == -1)) return string;
    newstr += string.substring(0,i) + by;

    if (i+text.length < string.length)
        newstr += replace(string.substring(i+text.length,string.length),text,by);
    
    return newstr;
}


var src_loaded = true;

