var bustcachevar=0 //bust potential caching of external pages after initial request? (1=yes, 0=no)

//var loadstatustext="<img src=\"http://www.rtmlwise.net/shophalebob/loading.gif\" /> &nbsp;Loading..."

var canCelbtn="";//"<input type=\"button\" value=\"Cancel\" class=\"canbut\"  onclick=\"CancelPage();\" >";

var loadingGraphics="<img src=\"http://search.overstockjeweler.com/progress.gif\" />";

var loadstatustext=loadingGraphics + " &nbsp;Refining Items...&nbsp;&nbsp;"+canCelbtn;

//loadstatustext+= "Loading...</td></tr></table>" 

   





function getxmlObj(xhr)

{

//var xhr;

  try {

    	xhr = new XMLHttpRequest();

      } catch (e) {

		    var a = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'MICROSOFT.XMLHTTP.1.0','MICROSOFT.XMLHTTP.1', 'MICROSOFT.XMLHTTP'];

		    for (var i = 0; i < a.length; i++) 

			{

		      		try {

				        xhr = new ActiveXObject(a[i]);

					

				        break;

				      } catch (e) {

								  }

			}

		  }

return xhr



}





function getxmlObj2(pagquest)

{



	if (window.XMLHttpRequest) // if Mozilla, Safari etc		

		pagquest = new XMLHttpRequest();		

	else if (window.ActiveXObject)

		{ // if IE

			//alert("window.actvx");

			try {

				pagquest = new ActiveXObject("Microsoft.XMLHTTP")

			    } 

			     catch (e){

					 //alert("microsoft.xml");

							try{	

								pagquest = new ActiveXObject("Msxml2.XMLHTTP")

							   }

							   catch (e){alert("Ajax Not Supported");}

				      }

		}

		else{		

			document.getElementById(containerid).innerHTML="False";

			//return( null);

		    }

return pagquest



}  





////NO NEED TO EDIT BELOW////////////////////////

var loadedobjects=""

var defaultcontentarray=new Object()

var bustcacheparameter=""

//Remember ural should have the site address same as that of opened site

// else you recieve Permission denied error and AJAX won't work

var st_sec=0;

var et_sec=0;

var st_min=0;

var et_min=0;

var page_cancel = false;

var glb_StatusObj="";

function CancelPage()

{

	if(glb_StatusObj!='')

		document.getElementById(glb_StatusObj).innerHTML=loadingGraphics + " &nbsp; Cancelling...";

		

	page_cancel = true;

}

function ajaxpage(ural, containerid, StatusObj)

{

	var page_request = null;

	page_cancel = false;

	glb_StatusObj=StatusObj;

//alert(ural);

//var tim=);

var d_tim = new Date();

st_sec = d_tim;  //d_tim.getSeconds();    // Returns seocnds

//alert(tim);

document.getElementById(StatusObj).innerHTML=loadstatustext;

	page_request=getxmlObj2(page_request);	

		

			//alert("entering Bustchar...");

			//	alert(page_request);

			if (bustcachevar) //if bust caching of external page

			bustcacheparameter=(ural.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

	

	

	try{

	//alert(ural+bustcacheparameter);

	

	document.getElementById(StatusObj).innerHTML=loadstatustext;//"Requesting..";

	//bustcacheparameter="";

	//alert("Opening Connection...");

		page_request.open("GET",ural+bustcacheparameter,true)  // false means wait for response ; true means donot wait for response

		

		/* var MAXIMUM_WAITING_TIME=180000;

		var requestTimer = setTimeout(function() {

	   page_cancel=true;

       page_request.abort();

	   clearTimeout(requestTimer);

       // Handle timeout situation, e.g. Retry or inform user.

     }, MAXIMUM_WAITING_TIME); 

		clearTimeout(requestTimer);*/

		page_request.onreadystatechange=function(){		

		

				//	alert("Loading page...");	

				loadpage(page_request, containerid,StatusObj);

				

				//clearTimeout(requestTimer); 

				

				//if(StatusObj!='' && containerid!=StatusObj){

				//document.getElementById(StatusObj).innerHTML="&nbsp;";}//loadstatustext;}

			}//function ends



		page_request.send(null)

	

	   }catch(e){

		   //alert(e);

				//alert("Server is busy.Please try again.");

				return false;

				//location.replace(document.getElementById("execret").value);

	       }



} // function ends



function loadpage(page_request, containerid,StatusObj){	

try{

var respV="";	

if(page_cancel==true)

{

		page_request.abort();

		page_request=null;

		if(glb_StatusObj!='')

			document.getElementById(glb_StatusObj).innerHTML="Cancelled by User";

			

		return 0;

}

	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){

			document.getElementById(containerid).innerHTML=page_request.responseText; // + "OK"			

		if(StatusObj!='' && containerid!=StatusObj){

			var d_tim = new Date();

			et_sec= d_tim; //.getSeconds();

			var f_sec1=et_sec-st_sec;

			var f_sec=f_sec1/1000;

				document.getElementById(StatusObj).innerHTML="Query Took Approx:  " + f_sec + " sec";}//loadstatustext;}	

				//document.getElementById(StatusObj).innerHTML="";}

			

	}

	}catch(e){}//alert(e);}//alert("Error! Loading Page \r\nServer is busy.Please try again.");}

}



//Ajax with post method

function ajaxpagepost(ural, containerid, StatusObj,frmname)

{

	var page_request = null;

	page_cancel = false;

//alert(ural);

var frm=document.getElementById(frmname);

var str = getFormValues(frm,"");

document.getElementById(StatusObj).innerHTML=loadstatustext;

	page_request=getxmlObj2(page_request);	

		

			//alert(page_request);



			if (bustcachevar) //if bust caching of external page

			bustcacheparameter=(ural.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

	

	

	try{

	//alert(ural+bustcacheparameter);

	

	document.getElementById(StatusObj).innerHTML=loadstatustext;//"Requesting..";

	//bustcacheparameter="";

		page_request.open("POST",ural+bustcacheparameter,true)  // false means wait for response ; true means donot wait for response

		

		page_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");



   //page_request.send(str);

		

		page_request.onreadystatechange=function(){		

		

						

				loadpage(page_request, containerid,StatusObj);

				if(StatusObj!='' && containerid!=StatusObj){

				document.getElementById(StatusObj).innerHTML="done";}//loadstatustext;}//"Done";}

			}//function ends



		page_request.send(str)

	

	   }catch(e){	

				alert("Server is busy.Please try again Later.");

				return false;

				//location.replace(document.getElementById("execret").value);

	       }



} // function ends





    function getFormValues(fobj,valFunc)



    {



       var str = "";



       var valueArr = null;



       var val = "";



       var cmd = "";



       for(var i = 0;i < fobj.elements.length;i++)



       {



           switch(fobj.elements[i].type)



           {



               case "text":



                    if(valFunc)



                    {



                        //use single quotes for argument so that the value of



                        //fobj.elements[i].value is treated as a string not a literal



                        cmd = valFunc + "(" + 'fobj.elements[i].value' + ")";



                        val = eval(cmd)



                    }



                    str += fobj.elements[i].name +



                     "=" + escape(fobj.elements[i].value) + "&";



                     break;



               case "select-one":



                    str += fobj.elements[i].name +



                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";



                    break;



           }



       }



       str = str.substr(0,(str.length - 1));



       return str;



    }
