var ComboDestinos = function(){};

ComboDestinos.create = function(){
	$('cmbContinente').observe('change', ComboDestinos.cargarCont);
	$('cmbPais').observe('change', ComboDestinos.cargarPais);
	$('cmbCiudad').observe('change', ComboDestinos.cargarCiudad);
	getMarkers();
};

ComboDestinos.cargarCont = function(paisSel){
	var continente = $F('cmbContinente');
	if(continente == 'vacio'){
		 map.setCenter(new GLatLng(11.178401873711785, -7.03125), 2);
	}
    var pars = {tipo:'continente', pais:continente};
	//limpiar todos los combos
	ComboDestinos.limpiarCombos(true, true, true);
	//situar mapa
    var url = '/includes/cambioDestinosMaps.php';
    new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            eval(transport.responseText);
        }
    });
	//cargar el combo de paises
	url = '/includes/cambioDestinos.php';
    new Ajax.Request(url, {
        method: 'get',
        asynchronous: false,
        parameters: pars,
        onComplete: function(transport){ //cambiar a evaluar JSON
            	$('cmbPais').update(transport.responseText);
        		if(paisSel != null && paisSel != '') {
        			$('cmbPais').value = paisSel;
        			ComboDestinos.cargarPais();
        		}
        	}
        	
        });
	ComboDestinos.miga(continente, "", "", "miga");
};

ComboDestinos.cargarPais = function(){
	var pais =$F('cmbPais');
	if(pais == "vacio") {
		ComboDestinos.cargarCont();
		return;
	}
	pais = pais.split("_");
	//cargar combo ciudades
	var url = '/includes/cambioDestinos.php';
    var pars = {tipo:pais[0], pais:pais[1]};
    new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        asynchronous: false,
        onComplete: function(transport){
            $('cmbCiudad').update (transport.responseText);
        }
    });
    
    if(eval($('cmbRegion'))) {
	//cargar combo regiones
    var parsRegiones = {tipo:'region',pais:pais[1]};
    new Ajax.Request(url, {
        method: 'get',
        parameters: parsRegiones,
        onComplete: function(transport){
            $('cmbRegion').update (transport.responseText);
        }
    });
    }
	//situar mapa
	url = '/includes/cambioDestinosMaps.php';
    var myAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            eval(transport.responseText);
        }
    });
	if(pais[0] == "PAISEXCEP") pais[0] = "migaexcep";
	else pais[0] = "miga";
	ComboDestinos.miga($F('cmbContinente'), pais[1], "", pais[0]);
};

ComboDestinos.cargarRegion = function(){
	var region =$F('cmbRegion');
	// Movemos el mapa 
	var url = '/includes/cambioDestinosMaps.php';
	var pars = {tipo:'region',pais:region };
    new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            eval(transport.responseText);
        }
    });	
	// Cargamos ciudades de esa region
	url = '/includes/cambioDestinos.php';
    pars = {tipo:'ciudadesregion', pais:region};
    new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            $('cmbCiudad').update (transport.responseText);
        }
    });
};

ComboDestinos.cargarCiudad = function(){
	if($F('cmbCiudad') == 'vacio'){
		ComboDestinos.cargarPais();
		return;
	}
	var ciudad = $F('cmbCiudad').split("_");
    var url = '/includes/cambioDestinosMaps.php';
    var pars = {tipo:ciudad[0],pais:ciudad[1]};
    var myAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            eval(transport.responseText);
        }
    });
	if(ciudad[0] == "CIUDADEXCEP") ciudad[0] = "migaexcep";
	else ciudad[0] = "miga";
	var pais = $F('cmbPais').split("_");
	ComboDestinos.miga($F('cmbContinente'), pais[1], ciudad[1], ciudad[0]);
};

ComboDestinos.limpiarCombos = function( pais, region, ciudad){
	if(pais)   $('cmbPais').update("<option value=\"vacio\">Elige un pais</option>");
	if(region && eval($('cmbRegion'))) $('cmbRegion').update ("<option value=\"vacio\">Elige una region</option>");
	if(ciudad) $('cmbCiudad').update ("<option value=\"vacio\">Elige una ciudad</option>");
}

ComboDestinos.miga = function(cont, pais, ciudad, tipo){
	if(cont == "vacio") $('textoDestino').update('Elige Destino');
	var url = '/includes/cargaUrlDestino.php';
    var pars = {tipo:tipo, cont:cont, pais:pais, ciudad:ciudad};
    var myAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            $('textoDestino').update(transport.responseText);
        }
    });
}

ComboDestinos.miga2 = function(cont, pais, ciudad, tipo, destino ){
	if(cont == "vacio") $(destino).update('Elige Destino');
	var url = '/includes/cargaUrlDestino.php';
    var pars = {tipo:tipo, cont:cont, pais:pais, ciudad:ciudad};
    var myAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onComplete: function(transport){
            $(destino).update(transport.responseText);
        }
    });
}

ComboDestinos.cargarCombo = function(cont, pais, region, ciudad){
    $('cmbContinente').value = cont;
    var url = '/includes/cambioDestinos.php';
	var pars = {tipo:'continente', pais:cont};
	if(region == "" && ciudad == ""){
		var myAjax = new Ajax.Request(url, {
		    method: 'get',
		    parameters: pars,
		    onComplete: function(transport){
		        $('cmbPais').update(transport.responseText);
				$('cmbPais').value = pais;
				ComboDestinos.cargarPais();
		    }
		});	
	}else {
		new Ajax.Request(url, {
	        method: 'get',
	        parameters: pars,
	        onComplete: function(transport){
	            $('cmbPais').update(transport.responseText);
				$('cmbPais').value = 'PAIS_'+pais;
	            var parsComboCiudad = {tipo:'pais',pais:pais};
	            new Ajax.Request(url, {
	                method: 'get', 
					parameters: parsComboCiudad,
	                onComplete: function(transport){
	                    $('cmbCiudad').update(transport.responseText);				
						$('cmbCiudad').value = 'CIUDAD_'+ciudad;
						if($('cmbCiudad').value == "vacio") $('cmbCiudad').value = 'CIUDADEXCEP_'+ciudad;
						ComboDestinos.cargarCiudad();
	                }
	            });
	        }
	    });		
	}
}
