
	function ltrim( str ) {
		var resultStr = "";
		var i = len = 0;
		if (str+"" == "undefined" || str == null)	
			return null;
		str += "";
		if (str.length == 0) 
			resultStr = "";
		else {	
			len = str.length;
			while ((i <= len) && (str.charAt(i) == " "))
				i++;
			resultStr = str.substring(i, len);
		}
		return resultStr;
	}
	function rtrim( str ) {
		var resultStr = "";
		var i = 0;
		if (str+"" == "undefined" || str == null)	
			return null;
		str += "";
		if (str.length == 0) 
			resultStr = "";
		else {
			i = str.length - 1;
			while ((i >= 0) && (str.charAt(i) == " "))
				i--;
			resultStr = str.substring(0, i + 1);
		}
		return resultStr;  	
	}
	function trim( str ) {
		var resultStr = "";
		resultStr = ltrim(str);
		resultStr = rtrim(resultStr);
		return resultStr;
	}

	function isEmailAddr(email)
	{
	  var result = false;
	  var theStr = new String(email);
	  var index = theStr.indexOf("@");
	  if (index > 0)
	  {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	  }
	  return result;
	}
	function validRequired(formField,fieldLabel)
	{
		var result = true;
		if (formField.value == "")
		{
			alert('Escriba un valor válido para el campo: "' + fieldLabel +'".');
			formField.focus();
			result = false;
		}
		
		return result;
	}
	function validRequired_nofoco(formField,fieldLabel)
	{
		var result = true;
		
		if (formField.value == "")
		{
			alert('Escriba un valor válido para el campo: "' + fieldLabel +'".');
			result = false;
		}
		
		return result;
	}
	function allDigits(str)
	{
		return inValidCharSet(str,"0123456789.");
	}
	function inValidCharSet(str,charset)
	{
		var result = true;
	
		// Note: doesn't use regular expressions to avoid early Mac browser bugs	
		for (var i=0;i<str.length;i++)
			if (charset.indexOf(str.substr(i,1))<0)
			{
				result = false;
				break;
			}
		
		return result;
	}
	
	function validEmail(formField,fieldLabel,required)
	{
		var result = true;
		if (!required){
			if(formField.value.length > 0){
				if (required && !validRequired(formField,fieldLabel)){
					result = false;
				}
			}else{
				return result;
			}
		}		
		
		if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
		{
			alert("Escriba un correo electrónico con el formato correcto ej.(suemail@sudominio.com)");
			formField.focus();
			result = false;
		}
	   
	  return result;
	
	}
	
	function validNum(formField,fieldLabel,required)
	{
		var result = true;
	
		if (required && !validRequired(formField,fieldLabel))
			result = false;
	  
		if (result)
		{
			if (!allDigits(formField.value))
			{
				alert('Write a valid value for "' + fieldLabel +'"');
				formField.focus();		
				result = false;
			}
		} 
		
		return result;
	}
	
	
	function validInt(formField,fieldLabel,required)
	{
		var result = true;
	
		if (required && !validRequired(formField,fieldLabel))
			result = false;
	  
		if (result)
		{
			var num = parseInt(formField.value);
			if (isNaN(num))
			{
				alert('Write a valid value for "' + fieldLabel +'".');
				formField.focus();		
				result = false;
			}
		} 
		
		return result;
	}
	function validMenus(list,fieldLabel)
	{
			
			var result = true;
			if (list.selectedIndex == 0)
			{
					alert('Seleccione por lo menos una opción para el campo "' + fieldLabel +'".');
					list.focus();
					result = false;
			}
			return result;
	}
	function validMenus_pass0(list,fieldLabel)
	{
			
			var result = true;
			if (list.selectedIndex == -1)
			{
					alert('Seleccione por lo menos una opción para el campo "' + fieldLabel +'".');
					list.focus();
					result = false;
			}
			return result;
	}
	
function validDate(formField,fieldLabel,required)
{
	var result = true;
	
	if (required){
		if(!validRequired(formField,fieldLabel))
			result = false;
	}
    
 	if (result)
 	{
 		if (formField.value.length > 0){
			var elems = formField.value.split("/");
			result = (elems.length == 3); // should be three components
			if (result)
			{
				elems[0] = trim(elems[0]);
				elems[1] = trim(elems[1]);
				elems[2] = trim(elems[2]);
				
				var day = elems[0];
				var month = elems[1];
				var year = elems[2];
				 
				result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
						 allDigits(elems[1]) && (day > 0) && (day < 32) &&
						 //allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
						 allDigits(elems[2]) && (elems[2].length == 4);
			}
 		}else{
			result = true; 
		}
  		if (!result)
 		{
 			alert('Write a valid date for the field "' + fieldLabel +'".');
			formField.focus();		
		}
	} 
	
	return result;
}
