
/**
 * Declaration Global Variables.
 */
// Declaration of form variables
var formObj1, formObj2, formObj3;

//Declation of other variables
var alertMsg, elmentName, range1, range2;
javascript:window.history.forward(1);


/**
 *Method Name	: trim
 *@param	: String
 *@return	: String
 *Description	: This method is used to remove the blank spaces.
 */
function trim(InputString)
{
	// for left trim
	/*reg = /^(\s+)/;
	
	InputString = InputString.replace(reg,RegExp.$1,"");

	// for right trim
	reg = /(\s+)$/;
	InputString = InputString.replace(reg,RegExp.$2,"");
	display("trim ++> "+InputString)*/


	while(InputString.charAt(0)==' ')
	{
		InputString = InputString.substr(1);
	}
	while(InputString.charAt(InputString.length)==' ')
	{
		InputString = InputString.substr(0,InputString.length-1);
	}

	return InputString;
}

/**
 *Method Name	: isEmpty
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is empty or
 		  not. And displays error message inside the method along with
		  value given as second parameter, if any.
 */
function isEmpty(formObj, errorMessage)
{	
	if(formObj.type=="select-one")
	{
		if(formObj.options[0].selected)
		{
		if(errorMessage)
		{
			display(errorMessage);
		}
		formObj.focus();
		return true;
		}
		else return false;
	}
	if(!formObj.value)
	{
		if(errorMessage)
		{
			display(errorMessage);
		}
		formObj.focus();
		return true;
	}
	else
	{
		return false;
	}
}


/**
 *Method Name	: isEmpty
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element contains valid Number or
 		  not. And displays error message inside the method along with
		  value given as second parameter, if any.
 */
function isNumber(formObj, errorMessage)
{
	if(isNaN(formObj.value))
	{
		if(errorMessage)
		{
			display(errorMessage );
		}

		formObj.focus();
		return false;
	}
	else
	{
		return true;
	}

}
function isWholeNumber(formObj, errorMessage)
{
	if(isNaN(formObj.value))
	{
		if(errorMessage)
		{
			display(errorMessage );
		}

		formObj.focus();
		return false;
	}
	else
	{
		if((formObj.value.indexOf(".")>-1) || (formObj.value.indexOf("-")>-1))
		{
			display(errorMessage );
			formObj.focus();
			return false;
		}
		return true;
	}

}




/**
 *Method Name	: isValidName
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is
 		  proper name type. And displays error message inside
		  the method along with value given as second parameter, if any.
 */

//Using the same function for checking the Profession Field

function isValidName(nameObj, errorMessage)
{

	reg = /^[A-Z]+\.[A-Z\s]+$|^[A-Z]+[A-Z\s]+$/i;

	if(reg.test(nameObj.value))
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		nameObj.focus();
		return false;
	}

}
function isAlphaNumeric(nameObj, errorMessage)
{
	
	if(nameObj.value!="" && nameObj.value!= null && nameObj.length != 0)
	{
		reg = /^[A-Z0-9]+$/i;
		

		if(reg.test(nameObj.value))
		{
		   
			return true;
		}
		
		else
		{
			if(errorMessage)
			{
				
				display(errorMessage );
			}
			nameObj.focus();
			return false;
		}
	}
	else
	{
		return true;
	}
}

function isAlphaNumericWithSpace(nameObj, errorMessage)
{

   	reg = /^[A-Z\s0-9\s]+$/i;

	if(reg.test(nameObj.value))
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		nameObj.focus();
		return false;
	}

}

function isLastName(nameObj, errorMessage)
{

	reg = /^[A-Z]+[\sA-Z']*[A-Z]*$/i;

	if(reg.test(nameObj.value))
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		nameObj.focus();
		return false;
	}

}


/**
 *Method Name	: isValidPhone
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is
 		  proper phone number. And displays error message
		  inside the method along with value given as second parameter,
		  if any.
 */
function isValidPhone(phoneObj, errorMessage)
{

	reg = /^([0-9\s]+[\s]*[\-]*[\s]*)*[0-9]+$/i;

	if(reg.test(phoneObj.value))
	{

		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}

		phoneObj.focus();
		return false;
	}

}



/**
 *Method Name	: isValidDate
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is in
 		  proper date format. And displays error message inside the
		  method along with value given as second parameter, if any.
		  Date Format : DD-MM-YYYY
 */
