/*
HARD CODED START DATE
*/
var startDate = 6;

var today = new Date(2009,6,22);
var todayDate = today.getUTCDate();
var month = today.getUTCMonth();

var arrStartMonth = [];
arrStartMonth[6] = "Jul";
arrStartMonth[7] = "Aug";

var arrDates = [];
var intMakeDates = startDate;

for(i = 1; i <= 57; i++){
	arrDates[i] = intMakeDates;
	if(intMakeDates == 31){
		intMakeDates = 1;
	}	
	else{
		intMakeDates++;
	}
}

function zero(d){				
	if(d < 10){
		d = "0" + d;
	}
//	if(d < startDate){
//		d = "0" + startDate;
//	}
	return d;
}

var intCount = 1;
var intDateIndex = 0;

if(month == 7){
	intDateIndex = todayDate + 25;
}
else{
	intDateIndex = todayDate - startDate;
}

function days(mov){	
	
	/*
	intDate < today date && intcount <= 26
	*/
	
	if(mov == 1){//forward
		
		if(intCount < 1){	 
			intCount = 1;
		}		
		if(today.getUTCMonth() == 6){//JULY
			if(arrDates[intCount] < todayDate){
				intCount++;
			}
		}
		else if(today.getUTCMonth() == 7){
			if(arrDates[intCount] >= todayDate && intCount <= 26){//GET FROM JULY TO AUGUST
				intCount++;
			}
			else if(arrDates[intCount] < todayDate && intCount > 26){//GET TO END DATE IN AUGUST
				intCount++;
			}
		}			
	}
	else if(mov == 0){		
		 if(intCount >= 1){
		 	intCount--;
		}		
	}
	else if(mov == -1){
		intCount = 1;	
	}	
	else if(mov == 2){				
		if(today.getUTCMonth() == 7){		
			intCount = 26 + todayDate;
		}		
		else{
			intCount = (arrDates[Math.round(intDateIndex) + 1] - startDate + 1);	
		}		
	}
	else if(mov == -2){						
		if(month == 7){
			intCount = 25 + todayDate + 1;			
		}
		else{
			intCount = arrDates[Math.round(intDateIndex) + 1] - startDate + 1;
		}			
	}			
	
	if(mov != -2){
		if(intCount > 26){
			month = 7;
		}
		else{
			month = 6;
		}
	}	

	if(todayDate == startDate && month != 7){		
		document.getElementById('f').style.visibility = "hidden";
		document.getElementById('p').style.visibility = "hidden";
		document.getElementById('n').style.visibility = "hidden";
		document.getElementById('l').style.visibility = "hidden";					
	}
	else 	if(arrDates[intCount] == todayDate && todayDate != startDate){
		document.getElementById('f').style.visibility = "visible";
		document.getElementById('p').style.visibility = "visible";		
		document.getElementById('l').style.visibility = "hidden";
		document.getElementById('n').style.visibility = "hidden";
	}		
	else if(arrDates[intCount] == startDate){
		document.getElementById('f').style.visibility = "hidden";
		document.getElementById('p').style.visibility = "hidden";		
		document.getElementById('l').style.visibility = "visible";
		document.getElementById('n').style.visibility = "visible";		
	}
	else{			
		document.getElementById('f').style.visibility = "visible";
		document.getElementById('p').style.visibility = "visible";		
		document.getElementById('l').style.visibility = "visible";
		document.getElementById('n').style.visibility = "visible";		
	}

	if(mov == -2){
		var f = '/news/einstein/feeds/EinsteinHandsFeed-' + zero(todayDate) + '-' + arrStartMonth[month] + '-2009.js';
		if(!(isFile(f))){
			todayDate = new Number(todayDate) - 1;		
			if(todayDate < 1){
				month = 6;
			}
			f = '/news/einstein/feeds/EinsteinHandsFeed-' + zero(todayDate) + '-' + arrStartMonth[month] + '-2009.js';			
		}	
		callJSON(f);
	}
	else{
		var f = '/news/einstein/feeds/EinsteinHandsFeed-' + zero(arrDates[intCount]) + '-' + arrStartMonth[month] + '-2009.js';
		callJSON(f);
	}	
//alert(arrDates[intCount]+" intCount:"+intCount +" month:"+month+" "+f)	
}

