﻿var req = createXMLHttpRequest()

function createXMLHttpRequest() {
    var xmlDoc;    
    if(window.XMLHttpRequest) {    
        try {     
            xmlDoc = new XMLHttpRequest();    
        } catch(e) {     
            xmlDoc = false;    
        }    
     } else if(window.ActiveXObject) {     
        try {       
            var xmlDoc=new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {       
            xmlDoc = false;     
        }    
    }   
    return xmlDoc;  
}

function PopulateDDL(aXML, aDDL, aHidden) {
    var myXML;
    aHidden.value = ""
    aDDL.options.length = 0;
    myXML = aXML[0].getElementsByTagName("item");
    for(var i=0; i < myXML.length; i++) {
        aDDL.options[i] = new Option(myXML[i].getAttribute("text"), myXML[i].getAttribute("value"));
        if (myXML[i].getAttribute("selected") == "1") {
            aDDL.selectedIndex = i;
            aHidden.value = myXML[i].getAttribute("value");
        }
    }
}

function DecodeXMLText(aText) {
    var myText;
    var lt = new RegExp("&lt;", "g");
    var gt = new RegExp("&gt;", "g");
        
    myText = aText;
    myText=myText.replace(lt,"<");
    myText=myText.replace(gt,">");
    
    return myText;    
}

function CallLists_Home(aCultureName) {
    
    req.open('POST', '../Search.asmx/Home');
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');                           
    req.onreadystatechange = PopulateLists_Home;    
    req.send('aDestination=' + document.forms[0].ddlDestination.value +
               '&aMonth=' + document.forms[0].ddlMonth.value + 
               '&aCruiseLine=' + document.forms[0].ddlCruiseLine.value + 
               '&aShip=' + document.forms[0].ddlShip.value + 
               '&aCultureName=' + aCultureName);    
}

function PopulateLists_Home() {
    var myFilterSearch, myError, myText;
    
    if(req.readyState == 4){    
        myText = DecodeXMLText(req.responseText);
        
        if (window.ActiveXObject) {
            var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async="false";
            xmlDoc.loadXML(myText);
        } else {
            var parser=new DOMParser();
            var xmlDoc=parser.parseFromString(myText,"application/xml");        
        }
                
        myFilterSearch = xmlDoc.getElementsByTagName("home");
        myError = myFilterSearch[0].getElementsByTagName("error");
        
        if (myError[0].getAttribute('errortext') != '') {
            alert(myError[0].getAttribute('errortext'));
        } else {    
            PopulateDDL(myFilterSearch[0].getElementsByTagName("destination"), document.forms[0].ddlDestination, document.forms[0].hiddenDestination);
            PopulateDDL(myFilterSearch[0].getElementsByTagName("month"), document.forms[0].ddlMonth, document.forms[0].hiddenMonthYearFrom);
            PopulateDDL(myFilterSearch[0].getElementsByTagName("cruiseline"), document.forms[0].ddlCruiseLine, document.forms[0].hiddenCruiseline);
            PopulateDDL(myFilterSearch[0].getElementsByTagName("ship"), document.forms[0].ddlShip, document.forms[0].hiddenShip);
        }        
    }        
}
