// This code belongs to XLNTfx.com
// All rights reserved. Copyright 2004
//**********************************************************
// Function to valiate Email Address
// Parameters passed 
// data as formfield.value, the form field value to be validate
// frm_msg as string, the error message to be displayed
// n_flg as integer, 1 if the field is mandatory , 0 if the field is not mandatory  
	function val_email(data,frm_msg,n_flg)
	{
		if (n_flg ==1)
		{
			if(trimchk1(data) == false)
			{
				alert(frm_msg)
				return false
			}
		}
			var reg=/ /g;
			if (data.indexOf('@') ==-1 || data.indexOf('.') ==-1)
			{
				alert(frm_msg);				
				return false
			} 
			else if((data.substring(0,data.indexOf("@")).replace(reg,""))=="" ||(data.substring(data.indexOf("@")+1,data.indexOf(".")).replace(reg,""))=="" || (data.substring(data.indexOf(".")+1,data.length).replace(reg,""))=="" ) 
			{
				alert(frm_msg);
				return false
			}
			return true		
	}
	
	function trimchk(frm_fld) {
		//alert(eval(frm_fld + ".value.length"));
		if(eval(frm_fld + ".value.length")== 0) {
			return false
		} 
		var str;
		for (var i=0;i< eval(frm_fld + ".value.length");i++)
		{
			str =""
			string2 = '' + eval(frm_fld + ".value");
			splitstring = string2.split(" ");
			for(j = 0; j < splitstring.length; j++)
			{
				str += splitstring[j];
			}
	    }			
			if ((str==""))
			{
				return false;
			}
		return true;
}


	function val_number(frm_nfield,frm_nmsg,frm_zero)
	{
			var n=frm_nfield
			if (isNaN(n)==true || n==""  || n.length==0 || trimchk1(n) == false  ) 
			{
				alert(frm_nmsg);				
				return false;
			}
			if(frm_zero==0)
			{
				if (n < 0)
				{
					alert("Enter a non negative number");				
					return false;
				}
			}
			if(frm_zero==1)
			{
				if (n <= 0)
				{
					alert("Enter a number greater than 0 ");				
					return false;
				}
			}
			
	}
	
function val_description(f_n,f_min,f_max,msg_min,msg_max,n_flg)
   {
   		if (n_flg ==1)
		{
			if(trimchk1(f_n) == false)
			{
				alert(msg_min)
				return false
			}
		}
	  
	   if (f_n.length > f_max)
		{ 
			alert(msg_max);			
			return false
		}			
		if (f_n.length < f_min)
		{ 
			alert(msg_min);			
			return false
		}		
	}	
	
	function val_date(f_day,f_month,f_year,f_zero)
		{
			if (f_zero ==1)
			{
				if (f_day==0 || f_month==0 || f_year==0)
				{
					return 1
				}
			}
				if ((f_month==4 || f_month==6 || f_month==9 || f_month==11) && f_day==31)
				{
					alert("Month "+f_month+" doesn't have 31 days!") 			
					return 0 
				} 			
			
				if (f_month == 2) 
				{ 
				// check for february 29th 
					var isleap = (f_year % 4 == 0 && (f_year % 100 != 0 || f_year % 400 == 0)); 
					if (f_day>29 || (f_day==29 && !isleap)) 
					{ 
						alert("February " + f_year + " doesn't have " + f_day + " days!"); 
						return 0; 
					} 
				} 							
			
		}
	
	
function valid_date(a)
{
 var err=0
 var psj=0;
 if (a.length != 10)
 {
 	err=1
	alert("Date is not complete")
	return 0
 }
 b = a.substring(3, 5)// month
 c = a.substring(2, 3)// '-'
 d = a.substring(0, 2)// day
 e = a.substring(5, 6)// '-'
 f = a.substring(6, 10)// year
//basic error checking
if (b<1 || b>12 || isNaN(b)==true) 
{
	alert("Invalid month  "+b)
	return 0
	err = 1
}

if (isNaN(d)==true) 
{
	alert("Invalid Day  "+d)
	return 0
	err = 1
}

if (isNaN(f)==true) 
{
	alert("Invalid Year  "+f)
	return 0
	err = 1
}
if (c != '/') err = 1
if (d<1 || d>31) err = 1
if (e != '/') err = 1
if (f<2000 || f>9999) err = 1
//advanced error checking
// months with 30 days
if (b==2 || b==4 || b==6 || b==9 || b==11)
{
   if (d==31) 
   {
	   err=1
	   alert("Month "+b+" doesn't have 31 days!") 		
	   return 0
   }
}
// february, leap year
if (b==2)
{
	 // feb
	 var g=parseInt(f/4)
	 if (isNaN(g))
	  {
		  err=1
	  }
	  if (d>29) 	  
	  {
	  	err=1
		alert("February " +f+ " doesn't have " +d+ " days!"); 
	    return 0; 
	  }
	  if (d==29 && ((f/4)!=parseInt(f/4))) 
	  {
		  err=1
		  alert("February " +f+ " doesn't have " +d+ " days!"); 
	      return 0; 
	  }
	  
 } 
 if (err==1)
  {
	  alert("Invalid Date")
	  return 0
   }
  else
  {
  	return 1
  }	
}  

function chk_char(data,param)
{
	var reg=/ /g;
	if (data.indexOf(param) !=-1)
	{
		return 0
	}
	else
	{
		return 1
	}
}


	function trimchk1(num) {
		
		var str;
		for (var i=0;i< num.length;i++)
		{
			str =""
			string2 = '' + num;
			splitstring = string2.split(" ");
			for(j = 0; j < splitstring.length; j++)
			{
				str += splitstring[j];
			}
	    }			
			if ((str==""))
			{
				return false;
			}
		return true;
}

function datediff(from_date,to_date)
{

	from_date= new Date(from_date)
	to_date = new Date(to_date)
	if (to_date < from_date)
	{		
		return false
	}
	else	
	{
		return true;
	}

}



