﻿$(function () {
    //$(document).ready(function() {
    //$.ui.dialog.defaults.bgiframe = true;
    /*$(function () {
        fPnlDialog();
    });*/
});

$(function () {
    $("#txtControlDateTrip").datepicker({
        minDate:'+oD',
        changeMonth: true,
        changeYear: true,
        dateFormat: 'dd/mm/yy',
        buttonImage: '~/_imgs/_calendar/calendar.gif'
    });    
});

function fPnlDialog(p_session_returncode) {
    $('#pnlDialogContent').removeAttr("style");
    $("#pnlDialog").dialog({
        autoOpen: false,
        modal: true,
        width: 490,
        height: 670,
        buttons: {
            "Enviar": function () {
                if (validateForm()) {
                    ask_process($("#hidEstablishments").val(), $("#txtName").val(), $("#txtSur").val(), $("#txtEmail").val(), $("#txtPhone").val(), $("#txtDateTrip").val(), $("#txtPassengersAdults").val(), $("#txtPassengersMinors").val(), $("#lstContactMethod :selected").text(), $("#txtQuery").val(), p_session_returncode);
                }
            },
            "Cerrar": function () {
                if ($("#hdnQueryAll").val() == 'true') {
                    ClearSessionQuery();
                    $("#hdnQueryAll").val('false');
                }
                $(this).dialog("close");
            }
        }
    });
}

function fPnlDialogEnd() {
    $("#pnlDialog").dialog({
        autoOpen: false,
        modal: true,
        width: 570,
        height: 360,
        buttons: {
            "OK": function () {
                if ($("#hdnQueryAll").val() == 'true') {
                    ClearSessionQuery();
                    $("#hdnQueryAll").val('false');
                }
                $(this).dialog("close");
            }
        }
    });
}

function SetCheckBox(p_id_chk, p_id_est) {
    var chk = p_id_chk.checked;
    if (chk == false) {
        p_id_chk.checked = true;
        addToCart(true, p_id_est)
    }
}

function QueryAll(p_id_est) {
    var array = p_id_est.split(',');
    for (i = 0; i < array.length; i++) {
        addToCart(true, array[i])
    }
    $("#hdnQueryAll").val('true');
}

function ClearSessionQuery() {
    $.ajax({
        url: $("#hidLocalApplicationName").val() + "/ClearSessionQuery",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataFilter: function (data) { return data; },
        success: function (data) {
        },
        error: function (data) {
        }
    });
}

function ControlQuery() {
    if (validateQuery()) {
        ask_process($("#hidEstablishments").val(), $("#txtControlName").val(), $("#txtControlSur").val(), $("#txtControlEmail").val(), $("#txtControlPhone").val(), $("#txtControlDateTrip").val(), $("#ddlPassengersAdults").get(0).selectedIndex, $("#ddlPassengersMinors").get(0).selectedIndex, $("#lstControlContactMethod").val(), $("#txtControlQuery").val());
    } else {
        Modal('', 'Consulta',false);
    }
}

