

function seleccionarTodo(frm,textSel,textDes) {

	count = frm.poicats.length;

	// miramos si todos activos --> deselecionar
	/*var i = 0;
	var allActive = true;
	while (allActive && (i<count) ){
		if (frm.poicats[i].checked == false) allActive = false;
		i++;
	}*/

	var selected = "false";
	if (frm.inputSel.value == textDes) {
		selected = "";
		frm.inputSel.value = textSel;
	} else frm.inputSel.value = textDes;

	for (i=0; i<count ;i++ ) {
		frm.poicats[i].checked=selected;
		try {
			eval("frm.poicats[" + i + "].checked='"+ selected +"'");
		}
		catch (e){}
	}

} 


// Función para limpiar los campos que no contengan información válida
function limpiarCampos(frm){

	if(frm.lang.value == 'es'){
		validarCampo(frm, 'stn_o', 'Calle', '');
		validarCampo(frm, 'stnum_o', 'Nº', '');
		validarCampo(frm, 'ctn_o', 'Localidad', '');
		validarCampo(frm, 'stn_d', 'Calle', '');
		validarCampo(frm, 'stnum_d', 'Nº', '');
		validarCampo(frm, 'ctn_d', 'Localidad', '');
		validarCampo(frm, 'ctn_1', 'Localidad', '');
		validarCampo(frm, 'ctn_2', 'Localidad', '');
		validarCampo(frm, 'ctn_3', 'Localidad', '');
		validarCampo(frm, 'ctn_4', 'Localidad', '');
	}else if(frm.lang.value == 'ca'){
		validarCampo(frm, 'stn_o', 'Carrer', '');
		validarCampo(frm, 'stnum_o', 'Nº', '');
		validarCampo(frm, 'ctn_o', 'Localitat', '');
		validarCampo(frm, 'stn_d', 'Carrer', '');
		validarCampo(frm, 'stnum_d', 'Nº', '');
		validarCampo(frm, 'ctn_d', 'Localitat', '');
		validarCampo(frm, 'ctn_1', 'Localitat', '');
		validarCampo(frm, 'ctn_2', 'Localitat', '');
		validarCampo(frm, 'ctn_3', 'Localitat', '');
		validarCampo(frm, 'ctn_4', 'Localitat', '');
	}else if(frm.lang.value == 'en'){
		validarCampo(frm, 'stn_o', 'Street', '');
		validarCampo(frm, 'stnum_o', 'Nº', '');
		validarCampo(frm, 'ctn_o', 'City', '');
		validarCampo(frm, 'stn_d', 'Street', '');
		validarCampo(frm, 'stnum_d', 'Nº', '');
		validarCampo(frm, 'ctn_d', 'City', '');
		validarCampo(frm, 'ctn_1', 'City', '');
		validarCampo(frm, 'ctn_2', 'City', '');
		validarCampo(frm, 'ctn_3', 'City', '');
		validarCampo(frm, 'ctn_4', 'City', '');		
	}

}

// Validación de un campo
function validarCampo(frm, nom, valor, nouValor){
	if (frm[nom].value == valor){
		frm[nom].value = nouValor;
	}
}


// Validación del formulario de rutas
function validarFormulario(frm){

	if (frm.ctn_o.value.trim() == 'Localidad'){
		alert('El campo localidad del origen de la ruta es obligatorio.');
		return false;
	}

	if (frm.ctn_d.value.trim() == 'Localidad'){
		alert('El campo localidad del destino es obligatorio.');
		return false;
	}

	if ( (frm.ctryc_1.selectedIndex == 0 && (frm.ctn_1.value.trim() != "Localidad" && frm.ctn_1.value.trim() != "")) ||
		 (frm.ctryc_2.selectedIndex == 0 && (frm.ctn_2.value.trim() != "Localidad" && frm.ctn_2.value.trim() != "")) ||
		 (frm.ctryc_3.selectedIndex == 0 && (frm.ctn_3.value.trim() != "Localidad" && frm.ctn_3.value.trim() != "")) ||
		 (frm.ctryc_4.selectedIndex == 0 && (frm.ctn_4.value.trim() != "Localidad" && frm.ctn_4.value.trim() != "")) ){
		alert('Debe escoger un país.');
		return false;
	}
	return true;
}


// Definición de la función trim()
String.prototype.trim = function() {
	// skip leading and trailing whitespace
	// and return everything in between
	return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");
}




