// function sets up the year and month controls.

// this function uses the regular expression for the checking the field to accept only "0-9()-" --- VK
function checkphone(field)
{
	// this is returning the TRUE values as per the Sachin's and Avi's suggestion.
	return true;

var value=field.value;
var pattern=/^[0-9()-]+$/;
var result='';
result=pattern.exec(value);
if (value=="")
	{
	value=null;
	}
if (result!=value)
	{
	alert ("Sorry, Telephone Number  is invalid.\nPlease do not use Alphabets or Special Characters except \(  \)  \- \n ");
	field.focus();
	field.select();
	return false;
	}
else
	{
	return true;
	}
}

function setyears(yrf,yrt,objyear,objmonth,objday)
{
 	ctr=0;
	for (var i = 0; i < objyear.length; i++)
	{
		objyear.options[0] = null;
	}
	timeC = new Date();
	currYear = timeC.getFullYear();
	for (var i=yrf,j=0; i <= yrt; i++,j++)
	{
		objyear.options[j] = new Option(i);
	}
	objyear.options[objyear.options.length-1].selected=true;
	if(objmonth.options.length>0)
	{
		objmonth.options[0] = null;	
	}
	objmonth.options[0] = new Option('January',1);
	objmonth.options[1] = new Option('February',2);
	objmonth.options[2] = new Option('March',3);
	objmonth.options[3] = new Option('April',4);
	objmonth.options[4] = new Option('May',5);
	objmonth.options[5] = new Option('June',6);
	objmonth.options[6] = new Option('July',7);
	objmonth.options[7] = new Option('August',8);
	objmonth.options[8] = new Option('September',9);
	objmonth.options[9] = new Option('October',10);
	objmonth.options[10] = new Option('November',11);
	objmonth.options[11] = new Option('December',12);
	objmonth.options[0].selected=true;
	populate(objyear,objmonth,objday);
}

function populate(objyear,objmonth,objday)
{

	obj_Day = objday.options[objday.selectedIndex].text;
	obj_Month = objmonth.options[objmonth.selectedIndex].value;

	timeA = new Date(objyear.options[objyear.selectedIndex].text, objmonth.options[objmonth.selectedIndex].value,1);
	timeDifference = timeA - 86400000;
	timeB = new Date(timeDifference);
	var daysInMonth = timeB.getDate();
	if(objday.options.length>0)
	{
		for (var i = 0; i < objday.length; i++)
		{
			objday.options[0] = null;
		}
	}
	for (var i = 0; i < daysInMonth; i++)
	{
		if(i<9)
		{
			objday.options[i] = new Option(i+1, '0'+(i+1)+'');
		}
		else
		{
			objday.options[i] = new Option(i+1,i+1);
		}
		
		if(obj_Day == (i+1))
		{
			objday.options[(i)].selected = true;
		}
	}
//	objday.options[0].selected = true;
}

function Trim(S)
{
	reg=/\s/ig;
	var c=new String();
	var D = new String();
	D = S;
	var newstring=new String("");
	for (i=1; i<=D.length; i++)
	{
		c=D.charAt(i-1);
		if (c.search(reg) == "-1")
		{
			newstring=newstring.concat(c);
		}
	}
	return newstring;
}

//checks for the empty fields
//parameters to be passed are formname,fieldname and message.

function checkempty(formName,fieldName,msg)
{
	if(eval("document."+formName+"."+fieldName+".value")==0)
	{
		alert(msg);	
		eval("document."+formName+"."+fieldName+".focus()");	
		return false;
	}
	else
	{
		return true;
	}
}


