function noesvacio3(input_enviado, nombre, texto)
{
	if ((input_enviado.value=="")  || (input_enviado.value=="0"))
	{  // alert(input+' --'+nombre+' --'+texto);
		alert("{el_campo} " + nombre + " {contener_valor}");
		//input.value=0;
		input_enviado.focus();
		return(false);
	}
	return(true);
}



function radio_seleccionado(radio, nombre){
	//retorna true si hay algun elemento seleccionado
	//radio=;
	cont=0;
	for (i=0;i<radio.length;++i){
		if (radio[i].checked){
		cont++;
		}
	}
	if (cont==0){
		alert("{el_campo} " + nombre + " {contener_valor}");
		return false;		
	}else{
		return true;
	}
}	

function combo_seleccionado(combo, nombre, texto){
	//combo_seleccionado(document.form_link.id_categoria,"CategorÃƒÂ­a", "Seleccione..")
	//Retorna true si el texto del elemento seleccionado es DISTINTO del pasado como parametro
	if (combo.options[combo.options.selectedIndex].text==texto)
	{
		alert("{el_campo} " + nombre + " {contener_valor}");
		combo.focus();
		return(false);
	}
	return(true);
 }
 
 function combo_seleccionado_num(combo, nombre, indice){
	//combo_seleccionado_num(document.form_link.id_categoria,"CategorÃƒÂ­a", "0")
	//Retorna true si el texto del elemento seleccionado es DISTINTO del pasado como parametro
	if (combo.options.selectedIndex==indice){
		alert("{el_campo} " + nombre + " {contener_valor}");
		combo.focus();
		return(false);
	}
	return(true);
 }
 
 function combo_seleccionado_num_ret(combo, nombre, indice){
	//Retorna verdadero si el combo estÃƒÂ¡ en el ÃƒÂ­ndice indicado
	//Retorna true si el texto del elemento seleccionado es DISTINTO del pasado como parametro
	if (combo.options.selectedIndex==indice){
		return(true);
	}
	return(false);
 }
 
 function checkeado(checkbox, nombre, texto){
	 if (!checkbox.checked){
		 if (texto==""){
		 	alert("{el_campo} " + nombre + " {estar_marcado}");
		}else{
			alert(texto);
		}
		return(false);	
	}else{
		return true;
	}
 }
 

function colocar_seleccionado(combo, valor){
	//if (valor!=""){
		cantidad_options=combo.options.length;
		for(i = 0; i < cantidad_options; i++){
			if (combo.options[i].value==valor)
			{
				combo.options[i].selected=true;
			}
		}
	//}
}


 function validar_busqueda_inmuebles(inicio_paginacion,tipo_busqueda,clase_inmueble){
	//tipo_busqueda 0-> por parametros 
	//tipo_busqueda 1-> por referencia inmueble
	
	if(tipo_busqueda=="0"){
	//Por parametros
		//validar_busqueda_inmuebles
		if(clase_inmueble=="1"){
			//Busqueda de inmuebles
			document.form_barcos.reset();
			if (noesvacio(document.form_inmuebles.fecha_ini, "{txt_llegada}") && noesvacio(document.form_inmuebles.fecha_fin, "{txt_salida}")){
				f_inicio = new Date(document.form_inmuebles.fecha_ini.value.substring(6,10),document.form_inmuebles.fecha_ini.value.substring(3,5)-1,document.form_inmuebles.fecha_ini.value.substring(0,2));
	
				f_fin = new Date(document.form_inmuebles.fecha_fin.value.substring(6,10),document.form_inmuebles.fecha_fin.value.substring(3,5)-1,document.form_inmuebles.fecha_fin.value.substring(0,2));
				
				if(!(f_inicio<f_fin)){
					alert("{fechas_correctas}");
					return(false);
				}
				
				var one_day=1000*60*60*24;
				if(Math.ceil((f_fin.getTime()-f_inicio.getTime())/(one_day))<2){
					alert("{minimo_2_dias}");
					return(false);
				}else{
					//if(combo_seleccionado_num(document.form_inmuebles.capacidad_INT, "Personas", 0)){
						document.form_inmuebles.submit();//Formulario del index			
					//}	
				}
			}
		}else{
			//Busqueda de barcos
			document.form_inmuebles.reset();
			if (noesvacio(document.form_barcos.fecha_ini, "{txt_llegada}") && noesvacio(document.form_barcos.fecha_fin, "{txt_salida}") ){
				f_inicio = new Date(document.form_barcos.fecha_ini.value.substring(6,10),document.form_barcos.fecha_ini.value.substring(3,5)-1,document.form_barcos.fecha_ini.value.substring(0,2));
	
				f_fin = new Date(document.form_barcos.fecha_fin.value.substring(6,10),document.form_barcos.fecha_fin.value.substring(3,5)-1,document.form_barcos.fecha_fin.value.substring(0,2));
				if(!(f_inicio<f_fin)){
					alert("{fechas_correctas}");
					return(false);
				}
				//if(combo_seleccionado_num(document.form_barcos.capacidad_INT, "Personas", 0)){
					document.form_barcos.submit();//Formulario del index	
				//}
			}
		}
	}else{
	//Por referencia	
		if(clase_inmueble=="1"){
			//Busqueda de inmuebles
			document.form_barcos.reset();
			if (noesvacio(document.form_inmuebles.txt_referencia, "{referencia}")){
				//document.form_inmuebles.action="ficha.php";
				document.form_inmuebles.submit();
			}else{
				return false;
			}
		}else{
			//Busqueda de barcos
			document.form_inmuebles.reset();
			if (noesvacio(document.form_barcos.txt_referencia, "{referencia}")){
				//document.form_barcos.action="ficha.php";
				document.form_barcos.submit();
			}else{
				return false;
			}
		}
	}
}