// Hacer una peticion de ruta con window.open()
function pedirRuta2(frm, servlet){
	var urlRuta = servlet + "?cmd=route&mindist=0";

	// El punto de salida de la ruta es una dirección
	if (document.getElementById('origen1').style.visibility == 'visible'){
		if (frm.stn_o.value.trim() != 'Calle' && frm.stn_o.value.trim() != 'Carrer' && frm.stn_o.value.trim() != 'Street'){ urlRuta += "&stn_o=" + frm.stn_o.value.trim(); }
		if (frm.stnum_o.value.trim() != 'Nº'){ urlRuta += "&stnum_o=" + frm.stnum_o.value.trim(); }
		if (frm.ctn_o.value.trim() != 'Localidad' && frm.ctn_o.value.trim() != 'Localitat' && frm.ctn_o.value.trim() != 'City'){ urlRuta += "&ctn_o=" + frm.ctn_o.value.trim(); } else { alert('El campo Localidad es obligatorio.'); return false; }
		if (frm.ctryc_o.selectedIndex != 0){ urlRuta += "&ctryc_o=" + frm.ctryc_o[frm.ctryc_o.selectedIndex].value; }

	// El punto de salida de la ruta es un punto de interés
	} else {
		if (frm.poin_o.value.trim() != 'Nombre del punto de interés'){ urlRuta += "&poin_o=" + frm.poin_o.value.trim(); }
		if (frm.poi_ctn_o.value.trim() != 'Localidad'){ urlRuta += "&ctn_o=" + frm.poi_ctn_o.value.trim(); } else { alert('El campo Localidad es obligatorio.'); return false; }
		if (frm.poicat_o[frm.poicat_o.selectedIndex].value != ""){ urlRuta += "&poicat_o=" + frm.poicat_o[frm.poicat_o.selectedIndex].value.trim(); }
		if (frm.poi_ctryc_o.selectedIndex != 0){ urlRuta += "&ctryc_o=" + frm.poi_ctryc_o[frm.poi_ctryc_o.selectedIndex].value; }
	}


	// El punto de llegada de la ruta es una dirección
	if (document.getElementById('destino1').style.visibility == 'visible'){
		if (frm.stn_d.value.trim() != 'Calle' && frm.stn_d.value.trim() != 'Carrer' && frm.stn_d.value.trim() != 'Street'){ urlRuta += "&stn_d=" + frm.stn_d.value.trim(); }
		if (frm.stnum_d.value.trim() != 'Nº'){ urlRuta += "&stnum_d=" + frm.stnum_d.value.trim(); }
		if (frm.ctn_d.value.trim() != 'Localidad' && frm.ctn_d.value.trim() != 'Localitat' && frm.ctn_d.value.trim() != 'City'){ urlRuta += "&ctn_d=" + frm.ctn_d.value.trim(); } else { alert('El campo Localidad es obligatorio.'); return false; }
		if (frm.ctryc_d.selectedIndex != 0){ urlRuta += "&ctryc_d=" + frm.ctryc_d[frm.ctryc_d.selectedIndex].value; }

	// El punto de llegada de la ruta es un punto de interés
	} else {
		if (frm.poin_d.value.trim() != 'Nombre del punto de interés'){ urlRuta += "&poin_d=" + frm.poin_d.value.trim(); }
		if (frm.poi_ctn_d.value.trim() != 'Localidad'){ urlRuta += "&ctn_d=" + frm.poi_ctn_d.value.trim(); } else { alert('El campo Localidad es obligatorio.'); return false; }
		if (frm.poicat_d[frm.poicat_d.selectedIndex].value != ""){ urlRuta += "&poicat_d=" + frm.poicat_d[frm.poicat_d.selectedIndex].value.trim(); }
		if (frm.poi_ctryc_d.selectedIndex != 0){ urlRuta += "&ctryc_d=" + frm.poi_ctryc_d[frm.poi_ctryc_d.selectedIndex].value; }
	}

	if(frm.lang.value == 'ca' || frm.lang.value == 'es' || frm.lang.value == 'en'){
		urlRuta += "&lang="+frm.lang.value;
	}

	// Validamos los valores de los campos obligatorios de cada una de las paradas
	if (!validarPaisEtapas(frm)){ return false };


	// Añadimos los parámetros referentes a las diferentes paradas
	urlRuta += anadirParadas(frm);

	// Añadimos el parámetro WEIGHT para determinar el tipo de ruta (Time, Distance, Money)
	urlRuta += anadirTipoRuta(frm);

	// Eliminamos los valores que ponemos por defecto
	limpiarCampos(frm);
	//alert(document.location.protocol+"//"+document.location.host+"/clients/Discoverynet/"+urlRuta);
	window.open(document.location.protocol+"//"+document.location.host+"/clients/Discoverynet/"+urlRuta,'','width=800,height=600,scrollbars=yes,resizable=no,toolbar=no,location=no,directories=no,titlebar=yes,status=no,menubar=no');
	return false;
}