// function for validationg mail and mail field is compulsory.
function checkmail(formName,fieldName,flgCompulsory)
{
	mailid = eval("document."+formName+"."+fieldName+".value")
	if(Trim(mailid)=='' && flgCompulsory.toLowerCase()=='y')
	{
		alert('Email cannot be left blank');
		eval("document."+formName+"."+fieldName+".focus()");
		return false;
	}	
	else
	{
		stri = new String(mailid);
		if(!(Trim(stri)==""))
		{		
			flag1=0;
			flag2=0;
			
			for(i=0;i<stri.length;i++)
			{
				if(stri.substr(i,1)=="@")
					flag1++;
				if(stri.substr(i,1) ==".")
					flag2++;
				if(flag1 > 0 && flag2 > 0) break;
			}
			if(flag1==0 || flag2 == 0)
			{
				alert("Email address seems to be invalid.");
				eval("document."+formName+"."+fieldName+".focus()");
				return false;
			}
			return true;
		}	
	}
	return true;
}
//parameters to be passed are formname,fieldname,y/n for compulsion and message.
function checkmailcustom(formName,fieldName,flgCompulsory,msg)
{
	mailid = eval("document."+formName+"."+fieldName+".value")
	if(Trim(mailid)=='' && flgCompulsory.toLowerCase()=='y')
	{
		alert(msg);
		eval("document."+formName+"."+fieldName+".focus()");
		return false;
	}	
	else
	{
		stri = new String(mailid);
		if(!(Trim(stri)==""))
		{		
			flag1=0;
			flag2=0;
			
			for(i=0;i<stri.length;i++)
			{
				if(stri.substr(i,1)=="@")
					flag1++;
				if(stri.substr(i,1) ==".")
					flag2++;
				if(flag1 > 0 && flag2 > 0) break;
			}
			if(flag1==0 || flag2 == 0)
			{
				alert(msg);
				eval("document."+formName+"."+fieldName+".focus()");
				return false;
			}
			return true;
		}	
	}
	return true;
}

//check for numeric
function chkNumeric()
{
	if (event.keyCode < 45 || event.keyCode > 57)
	{
	alert("Only digits to be entered");
	event.returnValue = false;
	}
}

//check for int
function chkInt()
{
	if (event.keyCode < 45 || event.keyCode > 57 || event.keyCode == 46)
	{
	alert("Only digits to be entered");
	event.returnValue = false;
	}
}

// Single select, one option has to be selected
function selectOptSingle(formName,fieldName,msg)
{
	var val = eval("document."+formName+"."+fieldName+"."+"selectedIndex");
	var formfield = eval("document."+formName+"."+fieldName);
	if(val==0)
	{
		alert(msg);
		formfield.focus();
		return false;
	}
	return true;
}
// Multi select, one option has to be selected
function selectMultSingle(formName,fieldName,msg)
{
	var val = eval("document."+formName+"."+fieldName+"."+"selectedIndex");
	var formfield = eval("document."+formName+"."+fieldName);
	if(val==-1)
	{
		alert(msg);
		formfield.focus();		
		return false;
	}
	return true;
}

//check box validation... atleast one checkbox must be selected.
//parameters: formname,fieldname,flgConfirm
function checkBox(formName,fieldName,flgConfirm)
{
	var val = eval("document."+formName+".elements.length")
	d=0;
	for(var i=0;i<val;i++)
	{
		if(eval("document."+formName+".elements["+i+"].type=='checkbox'"))
		{
			if(eval("document."+formName+".elements["+i+"].checked"))
			{
				d=1;
				break;
			}
		}
	}
	if(d==0)
	{
		alert("Please select any one of the checkboxes.");
		return false;
	}
	else
	{
		if(flgConfirm=='y')
		{
			if(confirm('Do You Wish To Delete All Selected Records ?'))
			{
				return true;
			}
			else
				return false;
		}	
	}
	return true;
}

//Up & Down for the set order
function setarr(s,l)
{
l.value='';
for(i=0;i<s.length;i++)
	l.value=l.value+s.options[i].value+',';
}