function isValidDate(dateObj, errorMessage)
{
	var ret = true;
	var message = "";
	var dayArr = new Array(31 , 28 , 31 , 30 , 31 , 30 , 31, 31, 30, 31, 30, 31);
	reg = /^[0-9]{1,2}\-[0-9]{1,2}\-[0-9]{2,4}$/i;
	if(reg.test(dateObj.value))
	{
		var stra = dateObj.value.split("-");

		if(stra[0]<1 || stra[1]<1 || stra[2]<1)
		{
			ret = false;
		}
		if(stra[1]>12)
		{
			ret = false;
			message = " Invalid month ";
		}
		if((stra[2]%4)==0 && stra[1]==2 )
		{
			if(stra[0]>29)
			{
				ret = false;
				message = " Invalid Day ";

			}

		}
		if(dayArr[--stra[1]] < stra[0])
		{
			ret = false;
			message = " Invalid Day ";
		}

	}
	else
	{
		ret = false;
	}

	if(ret)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage + " \n " + message);
		}

		dateObj.focus();
		return false;
	}

}



/**
 *Method Name	: isValidDate
 *@param	: Form Object, Form Object, Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is in
 		  proper date format. And displays error message inside the
		  method  along with value given as fourth parameter, if any.
		  Argument 1 : DD
		  Argument 2 : MM
		  Argument 3 : YYYY
*/
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function isDate (tday,tmonth,tyear, errorMessage) {
day = tday.value;
month = tmonth.value;
year = tyear.value;
// checks if date passed is valid
// will accept dates in following format:
// isDate(dd,mm,ccyy), or
// isDate(dd,mm) - which defaults to the current year, or
// isDate(dd) - which defaults to the current month and year.
// Note, if passed the month must be between 1 and 12, and the
// year in ccyy format.

    var today = new Date();
    year = ((!year) ? y2k(today.getYear()):year);
    month = ((!month) ? today.getMonth():month-1);
    if (!day) return false
    var test = new Date(year,month,day);
	if(!(day == test.getDate()))
	{
		display("Please enter a proper Date in "+errorMessage);
		tday.focus();
		return false;
	}
	if (!(month == test.getMonth()))
	{
		display("Please enter a proper Month in "+errorMessage);
		tmonth.focus();
		return false;
	}
    if (!(y2k(test.getYear()) == year))
	{
		display("Please enter a proper Year in "+errorMessage);
		tyear.focus();
		return false;
	}
    return true;
}

function isValidDate1(dayFormObj,monthFormObj, yearFormObj, errorMessage)
{
	if(isDate(dayFormObj,monthFormObj, yearFormObj, errorMessage)==true)
	{
		return true;
	}
	else
	{
		return false;
	}

}

function dateOfBirth(day, month, year, errorMessage)
{
    var test = new Date();
	testValue = (parseInt(y2k(test.getYear()))*365)+((parseInt(test.getMonth())+1)*12)+parseInt(test.getDay());
	orgValue = (parseInt(y2k(year.value))*365)+(parseInt(month.value)*12)+parseInt(day.value);
    if ((testValue-orgValue) < (18*365))
	{
		display(errorMessage);
		year.focus();
		return false;
	}
	return true;
}

/**
 *Method Name	: isSelected
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether atleast one form element
 		  from form element group is selected. And displays error
		  message inside the method along with value given as second parameter
		  , if any.
 */
function isSelected(formObj, errorMessage)
{
	var flag = false;
	for( i=0;i<formObj.length;i++)
	{
		if(formObj[i].checked)
		{
			flag = true;
			break;
		}

	}
	if(flag)
	{

		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		return false;

	}
}


/**
 *Method Name	: isInRange
 *@param	: Form Object, int , int ,String
 *@return	: boolean
 *Description	: This method is used to check whether the form object is in the given
 		  range (specified by range parameters). And displays error
		  message inside the method along with value given as last parameter ,
                  if any.
 */
function isInRange(formObj, fromValue , toValue ,errorMessage)
{
	if(formObj.value >= fromValue && formObj.value <= toValue)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			formObj.focus();
		}
		return false;
	}
}


/**
 *Method Name	: isAlphaOnly
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form object is in alphabets.
 		  And displays error message inside the method along with value given
                  as second parameter , if any.
 */
function isAlphaOnly(formObj, errorMessage)
{
	reg = /^[A-Za-z ]+$/i;

	if(reg.test(formObj.value))
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		formObj.focus();
		return false;
	}

}