function existe_en_formulario(objeto){
	return (!!objeto && typeof (objeto)=="object");
}

/*
function busqueda_columna()
{
	if ((combo_seleccionado(document.formu_columna.cbo_tipoinmueble,"Tipo Inmueble", "Seleccione.."))&&(combo_seleccionado(document.formu_columna.cbo_tipoinmueble,"Tipo Inmueble", "Select.."))){
		document.formu_columna.hid_operacion.value="B";//Buscar
		var tipo = document.formu_columna.TIPO.value; //alquiler, alojamiento o mediacion
		switch(tipo)
		{
			case "AL": document.formu_columna.action = "alquiler_all.php"; break;
			case "AJ": document.formu_columna.action = "aloja_resul.php"; break;
			case "CO": document.formu_columna.action = "mediacion_resul.php"; break;
			case "AA": document.formu_columna.action = "alquiler_all.php"; break;
		}
		document.formu_columna.submit();
	 }else{
		return false;	 	
	 }
}
*/

function email_valido(input,nombre){

if(input.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)
	{
		alert("{el_campo} " + nombre + " {email_valido}");
		//input.value=0;
		input.focus();
		return(false);
  	}
 		return(true);
}


function CreateBookmarkLink(url, title) {
	///title = "Webpage Title"; 
	// Blogger - Replace with <$BlogItemTitle$>   
	// MovableType - Replace with <$MTEntryTitle$> 
	///url = "Webpage URL";
	// Blogger - Replace with <$BlogItemPermalinkURL$>   
	// MovableType - Replace with <$MTEntryPermalink$>  
	// WordPress - <?php bloginfo("url"); ?>
	if (window.sidebar) { // Mozilla Firefox Bookmark		
		window.sidebar.addPanel(title, url,"");	
	} else if( window.external ) { // IE Favorite		
		window.external.AddFavorite( url, title); 
	} else if(window.opera && window.print) { // Opera Hotlist		
		return true; 
	}
}
	
	/*
	if (window.external) {
	document.write("<a href = "javascript:CreateBookmarkLink()");">Add to Favorites</a>"); 
	} else  if (window.sidebar) {  
	document.write("<a href = "javascript:CreateBookmarkLink()");">Bookmark Page</a>");  
	} else if (window.opera && window.print) {	   
	document.write("<a href =     "javascript:CreateBookmarkLink()");">Add Bookmark</a>"); 
	} 
	*/
	
function verifica_mas_info(url){
	if(noesvacio(document.formu.txt_nombre, "{nombre}") && noesvacio(document.formu.txt_telefono, "{telefono}")  && noesvacio(document.formu.txt_comentarios, "{comentarios}")) {
		if(document.formu.txt_mail.value!=""){
			if(email_valido(document.formu.txt_mail, "{mail}")){
				document.formu.submit();
			}else{
				return(false);
			}
		}	
		document.formu.submit();
    }
}