function Up(s)
{
	sel=s.options.selectedIndex;
	if(sel>0)
	{
	val=s.options[sel-1].value;
	txt=s.options[sel-1].text;
	s.options[sel-1].value=s.options[sel].value;
	s.options[sel-1].text=s.options[sel].text;
	s.options[sel].value=val;	
	s.options[sel].text=txt;	
	s.options[sel-1].selected=true;	
	}
}
function Down(s)
{
	sel=s.options.selectedIndex;
	ctr=sel+1;
	if(s.length>ctr)
	{
	val=s.options[sel+1].value;
	txt=s.options[sel+1].text;
	s.options[sel+1].value=s.options[sel].value;
	s.options[sel+1].text=s.options[sel].text;
	s.options[sel].value=val;	
	s.options[sel].text=txt;	
	s.options[sel+1].selected=true;	
	}
}
function imgExtValid(formName,fieldName)
{
	var a = eval("document."+formName+"."+fieldName+".value.toLowerCase()");   
    if( a != "" )
	{
    	if (a.indexOf(".jpg") < 0 && a.indexOf(".gif") < 0  && a.indexOf(".png") < 0)
	  	{
	 		alert ("Please enter a valid Image file.");
			eval("document."+formName+"."+fieldName+".focus()"); 
		 	return false;
	     }	
	}
	return true;
}
function DateCompare(formName,fromYear,fromMonth,fromDay,toYear,toMonth,toDay)
{
	var fromYr=eval("document."+formName+"."+fromYear+".value");
	var fromMn=eval("document."+formName+"."+fromMonth+".value");
	var fromDay=eval("document."+formName+"."+fromDay+".value");
	var fromDate = new Date(fromYr, fromMn, fromDay)
	
	var toYr=eval("document."+formName+"."+toYear+".value");
	var toMn=eval("document."+formName+"."+toMonth+".value");
	var toDay=eval("document."+formName+"."+toDay+".value");
	var toDate = new Date(toYr, toMn, toDay)
	
	if(fromDate>toDate)
	{
		alert('Start-date should be less than end-date');
		return false;
	}	
	else	
	return true;
}	
//Checks for integer value 	
function isInteger(num){
	var new_msg = true
	inputStr = num.toString()
	for (var i = 0; i < inputStr.length; i++){
		var oneChar = inputStr.charAt(i)			
		if ((oneChar < "0" || oneChar > "9") && oneChar != "/"){
				new_msg = false;
				break;
		}
	}
	return (new_msg)
}
function isNumeric(frm,field){
	var val = eval("document."+frm+"."+field+".value")
	if(isNaN(val)){
		alert("Please enter a numeric value.");
		eval("document."+frm+"."+field+".value=''")
		eval("document."+frm+"."+field+".focus();")
		return false;
	}	
	else
		return true;		
}
//this method asks for confirmation before deleting the record
function delConfirm(pageName,msg){
	if(confirm(msg))
		window.location=pageName
}

//check for compulsory characters
function includeChars(frmName,fieldName,exChars,msg){
	var val = eval("document."+ frmName +"."+ fieldName +".value")
	chars = exChars.split(",");
	for(var i=0;i<chars.length;i++){
		if(val.indexOf(Trim(chars[i]))==-1){
			alert(msg);
			return false;			
		}	
	}
	return true;
}

//check for excluding characters
function excludeChars(frmName,fieldName,exChars,msg){
	var val = eval("document."+ frmName +"."+ fieldName +".value")
	chars = exChars.split(",");
	for(var i=0;i<chars.length;i++){
		if(!(val.indexOf(Trim(chars[i]))==-1)){
			alert(msg);
			return false;			
		}	
	}
	return true;
}

