
		MANDATORY=1;
		NONMANDATORY=0;
		NUMERIC=2;
		EMAIL=3;
		TEXT=4;
		FLOAT=5;
 	    DATE=6;
		FILE=7;

invalidMessage=" is invalid";

function check(element,label,mandatory,type,MAXLENGTH,MINLENGTH)
 {
	 var field= eval ("document.forms[0]." + element ) ;
    //alert(field.value);
	 if(mandatory==MANDATORY)
	  {
		if(isEmpty(field.value))
		 return label+" is mandatory"+"\n";
	  }

	  //check for length
	  if(MAXLENGTH!=-1)
	  {
		  if(trim(field.value).length>MAXLENGTH)
		   {
			 return label+" exceeds the limit of "+MAXLENGTH+"  characters\n";
			}
		}
	  //check for content
	  if(type==TEXT)
	  {
	  if(!isEmpty(field.value))
	   {
	     //if(!isAlphanumeric(field.value))
		   //return label+" "+invalidMessage+"\n";
		 }
					 
	  }
	  if(type==EMAIL)
	  {
	  if(!isEmpty(field.value))
	   {
	    if(!isEmail(field.value))
		 return label+" "+invalidMessage+"\n";
		 }
		
	  }
		if(type==FILE)
	  {
	  if(!isEmpty(field.value))
	   {
	    if(!isFile(field.value))
		 return label+" "+invalidMessage+"\n";
		 }
		
	  }
	  if(type==NUMERIC)
	  {
		  if(!isEmpty(field.value))
		   {
			  if(!isInteger(field.value))
			  return label+" "+invalidMessage+"\n";
			} 
	  }
	  if(type==FLOAT)
	  {
		  if(!isEmpty(field.value))
		   {
			  if(isNaN(field.value))
			  return label+" "+invalidMessage+"\n";
			} 
	  }


	  if(type==DATE)
	  {
		  if(!isEmpty(field.value))
		   {
			   var mm=checkDate(field.value);
				  if(!(trim(mm)==""))
				  {
				    return label+" "+invalidMessage+"\n";
					}
			 }
	  }
	  //in case every thing went well
	  return "";

 }

function setValue(element,content,type, multiSelect, selectSeparator)
 { 

 var field= eval ("document.forms[0]." + element ) ;    
 content=replaceBR(content);
  content=replaceQuot(content);
  content=replaceDoubleQuot(content);
  content=replaceLT(content);
  content=replaceGT(content);
  if(selectSeparator==null)
  selectSeparator=",";
  
	
  if(type=="RADIO")
  {     	 

    for (var i=0;i<field.length;i++ )
	   {
	  
		//if(content!="") alert(i + " , " + field[i].value + " , " + content);	
        if (field[i].value==content)
		     { 
		     
               field[i].checked = true;
			  }  
		} 
  }

if(type=="TEXT"||type=="TEXTAREA")
  {   
	if(trim(content)!="null")
	 {

	
	 	field.value=content;
	 }
  }

if(type=="CHECKBOX")
  { 
	
		if(field.value==content)
		{
		//alert(field.checked);
		  	  field.checked=true;
		}
  }
  
if(type=="SELECT")
  { 
	    
	   if(multiSelect=="YES")
	     {

	  	 arrayOfContent= content.split(selectSeparator);
	
		for(var j=0;j<arrayOfContent.length;j++)
		{ 
			for (var i = 0; i < field.options.length; i++) 
			 { 
			   if(field.options[i].value==trim(arrayOfContent[j]))
				{
				     field.options[i].selected=true;
				}
	          
			 }
		 }
	    }
	    else
	     {
			for (var i = 0; i < field.options.length; i++) 
			 { 
			 		   
			   if(trim(field.options[i].value)==trim(content))
				{
				     field.options[i].selected=true;
				}

			 }

	     
	     }
	    

	 }

}




function isEmpty(s)
{  
   s=trim(s);
   return ((s == null) || (s.length == 0))
}

function replaceBR(s)
{
 
 var reg=/<BR>/gi;
 s=s.replace(reg,"\n");
 return s;

}

