function createXMLHttpRequest() {
    if (typeof XMLHttpRequest != "undefined") {
        return new XMLHttpRequest();
    } else if (typeof ActiveXObject != "undefined") {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        throw new Error("XMLHttpRequest not supported");
    }
}

function searchAsset(str, businessID, entityType, fromListID, toListID, strPrefix, searchShortname) {
    var request = createXMLHttpRequest();
    var selectedList = document.getElementById(toListID);
    
    if (!searchShortname) searchShortname = "0";
    
    var url = "request.asp?type=entitysearch";
    url += "&businessID="+businessID;
    url += "&searchStr="+escape(str);
    url += "&entityType="+entityType;
    url += "&searchShortname="+searchShortname;
    url += "&excludeIDs=-99";
    if(selectedList){
        for(var i =0; i<selectedList.options.length; i++){
            url+=","+selectedList.options[i].value;
        }
    }

    request.open("GET", url, true);
    request.onreadystatechange = function() {
        if (request.readyState == 4 && request.status == 200) {
            var prods = eval('(' + request.responseText + ')');
            var list = document.getElementById(fromListID);
            list.options.length=0;
            if(!strPrefix) strPrefix = "";
            for(var i =0; i < prods.length; i++){
                var name = strPrefix + prods[i].description;
                if(searchShortname == "1"){
                    name += " ("+prods[i].shortname+")";
                }
                list.options[i]=new Option(name, prods[i].value, false, false)                       
            }
        }
    }
    request.send(null);
}

