function CheckString(txt,CharList) {
        var rc=0;
        for (var i=0; i<txt.length;i++) {
                if (CharList.indexOf(txt.charAt(i))!=(-1)) {
                        rc++;
                }
        }
return rc;
}

function ValidateChars(param,validstr,errormsg){
	//alert(param.value);
	//alert(validstr);
	if (param.value.length != CheckString(param.value,validstr)){
		return false; 
        }
return true;		
}

function ValidateString(param,validstr,err){
	//alert(param.value);
	//alert(validstr);
	if (param.value.length != CheckString(param.value,validstr)) {
		alert(err);
		param.value="";
		param.focus();
        return (false);
        }
return (true);
}

function ValidateNos(param,validstr,err){
	//alert(param.value);
	//alert(validstr);
	if (param.value.length != CheckString(param.value,validstr)){
		alert(err);
		param.value="";
		param.focus();
        return false;
        }
return true;
}

function ValidateEmail(param1,param3){
/*****
Author	:	sachin balsekar		sgbalsekar@myiris.com
Date	:	
*****/
var length;
var cntatoccur=0;
var dotoccur=new Array();
var atoccur=new Array();
var j=0;
var k=0;
length=param1.value.length;
// the length is length of string - 1
//alert("length : "+length);

for(var i=0;i<length;i++){
	//alert(param1.value.charAt(i));
	/* Checks if the first and last char in the email is a alphabet.. */
/*
	if(((param1.value.charAt(0)>="a")&&(param1.value.charAt(0)<="z"))||((param1.value.charAt(0)>="A")&&(param1.value.charAt(0)<="Z"))){
		}else{
			alert(param3);
			param1.value="";
			param1.focus();
			//break;
			return false;
		}
		if(((param1.value.charAt(length-1)>="a") &&(param1.value.charAt(length-1)<="z")) || (param1.value.charAt(length-1)>="A") &&(param1.value.charAt(length-1)<="Z")){
		}else{
			alert(param3);
			param1.value="";
			param1.focus();
			//break;
			return false;
		}

*/
	if(((param1.value.charAt(i)>="A")&&(param1.value.charAt(i)<="Z"))||((param1.value.charAt(i)>="a")&&(param1.value.charAt(i)<="z"))||((param1.value.charAt(i)>="0")&&(param1.value.charAt(i)<="9"))||(param1.value.charAt(i)=="_")||(param1.value.charAt(i)=="@")||(param1.value.charAt(i)==".")){
	}else{
		alert(param3);
		param1.value="";
		param1.focus();
		return false;
	}

/* Checks the no of @ occurences */
		if(param1.value.charAt(i)=="@"){
			cntatoccur++;
		}

		if((cntatoccur>1)){
			alert(param3);
			param1.value="";
			param1.focus();
			//break;
			return (false);
		}
/* checks the occurences of . */
		if(param1.value.charAt(i)=="."){
			dotoccur[j]=i;
			j++;
		}
		if(param1.value.charAt(i)=="@"){
			atoccur[k]=i;
			k++;
		}

	

}//end of FOR..

if(cntatoccur==0){
	alert(param3);
	return false;
}
/* checks for consecutive dots.. */
	for(var i=0;i<j;i++){
		//alert(dotoccur[i]);
		if((dotoccur[i+1]-dotoccur[i])==1){
			alert(param3);
			return false;
		}
	}
//alert("No of dots" +j)

/* checks for consecutive @ and .  or . and @*/
for(var m=0;m<k;m++){
//alert(atoccur[m]);
	for(var i=0;i<j;i++){
		//alert(dotoccur[i]);
		if((atoccur[m]-dotoccur[i])==1){
			//alert(". and @ near");
			alert(param3);
			return false;
		}
		if((dotoccur[i]-atoccur[m])==1){
			//alert("@ and . near");
			alert(param3);
			return false;
		}
	}
}
	return true;

}

