function customRange(input) { 
    return {
        minDate: (input.id == "datum_do" ? $("#datum_od").datepicker("getDate") : null), 
        maxDate: (input.id == "datum_od" ? $("#datum_do").datepicker("getDate") : null)
    }; 
}

function get_param( name ) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

function get_katalogy() {
    $.getJSON("/ajax/katalog", function(data) {
        var kat, num=0, sel;
        var get = get_param('katalog');
	$("#search_form select[name='katalog']").find('option').remove();
        $.each(data, function(i,item){
            if(!isNaN(get) && get!=0 && i==get) sel = ' selected="selected"'; else sel='';
            $("#search_form select[name='katalog']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
            kat = i;
            num++;
        });
        kat = $("#search_form select[name='katalog']").val();
        $.getJSON("/ajax/zeme/id/"+kat, function(data2){
            $("#search_form select[name='zeme']").html('<option value="0">Výběr země</option>');
            get = get_param('zeme');
            $.each(data2, function(i,item){
                if(!isNaN(get) && get!=0 && i==get) sel = ' selected="selected"'; else sel='';
                $("#search_form select[name='zeme']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
            });
        });
    });
}

function get_zeme() {
    $.getJSON("/ajax/zeme/id/"+$("#search_form select[name='katalog']").val(), function(data2){
        $("#search_form select[name='zeme']").html('<option value="0">Výběr země</option>');
        $.each(data2, function(i,item){
            $("#search_form select[name='zeme']").append('<option value="'+i+'">'+item+'</option>');
        });
    });
}

function get_oblasti() {
    $.getJSON("/ajax/oblast/kat/"+$("#search_form select[name='katalog']").val()+'/zeme/'+$("#search_form select[name='zeme']").val(), function(data){
        $("#search_form select[name='oblast']").html('<option value="0">Výběr oblasti</option>');
        $.each(data, function(i,item){
            $("#search_form select[name='oblast']").append('<option value="'+i+'">'+item+'</option>');
        });
    });
}

function get_mista_for_zeme() {
    $.getJSON("/ajax/mistoz/kat/"+$("#search_form select[name='katalog']").val()+'/zeme/'+$("#search_form select[name='zeme']").val(), function(data){
        $("#search_form select[name='misto']").html('<option value="0">Výběr místa</option>');
        $.each(data, function(i,item){
            $("#search_form select[name='misto']").append('<option value="'+i+'">'+item+'</option>');
        });
    });
}

function get_mista() {
    $.getJSON("/ajax/mistoo/kat/"+$("#search_form select[name='katalog']").val()+'/zeme/'+$("#search_form select[name='zeme']").val()+'/oblast/'+$("#search_form select[name='oblast']").val(), function(data){
        $("#search_form select[name='misto']").html('<option value="0">Výběr místa</option>');
        $.each(data, function(i,item){
            $("#search_form select[name='misto']").append('<option value="'+i+'">'+item+'</option>');
        });
    });
}

$().ready(function(){
    get_katalogy();
    if(!isNaN(get_param('katalog')) && get_param('katalog')!=0) {
        $("#search_form select[name='katalog'] option[val='"+get_param('katalog')+"']").attr('selected', 'selected');
    }
    if(!isNaN(get_param('zeme')) && get_param('zeme')!=0) {
        get_zeme();
        $("#search_form select[name='zeme'] option[val='"+get_param('zeme')+"']").attr('selected', 'selected');
    }
    
    $("#search_form select[name='katalog']").change(function(){ get_zeme() });
    $("#search_form select[name='zeme']").change(function() {
        get_oblasti();
        get_mista_for_zeme();
        
    });
    $("#search_form select[name='oblast']").change(function(){ get_mista(); });
    
    $("#datum_od").datepicker({
        changeMonth: false,
        changeYear: false,
        beforeShow: $.datepicker.customRange,
        showOn: "focus", 
        minDate: "-1d", 
        maxDate: "1y",
        firstDay: 1,
        dateFormat: "d.m.yy"
    }).addClass("embed");
    $("#datum_do").datepicker({
        changeMonth: false,
        changeYear: false,
        beforeShow: $.datepicker.customRange,
        showOn: "focus", 
        minDate: "-1d", 
        maxDate: "1y",
        firstDay: 1,
        dateFormat: "d.m.yy"
    }).addClass("embed");
    
    var sel='';
    var get = get_param('zeme');
    if(!isNaN(get) && get!=0) {
        $.getJSON("/ajax/zeme/id/"+get_param('katalog'), function(data){
            $("#search_form select[name='zeme']").html('<option value="0">Výběr země</option>');
            $.each(data, function(i,item){
                if(i==get_param('zeme')) sel = ' selected="selected"'; else sel='';
                $("#search_form select[name='zeme']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
            });
            $.getJSON("/ajax/oblast/kat/"+get_param('katalog')+'/zeme/'+get_param('zeme'), function(data){
                $("#search_form select[name='oblast']").html('<option value="0">Výběr oblasti</option>');
                $.each(data, function(i,item){
                    if(get_param('oblast')!=0 && i==get_param('oblast')) sel = ' selected="selected"'; else sel='';
                    $("#search_form select[name='oblast']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
                });
            });
            if(get_param('oblast')=='') {
                $.getJSON("/ajax/mistoz/kat/"+get_param('katalog')+'/zeme/'+get_param('zeme'), function(data){
                    $("#search_form select[name='misto']").html('<option value="0">Výběr místa</option>');
                    $.each(data, function(i,item){
                        if(get_param('misto')!=0 && i==get_param('misto')) sel = ' selected="selected"'; else sel='';
                        $("#search_form select[name='misto']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
                    });
                });
            } else {
                $.getJSON("/ajax/mistoo/kat/"+get_param('katalog')+'/zeme/'+get_param('zeme')+'/oblast/'+get_param('oblast'), function(data){
                    $("#search_form select[name='misto']").html('<option value="0">Výběr místa</option>');
                    $.each(data, function(i,item){
                        if(get_param('misto')!=0 && i==get_param('misto')) sel = ' selected="selected"'; else sel='';
                        $("#search_form select[name='misto']").append('<option value="'+i+'"'+sel+'>'+item+'</option>');
                    });
                });
            }
        });
    }
    if(get_param('cena')!='') $("#search_form select[name='cena'] option[value='"+get_param('cena')+"']").attr('selected','selected');
    $('#datum_od').val(get_param('datum_od'));
    $('#datum_do').val(get_param('datum_do'));
});