/**
 *Method Name	: copy
 *@param	: Form Object ,Form Object ,String
 *@return	: boolean
 *Description	: This method is used to copyvalue from one form object to another.
 		  And displays error message inside the method along with value given
                  as last parameter , if any.

 */

function copy(fromFormObj, toFormObj ,errorMessage)
{
	if(fromFormObj.selectedIndex==-1)
	{
		display(errorMessage);
		return false;
	}
	var iCount;
	for(iCount = 0;iCount<fromFormObj.options.length;iCount++)
	{
		if(fromFormObj.options[iCount].selected == true)
		{
			var text = fromFormObj.options[iCount].text;
			var val = fromFormObj.options[iCount].value;
			var iCount1 = 0;
			var present = false;
			if(toFormObj.options.length == 0)
			{
				objOpt = new Option(text,val);
				toFormObj.add(objOpt);
			}//if(toFormObj.options.length == 0)
			else
			{
				var val1 = val;
				var flag = true;
				for(var ICount = 0;ICount < toFormObj.options.length; ICount++)
				{

					if (toFormObj.options[ICount].value == val1)
					{
						flag= false;
						break;
					}
				}
				if(flag)
				{
					objOpt = new Option(text,val);
					toFormObj.add(objOpt);
				}//if(flag)
			}
		}//if(fromFormObj.options[iCount].selected == true)
	}//for(iCount = 0;iCount<fromFormObj.options.length;iCount++)

	return true;
}

/**
 *Method Name	: move
 *@param	: Form Object ,Form Object ,String
 *@return	: boolean
 *Description	: This method is used to move value from one form object to another.
 		  And displays error message inside the method along with value given
                  as last parameter , if any.

 */

function move(fromFormObj, toFormObj ,errorMessage)
{
	if(fromFormObj.selectedIndex==-1)
	{
		display(errorMessage);
		return false; 
	}
	var iCount;
	for(iCount = 0;iCount<fromFormObj.options.length;iCount++)
	{
		if(fromFormObj.options[iCount].selected == true)
		{	
			var text = fromFormObj.options[iCount].text;
			var val = fromFormObj.options[iCount].value;
			var iCount1 = 0;
			var present = false;
			if(toFormObj.options.length == 0)
			{
				objOpt = new Option(text,val);
				toFormObj.add(objOpt);				
				fromFormObj.remove(fromFormObj.selectedIndex);
			}//if(toFormObj.options.length == 0)
			else
			{
				var val1 = val;
				var flag = true;
				for(var ICount = 0;ICount < toFormObj.options.length; ICount++)
				{
	
					if (toFormObj.options[ICount].value == val1)
					{
						flag= false;
						break;
					}
				}
				if(flag)
				{
					objOpt = new Option(text,val);
					toFormObj.add(objOpt);					
					fromFormObj.remove(fromFormObj.selectedIndex);
				}//if(flag)
			}
		}//if(fromFormObj.options[iCount].selected == true)	
	}//for(iCount = 0;iCount<fromFormObj.options.length;iCount++)

	return true;
}


/**
 *Method Name	: clear
 *@param	: Form Object
 *@return	: void
 *Description	: This method is used to clear the form object
 */

function clearField(formObj)
{

	if(formObj.type == "text" || formObj.type == "textarea" || formObj.type == "select-one")
	{

		formObj.value="";
		return;
	}
	else if(formObj.type != "select-multiple")
	{
		formObj.checked = false;
		return;	
	}
	if(formObj.length)
	{
		for(k=0;k<formObj.length;k++)
		{
			if(formObj.type == "select-multiple")
			{
				formObj[k].selected = false;
			}
			else
			{
				formObj[k].checked = false;
			}
		}
	
	}

}

/**
 *Method Name	: clearAll
 *@param	: Form Object
 *@return	: void
 *Description	: This method is used to clear the form object
 */

function clearAll(formObj)
{
	display(formObj.elements.length);
	for(j=0;j<formObj.elements.length;j++)
	{	
		clearField(formObj.elements[j]);
	}
	
}

/**
 *Method Name	: refresh
 *@param	: void
 *@return	: void
 *Description	: This method is used to refresh the page
 */

function refresh()
{
	window.location.reload();
}


/**
 *Method Name	: isValidPin
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form object is in proper
 		  pin code format. And displays error message inside the method
                  along with value given as second parameter , if any.
 */
