var getIndex;
var tdMoreID;
var varGetHideTdId = '';
var xmlHttp;
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 CallSearchAJAX(suggestWord, searchKey, cmpID, resCount, resIndex, index, pageURL, pdtORFamName1, pdtORFamName2, filter, searchOrBrowse, name1, name2, comName, cmpIndex, contentID1, contentID2, boolIsFamRep, moreCount) {
    try {
        
        var objGetReducedHeightTD = document.getElementById('tdReduceHeight' + cmpIndex)
        if (objGetReducedHeightTD != null) {
            objGetReducedHeightTD.height = '10px;'
        }
        if (searchOrBrowse.toLowerCase() == "browse")
            suggestWord = "";
        varGetHideTdId = document.getElementById('aShowMore' + cmpIndex)
        getIndex = index;
        tdMoreID = 'tdMore' + getIndex;                
        var detailUrl = "/MHCPNWWebApp/WebPages/MoreSearch.aspx?SuggestedWord=";        
        detailUrl += suggestWord + '&SortFactor=rank&SearchKey=' + searchKey + '&CompanyID=' + cmpID + '&ResultCount=' + resCount + '&Index=' + resIndex + '&Pdt1=' + pdtORFamName1 + '&Pdt2=' + pdtORFamName2 + '&FilterBy=' + filter + '&SearchBrowse=' + searchOrBrowse + '&PdName1=' + name1 + '&PdName2=' + name2 + '&CommunitySelected=' + comName + '&CompanyIndex=' + cmpIndex + '&CID1=' + contentID1 + '&CID2=' + contentID2 + '&IsFamRep=' + boolIsFamRep + '&MoreCount=' + moreCount
        //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, detailUrl);
    }
    catch (ex) {
        //alert('Exception Thrown='+ex.description)
    }
}

// XMLHttp send GET request
function xmlHttp_Get(xmlhttp, url) {
    xmlhttp.open('GET', url, false);
    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;
}

//StateChangeHandler will fire when the state has changed, i.e. data is received back 
//This is non-blocking (asynchronous)
function stateChangeHandler(response) {
    try {
        //readyState of 4 or 'complete' represents that data has been returned 
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
            //Populate the innerHTML of the div with the results 
            document.getElementById(tdMoreID).innerHTML = xmlHttp.responseText;
            if (varGetHideTdId != null)
                varGetHideTdId.innerHTML = ''
        }
    }
    catch (ex) {
        //alert(ex.description)
    }
}

// XMLHttp send GET request 
function xmlHttp_Get(xmlhttp, url) {
    xmlhttp.open('GET', url, true);
    xmlhttp.send(null);
}