function createRequestObject(){
        var request_o; //declare the variable to hold the object.
        var browser = navigator.appName; //find the browser name
        if(window.XMLHttpRequest){
                request_o = new XMLHttpRequest();
        }else{
                /* Create the object using MSIE's method */
                /*request_o = new ActiveXObject("Microsoft.XMLHTTP");*/
                try {
                request_o = new ActiveXObject("Msxml2.XMLHTTP")
                }
                catch (e){
                try{
                request_o = new ActiveXObject("Microsoft.XMLHTTP")
                }
                catch (e){}
                }
        }
        return request_o; //return the object
}

/* You can get more specific with version information by using
        parseInt(navigator.appVersion)
        Which will extract an integer value containing the version
        of the browser being used.
*/
var hx="0123456789abcdef"//hex characters
var char="nochar"

function hexconvert(h) { //C1999 by e l williams
        if (h>255 || h<0) {
                alert("Cannot convert to hex,n"+h+" is over 255 or less than 0.")
        } else{
                var temp=0
                var temp=Math.floor(h/16)
                char=hx.substr(temp,1)
                temp=h-(temp*16)
                char=hx.substr(temp,1)
                //document.write(h+" = "+char)//prints out value and hex conversion
                return char
        }
}
/* The variable http will hold our new XMLHttpRequest object. */
var http = createRequestObject();

function getSearch()
{
	var num = '';
	for(var i = 0; i<13; i++){
	    num = (hexconvert(Math.floor(Math.random()*16)))+num;
	}
	
	var limit = document.getElementById('limit').value;
	var limitstart = document.getElementById('limitstart').value;
	
	var price_start = document.getElementById('price_start').value;
	var price_end = document.getElementById('price_end').value;
	var price_select = document.getElementById('price_select').options[document.getElementById('price_select').selectedIndex].value;
	
	var room = document.getElementById('room').options[document.getElementById('room').selectedIndex].value;
	var game = document.getElementById('game').options[document.getElementById('game').selectedIndex].value;
	var limits = document.getElementById('limits').options[document.getElementById('limits').selectedIndex].value;
	var time = document.getElementById('time').options[document.getElementById('time').selectedIndex].value;
	
	var today = document.getElementById('g_today').options[document.getElementById('g_today').selectedIndex].value;
	var tomorow = document.getElementById('g_tomorow').options[document.getElementById('g_tomorow').selectedIndex].value;
	
	var month_start = document.getElementById('g_month_start').options[document.getElementById('g_month_start').selectedIndex].value;
	var year_start = document.getElementById('g_year_start').options[document.getElementById('g_year_start').selectedIndex].value;
	var month_end = document.getElementById('g_month_end').options[document.getElementById('g_month_end').selectedIndex].value;
	var year_end = document.getElementById('g_year_end').options[document.getElementById('g_year_end').selectedIndex].value;

	var css = document.getElementById('css_array').value;
	
	var params = 'action=getrows&limit='+limit+'&limitstart='+limitstart+'&price_start='+price_start+'&price_end='+price_end+'&price_select='+price_select+'&room='+room+'&game='+game+'&limits='+limits+'&time='+time+'&g_today='+today+'&g_tomorow='+tomorow+'&g_month_start='+month_start+'&g_year_start='+year_start+'&g_month_end='+month_end+'&g_year_end='+year_end+'&css='+css;
	http.open('post', 'tournaments/listing.php?num='+num, true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.onreadystatechange = handleSearch;
	http.send(params);	
}

function handleSearch(){    
	document.getElementById('internal_list').innerHTML = "<br><center><img src='tournaments/loading.gif'></center>";
	if(http.readyState == 4 && ( http.status==200 || window.location.href.indexOf("http")==-1) ){ //Finished loading the response
	   var response = http.responseText;
	   //document.getElementById('tournament_list').innerHTML = "";
	   document.getElementById('internal_list').innerHTML = http.responseText;
	}
}

function getRows(){
	        var num = '';
	        var columns = (document.getElementById('list_columns')?document.getElementById('list_columns').value:0);
	        var limit_count = (document.getElementById('limit_count')?document.getElementById('limit_count').value:0);

	        for(var i = 0; i<13; i++){
	                num = (hexconvert(Math.floor(Math.random()*16)))+num;
	        }
	        var css = document.getElementById('css_array').value;
			var params = 'action=getrows&first=1&columns='+columns+'&limit_count='+limit_count+'&css='+css;
	        
			http.open('post', 'tournaments/listing.php?num='+num, true);
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", params.length);
			http.setRequestHeader("Connection", "close");
	        http.onreadystatechange = handleRows;
	        http.send(params);
}

function handleRows(){    
	document.getElementById('tournament_list').innerHTML = "<br><center><img src='tournaments/loading.gif'></center>";
	if(http.readyState == 4){ //Finished loading the response
	   var response = http.responseText;
	   document.getElementById('tournament_list').innerHTML = "";
	   document.getElementById('tournament_header').innerHTML += http.responseText;
	}
}

function getHeader(){
	        var num = '';
	        var columns = (document.getElementById('list_columns')?document.getElementById('list_columns').value:0);
	        var limit_count = (document.getElementById('limit_count')?document.getElementById('limit_count').value:0);
	        for(var i = 0; i<13; i++){
	                num = (hexconvert(Math.floor(Math.random()*16)))+num;
	        }
	        var css = document.getElementById('css_array').value;
	        var params = 'action=getheader&columns='+columns+'&limit_count='+limit_count+'&css='+css;
	        http.open('post', 'tournaments/listing.php?num='+num, true);
	        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", params.length);
			http.setRequestHeader("Connection", "close");
	        http.onreadystatechange = handleHeader;
	        http.send(params);
}
	
/* Function called to handle the list that was returned from the internal_request.php file.. */
function handleHeader(){    
	document.getElementById('tournament_list').innerHTML = "<br><center><img src='tournaments/loading.gif'></center>";
	if(http.readyState == 4){ //Finished loading the response
	   var response = http.responseText;
	   document.getElementById('tournament_list').innerHTML = "";
	   document.getElementById('tournament_header').innerHTML = http.responseText;
	   getRows();
	}
}

getHeader();