jQuery(document).ready(function(){
    $.datepick.setDefaults($.datepick.regional['<?=$_abreviaturaidioma_datepick;?>']);
    $.datepick.setDefaults({showOn: 'both', buttonImageOnly: true, buttonImage: 'scripts/dtpicker/datepicker/calendar.gif'});
    jQuery('#dtp_periodo_desde').datepick({altField: '#periodo_desde', altFormat: 'dd-mm-yy'});
    
    ActualizarRegiones();
    //CambiarMapa("pais", 1);
    $("#duracion_combo").val(-1);
});

function CambiarMapa(_tipo, _id){
	if(_tipo == "pais"){
        _tipo = "mapaspaises";
        _url = "ajax_obtiene_paisimagen.php";
        _url_aux = "xmlmapa.php?idpais="+_id;
    }else{
        _tipo = "mapasregiones";
        _url = "ajax_obtiene_regionimagen.php";
        _url_aux = "xmlmapa.php?idregion="+_id;
    }
    var numRand = Math.floor(Math.random()*9000)
    jQuery('#flashmapa').flash({
        src: 'imagenes/buscadormapa_v2.swf?'+numRand,
        width: 680,
        height: 400,
        wmode: "transparent",
        flashvars: { tipo: _tipo, url: _url_aux}
    });
}

function ActualizarRegiones(){
    CambiarMapa('pais', $("#idpais").val());
    $("#busc_selec_pais").val($("#idpais").val());
    $('#tipo_filtro').val("pais");
    $('#id_key_filtro').val($("#idpais").val());
    
    $("#lblDestino").load('ajax_buscador_obtienedescripcion.php',{idpais:$("#idpais").val()},function(){
        $("#lbldestino_valor").val($("#lblDestino").html());
    });
     
    _combo = $("#idregion");
    LimpiarCombo(_combo);    
    _combo.ajaxAddOption(
        "buscadormapa_comboregiones.php", 
        {idpais:$("#idpais").val(), idiomabuscadormapa:$("#campoidiomabuscador").val()},
        true,
        function(){
            _defecto = _combo.attr("defecto");            
            _combo.selectOptions(_defecto);
            IniciaPoblaciones();
    });
}

function ActualizaPoblaciones(_ganaregion) {
    $("#busc_selec_reg").val($("#idregion").val());
    $("#busc_selec_reg_aux").val($("#idregion").val());
    $('#tipo_filtro').val("reg");
    $('#id_key_filtro').val($("#idregion").val());
    
    $("#lblDestino").load('ajax_buscador_obtienedescripcion.php',{idregion:$("#idregion").val()},function(){
        $("#lbldestino_valor").val($("#lblDestino").html());
    });

    _combo = $("#idpoblacion");
    LimpiarCombo(_combo);    
    _combo.ajaxAddOption(
        "buscadormapa_combopoblaciones.php",
        {idregion:$("#idregion").val()},
        true,
        function(){
            _defecto = _combo.attr("defecto");            
            _combo.selectOptions(_defecto);
            if(!_ganaregion)
                SeleccionaPoblacion();
    });
}

function LimpiarCombo(cbx) {
    cbx.removeOption(0);
    cbx.removeOption(/./);
}

function SeleccionaPoblacion(){
    $("#busc_selec_pob").val($("#idpoblacion").val());
    $('#tipo_filtro').val("pob");
    $('#id_key_filtro').val($("#idpoblacion").val());
    $("#busc_selec_reg").val(-1);
    $("#lblDestino").html($("#busc_selec_pob").val());
    $("#lbldestino_valor").val($("#busc_selec_pob").val());
}

function FlashPoblacionSeleccionada(idpais, idregion, poblacion){
    jQuery('#idpoblacion').attr("defecto", poblacion);
    jQuery('#idpais').selectOptions(idpais);
    jQuery('#idregion').selectOptions(idregion);
    //jQuery('#idpoblacion').selectOptions(poblacion);
    jQuery('#poblacion_aux').selectOptions(poblacion);
    ActualizaPoblaciones(false);
    ArmaZonas(false); 
}

function FlashZonaSeleccionada(_idzona) {
	jQuery('#idpais').selectOptions(jQuery('#idpais').attr("defecto"));
	jQuery('#idregion').selectOptions(jQuery('#idregion').attr("defecto"));
    ArmaZonas(true);
    
    jQuery.ajax({
        async: false,       
        type: "post",
        url: "obtiene_datos_zona.php",
        data: {idzona: _idzona}, 
        dataType:'json',
        success: function(data){
            if (data != '') {
                //Lleno el span con las regiones que integran la zona
                jQuery('#regiones_nombres').text(data.regiones);
                
                //Cargo el combo con todas las poblaciones pertenecientes a esa zona
                _combo = $("#idpoblacion");
                LimpiarCombo(_combo);
                _combo.addOption('-1', $("#txt_msg_existentes").val());
                
                poblaciones = eval(data.poblaciones);
                for (i=0; i<poblaciones.length; i++) {
                    _combo.addOption(poblaciones[i],poblaciones[i]);
                }
                _combo.selectOptions(_combo.attr("defecto"));
                
                $("#busc_selec_reg").val(data.idsregiones);
                $("#busc_selec_reg_aux").val(data.idsregiones);
                $('#tipo_filtro').val("reg");
                $('#id_key_filtro').val(data.idsregiones);
                $("#lbldestino_valor").val(data.nombrezona);
            }
        }        
    });
}
function ArmaZonas(sacar) {
    if(sacar){
        jQuery('.tr_pais').fadeOut();
        jQuery('.tr_region').fadeOut();
        jQuery('.tr_regiones').fadeIn();
        jQuery('#regiones_nombres').text(''); 
    }else{
        jQuery('.tr_pais').fadeIn();
        jQuery('.tr_region').fadeIn();
        jQuery('.tr_regiones').fadeOut();
        jQuery('#regiones_nombres').text('');
    }
}

function VerificaSelecciones() {
    if (jQuery.trim(jQuery('#periodo_desde').val()) != ''){
        $("#duracion_texto").show(); 
        $("#duracion_combo").show();
    }
	var abrirmapa = true;
	if (!jQuery('#viviendadeverano').attr('checked') && !jQuery('#viviendadeinvierno').attr('checked')) 
		abrirmapa = false;
	if (jQuery.trim(jQuery('#periodo_desde').val()) == '')
		abrirmapa = false;
    if (jQuery("#duracion_combo").val() == -1)
        abrirmapa = false;
	if (abrirmapa) {
		$("#contenedor_refinarbusqueda").slideDown();
        window.location.href = "#ancla_cont";
	}
}

function EnviarFiltro(){
    jQuery('#formulario_busc').submit();
}

function IniciaPoblaciones(){
    _combo = $("#idpoblacion");
    LimpiarCombo(_combo);    
    _combo.ajaxAddOption(
        "buscadormapa_combopoblaciones.php",
        {idpais:$("#idpais").val()},
        true,
        function(){
            _defecto = _combo.attr("defecto");            
            _combo.selectOptions(_defecto);
    });
}