﻿/// <reference name="MicrosoftAjax.js"/>
Type.registerNamespace("AG");
AG.LocationsSelect = new function() { }

AG.LocationsSelect.loc1ID = "";
AG.LocationsSelect.loc2ID = "";
AG.LocationsSelect.loc3ID = "";
AG.LocationsSelect.pnl1ID = "";
AG.LocationsSelect.pnl2ID = "";

AG.LocationsSelect.ValidateLocation = function(obj) {
    ShowNextLocation($(obj).val());
}

function ShowNextLocation(value) {
    AliveAndGiving.AAGService.LocationIsExist(value, AG.LocationsSelect.onLocationIsExist, AG.LocationsSelect.onError, value);
}

AG.LocationsSelect.StartSearch = function() {

    var loc1 = $("#"+AG.LocationsSelect.loc1ID);
    var loc2 = $("#"+AG.LocationsSelect.loc2ID);
    var loc3 = $("#" + AG.LocationsSelect.loc3ID);
    var loc1val = loc1.val();
    var loc2val = loc2.val();
    var loc3val = loc3.val();
    AliveAndGiving.AAGService.LocationsIsExist(loc1val, loc2val, loc3val, AG.LocationsSelect.onIsExistSuccess, AG.LocationsSelect.onError);

    return false;
}

AG.LocationsSelect.onError = function(error, userContext, methodName) {
    if (error !== null) {
        ShowErrorPopUp("An error occurred: " + error.get_message());
    }
}

AG.LocationsSelect.onLocationIsExist = function(result, value) {
    if (result) {
        var pnl1 = $("#" + AG.LocationsSelect.pnl1ID);
        var pnl2 = $("#" + AG.LocationsSelect.pnl2ID);
        var loc1 = $("#" + AG.LocationsSelect.loc1ID);
        var loc2 = $("#" + AG.LocationsSelect.loc2ID);
        var loc3 = $("#" + AG.LocationsSelect.loc3ID);
        var loc1val = loc1.val();
        var loc2val = loc2.val();
        var loc3val = loc3.val();
        if (loc1val == "Don’t mind..." || loc1val == "") {
            if (loc2val == "Don’t mind..." || loc2val == "") {
                FadeOutObj(pnl1);
            }
            else {
                CopyTxtData(loc2, loc1);
                if (loc3val == "Don’t mind..." || loc3val == "") {
                    FadeOutObj(pnl2);
                }
                else {
                    CopyTxtData(loc3, loc2);
                    FadeOutObj(pnl2);
                }
            }
        }
        else {
            FadeInObj(pnl1);
            if (loc2val == "Don’t mind..." || loc2val == "") {
                if (loc3val == "Don’t mind..." || loc3val == "") {
                    FadeOutObj(pnl2);
                }
                else {
                    CopyTxtData(loc3, loc2);
                    FadeOutObj(pnl2);
                }
            }
            else {
                FadeInObj(pnl2);
            }
        }
    }
    else {
        ShowErrorPopUp("The location \"" + value + "\" does not exist in our database.", "Sorry!");
    }
}

AG.LocationsSelect.onIsExistSuccess = function(result) {
    if (result.fLocIsValid && result.sLocIsValid && result.tLocIsValid) {
        DoGoCommand();
    }
    else if (!result.fLocIsValid) {
        ShowErrorPopUp("The location \""+ result.fLoc + "\" does not exist in our database.");
    }
    else if (!result.sLocIsValid) {
        ShowErrorPopUp("The location \"" + result.sLoc + "\" does not exist in our database.");
    }
    else if (!result.tLocIsValid) {
        ShowErrorPopUp("The location \"" + result.tLoc + "\" does not exist in our database.");
    }
}

        

