var returnedVariable = true;		

function validate(frm)
{
	var msg = "";
	for(i=0;i<formArray.length;i++)
	{
		if(formArray[i].length>=4)
			var val1=eval("frm."+formArray[i][3]+".value");
		if(formArray[i].length>=5)
			var val2=eval("frm."+formArray[i][4]+".value");	
		var val=eval("frm."+formArray[i][2]+".value");

		eval(""+formArray[i][0]+";");
		
		if(!returnedVariable)
			msg = msg + formArray[i][1]+"\n";
		
		returnedVariable = true;		
	}
	if(msg=="")
		return true;
	if(typeof msgHeaderLang == "undefined")
		alert("The form can not be submitted because it is not properly filled.\n"+msg);
	else
		alert("La forma no se puede someter porque no es llenado apropiadamente.\n"+msg);
	return false;
}

function isNotEmpty(val) 
{
	if (trim(val) == "")
	{	
		returnedVariable = false;
		return false;
	}
	return true;
}

function isValidImage(val) 
{
	var image_ext;
	if(trim(val)!='')
	{
		if(val.lastIndexOf('.')==-1)
			return false
		
		image_ext=val.substring(val.lastIndexOf('.')+1,val.length).toLowerCase();
		if(image_ext!='jpg' && image_ext!='jpeg' && image_ext!='png' && image_ext!='gif')
		{
			returnedVariable = false;
			return false;
		}
		else
			return true;
	}
	else
		return true;
}

function isEmail(val) 
{	
	if(trim(val)!="")
		if(val.indexOf('@')<0 || val.indexOf('.')<0)
			returnedVariable = false;
}
function isEmail1(val) 
{	
	var temp_var = true;
	if(trim(val)!="")
		if(val.indexOf('@')<0 || val.indexOf('.')<0)
				temp_var = false;
		return temp_var;
}
function IsColor(val)
{
	var validChar = '0123456789ABCDEF';
	var status = true;
	var i; 
	color = val.toUpperCase();
	
	if(trim(color)!="")
	{	
		if(color.charAt(0)=="#")
		{
			
			if(color.length==7)
			{
				// Check for legal characters in string
				for (i = 1; i < 7; i++ )
				{
					if(validChar.indexOf(color.charAt(i)) < 0)
						status = false;
				}
			}
			else
				status = false;
		}
		else
			status = false;
	}
	
	if(status==false)
		returnedVariable = false;
	return status;	
}

function isPhone(val) 
{	
	var regExpress2 = val.match(/^\d{10}$/);
	var regExpress3 = val.match(/^(\d{2})\s\d{4}\s\d{4}$/);
	if(trim(val)!="")
		if (regExpress2 == null && regExpress3 == null) 
			returnedVariable = false;
}
function isPhone1(val) 
{	
	var regExpress2 = val.match(/^\d{10}$/);
	var regExpress3 = val.match(/^(\d{3})\-\d{3}-\d{4}$/);
	if(trim(val)!="")
		if (regExpress2 == null && regExpress3 == null) 
			returnedVariable = false;
}
function IsPostCode(val) 
{	
	var matchArr = val.match(/^\d{4}$/);
	var status = true;
	if(trim(val)!="")
	if(matchArr == null)
		returnedVariable = false;
}

function isConfirmPassword(val,val1) 
{
	if(trim(val)!=trim(val1))
		returnedVariable = false;
}

function isConfirmEmail(val,val1) 
{
	if(trim(val)!=trim(val1))
		returnedVariable = false;
}

function isPercent(val)
{
	if(trim(val).length>0)
	{
		allowed = "0123456789()-,.% ";
		digits = "0123456789";
		numCount=0;
		for(j=0;j<val.length;j++)
		{
			if(allowed.indexOf(val.charAt(j))<0)
				returnedVariable=false;
			
			if(digits.indexOf(val.charAt(j))>-1)
				numCount++;	
		}
		if(returnedVariable && numCount==0)
			returnedVariable=false;
	}		
}

function isMoney(val)
{
	if(trim(val).length>0)
	{
		allowed = "0123456789()-,.$ ";
		digits = "0123456789";
		numCount=0;
		for(j=0;j<val.length;j++)
		{
			if(allowed.indexOf(val.charAt(j))<0)
				returnedVariable=false;
			if(digits.indexOf(val.charAt(j))>-1)
				numCount++;	
		}
		if(returnedVariable && numCount==0)
			returnedVariable=false;
	}	
}

