var cat;
$(function(){

    $("#searchBudget").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 1000000,
        slide: function(event, ui) {
            $("#searchBudgetValue").val(ui.value);
            $("#budget").html(ui.value).format({
                format:"#,###",
                locale:"fr"
            }).append(" €");
        },
        change: function(event, ui) {
            $("#searchBudgetValue").val(ui.value);
            $("#budget").html(ui.value).format({
                format:"#,###",
                locale:"fr"
            }).append(" €");
        }
    });
    //$("#amount").val($("#slider-range-min").slider("value"));

    $("#searchSurface").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 300,
        slide: function(event, ui) {
            $("#searchSurfaceValue").val(ui.value);
            $("#surface").html(ui.value).format({
                format:"#,###",
                locale:"fr"
            }).append(" m²");
        },
        change: function(event, ui) {
            $("#searchSurfaceValue").val(ui.value);
            $("#surface").html(ui.value).format({
                format:"#,###",
                locale:"fr"
            }).append(" m²");
        }
    });
    //$("#input_surface").val($("#slider_surface").slider("value"));

    $("#slider_pieces").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 6,
        slide: function(event, ui) {
            $("#input_pieces").val(ui.value);
            $("#pieces").html($("#input_pieces").val()).append(" pièce(s)");
        }
    });
    //$("#input_pieces").val($("#slider_pieces").slider("value"));

    //charge la map
    load("carte_geoloc");
    $("#polyclear").hide();
    //dessine polygone
    $("#dessiner").click(function(){
        startPolygon('#735961',2,1,'#735961',0.30);
        $("#polyclear").show();
    });
    //effacer polygone
    $("#polyclear").click(function(){
        if(polygoneEnCours)cancelPolygon();
        $("#polyclear").hide();
    });
    //on affiche le bouton effacer s'il y a un poly au chargement
    if($("input[name=searchGeo]").val()!="" && $("input[name=searchGeo]").val()!="null") $("#polyclear").show();

    //selection de la catégorie
    cat = $("select[name=searchCategory] option:selected").val();
    $("#categ_p div.jqTransformSelectWrapper ul li a").click(function () {
        cat = $("select[name=searchCategory] option:selected").val();
        switch(cat){
            case 'VE':case 'LO':case 'VI':
                $("#type_p").show();
                $("#type").removeAttr("disabled");
                $("#surface_p").show();
                $("#searchSurfaceValue").removeAttr("disabled");
                $("#amount_p").show();
                $("#searchBudgetValue").removeAttr("disabled");
                $("#pieces_p").show();
                $("#input_pieces").removeAttr("disabled");
                $("#type_p .jqTransformSelectWrapper ul li:gt(0)").show();
                if(cat=="VE") $("#type_p .jqTransformSelectWrapper ul li:gt(4)").hide();
                if(cat=="LO") $("#type_p .jqTransformSelectWrapper ul li:gt(3)").hide();
                if(cat=="VI") $("#type_p .jqTransformSelectWrapper ul li:gt(2)").hide();
                $("#type_p .jqTransformSelectWrapper ul li:first a").click();
                $("#type").change();
                break;
            case 'NE':
                $("#type_p").hide();
                $("#type").attr("disabled", true);
                $("#surface_p").hide();
                $("#searchSurfaceValue").attr("disabled", true);
                $("#amount_p").hide();
                $("#amount").attr("disabled", true);
                $("#pieces_p").hide();
                $("#piece").attr("disabled", true);
                break;
            case 'EL':
                $("#pieces_p").hide();
                $("#piece").attr("disabled", true);
                $("#type_p .jqTransformSelectWrapper ul li:gt(0)").show();
                $("#type_p .jqTransformSelectWrapper ul li:lt(5)").hide();
                $("#type_p .jqTransformSelectWrapper ul li:gt(7)").hide();
                $("#type_p .jqTransformSelectWrapper ul li:first").show();
                $("#type_p .jqTransformSelectWrapper ul li:first a").click();
                $("#type").change();
                //setSliderOptions("#searchBudget",0,2000,50,false);
                break;
            case 'EV':
                $("#pieces_p").hide();
                $("#piece").attr("disabled", true);
                $("#type_p .jqTransformSelectWrapper ul li:gt(0)").show();
                $("#type_p .jqTransformSelectWrapper ul li:lt(5)").hide();
                $("#type_p .jqTransformSelectWrapper ul li:first").show();
                $("#type_p .jqTransformSelectWrapper ul li:first a").click();
                $("#type").change();
                //setSliderOptions("#searchBudget",0,5000,50,false);
                break;
        }
    });
    $("#type").switchFormSearch(true);
    //init vente
    $("#type_p .jqTransformSelectWrapper ul li:gt(4)").hide();
    //on ajoute le onchange sur le select
    $("#type").attr("onchange", "javascript:$(this).switchFormSearch();");

    $("form#alertemail").submit(function(){
        var error = 0;
        if($("input[name=nom]").val() == ""){error++;}
        if($("input[name=mailAddress]").val() == ""){error++;}
        if(error == 0){
            return true;
        }else{
            alert("Veuillez saisir correctement la totalité des champs annotés d'une asterisque !");
            return false;
        }
    });

});