function isValidPin(formObj, errorMessage)
{
	reg = /^([0-9]+[\s]*)*[0-9]+$/i;
	
	if(reg.test(formObj.value))
	{
		
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}

		formObj.focus();
		return false;
	}
}


/**
 *Method Name	: isEqual
 *@param	: Form Object, Form Object ,String
 *@return	: boolean
 *Description	: This method is used to check whether the two form objects are equal.
 		  And displays error message inside the method along with value given
                  as last parameter , if any.
 */
function isEqual(formObj1, formObj2, errorMessage)
{
	if(formObj1.value == formObj2.value)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		return false;
	}
}


/**
 *Method Name	: isValidStartEndDate
 *@param	: Form Object, Form Object ,String
 *@return	: boolean
 *Description	: This method is used to check whether the form objects are in proper
 		  date format. And displays error message inside the method along
                  with value given as last parameter, if any.
		  Date Format : DD-MM-YYYY
 */
  function lessthanToday2(date1,errorMessage)
{


   var dat1 = date1.value;
   var arr1 = dat1.split("/");
   var dayStartDate = arr1[0];
   var monthStartDate = arr1[1];
    var yearStartDate = arr1[2];    
	dt1= new Date(yearStartDate,monthStartDate-1,dayStartDate);

	dt2= new Date();
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage);
		}
			date1.focus();
			return false;
	}
	
}
function gthanToday1(date1,errorMessage)
{
     var dat1 = date1.value;
   var arr1 = dat1.split("/");
   var dayStartDate = arr1[0];
   var monthStartDate = arr1[1];
    var yearStartDate = arr1[2];  
	dt1= new Date(yearStartDate,monthStartDate-1,dayStartDate);
	dt2= new Date();
	if(dt1>dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			date1.focus();
		}
		return false;
	}
	
}
function isValidStartEndDate2(date1,date2,errorMessage)
{
	 var dat1 =date1.value;
     var arr1 = dat1.split("/");
     var dayStartDate = arr1[0];
     var monthStartDate = arr1[1];
     var yearStartDate = arr1[2];
	 var dat2 =date2.value;
     var arr2 = dat2.split("/");
     var dayEndDate = arr2[0];
     var monthEndDate = arr2[1];
     var yearEndDate = arr2[2];

	dt1= new Date( yearStartDate,monthStartDate-1,dayStartDate);
	dt2= new Date( yearEndDate,monthEndDate-1,dayEndDate);
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			date2.focus();

		}
		return false;
	}
	
}


function isValidStartEndDate(startDate, endDate,errorMessage)
{
	
	if(!(isValidDate(startDate) && isValidDate(endDate) ) )
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		return false;
	}
	stra = startDate.value.split("-");
	dt1= new Date(stra[2] , --stra[1] , stra[0]);
	stra = endDate.value.split("-");
	dt2= new Date(stra[2] , --stra[1] , stra[0]);
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		return false;
	}
	
}


/**
 *Method Name	: isValidStartEndDate
 *@param	: Form Object, Form Object, Form Object, Form Object, Form Object, Form Object,String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is in
 		  proper date format. And displays error message inside the
		  method  along with value given as last parameter, if any.
		  Argument 1 : DD
		  Argument 2 : MM
		  Argument 3 : YYYY
 */
function isValidStartEndDate1(dayStartDate, monthStartDate, yearStartDate, dayEndDate , monthEndDate, yearEndDate, errorMessage)
{
	if(!(isValidDate1(dayStartDate, monthStartDate, yearStartDate) && isValidDate1(dayEndDate , monthEndDate, yearEndDate)))
	{
		if(errorMessage)
		{
			display(errorMessage);
		}
		return false;
	}

	dt1= new Date( yearStartDate.value, monthStartDate.value-1, dayStartDate.value);
	dt2= new Date( yearEndDate.value, monthEndDate.value-1, dayEndDate.value);
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			dayStartDate.focus();

		}
		return false;
	}
	
}


/**
 *Method Name	: selectAll
 *@param	: Form Object
 *@return	: boolean
 *Description	: This method is used to

 */
function selectAll(formObj)
{
	for(i=0;i<formObj.length;i++)
	{
		if(formObj.type=="select-multiple")
		{
			formObj[i].selected = true;
		}
		else
		{
			formObj[i].checked = true;
		}
		
	}
	return true;

}



