﻿function DoChangeVehicule() {
    urlGamme = $("#CategorieVehicule").val();
    urlGamme = urlGamme.replace('/', "_").replace("/", "_");
    $.getJSON('/changecar/' + urlGamme, function(data) {
        $("#devis_listPrestation").html('');
        var optionsStr = "";
        options = data.Options;
        $.each(options, function(index, option) {
            selectetStr = option.IsChecked ? "checked='checked'" : "";
            optionsStr += "<div class=\"field_line\"><div class=\"libele_field_line\">" +
                        "<input type=\"checkbox\" value=\"" + option.id_prestation + "\" name=\"IdPrestations\" class=\"inptCheck\" " + selectetStr + ">" +
                        "<input type=\"hidden\" value=\"false\" name=\"IsSelected_" + option.id_prestation + "\">" +
                        "<label>" + option.libelle +
                        "<a title=\"" + option.condition + "\" href=\"#\" class=\"devis_info vtip\">" +
                        "<img src=\"/Content/medias/info_bt.png\"></a></label></div>" +
                        "</div>";
        });
        $("#devis_listPrestation").html(optionsStr);
    });
}

function DevisEntreprise() {

    this.addOnChangeCategorieVehicule = function AddOnChangeCategorieVehicule() {
        $("#CategorieVehicule").change(function() {
            $("#IsChangeGamme").val("1");
            DoChangeVehicule();
        });
    };

    this.setGetEmailDriverFromId = function setGetEmailDriverFromId(driverField, fieldToBeBound, newdriverform_classname) {
        $('#' + driverField).change(function() {
            $("#" + fieldToBeBound).val("");
            idCnd = $('#' + driverField).val();
            $("#" + fieldToBeBound).val($("#cnd_" + idCnd).val());
        });
    };

	this.getEmailDriverFromId = function GetEmailDriverFromId(results) {
		if(results.RETOUR == 'OK') {
			$('#' + results.Field).val(results.Email);
			$('.valide_resa').removeAttr('disabled');
			$('.valide_resa').removeClass('disabled');
		}        
	};

    this.addDefaultAgencyBackValue = function AddDefaultAgencyBackValue() {
        $("#choixVilles_Arrival").selectbox.setSelected($("#choixVilles_Arrival").val());
    };

    this.addOnClickDatePickerTextBox = function AddOnClickDatePickerTextBox(dateNaissanceRange, datePermisRange) {
        $("#Conducteur_Birthday_1").datepicker({ changeMonth: true, changeYear: true, defaultDate: '-17y', yearRange: dateNaissanceRange});
        $("#Conducteur_EmissionDate_1").datepicker({ changeMonth: true, changeYear: true, defaultDate: '-10y', yearRange: datePermisRange });
        
        $("#Conducteur_Birthday_2").datepicker({ changeMonth: true, changeYear: true, defaultDate: '-17y', yearRange: dateNaissanceRange});
        $("#Conducteur_EmissionDate_2").datepicker({ changeMonth: true, changeYear: true, defaultDate: '-10y', yearRange: datePermisRange });
    };

    this.addOnClickAddNewDriver_ShowBlock = function AddOnClickAddNewDriver_ShowBlock() {
        $("#CreateNewDriver1").click(function() {
            if (!$(".newConducteur1").is(':visible')) {
                $('#list_drivers_first').val('');
                $('#EmailConducteur').val('');
            }
            $(".newConducteur1").toggle(400);
            return false;
        });

        $("#CreateNewDriver2").click(function() {
            if (!$(".newConducteur2").is(':visible')) {
                $('#list_drivers_second').val('');
                $('#EmailConducteur2').val('');
            }
            $(".newConducteur2").toggle(400);
            return false;
        });
    };
    
    this.addOnClickManageOptions_ShowBlock = function AddOnClickManageOptions_ShowBlock() {
        $("#aAddOptions").click( function() {
            $("#devis_listPrestation").toggle(400);
        });
    };
    
    this.addOnChange_SelectClient = function AddOnChange_SelectClient() {
        $("#list_clients").change(function() {    
            this.form.submit();
        });
    };

    this.selectNewValues = function SelectNewValues(gammeUrl, agencyDepartId, agenceArriveeId) {
        if (gammeUrl != "") {
            $("#CategorieVehicule").val(gammeUrl);
            DoChangeVehicule();
        }
        if (agencyDepartId != "")
            $("#choixVilles_Departure").val(agencyDepartId);
        if (agenceArriveeId != "") {
            $("#choixVilles_Arrival").val(agenceArriveeId);
            if ($("#agenceRetVisible").val() == "true" || $("#agenceRetVisible").val() == "True") {
                $("#resaLienAgenceRetour").hide();
                $("#resaModifAgenceRetour").show();
            }
        }
    };
    
    this.addOnClickMoreLessButtons = function AddOnClickMoreLessButtons() {
        $("a.plus").click(function() {
            var value = $(this).prev().val();
            if (value == null || value == "" || value == "0") {
                value = 1;
                $(this).parent().siblings(".inptCheck").attr('checked', true);
            } else {
                value++;
            }
            $(this).prev().val(value);
            if (value != "") {
                mazedia.ui.devis.isChangeValueByOptionsInternet = false;    
            }
        });

        $("a.moins").click(function() {
            var value = $(this).next().val();
            if (value == null || value == "" || value == "0") {
                value = "";
            } else {
                value--;
                if (value < 1) {
                    value = "";
                    $(this).parent().siblings(".inptCheck").attr('checked', false);
                }
            }
            $(this).next().val(value);
            if (value != "") {
            }
        });
    };

    this.setDatesAndHoursToDatePickerAndSliders = function SetDatesAndHoursToDatePickerAndSliders(patternDate, defaultDateBegin, defaultDateEnd) {
        $('#dateResaDebut').datepicker({ dateFormat: patternDate, defaultDate: +1, numberOfMonths: 2 });
        $('#dateResaRetour').datepicker({ dateFormat: patternDate, defaultDate: +2, numberOfMonths: 2 });
    };
};