// Validamos los valores de los campos obligatorios de cada una de las paradas
function validarPaisEtapas(frm){
	if ( (frm.ctryc_1.selectedIndex == 0 && ((frm.ctn_1.value.trim() != "Localidad" && frm.ctn_1.value.trim() != "Localitat" && frm.ctn_1.value.trim() != "City") && frm.ctn_1.value.trim() != "")) ||
		 (frm.ctryc_2.selectedIndex == 0 && ((frm.ctn_2.value.trim() != "Localidad" && frm.ctn_2.value.trim() != "Localitat" && frm.ctn_2.value.trim() != "City") && frm.ctn_2.value.trim() != "")) ||
		 (frm.ctryc_3.selectedIndex == 0 && ((frm.ctn_3.value.trim() != "Localidad" && frm.ctn_3.value.trim() != "Localitat" && frm.ctn_3.value.trim() != "City") && frm.ctn_3.value.trim() != "")) ||
		 (frm.ctryc_4.selectedIndex == 0 && ((frm.ctn_4.value.trim() != "Localidad" && frm.ctn_4.value.trim() != "Localitat" && frm.ctn_4.value.trim() != "City") && frm.ctn_4.value.trim() != "")) ){
		alert('Debe escoger un país.');
		return false;
	}
	return true;
}

function anadirParadas(frm){
	var retorno = "";

	if (frm.ctn_1.value.trim() != 'Localidad' && frm.ctn_1.value.trim() != 'Localitat' && frm.ctn_1.value.trim() != 'City' && frm.ctn_1.value.trim() != ''){ 
		retorno += "&ctn_1=" + frm.ctn_1.value.trim(); 
		retorno += "&ctryc_1=" + frm.ctryc_1[frm.ctryc_1.selectedIndex].value;
	}
	if (frm.ctn_2.value.trim() != 'Localidad' && frm.ctn_2.value.trim() != 'Localitat' && frm.ctn_2.value.trim() != 'City' && frm.ctn_2.value.trim() != ''){ 
		retorno += "&ctn_2=" + frm.ctn_2.value.trim(); 
		retorno += "&ctryc_2=" + frm.ctryc_2[frm.ctryc_2.selectedIndex].value;
	}
	if (frm.ctn_3.value.trim() != 'Localidad' && frm.ctn_3.value.trim() != 'Localitat' && frm.ctn_3.value.trim() != 'City' && frm.ctn_3.value.trim() != ''){ 
		retorno += "&ctn_3=" + frm.ctn_3.value.trim(); 
		retorno += "&ctryc_3=" + frm.ctryc_3[frm.ctryc_3.selectedIndex].value;
	}
	if (frm.ctn_4.value.trim() != 'Localidad' && frm.ctn_4.value.trim() != 'Localitat' && frm.ctn_4.value.trim() != 'City' && frm.ctn_4.value.trim() != ''){ 
		retorno += "&ctn_4=" + frm.ctn_4.value.trim(); 
		retorno += "&ctryc_4=" + frm.ctryc_4[frm.ctryc_4.selectedIndex].value;
	}

	return retorno;
}


// Añadimos el parámetro WEIGHT para determinar el tipo de ruta (Time, Distance, Money)
function anadirTipoRuta(frm){
	var retorno = "";

	if (frm.weight[0].checked) { retorno += "&weight=time"; }
	if (frm.weight[1].checked) { retorno += "&weight=distance"; }
	//if (frm.weight[2].checked) { retorno += "&weight=money"; }

	return retorno;
}


// Función para mostrar/ocultar los mapas de cada etapa en la ruta detallada
function minimapa(capa, src, stringmostrar, stringamagar){
	if(document.getElementById(capa).innerHTML.indexOf("<img") < 0 && document.getElementById(capa).innerHTML.indexOf("<IMG") < 0){
		var codiHtml = "<IMG src='" + src + "' style='margin: 4px'/>";

		document.getElementById(capa).innerHTML = codiHtml;
		document.getElementById("link" + capa.substring(4)).innerHTML = "<IMG src=\"img/rutas/mapa_detall.gif\" border=\"0\"/>&#160;<A href=\"javascript:minimapa('" + capa + "', '" + src + "', '" + stringmostrar + "', '" + stringamagar + "')\" class=\"reportTextBlueClar\">" + stringamagar + "</A>";
	} else {
		var codiHtml = " ";

		document.getElementById(capa).innerHTML = codiHtml;
		document.getElementById("link" + capa.substring(4)).innerHTML = "<IMG src=\"img/rutas/mapa_detall.gif\" border=\"0\"/>&#160;<A href=\"javascript:minimapa('" + capa + "', '" + src + "', '" + stringmostrar + "', '" + stringamagar + "')\" class=\"reportTextBlueClar\">" + stringmostrar + "</A>";
	}
}


// pone a invisible el tooltip
function ocultarInfoTooltip() {
	try {// por si no esta activo
		document.getElementById("infoTooltip").style.visibility="hidden";//caja
	} catch (e)	{}
	try {
		document.getElementById("spotTooltip").style.visibility="hidden";//xinxeta
	} catch (e)	{}
}