function callJSON(theFile)
{		
   try
   {
      req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch(e)
   {     
   		req = new XMLHttpRequest();
   }
   req.open("get", ''+theFile+'', true);
   req.onreadystatechange = myCode;
   req.send(null);
   
   function myCode()
   {    
      if(req.readyState == 4)
      {         
	     if(req.status == 200 || req.status == 0){
	     	
	         var myObj = eval('('+req.responseText+')');	    	         	           
	         printFeed(myObj); 		         	                
	      }
    	}
    	else{
    		document.getElementById("feed").innerHTML = "&nbsp;&nbsp;No hand data";
    	}
   }   
}

function blnLoaded(){
	//callJSON(feedFile);
	days(-2);
}

function ifFireFox(){
	var ifFF = false;
	if(/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
		var ffversion=new Number(RegExp.$1)
		if(ffversion>=3){
		  ifFF = true;
		}
		else if(ffversion>=2){
		  ifFF = true;
		}  
		else if(ffversion>=1){
		  ifFF = true;
		}
	}
	return ifFF; 
}

function callAnchor(anc){
	window.location.href = anc;
}

//get data
var dataObj = null;
function printFeed(obj){
	dataObj = obj;
	readPrintData(-1);
}

var intFrom = 0;
var intTo = 5;
var intCountPage = 0;
function readPrintData(intPage){
	
	var intTotal = dataObj.WinningHandDetails.length;
		
	function showPageIngLinks(n,p){
		document.getElementById("np").style.visibility = n;
		document.getElementById("pp").style.visibility = p;		
	}		
		
	if(intTotal <= 5){
		showPageIngLinks("hidden","hidden");	
	}	
	else if(intTotal > 5){			
		
		if(intPage == -1){
			intFrom = 0;
			intTo = 5;
		}
		else if(intPage == 0){
			if(intFrom > 0){
				intFrom = intFrom - 5;
			}
			if(intTo > 5){
				intTo = intTo - 5
			}			
		}
		else if(intPage == 1 && intTotal > intTo){
			if(intFrom <= intTotal - 5){
				intFrom = intFrom + 5;
			}
			if(intTo >= 5){
				intTo = intTo + 5;
			}			
		}				
				
		if(intTo >= intTotal){
			showPageIngLinks("hidden","visible");	
		}
		else if(intFrom == 0){
			showPageIngLinks("visible","hidden");
		}	
		else{
			showPageIngLinks("visible","visible");
		}
	}
	else{
		intTo = intTotal;
	}
	if(intPage == -1){
		intFrom = 0;
	}
	if(!(ifFireFox())){
		validate(dataObj.WinningHandDetails[intFrom].gameId);	
	}	
				
	strForArray = "<table class=\"einstein_hand_table\"><tr class=\"et_first\"><td>"+HAND_NUMBER+" </td><td>"+DATE_TIME+"</td><td>"+TOTAL+" <br />"+PAYOUT+"</td><td>"+PLAYER_PAYOUT+"</td><td>"+GAME_TYPE+" </td><td>"+STAKES_BLINDS+"</td><td>"+PLAYERS_SEATS+"</td></tr>";		

	try{
		for(i = intFrom; i < intTo; i++){
			strForArray += "<td><a href=\"javascript:;\" onclick=validate("+dataObj.WinningHandDetails[i].gameId+");callAnchor('#swf');>" +dataObj.WinningHandDetails[i].gameId+"</a></td>"
			strForArray += "<td>" + dataObj.WinningHandDetails[i].date + "</td>";
	      strForArray += "<td>" + dataObj.WinningHandDetails[i].totalAmount +"</td>";
	      strForArray += "<td>" + dataObj.WinningHandDetails[i].playerAmount + "</td>";
	      strForArray += "<td>" + dataObj.WinningHandDetails[i].gameType + "</td>";
	      strForArray += "<td>" + dataObj.WinningHandDetails[i].stakesBlinds + "</td>";
	      strForArray += "<td>" + dataObj.WinningHandDetails[i].playersSeats + "</td></tr>";  		      
		}
	}
	catch(er){}
	strForArray += "</table>";
	document.getElementById("feed").innerHTML = strForArray;						
}

function pageFile(){	
	var strPageingLinks = "";
	strPageingLinks += '<a href="javascript:;" onclick="readPrintData(0)" id="pp" style="visibility:hidden">< ' + PREVIOUS_PAGE + '</a>';
	strPageingLinks += '&nbsp;<a href="javascript:;" onclick="readPrintData(1)" id="np" style="visibility:hidden">' + NEXT_PAGE + ' ></a><br/>';
		
	strPageingLinks += '<a href="javascript:;" onclick="days(-1);" id="f" style="visibility:hidden">&#60;&#60; '+FIRST_DAY+'</a>';
	strPageingLinks += '&nbsp;<a href="javascript:;" onclick="days(0);" id="p" style="visibility:hidden">&#60; '+PREVIOUS_DAY+'</a>';
	strPageingLinks += '&nbsp;&nbsp;&nbsp;<a href="javascript:;" onclick="days(1);" id="n" style="visibility:hidden">'+NEXT_DAY+' &#62;</a>';
	strPageingLinks += '&nbsp;<a href="javascript:;" onclick="days(2);" id="l" style="visibility:hidden">'+LAST_DAY+' &#62;&#62;</a>';

	if(document.getElementById('pagingLinks'))document.getElementById('pagingLinks').innerHTML = strPageingLinks;					
}

window.onload = function(){
	pageFile();	
};