function verifica_contacto(){
	if(noesvacio(document.formu.txt_nombre, "Nombre") && noesvacio(document.formu.txt_appellido1, "1er apellido") && email_valido(document.formu.txt_email, "E-mail")  &&  noesvacio(document.formu.txt_comentario, "Comentario") && checkeado(document.formu.check_aviso, "", "Debe confirmar que acepta las normas de protecciÃƒÂ³n de datos y las condiciones del aviso legal.")) {
		document.formu.submit();
    }
}

function verifica_banner(){
	if(noesvacio(document.formu.txt_nombre, "{nombre}") &&  noesvacio(document.formu.txt_telefono, "Tel. Fijo") &&  noesvacio(document.formu.txt_poblacion, "PoblaciÃƒÂ³n") &&  noesvacio(document.formu.txt_barrio, "Barrio") && checkeado(document.formu.check_aviso, "", "Debe confirmar que acepta las normas de protecciÃƒÂ³n de datos y las condiciones del aviso legal.")) {
		if (document.formu.txt_email.value!="")		{
			if (email_valido(document.formu.txt_email, "E-mail")){
				document.formu.submit();	
			}
		}else{
			document.formu.submit();	
		}
	}
}


function verifica_login(){
	if (noesvacio(document.formu_login.txt_email, "{correo_electronico}") && email_valido(document.formu_login.txt_email,"{correo_electronico}") && noesvacio(document.formu_login.txt_contrasena, "{contrasenya}")){
		document.formu_login.submit();
	}
}

function verifica_recuperacion_contrasena(){
	//Verifica que se introduzca el email para solicitar el codigo de comprobacion
	if (noesvacio(document.formu.txt_email, "{correo_electronico}") && email_valido(document.formu.txt_email,"{correo_electronico}") ){
		document.formu.submit();
	}
}


function verifica_reestablecimiento_contrasena(){
	//Verifica todos los campos necesarios para reestablecer la contraseÃƒÂ±a
	if (noesvacio(document.formu2.txt_email, "{correo_electronico}") && email_valido(document.formu2.txt_email,"{correo_electronico}")  && noesvacio(document.formu2.txt_codigo, "{codigo_comprobacion}") && noesvacio(document.formu2.txt_contrasena, "{nueva_contrasenya}")) {
		
		if(document.formu2.txt_contrasena.value.length>=6){
			if(document.formu2.txt_contrasena.value != document.formu2.txt_repita_contrasena.value){
				alert("{campos_contrasenya_iguales}" );
				return("false");
			}
			
			document.formu2.submit();
		}else{
			alert("{contrasenya_caracteres}" );
			document.formu2.txt_contrasena.focus();
			return("false");	
		}
	}
}
function verifica_registro(){
	if (noesvacio(document.formu_nuevo.txt_email, "{correo_electronico}") && email_valido(document.formu_nuevo.txt_email,"{correo_electronico}") && noesvacio(document.formu_nuevo.txt_contrasena, "{contrasenya}")){
		
		if(document.formu_nuevo.txt_contrasena.value.length>=6)  {
			if (document.formu_nuevo.txt_contrasena.value!=document.formu_nuevo.txt_repita_contrasena.value){
				alert("{campos_contrasenya_iguales}");
				document.formu_nuevo.txt_repita_contrasena.focus();
				return(false);
			}else{
				if (noesvacio(document.formu_nuevo.txt_nif_pasaporte, "{nif_pasaporte}") && noesvacio(document.formu_nuevo.txt_nombre, "{nombre}") && noesvacio(document.formu_nuevo.txt_apellido1, "{apellidos}")){
					if (document.formu_nuevo.txt_telefono.value=="" && document.formu_nuevo.txt_movil.value==""){
						alert("{proporcione_telefono}");
						document.formu_nuevo.txt_movil.focus();
						return(false);
					}else{
						if(combo_seleccionado_num(document.formu_nuevo.cbo_pais,"{pais}", "0")){
							if(document.formu_nuevo.cbo_pais.value==73){
								//Si es EspaÃƒÂ±a que complete los otros campos
								if (combo_seleccionado_num_ret(document.formu_nuevo.cbo_provincia,"{provincia}", 0) || combo_seleccionado_num_ret(document.formu_nuevo.cbo_poblacion,"{poblacion}", 0)){
									alert("{proporcione_prov} ");
									document.formu_nuevo.cbo_provincia.focus();
									return(false);
								}
							}else{
								if(document.formu_nuevo.txt_otra.value==""){
									alert("{proporcione_prov_fuera_espaÃƒÂ±a} ");
									document.formu_nuevo.txt_otra.focus();
									return(false);
								}
							}
							if(noesvacio(document.formu_nuevo.txt_cp, "{codigo_postal}")  && combo_seleccionado_num(document.formu_nuevo.cbo_tipo_via,"{tipo_via}", "0") && noesvacio(document.formu_nuevo.txt_calle, "{calle}") && noesvacio(document.formu_nuevo.txt_numero, "{numero}")){
								
								switch(document.formu_nuevo.cbo_dni.value){
									case "0":
										//NIF
										if(!checkNIF(document.formu_nuevo.txt_nif_pasaporte.value)){
											alert("{doc_identidad_valido}");
											return(false);
										}
										break;
									case "1":
										//CIF
										if(!checkCIF(document.formu_nuevo.txt_nif_pasaporte.value)){
											alert("{doc_identidad_valido}");
											return(false);
										}
										break;	
									
									//Faltan validaciones para el resto
								}		
								
								if (noesvacio(document.formu_nuevo.txt_ocr, "{caracteres_imagen}")){
									document.formu_nuevo.submit();		
								}else{
									return(false);
								}
							}
						}
					}
				}
		}
		}else{
			alert("{contrasenya_caracteres}");
			document.formu_nuevo.txt_contrasena.focus();
			return(false);	
		}
	}
}