function replaceQuot(s)
{
 
 var reg=/&quot;/gi;
 s=s.replace(reg,"\"");
 return s;

}
function replaceDoubleQuot(s)
{
 
 var reg=/''/gi;
 s=s.replace(reg,"'");
 return s;

}
function replaceLT(s)
{
 
 var reg=/&lt;/gi;
 s=s.replace(reg,"<");
 return s;

}
function replaceGT(s)
{
 
 var reg=/&gt;/gi;
 s=s.replace(reg,">");
 return s;

}
  		
 				
	 
//New function put by Rohtas, Arvind on June 21, 2004
function isEmail(givenString)
{
	var str=givenString;
	var returnValue = true;
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\")|(\')/; // not valid
	//var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	var reg2 =/^([a-zA-Z0-9\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/;

	if (!(!reg1.test(str) && reg2.test(str)))
	{
		returnValue = false;
	}
	//alert(returnValue);
	return returnValue;
}

/* commented by Rohtas, Arvind on June 21, 2004
function isEmail (s)
{
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
*/

function isFile (s)
{   
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
	 if (i >= sLength - 1)
	 return false;
	 else return true;
}
function isInteger (s)

{   var i;
	     
    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

function isLetter (c)
{ 
   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}



// Returns true if character c is a digit 
// (0 .. 9).

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}


function isAlphanumeric (s)

{   var i;

    

    // Search through string's characters one by one
    // until we find a non-alphanumeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number or letter.
        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }

    // All characters are numbers or letters.
    return true;
}

regexp1 = /^\s+/gi;
regexp2 = /\s+$/gi;

function trim( str1 )
{
	string = new String (str1);
	string = string.replace(regexp1, "");
	return string.replace(regexp2, "");
}




function checkDate(st) 
{
	Datest=""
	var datePat = /^(\d{1,2})(\/)(\d{1,2})\2(\d{4})$/;								
	var matchArray = st.match(datePat);
	
	if (matchArray == null)
	{
		Datest="Date is not in a valid format.";
		return Datest;
		
	}
	
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];

	if (month < 1 || month > 12)
	{ 
		// check month range
		Datest="Month must be between 1 and 12."; 
	

	}

	if (day < 1 || day > 31)
	{
		Datest="Day must be between 1 and 31."; 											
		
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31)
   {
		Datest="Month "+month+" doesn't have 31 days!" ;										
		
	}

	if (month == 2)
   { 
	
		// check for february 29th
		var g = parseInt(year / 4);
		if (day > 29 || (day == 29 && (year / 4) != g))
		{
			Datest="February in "+year+" doesn't have "+day+" days! ";												
			
		}
	}

	
	return Datest;
}


function setDate(fieldName,content)
 {
   if(content.indexOf("/")!=-1)
	{
		parseDate= content.split("/"); 	
		setValue(fieldName+"_month",parseDate[0],"SELECT");
		setValue(fieldName+"_day",parseDate[1],"SELECT");
		setValue(fieldName+"_year",parseDate[2],"SELECT");
	}

 }

function setMultuFormValue(element,content,type,formId)
 { 
  var field= eval ("document.forms["+formId+"]." + element ) ;    
  //var field= eval ("document.forms[]." + element ) ;    
  

  if(type=="RADIO")
  {     	 

    for (var i=0;i<field.length;i++ )
	   {
	
        if (field[i].value==content)
		     { 
               field[i].click();
			  }  
		} 
  }

if(type=="TEXT"||type=="TEXTAREA")
  {   
	if(trim(content)!="null")
	 {

	
	 	field.value=content;
	 }
  }

if(type=="CHECKBOX")
  {   
		if(field.value==content)
		{ 
		  	  field.checked=true;
		}
  }

if(type=="SELECT")
  { 

    arrayOfContent= content.split(",");

	for(var j=0;j<arrayOfContent.length;j++)
	{ 
		for (var i = 0; i < field.options.length; i++) 
		 { 
		   if(field.options[i].value==arrayOfContent[j])
			{
			     field.options[i].selected=true;
			}
          
		 }
	 }
    

 }

 }



function setMultiDate(fieldName,content,i,formId)
 {
   if(content.indexOf("/")!=-1)
	{
	parseDate= content.split("/"); 	
	setMultuFormValue(fieldName+"_month["+i+"]",parseDate[0],"SELECT",formId);
	setMultuFormValue(fieldName+"_day["+i+"]",parseDate[1],"SELECT",formId);
	setMultuFormValue(fieldName+"_year["+i+"]",parseDate[2],"SELECT",formId);
	}

 }