/**
 *Method Name	: display
 *@param	: String
 *@return	: none
 *Description	: This method is used display the alert message to the users.
 */
function display(alertMsg)
{
	alert(alertMsg);
}

function lessthanToday(dayStartDate, monthStartDate, yearStartDate, errorMessage)
{
	dt1= new Date( yearStartDate.value, monthStartDate.value-1, dayStartDate.value);
	dt2= new Date();
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
			dayStartDate.focus();
			return false;
	}
	
}



function gthanToday(dayStartDate, monthStartDate, yearStartDate, errorMessage)
{
	dt1= new Date( yearStartDate.value, monthStartDate.value-1, dayStartDate.value);
	dt2= new Date();

//alert("the value is"+dt1)
//alert(dt2)



	if(dt1>dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			dayStartDate.focus();
		}
		return false;
	}
	
}

function LThan12(dayStartDate, errorMessage)
{
var test = parseInt(dayStartDate.value) 
var two = 12;

	if(test<two)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			dayStartDate.focus();
			dayStartDate.value="";
	}
		return false;
	}
}

function LThan100(dayStartDate, errorMessage)
{
var test = parseInt(dayStartDate.value) 
var two = 100;

	if(test<two)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			dayStartDate.focus();
			dayStartDate.value="";
	}
		return false;
	}
}

function LThan31(dayStartDate, errorMessage)
{
var test = parseInt(dayStartDate.value) 
var two = 31;

	if(test<two)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
			dayStartDate.focus();
			dayStartDate.value="";
	}
		return false;
	}
}


function lessthanToday1(date1,errorMessage){
    	var dat1 = date1;
  	    var arr1 = dat1.split("/");
        var dayStartDate = arr1[0];
        var monthStartDate = arr1[1];
        var yearStartDate = arr1[2];    
			dt1= new Date( yearStartDate.value, monthStartDate.value-1, dayStartDate.value);
			dt2= new Date();
	if(dt1<=dt2)
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
			dayStartDate.focus();
			return false;
	}
	
}

function isAlpha(field,msg){
var alpha=/^[a-zA-Z\ ]*$/;
if(!alpha.test(field.value))
{
alert(msg);
field.focus();
return false;
}
return true;
}

function isChecked(field,msg){
    if(!field.checked){
       alert(msg);
       return false;
       }
    return true;
  }
  
  function isRequired(field,msg){
  if(field.value=="" || trimSpace(field.value).length==0){
      alert(msg);
      field.focus(); 
      return false;
      }
      return true; 
  }
  
  function isDropDownSelected(field,msg){
    if(field.options[0].selected){
       alert(msg);
	   field.focus();
       return false;
       }
    return true;
  }

function isControlExists(form,ctrlname)
{
  var tot_elems        = form.elements.length;
  for(var i=0;i<tot_elems;i++)
  {
    if(form.elements[i].name ==ctrlname) 
		return true;
  }
  return false;
}

function isMinor(date1,dateString){
var dat1 = date1.value;
var arr1 = dat1.split("/");
var dd = arr1[0];
var mm = arr1[1];
var yy = arr1[2];  
main="valid";
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == "") || (dd == "") || (yy == ""))
main ="Invalid";
else 
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30))
main = "Invalid";
else 
if (mm == 2) {
if (dd > 29)
main = "Invalid";
else if((dd > 28) && (!lyear(yy)))
main="Invalid";
}
else
if((yy > 9999)||(yy < 0))
main = "Invalid";
else
main = main;
if(main == "valid") {
function leapyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0))

return true;
else 
return false;
}
var dateString = dateString.value;
var arr1 = dateString.split("/");
var gdate = arr1[0];
var gmonth = arr1[1];
var gyear = arr1[2];
age = gyear - yy;
if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) {
age = age;
}
else {
if(mm <= (gmonth)) {
age = age;
}
else {
age = age - 1; 
   }
}
if(age == 0)
age = age;
alert(age);
if(age<18)
{
return true;
}
else
{
return false;
}
} 
}

/*Method written by Amar Pandav.*/
function isAgeValid(day, month, year, errorMessage)
{

    var test = new Date();
	testValue = (parseInt(y2k(test.getYear()))*365)+((parseInt(test.getMonth())+1)*12)+parseInt(test.getDay());
	
	orgValue = (parseInt(y2k(year))*365)+(parseInt(month)*12)+parseInt(day);

	    if (((testValue-orgValue)+1) < (18*365) || ((testValue-orgValue)+1) > (70*365))
	{
		alert(errorMessage);
	//	year.focus();
		return false;
		
	}
	return true;
}
/*Method End.*/


