var xmlHttp;
var divName;
var ajaxTimer;
var ThisURL;

function showPageCollapse(pURL,pDivName)
{ 
    divName = pDivName;
    var divAjax = getObj(divName);
    if (divAjax.innerHTML != "") { 
        divAjax.innerHTML = "";
        divAjax.style.position = "absolute"; 
        return;
    }
   showPage(pURL,pDivName);
}

function showPage(pURL,pDivName)
{
    ThisURL = pURL;
    if (pDivName != null) divName = pDivName;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    pURL=pURL+"&DivAjax="+pDivName+"&sid="+Math.random();
    //alert(pURL + " ; on div = " + pDivName);
   if (pDivName)
        xmlHttp.onreadystatechange=stateChanged;  //return result to tag div
   else
        xmlHttp.onreadystatechange=stateChanged2; //return result to ThisAjaxResult 
    xmlHttp.open("GET",pURL,true);
    xmlHttp.send(null);
}

function postPage(pURL,pDivName,pParams)
{
    if (pDivName != null) divName = pDivName;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("POST",pURL);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
    pParams += "&PathName=" +  window.location.pathname;
    xmlHttp.send(pParams);
}

var waitTime=1;
function stateChanged()
{
    var divAjax = getObj(divName);
    if (!divAjax) { 
        //divText.innerHTML += ">" + waitTime;
        waitTime += 1;
        return;
    }
    waitTime = 1;

    divAjax.style.position = "relative";
    divAjax.innerHTML = "<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/clock.gif' onerror='images/clock.gif' > <b>Loading.....</b>";
    
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
        //--> clear height of div tag for debug IE7 rendering
        divAjax.style.height = "auto";
        //------------
        var strRes = new String();
        strRes = xmlHttp.responseText;
        strRes = strRes.replace("form","div");
        strRes = strRes.replace("/form","/div");
        strRes = strRes.replace("_VIEWSTATE","xx"); 
        strRes = strRes.replace("_EVENTVALIDATION","yyy");  
        strRes = strRes.replace("_VIEWSTATE","xx"); 
        strRes = strRes.replace("_EVENTVALIDATION","yyy");  
        //--> add javascript to header
        var jsStr = strRes;
        var jsxStr = strRes; 
        jsStr = jsStr.substring(jsStr.indexOf("//<begin>"),jsStr.indexOf("//<end>")); 
        jsStr += jsxStr.substring(jsxStr.indexOf("//<xbegin>"),jsxStr.indexOf("//<xend>")); 
        var headTag = document.getElementsByTagName('head')[0]; 
        
//        var script1 = document.createElement('script');
//        script1.id = 'hiddenScript1';
//        script1.type = 'text/javascript';
//        script1.src = "js/jsScriptOfAjax.js" 
//        headTag.appendChild(script1);

        var script2 = document.createElement('script');
        script2.id = 'hiddenScript2';
        script2.type = 'text/javascript';
        script2.language = "javascript"; 
        script2.text = jsStr; 
 
        //--> add html result to divAjax
        //alert(strRes); 
        divAjax.innerHTML= strRes;
        headTag.appendChild(script2);      

   }
}


var ThisAjaxResult;
function stateChanged2()
{
    ThisAjaxResult = "";
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
        ThisAjaxResult= xmlHttp.responseText;
   }
}


function GetXmlHttpObject()
{
    var objXMLHttp=null;
    if (window.XMLHttpRequest)
    {
      objXMLHttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
      objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return objXMLHttp;
} 