function ask_process(p_id_establishment, p_name, p_surname, p_email, p_phone, p_date, p_passadults, p_passminors, p_contactmethod, p_query, p_session_returncode) {

    $.ajax({
        type: "get",
        url: "ask_process.aspx?id_establishment=" + p_id_establishment + "&txtName=" + p_name + "&txtSur=" + p_surname + "&txtEmail=" + p_email + "&txtPhone=" + p_phone + "&txtDateTrip=" + p_date + "&txtPassengersAdults=" + p_passadults + "&txtPassengersMinors=" + p_passminors + "&txtQuery=" + p_query + "&lstContactMethod=" + p_contactmethod,
        success: function (data) {
            fPnlDialogEnd();
            if ($("#pnlDialog").parents(".ui-dialog").is(":visible")) {
                /*$("#pnlLoading").show();
                $("#pnlDialogContent").html($("#pnlLoading").html());*/
                $("#pnlFormQuery").hide();
                $("#pnlQuerySuccedd").show();
                $("#lblQuerySend").text(p_query);
                $("#lblContactMethodSend").text(p_contactmethod);
                $("#lblDateTripSend").text(p_date);
                $("#lblPassengersAdultsSend").text(p_passadults);
                $("#lblPassengersMinorsSend").text(p_passminors);
            } else {
                $("#pnlDialog").dialog('option', 'title', 'Consulta Rápida');
                $("#pnlDialog").dialog('open');
                $("#pnlLoading").show();
                $("#pnlDialogContent").html($("#pnlLoading").html());
                $('#pnlDialogContent').load("ask.aspx?id_establishment=" + $("#hidEstablishments").val() + "&queryok=true&lblQuerySend=" + $.URLEncode(p_query) + "&lblContactMethodSend=" + $.URLEncode(p_contactmethod) + "&lblDateTripSend=" + $.URLEncode(p_date) + "&lblPassengersAdultsSend=" + p_passadults + "&lblPassengersMinorsSend=" + p_passminors);
                $("#pnlLoading").hide();
            }
            _gaq.push(['_trackPageview', 'ask_process.aspx']);
            if (p_session_returncode != "") {
                var imgNewsletter = document.createElement("img");
                imgNewsletter.setAttribute("src", "http://www.newsletter.escapadasargentinas.com/pixelCPL.aspx?returnCode=" + p_session_returncode);
                imgNewsletter.setAttribute("border", "0px");
                imgNewsletter.setAttribute("height", "1px");
                imgNewsletter.setAttribute("width", "1px");
                var panel = document.getElementById("pnlQuerySuccedd");
                panel.appendChild(imgNewsletter);
            }
        },
        error: function (data) {
            if ($("#pnlDialog").parents(".ui-dialog").is(":visible")) {
            } else {
                fPnlDialog();
                $("#pnlDialog").dialog('open');
                $('#pnlDialogContent').load("ask.aspx?id_establishment=" + $("#hidEstablishments").val() + "&txtDateTrip=" + $("#txtControlDateTrip").val() + "&txtPassengersAdults=" + $("#ddlPassengersAdults").get(0).selectedIndex + "&txtPassengersMinors=" + $("#ddlPassengersMinors").get(0).selectedIndex + "&txtQuery=" + $.URLEncode($("#txtControlQuery").val()));
            }
            $("#tdErrorQuery").html("Ha habido un error.<br />Por Favor, Intente nuevamente");
        }
    });
}

function validateQuery() {
    var bOK = true;
    var strError = "";
    if (Trim($("#txtControlDateTrip").val()) != '') {
        if (ToDate($("#txtControlDateTrip").val(), "/") == null) {
            bOK = false;
            strError += 'El formato de la fecha de viaje desde debe ser dd/mm/aaaa<br />';
            $("#txtControlDateTrip").addClass("ui-state-highlight");
        } else {
            $("#txtControlDateTrip").removeClass("ui-state-highlight");
        }
    } else {
        $("#txtControlDateTrip").removeClass("ui-state-highlight");
    }
    if (Trim($("#txtControlQuery").val()) == '') {
        bOK = false;
        strError += "Debe Completar la consulta";
        $("#txtControlQuery").addClass("ui-state-highlight");
    }
    else {
        if ($("#txtControlQuery").val().length > 4000) {
            bOK = false;
            strError += "La consulta no puede tener m&aacute;s de 4000 caracteres";
            $("#txtControlQuery").addClass("ui-state-highlight");
        }
        else {
            $("#txtControlQuery").removeClass("ui-state-highlight");
        } 
    }
    /*if (strError != "")
        alert(strError);*/
    return bOK;
}

function Modal(p_id_establishment, p_dialog_title, p_form_query, p_session_returncode) {
    fPnlDialog(p_session_returncode);
    $("#pnlDialog").dialog('option', 'title', p_dialog_title);
    $("#pnlDialog").dialog('open');

    $("#pnlLoading").show();
    $("#pnlDialogContent").html($("#pnlLoading").html());

    if (p_id_establishment != '') {
        $('#pnlDialogContent').load("ask.aspx?id_establishment=" + p_id_establishment);
    } else {
        if (p_form_query) {
            $("#hidEstablishments").val('');
            $("#pnlDialogContent").load(encodeURI("ask.aspx?id_establishment=" + $("#hidEstablishments").val() + "&txtDateTrip=&txtPassengersAdults=&txtPassengersMinors=&txtQuery=&Rnd=" + new Date()));
        }
        else {
            $("#pnlDialogContent").load("ask.aspx?id_establishment=" + $("#hidEstablishments").val() + "&txtDateTrip=" + $("#txtControlDateTrip").val() + "&txtPassengersAdults=" + $("#ddlPassengersAdults").get(0).selectedIndex + "&txtPassengersMinors=" + $("#ddlPassengersMinors").get(0).selectedIndex + "&txtQuery=" + $.URLEncode($("#txtControlQuery").val()));
        } 
    }
    $("#pnlLoading").hide();
    _gaq.push(['_trackPageview', 'ask.aspx']);

    //return false;
}

