var xHttp;
var _ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var _ie5 = (navigator.appVersion.indexOf("MSIE 5.5") != -1) ? 1 : 0;
var _opera = ((navigator.userAgent.indexOf("Opera6") != -1) || (navigator.userAgent.indexOf("Opera/6") != -1)) ? 1 : 0;
//netscape, safari, mozilla behave the same???
var _netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;
var _updatePanelToRefresh = '';
var _redirect = '';
function SetSession(detailUrl, updatePanel, ifRedirect) {    
    try{xHttp = GetXHttpObject(changeHandler);
    //Send the xHttp get to the specified url
    xHttp_Get(xHttp, detailUrl);
    _updatePanelToRefresh = updatePanel;
    _redirect = ifRedirect;    }
    catch (e) {
        //alert(e);
    }
}
function GetXHttpObject(handlerObject){
    var objXmlHttp=null;
    try{if(_ie){
        var strObjName=(_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
        try {
            objXmlHttp=new ActiveXObject(strObjName);
            objXmlHttp.onreadystatechange=handlerObject;           
        }
        catch (e) {
            alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
            return;
        }
    }
    else if (_opera) {
        //Opera has some issues with xHttp object functionality 
        alert('Opera detected. The page may not behave as expected.');
        return;
    }
    else {        
        // Mozilla | Netscape | Safari
        objXmlHttp         = new XMLHttpRequest();
        objXmlHttp.onload  = handlerObject;
        objXmlHttp.onerror = handlerObject;        
    }    
    }
    catch (e) {
        //alert(e);
    }
    //Return the instantiated object 
    return objXmlHttp;
}
// XMLHttp send GET request
function xHttp_Get(xmlhttp, url) {
    try {
        var currDate = new Date();
        url += "&currentTime=" + currDate;
        xHttp.open("GET", url, true);
        xHttp.send(null);
    }
    catch (e) {//alert(e);
    }
}
function changeHandler(response) {
    try {
        //readyState of 4 or 'complete' represents that data has been returned
        if (xHttp.readyState == 4 || xHttp.readyState == 'complete') {
            if (_redirect == 'false') {
                __doPostBack(_updatePanelToRefresh, '');
            }
        }
    }
    catch (e) {
        //alert(e)
    }
}