function calculate(yearfr,monthfr,dayfr) 
{
	var month = monthfr;
	var day = dayfr;
	var year = yearfr;

	var oyear=year

	var dob = " "+ year +", "+month + ",  "+day;
	var thenx = new Date(dob);

	var year=thenx.getYear();
	if (year<100) 
		year="19" + thenx.getYear();
	else 
		year=thenx.getYear();

	if (year > 1969) 
		wyear=year;
	else 
	{
		if (oyear<1900) 
		{
			if (oyear>1800) 
			{
				wrelyear= (eval(oyear)-1801)%(28);
				wyear = wrelyear+1981;
			}
			else 
				wyear = 1970 
		}
		else
			if (oyear>1900) 
			{	
				wrelyear= (eval(oyear)-1901)%(28); 
				wyear= wrelyear+1985
			}
			else 
			if (oyear==1900) 
			{
					wyear= 1990;
			}              
	}

	var thenx = new Date(wyear,month,day);
	var theday = thenx.getDay()+1;
	var date=thenx.getDate();

	var weekday = new Array(6);
	weekday[1]="S";
	weekday[2]="M";
	weekday[3]="T";
	weekday[4]="W";
	weekday[5]="T";
	weekday[6]="F";
	weekday[7]="S";

	if (day != date) 
		return -1;
	else 
	{
		dayborn = weekday[theday];
		return 	weekday[theday];	
   }
}

function checkzip(frmname,fieldname1,fieldname2)
{
	var form1 = eval("document."+frmname+"."+fieldname1);
	valzip = form1.value;
	if (valzip == "" || valzip == null)
	{
		alert("Please enter your zip code.");
		form1.select();
		return false;	
	}
	else
	{
		if (valzip.length != 5)
		{
			alert("Please enter valid zip code.");
			form1.select();
			return false;
		}
	}
	return true;
}

/*
function checkphone(frmname,fieldname1,fieldname2,fieldname3)
{
		var form1 = eval("document."+frmname+"."+fieldname1);
		val = form1.value;
		
		if (val == "" || val == null)
		{
			alert("Please enter your telephone no.");
			form1.select();
			return false;	
		}
		else
		{
			if (val.length != 3)
			{
				alert("Please enter valid telephone no.");
				form1.select();
				return false;
			}
		}
		
		var form2 = eval("document."+frmname+"."+fieldname2);
		val = form2.value;
		if (val == "" || val == null)
		{
			alert("Please enter your telephone no.");
			form2.select();
			return false;		
		}
		else
		{
			if (val.length != 3)
			{
				alert("Please enter valid telephone no.");
				form2.select();
				return false;
			}
		}

		var form3 = eval("document."+frmname+"."+fieldname3);
		val = form3.value;
		if (val == "" || val == null)
		{
			alert("Please enter your telephone no.");
			form3.select();
			return false;		
		}
		else
		{
			if (val.length != 4)
			{
				alert("Please enter valid telephone no.");
				form3.select();
				return false;
			}
		}
		
	return true;
}
*/

function checkfax(frmname,fieldname1,fieldname2,fieldname3)
{
		var form1 = eval("document."+frmname+"."+fieldname1);
		val = form1.value;
		
		if (val == "" || val == null)
		{
			alert("Please enter your fax no.");
			form1.select();
			return false;	
		}
		else
		{
			if (val.length != 3)
			{
				alert("Please enter valid fax no.");
				form1.select();
				return false;
			}
		}
		
		var form2 = eval("document."+frmname+"."+fieldname2);
		val = form2.value;
		if (val == "" || val == null)
		{
			alert("Please enter your fax no.");
			form2.select();
			return false;		
		}
		else
		{
			if (val.length != 3)
			{
				alert("Please enter valid fax no.");
				form2.select();
				return false;
			}
		}

		var form3 = eval("document."+frmname+"."+fieldname3);
		val = form3.value;
		if (val == "" || val == null)
		{
			alert("Please enter your fax no.");
			form3.select();
			return false;		
		}
		else
		{
			if (val.length != 4)
			{
				alert("Please enter valid fax no.");
				form3.select();
				return false;
			}
		}
		
	return true;
}

function checkCombo(frmName,fieldName)
{
	var myForm = eval("document."+frmName+"."+fieldName);	
	if(myForm.value == null || myForm.value == '')
	{		
			myForm.focus();
			return false;			
	}
	return true;
}