//last modified 01-13-2006 for CBS sytem
extArray = new Array(".pdf", ".doc", ".xls", ".jpg");
function LimitAttach(file) {
	var a = file;
	allowSubmit = false;
	if (!a) 
	{
		return;
	}
	while (a.indexOf("\\") != -1)
	{
		a = a.slice(a.indexOf("\\") + 1);
	}
	ext = a.slice(a.indexOf(".")).toLowerCase();
	for (var i = 0; i < extArray.length; i++) 
	{
		if (extArray[i] == ext) 
		{ 
			allowSubmit = true; break; 
		}
	}
	if (allowSubmit)
	{
		return null;
	}
	else
	{
	return("\r\n- Por favor seleccione archivos del tipo:  " 
	+ (extArray.join("  ")) + "\nselecione "
	+ "otro archivo para subir.");
	}
}
function verify(f,mensage_p,mensage_e)
{
	
	var msg;
	var empty = "";
    var errors = "";
        
	for(var i = 0; i < f.length; i++) 
	{
		
		var e = f.elements[i];

		if (((e.type == "text") || (e.type == "textarea") || (e.type == "password") || (e.type == "file")) && (e.required || e.allow || e.compare))
		{
			if ((e.value == null) || (e.value == "") && (e.required || e.compare))
			{
				if (mensage_p[e.id]) empty += mensage_p[e.id] + ".\n";
				else empty += "- Must complete " + e.id + ".\n";
        continue;
			}
			if(e.required == 'VARCHAR' || e.allow == 'VARCHAR' || e.required == 'TEXT')
			{
				var valid = /[A-Za-z]/;
				var text = e.value
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				errors += "- The field " + e.id + " must be a valid character.";
				errors += ".\n";
				} 
			}
			if(e.required == 'INT' || e.allow == 'INT')
			{
				var valid = /(^-?\d\d*$)/;
				var text = e.value
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				errors += "- The field " + e.id + " only accepts numbers e.g: 5554446789";
				errors += ".\n";
				} 
			}
			if(e.required == 'FLOAT' || e.allow == 'FLOAT' || e.required == 'DOUBLE' || e.required == 'DECIMAL')
			{
				var valid = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
				var text = e.value
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				errors += "- The field " + e.id + " must be numeric.";
				errors += ".\n";
				} 
			}
			if(e.required == 'EMAIL' || e.allow == 'EMAIL')
			{
				var valid = /^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([a-zA-Z0-9-]{2,}\.){0,}[a-zA-Z0-9-]{3,}(\.[a-zA-Z]{2,4}){1,2}$/;
				var text = e.value
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				if (mensage_e[e.id]) empty += mensage_e[e.id] + ".\n";		
				else errors += "- The field " + e.id + " must be a valid e-mail.\n";
				} 
			}
			if(e.required == 'PHONE' || e.allow == 'PHONE')
			{
				var valid = /[0-9\(\)\-]/;
				var text = e.value;
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				errors += "- The field " + e.id + " must be a correct phone number.";
				errors += ".\n";
				} 
			}
			if(e.required == 'DATE' || e.allow == 'DATE')
			{
				var valid = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
				var text = e.value;
				var result = text.match(valid);
				if (result == null && text != "") 
				{
				errors += "- The field " + e.id + " must be a valid date (mm/dd/yyyy).";
				errors += ".\n";
				} 
			}
			if(e.required == 'pr' || e.allow == 'pr')
			{
				var valid = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
				var text = e.value;
				var result = text.match(valid);
				if (result == null && text != "") 
				{
					errors += "- The field " + e.id + " must be a number.";
					errors += ".\n";
				} 
				if (e.value < 0.1 || e.value > 50)
				{
					errors += "- The field " + e.id + " must be between 0.1 and 50";
					errors += ".\n";
				} 
			}
			if(e.compare)
			{
				if(e.value != e.compare)
				{
					errors += "- Please verify your password";
					errors += ".\n";
				}
			}
			if(e.allow == 'FILE')
			{
				if (LimitAttach(e.value) != null) 
				{
				errors += LimitAttach(e.value);
				errors += ".\n";
				} 
			}
		}
		
		if(e.id == 'message' && e.value.length < 5){
			empty += "- Please write a message (at least 5 letters)";
			empty += ".\n";
		}
	}
	
	
	if (errors || empty)
	{
		msg = empty + "\r\n" + errors;
		alert(msg);
		return false;
	}
	else
	{
		return true;
	}
	
}