function trimSpace(x)
{
	var emptySpace = / /g;
	var trimAfter = x.replace(emptySpace,"");
	return(trimAfter);
}
/* To validate Email id as per Sangam standards   */
function isValidEmail(tempValue,errorMessage)
{
	var checkOk = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.@";
	if (!(checkString((tempValue.value),checkOk)) || (!validateMail((tempValue.value)))){
		 alert(errorMessage);
		 tempValue.focus();
		 return false;
	}
	else if(tempValue.value.indexOf(" ")!=-1)
	{
		 alert(errorMessage);
		 tempValue.focus();
		 return false;
	}
	else{
		return true;
	}
}

function checkString(tempValue,checkOk){
	var checkStr = (tempValue);
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOk.length;  j++)
			if (ch == checkOk.charAt(j))
				break;
			if (j == checkOk.length){
				allValid = false;
				break;
			}
		}
		if (!allValid){
			return (false);
		}else {
		  return (true);
		}
}

function isEmbossingName(nameObj, errorMessage)
{

	reg = /^[A-Z]+[\s][A-Z']+[\s A-Z]*$/i;

	if(reg.test(trim(nameObj.value)))
	{
		return true;
	}
	else
	{
		if(errorMessage)
		{
			display(errorMessage );
		}
		nameObj.focus();
		return false;
	}

}

function validateMail(tempValue){
	var checkStr = (tempValue);
	var count = 0;
	checkemail1=false;
	checkemail2=false;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		if (ch==".")
			checkemail1=true;
		}
		for (i = 0;  i < checkStr.length;  i++){
			ch = checkStr.charAt(i);
			if (ch=="@"){
				count++;
				checkemail2=true;
			}
		}
		if (count > 1){
			return false;
		}
		if (!(checkemail1 && checkemail2)){
			return (false);
		}else{
			var n=checkStr.length;
			var textValue=".";
			var i=checkStr.indexOf(textValue);
			var l=checkStr.lastIndexOf(textValue);
			var checklen=checkStr.substring(i,n);
			var checklast=checkStr.substring(l,n);
			if (checklen.length<=1 || checklast.length<=1){
				return (false);
			}else {
				return (true);
			}
		}
		}


	
	/*  ........... AGE VALIDATION NEW......      */	
function isAgeValidNew(day1,month1,year1,str,errorMessage)
{


		var yy = str.substring(6,10) ;
	   var mm = str.substring(3,5) ;
	   var dd = str.substring(0,2) ;

		var year =eval(yy-year1);
		var month= eval(month1-mm);
		var day = eval(dd-day1);
	
		 if( year>18 && year<70)
		{
				return true;
		}
	
		 if( year<18 || year>70)
		{
			alert(errorMessage);
			return false;
		}
		 else 		 
		{
			if (year==18){
				if (month1 < mm){
						
						return true;
					// less than current month 
				}
				else
				{
					if (month1 > mm){
						alert(errorMessage );
						return false;
					// year same month invalid
					}
					else{
						if (month1 == mm){				
							if (day1 > dd)
							{
								alert(errorMessage);
								return false;
								// year same, month same, date less
							}
							else{
								return true;
							}
						}
					}
				}
			}

			if (year==70){
				if (month1 > mm){
					
						return true;
					// greater than current month 
				}
				else
				{
					if (month1 < mm){
						alert(errorMessage);
						return false;
					// year same month invalid
					}
					else{
						if (month1 == mm){				
							if (day1 < dd)
							{
								alert(errorMessage);
								return false;
								// year same, month same, date less
							}
							else{
								return true;
							}
						}
					}
				}
			}
		}
	return true;
}
/*Method End.*/