function isNumber(val,len) 
{
	if(trim(val) != '')
	{
		if(isNaN(trim(val)))
		   returnedVariable = false;
		
		if(len!=0)
		{	
			if(!(trim(val).length == len))
			   returnedVariable = false;
		}
	}
	
}
function isZip(val,val1)
{
	zip=trim(val+""+val1);
	
	if(trim(zip)!= '')	
	{
		if(isNaN(zip))
			returnedVariable = false;
		
		if(zip.length<9)	
			returnedVariable = false;	
	}
}

function isZip1(val) 
{	
	var regExpress1 = val.match(/^\d{5}(-\d{4})?$/);
	var regExpress2 = val.match(/^\d{9}$/);
	
	if(trim(val)!="")
		if ((regExpress1 == null) && (regExpress2 == null))
			returnedVariable = false;
}

function isPhone3(val,val1,val2)
{
	if(trim(val+val1+val2)!="")	
	{
		if(isNaN(val+val1+val2))
			returnedVariable = false;
		
		if((trim(val+val1+val2)).length<10)	
			returnedVariable = false;
	}
}

function isDate(val,val1,val2,require)
{
	if(trim(val+val1+val2) != "")
	{	
		if((trim(val+val1+val2)).length!=8)
			returnedVariable = false;
	}
	else
	{
		if(require==1)
			returnedVariable = false;			
	}
}

function isNum100(val)
{	
	if(trim(val)!="")	
	{
		if(isNaN(trim(val)))
		   returnedVariable = false;
		else	
			if(val<0 || val>100)
	    		returnedVariable = false;
	}
}

function isBigerNumber(val,val1)
{
	if(trim(val)!="" && trim(val1)!="")
	{	
		if(val>val1)
			returnedVariable = false;
	}
	else
	{
		if(trim(val+val1)!="")
			returnedVariable = false;	
	}
			
}
function isASTPhone(val) 
{	
	var regExpress2 = val.match(/^\d{8}$/);
	
	if(trim(val)!="")
		if(regExpress2 == null )
			returnedVariable = false;
}

function isSelected(val)
{
	if (val == "")
	{
		returnedVariable = false;
		return false;
	}
	return true;
}

function DependingFields(val,val1,val2)
{
	if (val == val1)
	{	
		if(val2=="")
			returnedVariable = false;
	}
}


function isPassword(val)
{
	
	if(val.length<8)	
		returnedVariable = false;	
}

function isSSN(val) 
{		
	if(trim(val).length>0)
	{
		var matchArr = val.match(/^(\d{3})-?\d{2}-?\d{4}$/);
		var numDashes = val.split('-').length - 1;
		if (matchArr == null || numDashes == 1) 
		{
			returnedVariable = false;
		}
		else 
			if (parseInt(matchArr[1],10)==0) 
			{
				returnedVariable = false;
			}
	}
}

function isAges(val,val1)
{
	if(!isNaN(val) && val>0)
	{
		var ages = val1.split(",");
		if(ages.length!=val)
			returnedVariable = false;
	}	
}

function IsHTTP(val)
{	
	var status = true;
	if(trim(val).length>0)
	{
		var matchArr = val.match(/^(http|https):\/\/[\w\W]+$/); 
		if(matchArr == null)
			status = false;
	}
	returnedVariable = status;
	return status;	
}

function trim(str)
{
     return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
function isValidDate(val) {
   var vcTempMsg = true;
   if(trim(val)!="") {
      var valArray = new Array();
      valArray = val.split("/");
      if (valArray.length != 3) {
         returnedVariable = false;
         vcTempMsg = false;
      }
	
      val = valArray[0];
      val1 = valArray[1];
      val2 = valArray[2];
      if (isNaN(val) || val.length > 2 || val.length < 1 || val < 1) {
         returnedVariable = false;
         vcTempMsg = false;
      }
      if (isNaN(val1) || val1.length > 2 || val1.length < 1 || val1 < 1 || val1 > 12) {
         returnedVariable = false;
         vcTempMsg = false;
      }
      if (isNaN(val2) || val2.length != 4 || val2 < 1) {
         returnedVariable = false;
         vcTempMsg = false;
      }   
     
      error = 0;
      day = parseInt(val);
      mnth = parseInt(val1);
      yr = parseInt(val2);
   
      // mnthArray[0] is january, mnthArray[11] is december
      if (yr % 4 == 0)
         mnthArray = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
      else
         mnthArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);	

      // netscape/IE number months starting with january = 0
      mnth = mnth-1;
      if (day > parseInt(mnthArray[parseInt(mnth)])) {
         returnedVariable = false;
         vcTempMsg = false;
      }
   }
   return vcTempMsg;
}