// JavaScript Document

 function trim(s) 
 {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function fnError(frm, ctrl, msg, val)
{
	if(trim(document[eval("frm")][eval("ctrl")].value)==val)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}
function LessThanCurrent(frm, lstyear, lstmonth, lstday, msg)
{
		var i;
		var yr="";
		var mnth="";
		var day="";
		var cur_yr="";
		var cur_mnth="";
		var cur_day="";
	
		mnth=document[eval("frm")][eval("lstmonth")].value;
 	    day=document[eval("frm")][eval("lstday")].value;
	    yr=document[eval("frm")][eval("lstyear")].value;
		
        //alert(mnth);     
		
		dat=mnth+"-"+day+"-"+yr;
		date_chk=yr+"-"+mnth+"-"+day;
		var len=date_chk.length;
			
		d=new Date();
		cur_yr=d.getFullYear();       //getting current year  
		cur_mnth=d.getMonth()+1;  //getting current year
		cur_day=d.getDate();      //getting current year 
		
		
		cur_date=cur_yr+"-"+cur_mnth+"-"+cur_day;
		
		//alert(cur_date+" "+date_chk);
	
		if (yr > cur_yr)        //comparing year
		{
			alert (msg);
			////document.frm.txtdob.value="";
			document[eval("frm")][eval("lstyear")].focus();
			return false;
		}
		else if (yr==cur_yr && mnth>cur_mnth)  //comparing month
		{
		    alert (msg);
			//document.frm.txtdob.value="";
			document[eval("frm")][eval("lstmonth")].focus();
			return false;
		}
		else if (yr==cur_yr && mnth==cur_mnth && day>cur_day)  //comparing day
		{
			alert (msg);
			//document.frm.txtdob.value="";
			document[eval("frm")][eval("lstday")].focus();
			return false;
		}
		else
		{
			for (i=0;i<len;i++)
			{
				if (i == 2 || i == 5)   //leaving separator
				{//do nothing
	
				}
				else
				{
					if(dat.substr(i,1)<"0" || dat.substr(i,1)>"9")
					{
						alert (msg);
						//document.frm.txtdob.value="";
						document[eval("frm")][eval("lstday")].focus();
						return false;
						break;			
					}
				}
			}//end of for
		}//end of else

  return true;
}

function fnDate(frm, lstyear, lstmonth, lstday, msg)
{
	mnth=document[eval("frm")][eval("lstmonth")].value;
	day=document[eval("frm")][eval("lstday")].value;
	yr=document[eval("frm")][eval("lstyear")].value;
	if(mnth=="-1" || day=="-1" || yr=="-1")
	{
		alert(msg);
		if(yr=="-1" || (mnth=="-1" && day=="-1" && yr=="-1"))
			document[eval("frm")][eval("lstyear")].focus();
		else if(mnth=="-1")
			document[eval("frm")][eval("lstmonth")].focus();
		else if(day=="-1")
			document[eval("frm")][eval("lstday")].focus();
		return false;
	}	
	return true;
}

function fnDate_valid(frm, lstyear, lstmonth, lstday, msg)
{
	mnth=document[eval("frm")][eval("lstmonth")].value;
	day=document[eval("frm")][eval("lstday")].value;
	yr=document[eval("frm")][eval("lstyear")].value;
	//alert(mnth+" "+day+" "+yr);
	if(yr!="-1")
	{
		if(mnth=="-1" || day=="-1")
		{
			alert(msg);
			if(mnth=="-1")
				document[eval("frm")][eval("lstmonth")].focus();
			else if(day=="-1")
				document[eval("frm")][eval("lstday")].focus();
			return false;
		}
	}
	if(mnth!="-1")
	{
		if(day=="-1" || yr=="-1")
		{
			alert(msg);
			if(yr=="-1")
				document[eval("frm")][eval("lstyear")].focus();
			else if(day=="-1")
				document[eval("frm")][eval("lstday")].focus();
			return false;
		}
	}
	if(day!="-1")
	{
		if(mnth=="-1" || yr=="-1")
		{
			alert(msg);
			if(yr=="-1" )
				document[eval("frm")][eval("lstyear")].focus();
			else if(mnth=="-1")
				document[eval("frm")][eval("lstmonth")].focus();
			return false;
		}
	}	
	return true;
}

function fnDays(frm, lstyear, lstmonth, lstday)
{

	year=document[eval("frm")][eval("lstyear")].value;
	month=document[eval("frm")][eval("lstmonth")].value;
	
	document[eval("frm")][eval("lstday")].length=0;
	document[eval("frm")][eval("lstday")].options[0]=new Option("DD", "-1");
	
	//---INSERT 1 - 31 IN LSTDAYS--------
	if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
	{
		for(i=1; i<=31; i++)
		{
			dd=i;
			if(dd<10)
				dd="0" + dd;
			document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
		}
	}
	//-----------
	//---INSERT 1 - 30 IN LSTDAYS--------
	if(month==4 || month==6 || month==9 || month==11)
	{
		for(i=1; i<=30; i++)
		{
			dd=i;
			if(dd<10)
				dd="0" + dd;
			document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
		}
	}
	//-----------
	//---INSERT 1 - 30 IN LSTDAYS--------
	if(month==2)
	{
		if(year%4==0 || year%400==0)//-------LEAP YEAR-----
		{
			for(i=1; i<=29; i++)
			{
				dd=i;
				if(dd<10)
					dd="0" + dd;
				document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
			}
		}
		else
		{
			for(i=1; i<=28; i++)
			{
				dd=i;
				if(dd<10)
					dd="0" + dd;
				document[eval("frm")][eval("lstday")].options[i]=new Option(dd, dd);
			}
		}
	}
	//-----------
	
}

function fnYear(frm, lstyear, lstmonth, lstday)
{
	mnth=document[eval("frm")][eval("lstmonth")].value;
	day=document[eval("frm")][eval("lstday")].value;
	yr=document[eval("frm")][eval("lstyear")].value;
	
		if(yr=="-1")
		{
			alert("Please select the Year first.");
			document[eval("frm")][eval("lstyear")].focus();
			return false;
		}	
	
}
function fnInitialize(frm, lstyear, lstmonth, lstday)
{
	
	//-------INSERT VALUES IN LISTS-----
	dat = new Date();
	year=dat.getFullYear();
	var i;
	//-----INSERT VALUES OF YEAR IN LSTYEAR----
	document[eval("frm")][eval("lstyear")].options[0]=new Option("YYYY", -1);
	j=1;
	for(i=year; i>=1930; i--)
	{
		document[eval("frm")][eval("lstyear")].options[j]=new Option(i, i);
		j++;
	}
	//---------------
	
	//------INSERT VALUES OF MONTH IN LSTMONTH------
	
	document[eval("frm")][eval("lstmonth")].options[1]=new Option("Jan", "01");
	document[eval("frm")][eval("lstmonth")].options[2]=new Option("Feb", "02");
	document[eval("frm")][eval("lstmonth")].options[3]=new Option("Mar", "03");
	document[eval("frm")][eval("lstmonth")].options[4]=new Option("Apr", "04");
	document[eval("frm")][eval("lstmonth")].options[5]=new Option("May", "05");
	document[eval("frm")][eval("lstmonth")].options[6]=new Option("Jun", "06");
	document[eval("frm")][eval("lstmonth")].options[7]=new Option("Jul", "07");
	document[eval("frm")][eval("lstmonth")].options[8]=new Option("Aug", "08");
	document[eval("frm")][eval("lstmonth")].options[9]=new Option("Sep", "09");
	document[eval("frm")][eval("lstmonth")].options[10]=new Option("Oct", "10");
	document[eval("frm")][eval("lstmonth")].options[11]=new Option("Nov", "11");
	document[eval("frm")][eval("lstmonth")].options[12]=new Option("Dec", "12");
	//------------
}
function GrtrThanCurrent(frm, lstyear, lstmonth, lstday, msg)
{
		var i;
		var yr="";
		var mnth="";
		var day="";
		var cur_yr="";
		var cur_mnth="";
		var cur_day="";
	
		mnth=document[eval("frm")][eval("lstmonth")].value;
 	    day=Number(document[eval("frm")][eval("lstday")].value);
	    yr=document[eval("frm")][eval("lstyear")].value;

		dat=mnth+"-"+day+"-"+yr;
		date_chk=yr+"-"+mnth+"-"+day;
		var len=date_chk.length;
			
		d=new Date();
		cur_yr=d.getFullYear();       //getting current year  
		cur_mnth=d.getMonth()+1;  //getting current year
		cur_day=Number(d.getDate());      //getting current year 
		//cur_date=cur_yr+"-"+cur_mnth+"-"+cur_day;
		
		//alert(day + " " + cur_day);
		if (yr < cur_yr)        //comparing year
		{
			alert (msg);
			////document.frm.txtdob.value="";
			document[eval("frm")][eval("lstyear")].focus();
			return false;
		}
		else if (yr==cur_yr && mnth<cur_mnth)  //comparing month
		{
		    alert (msg);
			//document.frm.txtdob.value="";
			document[eval("frm")][eval("lstmonth")].focus();
			return false;
		}
		else if (yr==cur_yr && mnth==cur_mnth && day<cur_day)  //comparing day
		{
			alert (msg);
			//document.frm.txtdob.value="";
			document[eval("frm")][eval("lstday")].focus();
			return false;
		}
		else
		{
			for (i=0;i<len;i++)
			{
				if (i == 2 || i == 5)   //leaving separator
				{//do nothing
	
				}
				else
				{
					if(dat.substr(i,1)<0 || dat.substr(i,1)>9)
					{
						alert (msg);
						//document.frm.txtdob.value="";
						document[eval("frm")][eval("lstday")].focus();
						return false;
						break;			
					}
				}
			}//end of for
		}//end of else
    return true;
}

function fnRegExp_txt(frm, ctrl, msg)
{
	var RegEx=/^[a-zA-Z ]+$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	//alert(txt);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnRegExp_alphanumeric(frm, ctrl, msg)
{
	var RegEx=/^([a-zA-Z ][-]*[\/]*[0-9]*)+$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnRegExp_phone(frm, ctrl, msg)
{
	var RegEx=/^([0-9][-]*)+$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnRegExp_email(frm, ctrl, msg)
{
	var RegEx=/^([\w]+)(.[\w]+)*@([\w]+[-]*)(.[\w]{2,3}){1,2}$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnRegExp_zip(frm, ctrl, msg)
{
	var RegEx=/^([a-zA-Z0-9 ])+$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnRegExp_Date(frm, ctrl, msg)
{
	var RegEx=/^([0,1,2,3]{1,1}[0-9]{1,1}\/[0-9]{2,2}\/[0-9]{4,4})$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if (RegEx.test(txt) != true)
	{
		alert(msg);
		document[eval("frm")][eval("ctrl")].focus();
		return false;
	}
	else
	{
		return true;
	}
}

function fnDate_select(frm, lstyear, lstmonth, lstday, yr, mth, day)
{
	dat = new Date();
	year=dat.getFullYear();
	var i;
	var j=1;
	for(i=year; i>=1930; i--)
	{
		if(yr==i)
		{
			document[eval("frm")][eval("lstyear")].options[j].selected=true;
			break;
		}
		j++;
	}
	var mon=Number(mth);
	for(m=1; m<=12; m++)
	{
		if(mon==m)
		{
			document[eval("frm")][eval("lstmonth")].options[m].selected=true;
			break;
		}
	}
	
	var dd=Number(day);
	fnDays(frm, lstyear, lstmonth, lstday);
	for(d=1; d<=31; d++)
	{
		if(dd==d)
		{
			document[eval("frm")][eval("lstday")].options[d].selected=true;
			break;
		}
	}
	
}

function fnRegExp_date(frm, ctrl, msg)
{
	var RegEx=/^([0,1,2,3]{1,1}[0-9]{1,1}[\/][0,1,2,3]{1,1}[0-9]{1,1}[\/][0-9]{4,4})$/;  //----\w=[a-zA-Z0-9_]
	var txt=trim(document[eval("frm")][eval("ctrl")].value);
	if(txt.length>0)
	{
		if (RegEx.test(txt) != true)
		{
			alert(msg);
			document[eval("frm")][eval("ctrl")].focus();
			return false;
		}
		else
		{
			return true;
		}
	}
	return true;
}