function hideEstablishment(id) {
    document.getElementById(id).style.display = "none";

    /**********************************************************************/
    /*L&oacute;gica para que no deje enviar la consulta si no hay establecimientos*/
    x = $("#hidCantEstablishmentSelected").val();
    y = x - 1;
    if (y > 0) {
        $("#hidCantEstablishmentSelected").val() = y;
    }
    else {
        alert("Se han quitado todos los establecimientos a los que se iba a enviar una consulta");
        window.location.reload();
    }
    /**********************************************************************/
}

function validateForm() {
    var bOK = true;
    var strError = "<u><b>ERRORES</b></u><br />";

    if (Trim($("#txtName").val()) == '') {
        bOK = false;
        strError += "Debe completar su nombre<br />";
        $("#txtName").addClass("ui-state-highlight");
    } else {
        $("#txtName").removeClass("ui-state-highlight");
    }

    if (Trim($("#txtEmail").val()) == '') {
        bOK = false;
        strError += "Debe Completar el E-Mail<br />";
        $("#txtEmail").addClass("ui-state-highlight");
    }
    else {
        if (!validateEmail(Trim($("#txtEmail").val()))) {
            bOK = false;
            strError += "El e-Mail es incorrecto<br />";
            $("#txtEmail").addClass("ui-state-highlight");
        } else {
            $("#txtEmail").removeClass("ui-state-highlight");
        }
    }

    if (Trim($("#txtDateTrip").val()) != '') 
    {
        if (ToDate($("#txtDateTrip").val(), "/") == null) {
            bOK = false;
            strError += 'El formato de la fecha de viaje desde debe ser dd/mm/aaaa<br />';
            $("#txtDateTrip").addClass("ui-state-highlight");
        } else {
            var fechaActual = new Date();
            var diaActual = fechaActual.getDate();
            var mesActual = fechaActual.getMonth() + 1;
            var anioActual = fechaActual.getFullYear();
            var diaV = ($("#txtDateTrip").val()).substring(0, 2);
            var mesV = ($("#txtDateTrip").val()).substring(3, 5);
            var anioV = ($("#txtDateTrip").val()).substring(6, 10);
            if (Date.UTC(anioV, mesV - 1, diaV, 0, 0, 0, 0) < Date.UTC(anioActual, mesActual - 1, diaActual, 0, 0, 0, 0)) {
                bOK = false;
                strError += 'La Fecha de Viaje no puede ser anterior a la fecha actual<br />';
                $("#txtDateTrip").addClass("ui-state-highlight");
            } else {
                $("#txtDateTrip").removeClass("ui-state-highlight");
            }
        }
    } else {
        $("#txtDateTrip").removeClass("ui-state-highlight");
    }

    if (IsNumeric(Trim($("#txtPassengersAdults").val())) == false) {
        bOK = false;
        strError += "La cantidad de pasajeros adultos debe ser numerico<br />";
        $("#txtPassengersAdults").addClass("ui-state-highlight");
    } else {
        $("#txtPassengersAdults").removeClass("ui-state-highlight");
    }

    if (IsNumeric(Trim($("#txtPassengersMinors").val())) == false) {
        bOK = false;
        strError += "La cantidad de pasajeros menores debe ser numerico<br />";
        $("#txtPassengersMinors").addClass("ui-state-highlight");
    } else {
        $("#txtPassengersMinors").removeClass("ui-state-highlight");
    }

    if (Trim($("#txtQuery").val()) == '') 
    {
        bOK = false;
        strError += "Debe Completar la consulta<br />";
        $("#txtQuery").addClass("ui-state-highlight");
    }
    else 
    {
        if ($("#txtQuery").val().length > 4000) {
            bOK = false;
            strError += "La consulta no puede tener m&aacute;s de 4000 caracteres<br />";
            $("#txtQuery").addClass("ui-state-highlight");
        } else {
            $("#txtQuery").removeClass("ui-state-highlight");
        }
    }

    if (!bOK) {
        $("#tdError").html(strError);
        window.scrollTo(0, 0);
    }

    /*if (event != null)
        event.returnValue = bOK; // the btnAceptar do the postback, not the ENTER
        */
    return bOK;
}

function fOpenHelp() {
    window.open("HelpQuery.htm", "help", "height=500,width=540,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes");
}

function IsNumeric(sText) {
    var ValidChars = "0123456789";
    var IsNumber = true;
    var Char;
    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            if (i != 0) {
                IsNumber = false;
            }
            else {
                if (Char != '-')
                    IsNumber = false;
            }
        }
    }
    return IsNumber;
}

function GetQueryCart() {
    var ret = true;
    $.ajax({
        url: $("#hidLocalApplicationName").val() + "/GetQueryCart",
        dataType: "json",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataFilter: function (data) { return data; },
        success: function (data) {
            if (data.d == true) {
                ret = true;
            } 
        },
        error: function (data) {
        }
    });
    return ret;
}
