var idComboDestino;
var idDestinoSeleccionado = -1;

/**
 * Este método se encarga de realizar la petición de objetos JSON a la parte servidora
 * @param url. Url servidora con todos los parámetros necesarios
 */
function peticionJSON(url){
	// Creamos la peticón json. Le ponemos el parámetro callback
	//para que en el retorno se llame su función correspondiente
	bObj = new JSONscriptRequest(url);
	//Construimos el objeto json
	bObj.buildScriptTag();
	//Realizamos la petición a la parte servidora
	bObj.addScriptTag();
}

/*
 * Método q se encarga de crea la url para obtener los objetos JSON de los traslados.
 * El resultado se carga en el método cargarComboDestinosDesdeAeropuerto
 *@param urlServer	. Url a la que se debe realizar la petición de listado
 *@param idTransportista. Identificador del transportista para el q busco los destinos
 *@param ordenadoPor. Nos indica cómo se debe ordenar el resultado de la búsqueda
 *@param buscarPor	. Indica si el resultado lo debemos ordenar por la fecha de compra o de traslado
 */
function buscarDestinosAsignadosTransportistaDesdeAeropuerto(urlServer,
															idTransportista,
															idComboOrigen,
															idComboD){

	urlServidor = urlServer;
	idComboDestino = idComboD;

	peticionJSON(urlServer+"?funcion=trasladosPorTransportistaDesdeAeropuerto&where=&orderBy=&idTransportista="+idTransportista+"&idOrigen="+$(idComboOrigen).value+"&callback=cargarComboDestinosDesdeAeropuerto");
}

/*
 * Método q se encarga de crea la url para obtener los objetos JSON de los traslados.
 * El resultado se carga en el método cargarComboDestinosDesdeAeropuerto
 *@param urlServer	. Url a la que se debe realizar la petición de listado
 *@param idComi	  	. Identificador del comisionista
 *@param ordenadoPor. Nos indica cómo se debe ordenar el resultado de la búsqueda
 *@param buscarPor	. Indica si el resultado lo debemos ordenar por la fecha de compra o de traslado
 */
function buscarDestinosDesdeAeropuerto(urlServer, idComboOrigen, idComboD){

	urlServidor = urlServer;
	idComboDestino = idComboD;

	peticionJSON(urlServer+"?funcion=trasladosDesdeAeropuerto&where=&orderBy=&idOrigen="+$(idComboOrigen).value+"&callback=cargarComboDestinosDesdeAeropuerto");
}

function preseleccionarDestino(destinoSeleccionado){
	idDestinoSeleccionado = destinoSeleccionado;
}

/**
 * Método q se encarga de cargar en el select el objeto json devuelto por el servidor
 * @param jsonData. Array json con los destinos desde el aeropuerto indicado en
 *					en el método buscarDestinosDesdeAeropuerto
 */
function cargarComboDestinosDesdeAeropuerto(jsonData){

	//Me quedo con la capa
  	if (jsonData != null) {
		objs = eval(jsonData);

		$(idComboDestino).options.length = 0;

		//La variable global tradHasta esta definida en los js de traducciones
		var opcion = new Option('',-1);
		$(idComboDestino).options[0] = opcion;
		$(idComboDestino).options[0].selected = true;
		cambiarEtiquetaComboDestino(idComboDestino,'resort');

		//Me quedo con la capa
	  	if (objs != null && objs.length>0){

			for (i = 1, dest=0; dest < objs.length; i++, dest++) {

				var texto = unescape(objs[dest].nombre.replace(/[+]/g,' '));

				var opcion = new Option(texto,objs[dest].id);

				$(idComboDestino).options[i] = opcion;

				if(idDestinoSeleccionado==objs[dest].id){
					$(idComboDestino).options[i].selected = true;
				}
				else{
					$(idComboDestino).options[i].selected = false;
		    	}
		    }
		}
	}
}

/**
 * Método q se encarga de cambiar el texto de la primera opción del combo destino,
 * para mostrar el texto: desde o hasta si el origen es aeropuerto o poblacion
 * @param idComboDestino. Id del combo sobre el que hay q cambiar el texto
 * @param idCheckDesdePoblacion. Id del check q comprueba si el traslado es desde
 								aeropuerto o poblacion
 */
function cambiarEtiquetaComboDestino(idComboDestino,idCheckDesdePoblacion){

	//La variable global tradHasta y tradDesde esta definida en los js de traducciones
	if($(idCheckDesdePoblacion)!=null){
		if($(idCheckDesdePoblacion).checked){
			$(idComboDestino).options[0].text = tradDesde;
		}else{
			$(idComboDestino).options[0].text = tradHasta;
		}
	}
}