function validEmail(email)
{
	var element = new Array(29);
	element[0]="$";
	element[1]="#";
	element[2]="%";
	element[3]="&";
	element[4]="*";
	element[5]="(";
	element[6]=")";
	//element[7]="-";
	element[7]="{";
	element[8]="}";
	element[9]="+";
	element[10]="=";
	element[11]=":";
	element[12]=";";
	element[13]="\"";
	element[14]="\\";
	element[15]="'";
	element[16]="<";
	element[17]=">";
	element[18]="?";
	element[19]="/";
	element[20]="[";
	element[21]="]";
	element[22]=",";
	element[23]=" ";
	element[24]="~";
	element[25]="`";
	element[26]="!";
	element[27]="^";
	element[28]="|";
	/* Checking for email id starts here */

	if (email=="")
	{
		return false;
	}
    var emailid = email;
	var len = emailid.length;
    while(emailid.charAt("0")==" ")
	{
       emailid = emailid.substring(1,len)
	   email = emailid
		len=email.length;
	}
	len=email.length;
    while(emailid.charAt(len-1)==" ")
	{
       emailid = emailid.substring(0,len-1)
	   email = emailid
	   len=email.length;
	}
	if (email.substring(0,1)=="@")
	{
		return false;
	}
	if (email.substring(0,1)==".")
	{
		return false;
	}
			
	var thechar;
	var count=0;
			
	if(len<7)
	{
		return false;
	}	

					
	if((emailid.indexOf('@')!=-1) && (emailid.indexOf('.')!=-1))
	{
		for(i =0;i<emailid.length;i++)
		{
			thechar = emailid.substring(i,i+1);
			if(thechar=='@')
			{
				count = count + 1;
			}
			if(count > 1)
			{
				return false;
			}
			for(var k=0;k<29;k++)
			{
				if(thechar==element[k])
				{
					return false;
				}
			} // end of inner for
		} //end of outer for

		var ind = emailid.indexOf('@') + 1;

		if(emailid.indexOf('.') == ind)
		{
			return false;
		}

		//x=document.frm.emailtxt.value;
		if(emailid.substring(len-1,len)=="." || emailid.substring(len-1,len)=="_")
		{
			return false;
		}
	} //end of if
	else
	{
		return false;
	}
	/* Checking for email id ends here */

}
// To check whether entered field is numeric or not
function IsNumeric(sText)
{
   var ValidChars = "0123456789-";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
// End function isNumeric

var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var space=' ';
var deci='.';
function isValid(parm,val) {
  if (parm == "") return false;
  for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
  }
  return true;
}
 
function isNum(parm) {return isValid(parm,numb);}
function isNumDecimal(parm) {return isValid(parm,numb+deci);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphaSpace(parm) {return isValid(parm,lwr+upr+space);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}


function checkBadValues(field)
{
	var element = new Array(18);
	element[0]="<a href=";
	element[1]="http://";
	element[2]="www.";
	element[3]="[url";
	element[4]="[/url]";
	element[5]="[link";
	element[6]="link:";
	element[7]="<url";
	element[8]="url:";
	element[9]="<script";
	element[10]="</a>";
	element[11]="&lt;";
	element[12]="&gt;";
	element[13]="</script>"; 
	element[14]="/script>"; 
	element[15]="document.write"; 
	element[16]="unescape"; 
	element[17]="escape"
	
	
	if(field=="")
	{
		return false;
	}
	if(field!="")
	{
		var textVal=field.toLowerCase();
		var Len1=element.length;
		for(var t=0;t<Len1;t++)
		{
			 if (textVal.indexOf(element[t]) != -1) 
			 {
			 	return false;
			 }
		}
		
		if(textVal.indexOf("<")!= -1 || textVal.indexOf(">")!= -1)
		{
			return false;
		}
		if(textVal.indexOf("[")!= -1 || textVal.indexOf("]")!= -1)
		{
			return false;
		}
	}
}

/*Start Of DATE ADD Function */
function isDate(p_Expression){
		return !isNaN(new Date(p_Expression));		// <<--- this needs checking
	}
	
	// REQUIRES: isDate()
	function dateAdd(p_Interval, p_Number, p_Date){
		if(!isDate(p_Date)){return "invalid date: '" + p_Date + "'";}
		if(isNaN(p_Number)){return "invalid number: '" + p_Number + "'";}	
	
		p_Number = new Number(p_Number);
		var dt = new Date(p_Date);
		switch(p_Interval.toLowerCase()){
			case "yyyy": {// year
				dt.setFullYear(dt.getFullYear() + p_Number);
				break;
			}
			case "q": {		// quarter
				dt.setMonth(dt.getMonth() + (p_Number*3));
				break;
			}
			case "m": {		// month
				dt.setMonth(dt.getMonth() + p_Number);
				break;
			}
			case "y":		// day of year
			case "d":		// day
			case "w": {		// weekday
				dt.setDate(dt.getDate() + p_Number);
				break;
			}
			case "ww": {	// week of year
				dt.setDate(dt.getDate() + (p_Number*7));
				break;
			}
			case "h": {		// hour
				dt.setHours(dt.getHours() + p_Number);
				break;
			}
			case "n": {		// minute
				dt.setMinutes(dt.getMinutes() + p_Number);
				break;
			}
			case "s": {		// second
				dt.setSeconds(dt.getSeconds() + p_Number);
				break;
			}
			case "ms": {		// second
				dt.setMilliseconds(dt.getMilliseconds() + p_Number);
				break;
			}
			default: {
				return "invalid interval: '" + p_Interval + "'";
			}
		}
		return dt;
	}
/*End Of DATE ADD Function */

function RoundToNdp(X, N) { var T = Math.pow(10, N)
  return Math.round(X*T)/T }
  
  
  
		
