/**
 * Global Function to Prototypes
 *
 * This section add new features to diferent objects.  As Netscape, Microsoft Internet
 * Explorer and other browser work diferent, the form to add prototypes is diferent.
 */
 
 /**
  * Left Trim, Right Trim and Trim functions:
  *
  * This function work equal as to other languages.  This, delete the
  * blank spaces to left, right and complete string.
  */ 

function leftTrim()
{
	var xlefttrimregexp = /\s*((\S+\s*)*)/;
	var xstring         = new String(this);
	
	return xstring.replace(xlefttrimregexp, "$1");
}

function rightTrim()
{
	var xrighttrimregexp = /((\s*\S+)*)\s*/;
	var xstring          = new String(this);
	
	return xstring.replace(xrighttrimregexp, "$1");
}

function trim() 
{
	xstring = new String(this);
	return xstring.leftTrim().rightTrim();
}

String.prototype.leftTrim  = leftTrim;
String.prototype.rightTrim = rightTrim;
String.prototype.trim      = trim;

/* Validacion  del formulario */

function validate_required(field,alerttxt)
{
	with (field) {
		if ((value == null) || (value.trim()== "")) {
			alert(alerttxt);
			return false;
		}
		else {
			return true;
		}
	}
}

function validate_adquisition_form(thisform)
{

	with (thisform) {		
				
		normal_classname = "control-contact";
		required_classname = "control-contact-req";
		
		name.className = normal_classname;
		secondname.className = normal_classname;
		areaphone.className = normal_classname;
		phone.className = normal_classname;
		ok_email.className = normal_classname;
		email.className = normal_classname;
				
		if (validate_required(name, "El nombre es un campo obligatorio.")==false) {
			name.className = required_classname;
			name.focus();
			return false;
		}
		if (validate_required(secondname, "El apellido es un campo obligatorio.")==false) {
			secondname.className = required_classname;
			secondname.focus();
			return false;
		}

		if (validate_required(areaphone, "El Codigo de area es un campo obligatorio.")==false) {
			areaphone.className = required_classname;
			areaphone.focus();
			return false;
		}

		if (validate_required(phone, "El telefono es un campo obligatorio.")==false) {
			phone.className = required_classname;
			phone.focus();
			return false;
		}
		
		if (validate_required(email, "El email es un campo obligatorio")==false) {
			email.className = required_classname;
			email.focus();
			return false;
		} else {
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (!filter.test(email.value)) {
				alert("La direccion de email es invalida. (Ejemplo: algo@algo.com)");
				email.className = required_classname;
				email.focus();
				return false;
			}
		}

		if (validate_required(ok_email, "Tienes que confirmar tu direccion de email")==false) {
			ok_email.className = required_classname;
			ok_email.focus();
			return false;
		} else {
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (!filter.test(ok_email.value)) {
				alert("La direccion de email es invalida. (Ejemplo: algo@algo.com)");
				ok_email.className = required_classname;
				ok_email.focus();
				return false;
			}
		}
		if (ok_email.value!=email.value) {
			alert("Las direcciones de email con coinciden.");
			return false;
		}

	}
}

function validate_faq_form(thisform)
{
	with (thisform) {		
				
		normal_classname = "control-contact";
		required_classname = "control-contact-req";
		
		name.className = normal_classname;
		question.className = normal_classname;
		email.className = normal_classname;
				
		if (validate_required(name, "El nombre es un campo obligatorio.")==false) {
			name.className = required_classname;
			name.focus();
			return false;
		}
				
		if (validate_required(email, "El correo electronico es un campo obligatorio")==false) {
			email.className = required_classname;
			email.focus();
			return false;
		} else {
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (!filter.test(email.value)) {
				alert("La direccion de email es invalida. (Ejemplo: algo@algo.com)");
				email.className = required_classname;
				email.focus();
				return false;
			}
		}
		
		if (validate_required(question, "Debe ingresar una pregunta.")==false) {
			question.className = required_classname;
			question.focus();
			return false;
		}
			
		return true;
	}
}

function validate_recommend_form(thisform)
{
	with (thisform) {		
				
		normal_classname = "control-contact";
		required_classname = "control-contact-req";
		
		name.className = normal_classname;
		to.className = normal_classname;
		email.className = normal_classname;
		comments.className = normal_classname;	
			
		if (validate_required(name, "El nombre es un campo obligatorio.")==false) {
			name.className = required_classname;
			name.focus();
			return false;
		}
		
		if (validate_required(email, "El correo electronico es un campo obligatorio")==false) {
			email.className = required_classname;
			email.focus();
			return false;
		} else {
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
			if (!filter.test(email.value)) {
				alert("La direccion de email es invalida. (Ejemplo: algo@algo.com)");
				email.className = required_classname;
				email.focus();
				return false;
			}
		}
		
		if (validate_required(to, "El correo electronico de tu(s) amigo(s), es un campo obligatorio")==false) {
			to.className = required_classname;
			to.focus();
			return false;
		} else {
			var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			/*^(([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+(\s)*)((\s)*,(\s)*(([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+))*$/;*/

			if (!filter.test(to.value)) {
				alert("Una o mas de las direcciones de correo proporcionadas es invalida. (Ejemplo: algo@algo.com)");
				to.className = required_classname;
				to.focus();
				return false;
			}
		}
		
		if (validate_required(comments, "El comentario es un campo obligatorio.")==false) {
			comments.className = required_classname;
			comments.focus();
			return false;
		}
			
		return true;
	}
}