function checkForm(VALUES){
var STR='0';
var NUM='1';
var EML='2';
var rval=true;
var val;
var ARY =VALUES.split(':');
for (var i=0; i<ARY.length; i++) {
var PAR=ARY[i].split(',');
var frm = document.forms[PAR[0]];
var ctrl=GetElementByName(frm,PAR[1]);
val=ctrl.value.trim();
if(PAR[2]==1 && val==""){

alert('EMPTY VALUE');
ctrl.focus();
return false;
}
if(PAR[3]==NUM){
if(checkNum(val)){
}else{
alert('['+val+']  Invalid value\nMust be numeric');
ctrl.select();
return false;
break;
}
}
if(PAR[3]==EML){
if(emailcheck(val)){
}else{
alert('['+val+']\nInvalid Email Address');
ctrl.select();
return false;
break;

}
}
if(PAR.length>4 && val.length<PAR[4]){

alert('Invalid value \nMust be greater than or equal to '+PAR[4]+' chars');
ctrl.focus();
return false;
break;


}
}

}
function checkNum(VAL){
if(isNaN(VAL)){
return false;
}else{
return true;
}
}
function emailcheck2(str) 
{

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1)
	{  
	  return false;
	}
	if (str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{   
	 return false;
	}
	if (str.indexOf(dot)==-1){

	return false;
	}
	if (str.indexOf(dot)<lat)
	{
	
	return false;
	} 
	if (str.indexOf(at,(lat+1))!=-1)
	{
	
	 return false ;
	}
	if (str.indexOf(" ")!=-1)
	{
	
	return false;
	} 
 	if (str.indexOf(dot)==(lat+1))
	{//alert("Invalid E-mail ID")    
	return false;
	} 
return true;
}

function GetElementByName(frm,elementName)
{
   var element = null;
   
      for(elementIndex=0; elementIndex < frm.elements.length; elementIndex++)
      {
         if(frm.elements[elementIndex].name == elementName)
         {
            element = frm.elements[elementIndex];
            break;
         }
      
   }
   return element;
}

String.prototype.trim = function()
{
   return this.replace(/(^\s*)|(\s*$)/g, "");
}
function emailcheck(email) {
  ///  if (required==undefined) {   // if not specified, assume it's required
        required=true;
 //   }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}