//fonction qui appelle le script d'autocompletion des villes
function run_autocomplete(url){
    $("#input_cp").autocomplete(url,{
        minChars: 1,
        width:215,
        dataType: "json",
        selectFirst: true,
        mustMatch: true,
        matchContains: true,
        autoFill: false,
        cacheLength: 50,
        forceSelect:true,
        max: 50,
        parse: function(data) {
            var rows = new Array();
            for(var i=0; i<data.length; i++){
                rows[i] = {
                    data: data[i],
                    value:data[i].name,
                    result:data[i].name
                };
            }
            return rows;
        },
        formatItem: function(data) {
            return data.name+" ("+data.codepostal+")";
        }
    }).result(function(event, data, formatted) {
        if(polygoneEnCours)cancelPolygon();
        loadPolygon(data.polygone,'#735961','2',32,'#735961');
        goPolygone();
    });
}


var setSliderOptions //triche pour accéssibilité de la fonction setSliderOptions

(function($){
    $.fn.switchFormSearch = function(isLoadedPage){

        setSliderOptions = function (el,min,max,step,hide) {
            var namevalue = el+"Value"
            el = $(el);
            if(hide == true){
                //el.parents('.searchCol').hide();
                $(namevalue).attr("disabled", true);
            }else{
                $(namevalue).removeAttr("disabled");
                //el.parents('.searchCol').show();

                el.slider("option", "min",min);
                el.slider("option", "max",max);

                if(isLoadedPage != true){
                    el.slider('value',min);
                    $(namevalue).val("0");
                }else{
                    el.slider('value',$(namevalue).val());
                }

                el.slider('option', 'step',step);

            // $(el).find('span').hide();
            }
        };

        if(this.val() == -1){
            alert('Veuillez choisir un type de bien');
        }else{
            switch(this.val()){
                case 'M':
                    $("#pieces_p").show();
                    $('#piece').removeAttr("disabled");
                    setSliderOptions("#searchSurface",0,200,10,false);
                    if(cat=="LO")
                        setSliderOptions("#searchBudget",0,3000,50,false);
                    else
                        setSliderOptions("#searchBudget",0,1000000,25000,false);
                    break;
                case 'A':
                    $("#pieces_p").show();
                    $('#piece').removeAttr("disabled");
                    setSliderOptions("#searchSurface",0,200,10,false);
                    if(cat=="LO")
                        setSliderOptions("#searchBudget",0,1500,50,false);
                    else
                        setSliderOptions("#searchBudget",0,1000000,25000,false);
                    break;
                case 'T':
                    $("#pieces_p").hide();
                    $('#piece').attr("disabled", true);
                    setSliderOptions("#searchSurface",0,10000,500,false);
                    setSliderOptions("#searchBudget",0,500000,10000,false);
                    break;
                case 'G':
                    $("#pieces_p").hide();
                    $('#piece').attr("disabled", true);
                    setSliderOptions("#searchSurface",0,50,10,false);
                    if(cat=="LO")
                        setSliderOptions("#searchBudget",0,200,10,false);
                    else
                        setSliderOptions("#searchBudget",0,100000,1000,false);
                    break;
                case 'B':case 'L':case 'C':
                    if(cat=="EL"){
                        setSliderOptions("#searchSurface",0,2000,50,false);
                        setSliderOptions("#searchBudget",0,2000,50,false);
                    }else{
                        setSliderOptions("#searchSurface",0,2000,50,false);
                        setSliderOptions("#searchBudget",0,5000,50,false);
                    }
                    break;
                case 'F':
                    setSliderOptions("#searchSurface",0,500,50,false);
                    setSliderOptions("#searchBudget",0,1000000,25000,false);
                    break;
                default:case 'Tous':
                    switch(cat){
                        case "EV":
                            setSliderOptions("#searchSurface",0,2000,50,false);
                            setSliderOptions("#searchBudget",0,1000000,25000,false);
                            break;
                        case "EL":
                            setSliderOptions("#searchSurface",0,2000,50,false);
                            setSliderOptions("#searchBudget",0,2000,50,false);
                            break;
                        case "LO":
                            setSliderOptions("#searchSurface",0,200,10,false);
                            setSliderOptions("#searchBudget",0,3000,50,false);
                            break;
                        default:
                            setSliderOptions("#searchSurface",0,200,10,false);
                            setSliderOptions("#searchBudget",0,1000000,25000,false);
                            break;

                    }

                    break;
                    
            }
        }
    }
})(jQuery);






