    var xmlHttp;
    var requestURL = '/hebel/favoritesprocess.aspx?q=';
    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 Getfavorite()
    {
		var url = '/hebel/favoritesprocess.aspx';
		//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);
        
    }
    
    function addfavorite(strName)
    {
        if (strName.length > 0){
			var url = requestURL + strName;
			//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('nameList').innerHTML = '';
        }
        
    }
    
    //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
            if(document.getElementById("nameList") != null)
            document.getElementById('nameList').innerHTML = str;
        }
    }

    // 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;
    }

