var xmlHttp; 
var requestURL = 'contents.jsp?';
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
var is_opera = ((navigator.userAgent.indexOf("Opera 6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
//netscape, safari, mozilla behave the same??? 
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;
var jobList = new Array(2);

function show_data(strUrl1, strUrl2, strUrl3){ 
	//create the array for waiting jobs
	for(var i=0; i<3; i++){
		if(arguments[i]!=null){
			jobList[i] = arguments[i];
			//alert(arguments[i]);
		} else {
			break;
		}
	}

	if(jobList[0]!=undefined){
		//Append the name to search for to the requestURL 
		var url;
		if(jobList[0][0].substring(0, 4)=="blog" || jobList[0][0].substring(0, 7)=="adWords"){
			url = ""+jobList[0][0];		
		} 
		else if(jobList[0][0].substring(0, 13)=="realPageName_") {
			url = jobList[0][0].replace("realPageName_", "");
		} else {
			url = requestURL + jobList[0][0];
		}
		url = "/" + url;
		//alert(jobList[0][0].length+"\n"+url);
		//if(jobList[0][0]!="page=" && jobList[0][0]!="page=null")document.getElementById(jobList[0][1]).innerHTML = "<table border=0 height=100% width=100%><tr><td align=center class=nameList>Loading...</td></tr></table>";
		document.getElementById(jobList[0][1]).innerHTML = "<table border=0 height=100% width=100%><tr><td align=center>Loading...</td></tr></table>";
	
		//Create the xmlHttp object to use in the request 
		//stateChangeHandler will fire when the state has changed, i.e. data is received back 
		//This is non-blocking (asynchronous)
		xmlHttp = GetXmlHttpObject(stateChangeHandler);
	
		//Send the xmlHttp get to the specified url
		xmlHttp_Get(xmlHttp, url);
	}
} 

//stateChangeHandler will fire when the state has changed, i.e. data is received back 
// This is non-blocking (asynchronous)
function stateChangeHandler(){ 
	//readyState of 4 or 'complete' represents that data has been returned 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){ 
		//Gather the results from the callback 
		var str = xmlHttp.responseText; 
	
		//Populate the innerHTML of the div with the results 
		document.getElementById(jobList[0][1]).innerHTML = str;
		if(jobList[0][1]=="contentArea2")gapi.plusone.go();
		//document.getElementById(jobList[0][1]).height = document.getElementById(jobList[0][1]).clientHeight;
		//document.body.offsetHeight = document.getElementById(jobList[0][1]).clientHeight;
		//alert(document.body.offsetHeight + "\n" + document.getElementById(jobList[0][1]).clientHeight + "\n" + document.body.style.height)

		switch(jobList.length){
			case 3 : jobList=jobList.slice(1, jobList.length); show_data(jobList[0], jobList[1]); break;
			case 2 : jobList=jobList.slice(1, jobList.length); show_data(jobList[0]);
		}
	} 
} 

// XMLHttp send GET request 
function xmlHttp_Get(xmlhttp, url) { 
	xmlhttp.open('GET', url, true); 
	xmlhttp.send(null); 
} 

function GetXmlHttpObject(handler) { 
	var objXmlHttp = null;    //Holds the local xmlHTTP object instance 

	//Depending on the browser, try to create the xmlHttp object 
	if (is_ie){ 
		//The object to create depends on version of IE 
		//If it isn't ie5, then default to the Msxml2.XMLHTTP object 
		var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
         
		//Attempt to create the object 
		try{ 
			objXmlHttp = new ActiveXObject(strObjName); 
			objXmlHttp.onreadystatechange = handler;
		} 
		catch(e){ 
		//Object creation errored 
			alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); 
			return; 
		} 
	} 
	else if (is_opera){ 
		//Opera has some issues with xmlHttp object functionality 
		alert('Opera detected. The page may not behave as expected.'); 
		return; 
	} 
	else{ 
		// Mozilla | Netscape | Safari 
		objXmlHttp = new XMLHttpRequest(); 
		objXmlHttp.onload = handler; 
		objXmlHttp.onerror = handler; 
	} 
     
	//Return the instantiated object 
	return objXmlHttp; 
}