function verifica_comprobacion_reserva(){
	//Debe comprobar que ha leido las condiciones
	
	if(combo_seleccionado_num(document.formu_confirmacion.cbo_hora_llegada, "{hora_llegada}", 0)){
		if(document.formu_confirmacion.ch_acepto_reserva.checked){
			document.formu_confirmacion.submit();
			return (true);	
		}else{
			alert("{confirmar_reserva}");
			return(false);
		}	
	}else{
		return(false);
	}
}

/**Funciones para validacion de DNI*/
function checkCIF(cf){
	
	var i = temp = 0;
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	cf = cf.toUpperCase();
	if (checkNIF(cf)) return true;
	else if (!/^[A-Za-z0-9]{9}$/.test(cf)) return false
	else if (!/^[ABCDEFGHKLMNPQS]/.test(cf)) return false
	else
		{
		for(i=2; i<=6; i+=2)
			{
			temp += v1[parseInt(cf.substr(i-1, 1))];
			temp += parseInt(cf.substr(i, 1));
			}
		temp = temp + v1[parseInt(cf.substr(7,1))];
		temp = (10 - ( temp % 10));
		if(temp == 10 && (cf.charAt(cf.length-1) == "J" || cf.charAt(cf.length-1) == 0)) return true;
		else if (cf.charAt(cf.length-1) == temp || cf.charAt(cf.length-1) == String.fromCharCode(64 + temp)) return true;
		else return false;
		}
	}

function checkNIF(nif) {
	
	if (!nif) return false;
	var letras = "TRWAGMYFPDXBNJZSQVHLCKE";
	if (nif.length != 9) return false;
	else {
		letra = nif.substr(8, 1); letra = letra.toUpperCase();
		dni = nif.substr(0, 8);
		dni = dni.toUpperCase(); dni = dni.replace("X","0");
		dni -= parseInt(dni/23) * 23;
		//alert (letras.charAt(dni) + " - " + letra);
		if (letras.charAt(dni) != letra) return false; 
		else return true;
		}
	}

function checkNSS(nss) {
	if (!nss) return false;
	if (nss.length != 11 && nss.length != 12) return false;
	if (nss.substr(2, 1) == 0) nss = "" + nss.substr(0, 2) + nss.substr(3, nss.length-1);
	if (mod(nss.substr(0, nss.length-2), 97) == nss.substr(nss.length-2, 2)) return true;
	else return false;
	}
	
function longitud_textarea(campo, nombreCampo, longitud){
	if(eval("campo"+".value.length")>longitud){
		
		alert("{el_campo} "+nombreCampo+" {no_poseer} "+longitud+" {caracteres}");
		campo.value=campo.value.substring(0,longitud);
		campo.focus();
		return(false);
	}
}

//A partir de aca funciones para /admin, gestion de propietarios

function validar_login(){
	if (noesvacio(document.formu_login.txt_email, "{correo_electronico}") && email_valido(document.formu_login.txt_email,"{correo_electronico}") && noesvacio(document.formu_login.txt_contrasena, "{contrasenya}")){
		document.formu_login.submit();
	}
}




