/*******************************************
 * Validaciones para todos los formularios
 *********************************************/

/*
	validarCaracteres: devuelve true si contiene SOLO caracteres permitidos para mensajes false en caso contrario
*/
function validarCaracteres( texto )
{		
	var patron = /[^\x20-\x7e\xc0-\xfc]/;
	var resultado = patron.exec( texto )
	if (  resultado )
	{
		alert( 'Caracter no permitido.' );
		return false;
	}	
	return true;
	
}//fin function
/*
	validarCaracteresMasSaltoCarro: devuelve true si contiene SOLO caracteres permitidos para mensajes false en caso contrario
*/
function validarCaracteresMasSaltoCarro( texto )
{			
	//var patron = /[^\n\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e]/;
	var patron = /[^\n\x20-\x7e\xc0-\xfc]/;
	var resultado = patron.exec( texto )
	if (  resultado )
	{
		alert( 'Caracter no permitido.' );
		return false;
	}	
	return true;
	
}//fin function
/*
	validarLongitudTexto, comprueba que la longitud no pase la longitud máxima permitida	
*/
function validarLongitudTexto( texto )
{
	if( texto.length >255 )
	{
		alert( 'Longitud excesiva en el campo');
		return false;
	}
	return true;
}//fin function
/*
 *  validarEtiquetasHTML. 
 */ 
function validarEtiquetasHTML( texto )
{
	var patron = /<.+>/;
	var resultado = patron.exec( texto )
	if (  resultado )
	{
		alert( 'No se permiten etiquetas HTML <xxx>' );
		return false;
	}
	return true;
}
/*
 *validarURLs: valida una URL 	
 */
function validarURL(url) {
	var re=/^http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{2,3}$/;
	if( re.test(url) ) return true;
	alert( 'La URL no es correcta' );
	return false;
} 
/******************
	checkMail: comprueba si es correcto
*********************/
function checkEmail(inputvalue){	
    var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    
    if ( pattern.test(inputvalue) ) return true;
    alert( 'Formato de correo no valido.')
    return false;
}//fin function
/*
 *	validarFormulario 
 */
function validarFormularioUsuario( formulario )
{	
	var enviar = true;
	
	//Validamos title	
	if ( validarCaracteres( formulario.elements[3].value) &&
		 validarLongitudTexto( formulario.elements[3].value) &&
		 validarEtiquetasHTML( formulario.elements[3].value) )
	{
		//Todo correcto
		formulario.elements[3].style.color="black";
	}else{
		//no esta bien, por lo que indicamos en rojo
		formulario.elements[3].style.color="red";
		enviar = false;
	}
	//Validamos description
	if ( validarCaracteres( formulario.elements[4].value) &&
		 validarLongitudTexto( formulario.elements[4].value) &&
		 validarEtiquetasHTML( formulario.elements[4].value) )
	{
		//Todo correcto
		formulario.elements[4].style.color="black";
		
	}else{
		//no esta bien, por lo que indicamos en rojo
		formulario.elements[4].style.color="red";
		enviar = false;
	}
	
	//validamos keywords
	if ( validarCaracteres( formulario.elements[5].value) &&
		 validarLongitudTexto( formulario.elements[5].value) &&
		 validarEtiquetasHTML( formulario.elements[5].value) )
	{
		//Todo correcto
		formulario.elements[5].style.color="black";
		
	}else{
		//no esta bien, por lo que indicamos en rojo
		formulario.elements[5].style.color="red";
		enviar = false;
	}
		//Validamos url
	if ( validarURL( formulario.elements[6].value) )
	{
		//Todo correcto
		formulario.elements[6].style.color="black";
	}else{
		//no esta bien, por lo que indicamos en rojo
		formulario.elements[6].style.color="red";		
		enviar = false;
	}
	
	return enviar;
}
/*
 * Validamos el formulario de contacto
 */
function validarContacto( form )
{		
	var validar = true;
	//Comprobamos el nombre
	if( validarCaracteres( form.nombre.value ) && validarLongitudTexto(form.nombre.value ) )
	{
		form.nombre.style.color = "black";
	}else{	
		form.nombre.style.color = "red";
		validar= false;
	}	
	//la direccion de correo
	if( checkEmail( form.mail.value )  )
	{	
		form.mail.style.color = "black";
	}else{	
		form.mail.style.color = "red";
		validar= false;
	}	
	//El asunto	
	if( validarCaracteres( form.asunto.value ) && validarLongitudTexto(form.asunto.value ) )
	{		
		form.asunto.style.color = "black";
	}else{	
		form.asunto.style.color = "red";
		validar= false;
	}	
	//la consulta
	if( validarCaracteresMasSaltoCarro( form.texto.value ) && validarLongitudTexto(form.texto.value ) && validarEtiquetasHTML(form.texto.value) )
	{		
		form.texto.style.color = "black";
	}else{	
		form.texto.style.color = "red";
		validar= false;
	}	
	return validar;
}//fin function
/*
 * Validamos el formulario de Intercambio
 */
function validarFormIntercambio( form )
{		
	var validar = true;
	//Comprobamos el nombre
	if( validarCaracteres( form.nombre.value ) && validarLongitudTexto(form.nombre.value ) )
	{
		form.nombre.style.color = "black";
	}else{	
		form.nombre.style.color = "red";
		validar= false;
	}	
	//la direccion de correo
	if( checkEmail( form.mail.value )  )
	{	
		form.mail.style.color = "black";
	}else{	
		form.mail.style.color = "red";
		validar= false;
	}	
	//El tipo	
	if( validarCaracteres( form.tipo.value ) && validarLongitudTexto(form.tipo.value ) )
	{		
		form.tipo.style.color = "black";
	}else{	
		form.tipo.style.color = "red";
		validar= false;
	}
	//El Texto enlace	
	if( validarCaracteres( form.textoEnlace.value ) && validarLongitudTexto(form.textoEnlace.value ) )
	{		
		form.textoEnlace.style.color = "black";
	}else{	
		form.textoEnlace.style.color = "red";
		validar= false;
	}
	//El url	
	if( validarURL( form.url.value ) )
	{		
		form.url.style.color = "black";
	}else{	
		form.url.style.color = "red";
		validar= false;
	}	
	//la comentario
	if( validarCaracteresMasSaltoCarro( form.comentario.value ) && validarLongitudTexto(form.comentario.value ) && validarEtiquetasHTML(form.comentario.value) )
	{		
		form.comentario.style.color = "black";
	}else{	
		form.comentario.style.color = "red";
		validar= false;
	}	
	return validar;
}//fin function