var obj;

function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return false;
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; }
}
function queryString(key){
var page = new PageQuery(window.location.search);
return unescape(page.getValue(key));
}
function displayItem(key){
if(queryString(key)=='false')
{
document.write("you didn't enter a ?name=value querystring item.");
}else{
document.write(queryString(key));
}
}

// Creates the XMLHTTP Request object
function getXMLHTTPRequest()
{
	var xRequest=null;
	if (window.XMLHttpRequest)
	{
		xRequest = new XMLHttpRequest();
	}
	else if (typeof ActiveXObject != "undefined")
	{
		xRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xRequest;
}

// Performs a GET to our processSQL.aspx web page with the query
function sendRequest()
{
	obj=getXMLHTTPRequest();
	if (obj!=null)
	{
	    var query = document.getElementById("txtQuery").value;
	    var rows = document.getElementById("txtRows").value;
		obj.onreadystatechange = processResponse;
		
		obj.open("GET","http://portal.aimnsw.com.au/processSQL.aspx?query="+escape(query)+"&rows="+rows,true);
		//obj.open("GET","http://www.sysintel.com.au/portal/processSQL.aspx?query="+escape(query)+"&rows="+rows,true);
		//obj.open("GET","http://VMW23SEEVS2008/Portal/processSQL.aspx?query="+escape(query)+"&rows="+rows,true);
		//obj.open("GET","http://TEST-SYD-DMZ-51/Portal/processSQL.aspx?query="+escape(query)+"&rows="+rows,true);
		//obj.open("GET","http://syd-dmz-21/AIMTEST/portal/processSQL.aspx?query="+escape(query)+"&rows="+rows,true);
		obj.send(null);
	}
	return false;
}

// Process the HTTP Response when it is complete
function processResponse()
{
	if (obj.readyState == 4)
	{
		if (obj.status == 200)
		{
			var retval=obj.responseText;
			if (document.getElementById("results")!=null)
			{
				document.getElementById("results").innerHTML = retval;
			}
			else
			{
				alert("Error retrieving data!");
			}
		}
	}
}

// Send the query and parameters to the server side script for processing
function generateGrid()
{
	obj=getXMLHTTPRequest();
	if (obj!=null)
	{
	    var PID = queryString("PID");
	    //var rows = document.getElementById("txtRows").value;
	    var sortExpr = document.getElementById("txtSort").value;
	    var page = document.getElementById("txtPage").value;
	    var query = ""
	    var rows = 5
		obj.onreadystatechange = processResponse;
		
		obj.open("GET","http://portal.aimnsw.com.au/processSQL.aspx?PID="+escape(PID)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr,true);
		//obj.open("GET","http://www.sysintel.com.au/portal/processSQL.aspx?PID="+escape(PID)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr,true);
		//obj.open("GET","http://VMW23SEEVS2008/Portal/processSQL.aspx?PID="+escape(PID)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr,true);
		//obj.open("GET","http://TEST-SYD-DMZ-51/Portal/processSQL.aspx?PID="+escape(PID)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr,true);
		//obj.open("GET","http://syd-dmz-21/AIMTEST/portal/processSQL.aspx?PID="+escape(PID)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr,true);
		
		document.getElementById("txtPage").value = "http://portal.aimnsw.com.au/processSQL.aspx?query="+escape(query)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr;
		//document.getElementById("txtPage").value = "http://www.sysintel.com.au/portal/processSQL.aspx?query="+escape(query)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr;
		//document.getElementById("txtPage").value = "http://VMW23SEEVS2008/Portal/processSQL.aspx?query="+escape(query)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr;
		//document.getElementById("txtPage").value = "http://TEST-SYD-DMZ-51/Portal/processSQL.aspx?query="+escape(query)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr;
		//document.getElementById("txtPage").value = "http://syd-dmz-21/AIMTEST/portal/processSQL.aspx?query="+escape(query)+"&rows="+rows+"&gridpage="+page+"&expression="+sortExpr;
		obj.send(null);
	}
	return false;
}

// Called when a column header is clicked
function sortGrid(sortExpr)
{
	document.getElementById("txtSort").value = sortExpr;
	generateGrid();
}

// Called when the grid is paged
function pageGrid(page)
{
	document.getElementById("txtPage").value = page;
	generateGrid();
}