function isCompanyName(nameObj, errorMessage)
{
   
	for (var i = 0; i < nameObj.length; i++)
		{
			var checkStr=nameObj.value;
			var ch = checkStr.charAt(i);
			if ( ((ch < 'a' || 'z' < ch) && (ch < 'A' || 'Z' < ch)) && (ch < '0' || '9' < ch))
			{
			alert(errorMessage);
			nameObj.focus();
			return false;
			}
		}

	if((nameObj.value.indexOf("@")!=-1)||(nameObj.value.indexOf("$")!=-1)||(nameObj.value.indexOf("%")!=-1)||(nameObj.value.indexOf("^")!=-1)||(nameObj.value.indexOf("*")!=-1)||(nameObj.value.indexOf("+")!=-1)||(nameObj.value.indexOf("|")!=-1))
	{
		alert(errorMessage);
		nameObj.focus();
		return false;
	}
	else if((nameObj.value.indexOf("!")!=-1)||(nameObj.value.indexOf("#")!=-1)||(nameObj.value.indexOf("?")!=-1)||(nameObj.value.indexOf("<")!=-1)||(nameObj.value.indexOf(">")!=-1)||(nameObj.value.indexOf(":")!=-1)||(nameObj.value.indexOf(";")!=-1))
	{
		alert(errorMessage);
		nameObj.focus();
		return false;
	}
	else if((nameObj.value.indexOf("\\")!=-1)||(nameObj.value.indexOf("\"")!=-1)||(nameObj.value.indexOf("_")!=-1)||(nameObj.value.indexOf("\=")!=-1)||(nameObj.value.indexOf("{")!=-1)||(nameObj.value.indexOf("}")!=-1))
	{
		alert(errorMessage);
		nameObj.focus();
		return false;
	}
	return true;	

}

function isValidCardHeldSince(nameObj,currDate,errorMessage)
{
	var dateStr= nameObj.value.substring(0,2);
    var yearStr= nameObj.value.substring(2,6);
    var currMonth = currDate.substring(3,5);
    var currYear = currDate.substring(6,10);
   
	if(nameObj.value.length!=6)
	{
	  
	  alert(errorMessage);
	  nameObj.focus();
	  return false;
	}

   else if(1 >eval(dateStr))
		{
		  alert(errorMessage);
		  nameObj.focus();
		  return false;

		} 
	else if( eval(dateStr)>12)
	{
	
	  alert(errorMessage);
	  nameObj.focus();
	  return false;

	} 
    
	else if(eval(currYear) < eval(yearStr))
	  {
	
		alert(errorMessage);
		nameObj.focus();
		return false;
	 }

    else if(eval(currYear)==eval(yearStr))
	{
		if(eval(dateStr)>eval(currMonth))
		{
	
		alert(errorMessage);
		nameObj.focus();
		return false;
		}

	}

return true;	
}

/**
 *Method Name	: isValidEmail
 *@param	: Form Object, String
 *@return	: boolean
 *Description	: This method is used to check whether the form element is
 		  proper email address. And displays error message
		  inside the method along with value given as second parameter,
		  if any.
 */



function isValidEmailNew(emailObj,errorMessage) {

		var emailStr=emailObj.value;

               if (emailStr.length == 0) {
                   return true;
               }
               var emailPat=/^(.+)@(.+)$/;
               var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
               var validChars="\[^\\s" + specialChars + "\]";
               var quotedUser="(\"[^\"]*\")";
               var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
               var atom=validChars + '+';
               var word="(" + atom + "|" + quotedUser + ")";
               var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
               var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
               var matchArray=emailStr.match(emailPat);
               if (matchArray == null) {
		   alert(errorMessage);
		   emailObj.focus();
                   return false;
               }
               var user=matchArray[1];
               var domain=matchArray[2];
               if (user.match(userPat) == null) {
		   alert(errorMessage);
		   emailObj.focus();
                   return false;
               }
               var IPArray = domain.match(ipDomainPat);
               if (IPArray != null) {
                   for (var i = 1; i <= 4; i++) {
                      if (IPArray[i] > 255) {
			 alert(errorMessage);
			 emailObj.focus();
                         return false;
                      }
                   }
                   return true;
               }
               var domainArray=domain.match(domainPat);
               if (domainArray == null) {
		   alert(errorMessage);
		   emailObj.focus();
                   return false;
               }
               var atomPat=new RegExp(atom,"g");
               var domArr=domain.match(atomPat);
               var len=domArr.length;
               if ((domArr[domArr.length-1].length < 2) ||
                   (domArr[domArr.length-1].length > 3)) {
		   alert(errorMessage);
		   emailObj.focus();
                   return false;
               }
               if (len < 2) {
		   alert(errorMessage);
		   emailObj.focus();
                   return false;
               }
               return true;

            }
