function makeHttpRequest(url, callback_function, return_xml) 
{ 
   var http_request = false; 
 
   if (window.XMLHttpRequest) { // Mozilla, Safari,... 
       http_request = new XMLHttpRequest(); 
       if (http_request.overrideMimeType) { 
           http_request.overrideMimeType('text/xml'); 
       } 
   } else if (window.ActiveXObject) { // IE 
       try { 
           http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch (e) { 
           try { 
               http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
           } catch (e) {} 
       } 
   } 
 
   if (!http_request) { 
       //alert('Unfortunatelly you browser doesn\'t support this feature.'); 
       return false; 
   } 
   http_request.onreadystatechange = function() { 
       if (http_request.readyState == 4) { 
           if (http_request.status == 200) { 
               if (return_xml) { 
                   eval(callback_function + '(http_request.responseXML)'); 
               } else { 
                   eval(callback_function + '(http_request.responseText)'); 
               } 
           } else { 
               //alert('There was a problem with the request.(Code: ' + http_request.status + ')'); 
           } 
       } 
   } 
   http_request.open('GET', url, true); 
   http_request.send(null); 
}
function toWhite(sid){
	//alert('towhite! ' + sid);
	var tname = 'sotimer' + sid;
	var tmpSOTa = 'sota' + sid;
	var tmpSOTb = 'sotb' + sid;	
	var ttimer = document.getElementById(tname).innerHTML;
	if (ttimer){
		clearTimeout(ttimer);
	}
	gridRowa = document.getElementById(tmpSOTa);
	gridRowa.className = 'griddata';
	gridRowb = document.getElementById(tmpSOTb);
	gridRowb.className = 'griddata';
}
function toLightGreen(sid){
	//alert('tolightgreen! ' + sid);
	var tname = 'sotimer' + sid;
	var tmpSOTa = 'sota' + sid;
	var tmpSOTb = 'sotb' + sid;	
	var ttimer = document.getElementById(tname).innerHTML;
	if (ttimer){
		clearTimeout(ttimer);
	}
	gridRowa = document.getElementById(tmpSOTa);
	gridRowa.className = 'lthighlight';
	gridRowb = document.getElementById(tmpSOTb);
	gridRowb.className = 'lthighlight';
	var tmpTimerID = setTimeout('toWhite(' + sid + ')', 300000);
	ttimer = tmpTimerID.toString();
}

function updateGrids(response) {
	var results;
	var no_of_games;
	var currgame = new Array();
	var tmpsoid;
	var tmpAwayScore;
	var tmpAwayOpen;
	var tmpAwayCurr;
	var tmpAwayNote;
	var tmpAwayScore;
	var tmpAwayOpen;
	var tmpAwayCurr;
	var tmpAwayNote;
	var tmpDate;
	var tmphigh;
	var tmpTimerName;
	var tmpTimer;
	var tmpTimerID;
	tmpDate = new Date();

	if (!response) { 
		//no response
		//document.getElementById('realtime').innerHTML = tmpDate.toLocaleString() + ' No response';
	   //alert('Blank response'); 
	} else {
		//response
		results = response.split("|");
		no_of_games = results.length-1;
		
		
		//document.getElementById('realtime').innerHTML = tmpDate.toLocaleString() + ' ' + results.length + ' rows in response';
		
		for (i=0; i<=no_of_games; i++){
		   currgame = results[i].split(",");
		   tmpsoid = currgame[0].toString();
		   tmphigh = currgame[9].toString();
		   
		   //alert(tmphigh);
		   
		   tmpAwayCurr  = 'i' + tmpsoid + 'away_curr';
		   tmpHomeCurr  = 'i' + tmpsoid + 'home_curr';
		   tmpAwayOpen  = 'i' + tmpsoid + 'away_open';
		   tmpHomeOpen  = 'i' + tmpsoid + 'home_open';
		   tmpAwayScore = 'i' + tmpsoid + 'away_score';
		   tmpHomeScore = 'i' + tmpsoid + 'home_score';
		   tmpAwayNote  = 'i' + tmpsoid + 'away_note';
		   tmpHomeNote  = 'i' + tmpsoid + 'home_note';
		   tmpSOTa = 'sota' + tmpsoid;
		   tmpSOTb = 'sotb' + tmpsoid;
		   tmpTimerName = 'sotimer' + tmpsoid;
	
		   document.getElementById(tmpAwayOpen).innerHTML = currgame[1].toString(); //curr1
		   document.getElementById(tmpHomeOpen).innerHTML = currgame[2].toString(); //curr2
		   
		   document.getElementById(tmpAwayCurr).innerHTML = currgame[3].toString(); //line1
		   document.getElementById(tmpHomeCurr).innerHTML = currgame[4].toString(); //line2
		   
		   document.getElementById(tmpAwayScore).innerHTML = currgame[5].toString(); //status1
		   document.getElementById(tmpHomeScore).innerHTML = currgame[6].toString(); //status2	  
		   
		   document.getElementById(tmpAwayNote).innerHTML = currgame[7].toString(); //note1
		   document.getElementById(tmpHomeNote).innerHTML = currgame[8].toString(); //note2	  	    
		   
		   if (tmphigh=='2'){ 
				tmpTimer = document.getElementById(tmpTimerName).innerHTML;
				if (tmpTimer){
					clearTimeout(tmpTimer);
				}
			   gridRowa = document.getElementById(tmpSOTa);
			   gridRowa.className = 'highlight';
			   gridRowb = document.getElementById(tmpSOTb);
			   gridRowb.className = 'highlight';			
			   tmpTimerID = setTimeout('toLightGreen(' + tmpsoid +')', 30000);
			   tmpTimer = tmpTimerID.toString();
		   }
		   if (tmphigh=='1'){ 
				tmpTimer = document.getElementById(tmpTimerName).innerHTML;
				if (tmpTimer){
					clearTimeout(tmpTimer);
				}
			   gridRowa = document.getElementById(tmpSOTa);
			   gridRowa.className = 'lthightlight';
			   gridRowb = document.getElementById(tmpSOTb);
			   gridRowb.className = 'lthighlight';			
			   tmpTimerID = setTimeout('toWhite(' + tmpsoid +')', 300000);	   
			   tmpTimer = tmpTimerID.toString();
		   }
		   if (tmphigh=='0'){ 
				tmpTimer = document.getElementById(tmpTimerName).innerHTML;
				if (tmpTimer){
					clearTimeout(tmpTimer);
				}
			   gridRowa = document.getElementById(tmpSOTa);
			   gridRowa.className = 'griddata';
			   gridRowb = document.getElementById(tmpSOTb);
			   gridRowb.className = 'griddata';
		   }
		}//end for	
	}	
}
function check() {
	var url_to_go = '/inc/livegrids.asp';
	makeHttpRequest(url_to_go, 'updateGrids');
}
function connect() {
	document.getElementById('realtime').innerHTML = '<img src="/img/icon-check.jpg" width="20" height="20" align="absmiddle" /> Connected! Odds and scores will now update without the need to refresh. <a href="/sitefeedback.asp">Feedback</a>';
}