var globalPID='';
var working=false;
var clock = new Image(57,52).src = "_img/clock.gif";
var xmlHttp;
var requestURL = 'PackageIDSearch.aspx';
//var requestURL = 'PackageIDSearchNew.aspx';
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("Opera6")!=-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;

function ResolvePID(strPID,strZip,strReceivedDate){
	if(!working){
		if (strZip.length > 0){
			// Set global var to only allow one request at a time
			working = true;
	    
			document.getElementById('multipleResults' + strPID).innerHTML = '<div align=center><table width=100% cellspacing=0 cellpadding=50 style="BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid"><tr><td align=center><p><img src="_img/clock.gif" height=52 width=57 /></p><span style="color:black;font-weight:bold;">Please wait while that package is  retrieved...</span></div></td></tr></table>';
			
			globalPID = strPID;
	   
	    
			//Append the name to search for to the requestURL
			var url = requestURL + '?pid=' + strPID + '&zip=' + strZip + '&rd=' + strReceivedDate;
	        
			//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);
		}
		else {
			//Textbox blanked out, clear the results
			document.getElementById('multipleResults' + strPID).innerHTML = '';
		}
	}else{
		alert('Only one request is allowed at a time.\n\nPlease wait until the previous request has completed\nbefore clicking another link.');
	}
}

//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('multipleResults' + globalPID).innerHTML = str;
        
        working=false;
    }
}

// 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;
}

function UseValue(strVal){
    document.frmStuff.txtName.value = strVal;
}