////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
function trim(s) { 	
	var temp = ""; 	
	var left; 	
	var right;  	
	
	// trim a la izquierda	 	
	for(left = 0; left < s.length; left++) { 		
		var c = s.charAt(left); 
		if( (c != ' ') && (c != '\t') ) break; 	
	} 	
	
	// trim a la derecha	 	
	for(right = s.length-1; right >= 0; right--) { 		
		var c = s.charAt(right); 		
		if( (c != ' ') && (c != '\t') ) break; 	
	} 	 	
		
	temp = s.slice(left, right+1); 	return temp; 
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////

function validateEmail(addr,man,db) {
if (addr == '' && man) {
   if (db) alert('email address is mandatory');
   return false;
}
var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
for (i=0; i<invalidChars.length; i++) {
   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
      if (db) alert('La dirección de email contiene caracteres inválidos');
      return false;
   }
}
for (i=0; i<addr.length; i++) {
   if (addr.charCodeAt(i)>127) {
      if (db) alert("La dirección de email contiene caracteres No-ASCII.");
      return false;
   }
}

var atPos = addr.indexOf('@',0);
if (atPos == -1) {
   if (db) alert('La dirección de email debe contener una @');
   return false;
}
if (atPos == 0) {
   if (db) alert('La dirección de email no debe empezar con @');
   return false;
}
if (addr.indexOf('@', atPos + 1) > - 1) {
   if (db) alert('La dirección de email solo debe contener una @');
   return false;
}
if (addr.indexOf('.', atPos) == -1) {
   if (db) alert('La dirección de email debe contener un punto en el nombre de dominio.');
   return false;
}
if (addr.indexOf('@.',0) != -1) {
   if (db) alert('Un punto no debe ir inmediatamente después de una @ en la dirección de email');
   return false;
}
if (addr.indexOf('.@',0) != -1){
   if (db) alert('Un punto no debe ir inmediatamente antes de una @ en la dirección de email');
   return false;
}
if (addr.indexOf('..',0) != -1) {
   if (db) alert('No deben existir dos puntos adyacentes en la dirección de correo');
   return false;
}
var suffix = addr.substring(addr.lastIndexOf('.')+1);
if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
   if (db) alert('Dominio inválido en la dirección de email');
   return false;
}
return true;
}

/////////////////////////////////////////////
////////////////////////////////////////////

function validarContacto()
{
	var cadenaError = "";
	
	document.contacto.nombre.value = trim(document.contacto.nombre.value);
	if(document.contacto.nombre.value=="")
	{
		cadenaError = "Por favor indica tu NOMBRE.\n";
	}
	
	document.contacto.email.value = trim(document.contacto.email.value);
	if(document.contacto.email.value=="")
	{
		cadenaError += "Por favor especifica cuál es tu EMAIL, pues es la única forma que tenemos para contactarte.\n";
	}

	document.contacto.comentarios.value = trim(document.contacto.comentarios.value);
	if(document.contacto.comentarios.value=="")
	{
		cadenaError += "Por favor especifica cuáles son tus COMENTARIOS.\n";
	}


    if(cadenaError != "" ) 
	{
		alert(cadenaError);
		return false;
	}

	return validateEmail(document.contacto.email.value,1,1);
}


/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////

