﻿//03/02/12 ORINGINAL VERSION NOT USING WS
/*function dp_redirectDealFinder(url) {
    //get the selected airport if the dropdown is visible
    var airportDD = document.getElementById(dealPanelControlID + "_DDairport")
    //if the airport dropdown is visible take into account the value in the dropdown
    if (airportDD.style.display != "none") {
        //deptAir=NCL&
        var selectedAirportCode = airportDD.options[airportDD.selectedIndex].value;
        if (selectedAirportCode != 0) {
            var selectedAirportText = airportDD.options[airportDD.selectedIndex].text;
            var rplAirCode = "deptAir=" + selectedAirportCode;
            var rplAirTxt = "deptText=" + selectedAirportText;
            var newUrl = url.replace("deptAir=0", rplAirCode);
            newUrl = newUrl.replace("deptText=", rplAirTxt);
            location.href = newUrl;
        } else {
            location.href = url;
        }

    } else {
        location.href = url;
    }
}*/



function setLoading(panelRandomID, displayType) {

    //displayType = block or none

    //document.getElementById(dealPanelControlID + "_dlv_loading").style.display = "block";

    var dealOnes = document.getElementById("deal1_loading_" + panelRandomID);
    if (dealOnes != null) {        
            dealOnes.style.display = displayType;
    }

    var dealTwos = document.getElementById("deal2_loading_" + panelRandomID);
    if (dealTwos != null) {
        //for (i = 0; i < dealTwos.length; i++) {
            dealTwos.style.display = displayType;
        //}
    }

    var dealThrees = document.getElementById("deal3_loading_" + panelRandomID);
    if (dealThrees != null) {
       // for (i = 0; i < dealThrees.length; i++) {
            dealThrees.style.display = displayType;
       // }
    }

    //modify the class deal_loading_container to have display:block
}



//LOAD DEALS FROM A WS CALL
//01/02/12



function loadDeal(dealNumber, ctrNumber, selectedAirport) {

    var dealID = "DI_" + dealNumber + ctrNumber + "_";

    //check to see if it is a visible deal
    var isVisible = eval(dealID + "isVisible");

    if (isVisible == 1) {

        //check to see if it is a static deal
        var isStatic = eval(dealID + "isStatic");
        //alert("us static =" + isStatic);

        if (isStatic == 1) {
            //static so remove loading
            setLoadingComplete(dealNumber, ctrNumber);

        } else {

            //not static so remove from loading
            topdealsService.loadDeal(dealNumber, ctrNumber, eval(dealID + "accID"), eval(dealID + "accNm"), eval(dealID + "adults"), eval(dealID + "bbID"), eval(dealID + "bbNm"), eval(dealID + "child"), eval(dealID + "DepartAir"), eval(dealID + "dur"), eval(dealID + "htID"), eval(dealID + "cID"), eval(dealID + "dID"), eval(dealID + "rID"), eval(dealID + "rdir"), eval(dealID + "rate"), eval(dealID + "supID"), eval(dealID + "title"), selectedAirport, onSuccessfull, OnError);

        }

    }    

}



function onSuccessfull(result) {

    var dealTxt = checkGenericImage(result.searchComponentControlString);

    //deal1_container_0
    var n = "deal" + result.dealNumber + "_container_" + result.controlNumber;
    document.getElementById(n).innerHTML = dealTxt;

    //set the deal loading complete
    setLoadingComplete(result.dealNumber, result.controlNumber);
}


function setLoadingComplete(dealNumber, controlNumber) {

    //deal loading
    var l = "deal" + dealNumber + "_loading_" + controlNumber;
    var dealLoading = document.getElementById(l);
    if (dealLoading != null) {
            dealLoading.style.display = "none";
    }

}

function loadDealsSelectedAirport(controlNumber) {

    genericImageCount = 1

    //set all panels to loading
    setLoading(controlNumber, "block")

    var selectedAirportCode = getSelectedAirportCode(controlNumber);

    //for each deal
    for (i = 1; i <= 3; i++) {
        loadDeal(i, controlNumber, selectedAirportCode);
    }

}


function OnError(error) {

    var stackTrace = error.get_stackTrace();
    var message = error.get_message();
    var statusCode = error.get_statusCode();
    var exceptionType = error.get_exceptionType();
    var timedout = error.get_timedOut();

    //alert('Stack Trace: ' + stackTrace + 'Service Error: ' + message + 'Status Code: ' + statusCode + 'Exception Type: ' + exceptionType + 'Timedout: ' + timedout);

}


function getSelectedAirportCode(controlNumber) {

    var a = "DDairport_" + controlNumber;

    var airportDD = document.getElementById(a);

    var selectedAirportCode = "0" //any airport
    if (airportDD != null) {
        var selectedAirportCode = airportDD[airportDD.selectedIndex].value;
    }

    return selectedAirportCode;
}




//check if a generic image is returned
var genericImageCount = 1
//as ws we can keep generic count as each deal loads independately, so the returned content has to look for deal_generic_ad_1.png and track them when they are rendered.
//if one already exists the number needs to be changed
function checkGenericImage(results) {

var pos = results.indexOf("deal_generic_ad_1.png");

if (pos != -1){
    //set the generic image url to the count
    var imgURL = "deal_generic_ad_" + genericImageCount + ".png";
    results = results.replace("deal_generic_ad_1.png", imgURL);
    genericImageCount += 1;
}

return results;

}
