

/*----------
| AJAX Library Functions... 
----------*/



	
function createRequestObject () {
	// Define request object as requestObject...
	var requestObject = false;	
	// Setup request object for Mozilla, Safari, etc...
    if (window.XMLHttpRequest) { 			
        requestObject = new XMLHttpRequest();
        if (requestObject.overrideMimeType) {
            requestObject.overrideMimeType('text/xml');
        }		
	// Setup request object for IE...		
    } else if (window.ActiveXObject) {
        try {
            requestObject = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            try {
                requestObject = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e) {}
        }
    }	
	// If unable to create a request object...
    if (!requestObject) {		
		// Display error message...
        window.defaultStatus = 'AJAX Error: Could not create an XMLHTTP instance';
        return false;
    } else {
		return requestObject;
	}
}

function AJAX_Pull(url, callback) {
	serverPull('TEXT', url, callback);
}	

function AJAX_Pull_XML(url, callback) {
	serverPull('XML', url, callback);
}	

function serverPull(returnType, url, callback) {	
	// Get a request object...
	httpRequest = createRequestObject();	
	// Make the actual request to the server...
    httpRequest.open('GET', url, true);

	
	httpRequest.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");     
	 httpRequest.send(null);		
	// Deal with the server response...
	httpRequest.onreadystatechange = function() {				
		// If response recieved...
        if (httpRequest.readyState == 4) {				
			// If request successfull...
	    	if (httpRequest.status == 200) {
				if (returnType == 'TEXT') {
					callback(httpRequest.responseText);
				} else if (returnType == 'XML') {
					callback(httpRequest.responseXML);
				}
			} else {
         	   	window.defaultStatus = 'AJAX Error: Server request failed... Status: ' + httpRequest.status;
	        }					
        }
	}
}

function AJAX_Push(url, queryString, callback) {
	serverPush('TEXT', url, queryString, callback);
}

function AJAX_Push_XML(url, queryString, callback) {
	serverPush('XML', url, queryString, callback);
}

function serverPush(returnType, url, queryString, callback) {
	// Get a request object...
	httpRequest = createRequestObject();	
	// Post the data...
	httpRequest.open('POST', url, true);
	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
	httpRequest.send(queryString);
	// Deal with server response...
	httpRequest.onreadystatechange = function() {			
		// If response recieved...
        if (httpRequest.readyState == 4) {		
			if (returnType == 'TEXT') {
				callback(httpRequest.responseText);
			} else if (returnType == 'XML') {
				callback(httpRequest.responseXML);
			}		
        }
	}
}

/*----------
| End of AJAX Library Functions... 
----------*/


/*----------
| Cricket stats 
----------*/

function getRaceCard(tId, extra, sID) {	
	var team1 = "4";
	var team2 = "724";
	var venueName = tId.searchStr3.value;
	//var fromMonth = tId.searchStr4.value;
	var fromMonth = 01;
	var fromYear = tId.searchStr5.value;
	//var toMonth = tId.searchStr6.value;
	var toMonth = 12;
	var toYear = tId.searchStr7.value;
	var compType = tId.searchStr8.value;
	
	var theGetUrl = '/ashes-09/scorecard-listing/1,26403,,00.html?nocache=' + new String(Math.random()).substring(2) + '&team1=' + team1 + '&team2=' + team2 + '&venueName=' + venueName + '&fromMonth=' + fromMonth + '&fromYear=' + fromYear + '&toMonth=' + toMonth + '&toYear=' + toYear + '&compType=' + compType + '&extra=' + extra + '&bID=' + sID;	
	document.getElementById('cardSelector').innerHTML = '<label>&nbsp;</label>fetching details; please wait...';	
	document.getElementById('cardList').style.display = "none";
	//this doesn't work in ie :-(
	//if (document.getElementById('assInfo')) {
	//	document.getElementById('assInfo').style.display = "none;"
	//}
	document.getElementsByTagName('body')[0].style.cursor = 'wait';	
	http.open('get', theGetUrl);
	http.onreadystatechange = handleResponseComp2;
	http.send(null); 	
}

function handleResponseComp2() { 
	if(http.readyState == 4){	
		var response = http.responseText;		
		document.getElementById('cardSelector').innerHTML = "" + response;	
		document.getElementsByTagName('body')[0].style.cursor = 'default';
		// only show the submit button if something decent is returned
		if (response.match("<select")) {
			document.getElementById('cardList').style.display = "block";
		}
		
	}
}

/*----------
| End of Cricket stats 
----------*/

