
//function to change date format from any to mm/dd/yyyy.
function ChangeDateFormat(sDate, sform1)
{
	var arrInts1;
	var aDf1;
	var iMonth1, iDay1, iYear1;
	var sDelimChar = "/";
	
	if(sform1==null || sform1=="")
	{
		sform1="mm/dd/yyyy";
	}
	
	var sCheckDelim = sform1.indexOf("/");
	if (sform1.indexOf("/")!=-1)
	{
		sDelimChar = "/";
		
	}
	else if(sform1.indexOf("-")!=-1)
	{
		sDelimChar = "-";
	}
	else if(sDateFormat.indexOf(".")!=-1)
	{
		sDelimChar = ".";
	}
	else if(sDateFormat.indexOf(",")!=-1)
	{
		sDelimChar = ",";
	}
	else if(sDateFormat.indexOf(", ")!=-1)
	{
		sDelimChar = ", ";
	}
	else if(sDateFormat.indexOf(" ")!=-1)
	{
		sDelimChar = " ";
	}
	
		
	arrInts1 = sDate.split(sDelimChar);
	aDf1 = sform1.split(sDelimChar);
	
	for(var i=0; i<aDf1.length; i++)
	{
		
		if(aDf1[i].match(/^[Dd]/))
			iDay1  = arrInts1[i];
		else if(aDf1[i].match(/^[Mm]/))
			iMonth1 = arrInts1[i];
		else if(aDf1[i].match(/^[Yy]/))
		{
			iYear1 = arrInts1[i];
		}
	}

	return iMonth1 + "/" + iDay1 + "/" + iYear1; 
}
///////////////////////////////////////////////////////////////////////////////
// Format an input text box depending upon mask
function _FORMAT_MASK(objTextBox, sMask, ev) {
		
		
		var iKeyCode = 0, i=0;
		if(sMask==null || sMask=="")
			return;	
		if(document.all){
			iKeyCode=event.keyCode;
		}
		else{
			iKeyCode=ev.which;
		}
		
		var val = objTextBox.value;
		var StrChar = val.substring(val.length-1, val.length);
		//alert(sMask);
		//alert(val.length);
		//alert(sMask.charAt(val.length));
		var MskChar = sMask.charAt(val.length); 
		
		if (MskChar=='x' || MskChar==' ')
		{
		 if(iKeyCode < 48 || iKeyCode > 57)
			   {
					if(document.all)
					{
						event.keyCode=0;
					} 
					else
					{
						ev.which=0;
					}
					return false;
				}
			//return true;	
		}
		
		if(String.fromCharCode(iKeyCode)=="-" || String.fromCharCode(iKeyCode)=="/" || String.fromCharCode(iKeyCode)=="." || String.fromCharCode(iKeyCode)==" ")
		{
			if(document.all)
			{
				event.keyCode=0;
			}
			else
			{
				ev.which=0;
			}
			return false;
		}
		if(MskChar=="")
		{
			if(document.all)
			{
				event.keyCode=0;
			}
			else
			{
				ev.which=0;
			}
			return false;
		}	
			
		if( MskChar=='#' || MskChar=='d' || MskChar=='m' || MskChar=='y' || MskChar=='0' )
		{
			   if(iKeyCode < 48 || iKeyCode > 57)
			   {
					if(document.all)
					{
						event.keyCode=0;
					} 
					else
					{
						ev.which=0;
					}
					return false;
				}
		}	
		else if (MskChar=='/' || MskChar==' ' || MskChar=='-' || MskChar=='.' || MskChar==',') 
		{
			objTextBox.value += MskChar;
			return true;	
		}
		else if (MskChar=='x')
		{
			return true;	
		}
		else if (MskChar=='c')
		// allow only chars.
		{
			if(iKeyCode < 65 || (iKeyCode > 90 && iKeyCode < 97) || (iKeyCode > 122))
			{
				if(document.all)
				{
					event.keyCode=0;
				} 
				else
				{
					ev.which=0;
				}
				return false;
			}
			
		}
		
		else
		{
			if (MskChar!=StrChar)
			{
				if(document.all)
				{
					event.keyCode=0;
				}
				else
				{
					ev.which=0;
				}
				return false;
			}
		}
		
}
function COMPARE_DATES(Date1,IsDate1Ctrl,Date2,IsDate2Ctrl,strDateFormat){
		var dtDate1,dtDate2;		
		
		if(IsDate1Ctrl)
			if(Date1)
				dtDate1 = Date1.value;
			else{
				sErrorMessage = "Source not a object.";
				return;
			}
		else
			dtDate1 = Date1;
			
		if(IsDate2Ctrl)
			if(Date2)
				dtDate2 = Date2.value;
			else{
				sErrorMessage = "Source not a object.";
				return;
			}
		else
			dtDate2 = Date2;
			if(strDateFormat == "dd/mm/yy")
			{
				var dtTempdate2 = dtDate1.split("/");	
				var dtTemp=dtTempdate2[2];							
				var dtTempYr=Get4DigitYear(dtTemp);				
				dtDate1=dtTempdate2[0] + "/" + dtTempdate2[1] +"/" + dtTempYr;	
				
				var dtTempdate2 = dtDate2.split("/");	
				var dtTemp=dtTempdate2[2];							
				var dtTempYr=Get4DigitYear(dtTemp);				
				dtDate2=dtTempdate2[0] + "/" + dtTempdate2[1] +"/" + dtTempYr;						
			}			
		
		if(STRING_TO_DATE(dtDate1,strDateFormat).getTime() ==  STRING_TO_DATE(dtDate2,strDateFormat).getTime())
			return 0;
		else if(STRING_TO_DATE(dtDate1,strDateFormat).getTime() >  STRING_TO_DATE(dtDate2,strDateFormat).getTime())
			return 1;
		else
			return 2;
}

function STRING_TO_DATE(dateValue,strDateFormat){
		var strDate = dateValue.split("/");
		var iMM,iDD,iYYYY
		
		var strDateFormat1=strDateFormat.split("/");
		//alert(strDateFormat1.length);
		for(i=0;i<strDateFormat1.length;i++)
		{
			if (strDateFormat1[i]=="mm" )
			{
				iMMIndex=i;
			}
			else if(strDateFormat1[i]=="yyyy")
			{
				iYYYYIndex=i;
			}
			else if(strDateFormat1[i]=="dd")
			{
				iDDIndex=i;
			}
		}
		
		
		iMM = eval("parseInt(strDate[" + iMMIndex + "].replace(/^0*/g,''))");		
		iDD = eval("parseInt(strDate[" + iDDIndex + "].replace(/^0*/g,''))");
		iYYYY = eval("parseInt(strDate[" + iYYYYIndex + "].replace(/^0*/g,''))");
		iMM = iMM - 1
		var dtDate = new Date(iYYYY,iMM,iDD);
		return dtDate;
}
	
function IS_DATE(Source,IsSourceCtrl,sMessage,NoFocus,strDateFormat){
	var dtDate;
	if(IsSourceCtrl)
		if(Source)
			dtDate = Source.value;
		else{
			sErrorMessage = "Source not a object.";
			return;
		}
	else
		dtDate = Source;
		if(dtDate == "")		
		{
			alert("Please enter \"Due to Mx\" Date"); 
			return false;
		}
		
		if(document.frmAddDFO.LangId.value == "1")
			{
				
				var dtTempdate2 = dtDate.split("/");
				if(dtTempdate2.length == 3){	
					var dtTemp= dtTempdate2[2];							
					var dtTempYr=Get4DigitYear(dtTemp);								
					dtDate = dtTempdate2[0] + "/" + dtTempdate2[1] + "/" + dtTempYr;							
				}	
				else{
				alert(sMessage);
				return false;
				}
			}
	
	if(dtDate != ""){	
		if(!dtDate.match(/[^0-9\/]/g,"")){			
			var strDate = dtDate.split("/");
			var sMM,sDD,sYYYY;
			if(strDate.length == 3){			
			var strDateFormat1=strDateFormat.split("/");		
			for(i=0;i<strDateFormat1.length;i++)
			{
				if (strDateFormat1[i]=="mm" )
				{
					iMMIndex=i;
				}
				else if(strDateFormat1[i]=="yyyy")
				{
					iYYYYIndex=i;
				}
				else if(strDateFormat1[i]=="dd")
				{
					iDDIndex=i;
				}
			}
							
				sMM=eval("strDate[" + iMMIndex + "].replace(/^0*/g,'')");				
				sDD=eval("strDate[" + iDDIndex + "].replace(/^0*/g,'')");
				sYYYY=eval("strDate[" + iYYYYIndex + "].replace(/^0*/g,'')");
							
				if(! (isNaN(sMM) || isNaN(sDD) || isNaN(sYYYY)) )	{
					if(parseInt(sMM) >=1 && parseInt(sMM) <=12){
						var sToday = new Date();
						if(parseInt(sYYYY) >= eval(sToday.getFullYear()-100) && parseInt(sYYYY) <= eval(sToday.getFullYear()+100)){							
							if(parseInt(sDD) >= 1 && parseInt(sDD) <= _GET_MAX_DAYS(parseInt(sMM),parseInt(sYYYY))){					
								return true;
								
							}
						}
					}
				}
			}
		}
		else{
			sErrorMessage = "Invalid characters.";
		}
	}
	else{
		sErrorMessage = "Null string.";		
		sMessage="Please enter \"Due to Mx\" Date"; 
	}
	if(sMessage && IsSourceCtrl){
		alert(sMessage);
		if(!NoFocus){
			if(! Source.disabled){
				//Source.select();
				//Source.focus();
			}
		}
	}
	return false
}

function _GET_MAX_DAYS(iMonth,iYear){
	switch(iMonth){
		case 4:
		case 6:
		case 9:
		case 11:
			return(30);
		case 2:
			if(iYear % 100 == 0 || iYear % 4 == 0 || iYear % 400 == 0)
				return(29);
			else
				return(28);
	}
	return(31);	
}

// Function used to check a field value against an approved format
function CheckMask (InString, Mask, sAlert) {
        
       
        // examples
        // date     : if (!mask(form.date.value, "xx/xx/xx"))
        // zip code : if (!mask(form.zip.value, "xxxxx-xxxx"))
        var Count = 0;
        var MskChar, StrChar; 
        
        if(Mask.length==0)
        {
			return true;
        }
        
        if (((InString.length !=0) && (Mask.length !=0)) && (InString.length!= Mask.length))
        {
            if(sAlert!=null && sAlert!="") alert(sAlert);
            return false;
        }
        TempString=""
        
        for (Count=0; Count<=InString.length; Count++)  {
                StrChar = InString.substring(Count, Count+1);
                MskChar = Mask.substring(Count, Count+1);
                if (MskChar=='#' || MskChar=='0' || MskChar=='d' || MskChar=='m' || MskChar=='y')
                {
                        if(isNaN(StrChar))
                        {
                            if(sAlert!=null && sAlert!="") 
                            {	alert(sAlert);
                            }
							return false;
                        }
                }
                else if (MskChar=='x') 
                {
                }
                else if (MskChar==' ') 
                {
					
                }
                else {
                        if (MskChar!=StrChar)
                        {
							if(sAlert!=null && sAlert!="") 
							{	alert(sAlert);
							}
							return false;
                        }
                }
        }
        return true;
}

function TabNext(obj,event,len,next_field) {
	var phone_field_length=0;
	if (event == "down") {
		phone_field_length=obj.value.length;
		}
	else if (event == "up") {
		if (obj.value.length != phone_field_length) {
			phone_field_length=obj.value.length;
			if (phone_field_length == len) {
				next_field.focus();
				}
			}
		}
	}

/*
    Validate Date field.
*/
function CheckDate(datefield, sAlertmess, sDateFormat)
{

var checkStr = datefield.value;

var aDateFormat;

if(sDateFormat==null || sDateFormat=="")
{
	sDateFormat="mm/dd/yyyy";
}

if( !CheckMask(checkStr, sDateFormat.replace("mon","xxx"),"") )
{
	alert(sAlertmess);
	datefield.focus();
	return(false);
}     

var sDelimChar = "/";
	
	if(sDateFormat==null || sDateFormat=="")
	{
		sDateFormat="mm/dd/yy";
	}
	
	if (sDateFormat.indexOf("/")!=-1)
	{
		sDelimChar = "/";
		
	}
	else if(sDateFormat.indexOf("-")!=-1)
	{
		sDelimChar = "-";
	}
	else if(sDateFormat.indexOf(",")!=-1)
	{
		sDelimChar = ",";
	}
	else if(sDateFormat.indexOf(", ")!=-1)
	{
		sDelimChar = ", ";
	}
	else if(sDateFormat.indexOf(" ")!=-1)
	{
		sDelimChar = " ";
	}
	else if(sDateFormat.indexOf(".")!=-1)
	{
		sDelimChar = ".";
	}

 aDateFormat = sDateFormat.split(sDelimChar);
  //to check valid month day and year
  
        strDateArray = checkStr.split(sDelimChar); // to extract month,day,year
        
		for(var i=0; i<aDateFormat.length; i++)
		{
			if( aDateFormat[i].toLowerCase()=="dd" || aDateFormat[i].toLowerCase()=="d" )
				strDay  = strDateArray[i];
			else if( aDateFormat[i].toLowerCase()=="mm" || aDateFormat[i].toLowerCase()=="m" )
				strMonth = strDateArray[i];
			else if( aDateFormat[i].toLowerCase()=="mmm" || aDateFormat[i].toLowerCase()=="mmmm" ||   aDateFormat[i].toLowerCase()=="mon" || aDateFormat[i].toLowerCase()=="month" )
			{
				strMonth = GetMonthFromDesc(strDateArray[i]);
				if(strMonth=="-1")
				{
					alert(sAlertmess);
					datefield.focus();
					return(false);
				}
			}
			else if( aDateFormat[i].toLowerCase().substr(0,2)=="yy" )
			{
				strYear = strDateArray[i];
			}
			
		}
		 		  
        if(strMonth<01 || strMonth>12)              
		{
			alert(sAlertmess) ;
			datefield.focus() ;
			return(false)    ;  
		}
		if(strDay<01 || strDay>31)           
		{
			alert(sAlertmess) ;
			datefield.focus() ;
			return(false)    ;
		}
		
		if(!isValidDate(strDay,strMonth,strYear, sAlertmess))
		{
			datefield.focus();
			return false;
		}
                 
return(true);

}
//*********************Check date Overs here********************


// allow only date to be entered
function FORMAT_DATE(ev, objTextBox){
	var iKeyCode;
	if(document.all){
		iKeyCode=event.keyCode;
	}else{
		iKeyCode=ev.which;
	}	
	if(iKeyCode < 48 || iKeyCode > 57){
		if(document.all){
			event.keyCode=0;
		}else{
			ev.which=0;
		}
		return false;
	}	
	
	var iLength;
	iLength = objTextBox.value.length;
	if(iLength){
		if(iLength == 2 || iLength == 5){
			objTextBox.value += "/";	
		}
	}
	
}

// allow only Time(HH:Mi) format to be entered.
function FORMAT_TIME(ev,objTextBox){
	var iKeyCode;
	
	
	if(document.all){
		iKeyCode = event.keyCode;
	}else{
		iKeyCode = ev.which;
	}	
	if( iKeyCode < 48 || iKeyCode > 57 ){
		if(document.all){
			event.keyCode=0;
		}else{
			ev.which=0;
		}
		return false;
	}	
	var iLength;
	iLength = objTextBox.value.length;
	if(iLength){
		if(iLength == 2){
			objTextBox.value += ":";	
		}
	}
	
	
}

function CheckAlphaNumeric(e, objName,sAlertmess)
{
			
				var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
				var checkStr = objName.value;

				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)
				{
					alert(sAlertmess);
					objName.value=""
					objName.focus();
					return (false);
				}
				return(true);
		}


function CheckText(objName, sAlertmess){
	
	var FieldValue;
	var bValid = false;
	FieldValue = objName.value;
	var RegExpres = /['A-Za-z-]/;
	if(RegExpres.test(FieldValue))
		bValid = true;
	else
		bValid = false;
	if(! bValid){
		alert(sAlertmess);
		objName.focus();
		objName.value="";
		objName.select();
		return (false);	
	}
	else
		return true;
}

function isEqual(theString, compareString)
{
	var a = new String(theString);
	var b = new String(compareString);

	if( a.length == b.length ) {
		for( index = 0; index < a.length; index++ ) {
			if( a.charAt(index) != b.charAt(index) ) 
				return false;
		}
	}
	else {
		return false;
	}

	return true;
}

	
/* ======================================================================
FUNCTION:	Trim
 
INPUT:  	str (string): the string to be altered

RETURN: 	A string with no leading or trailing spaces;
			returns null if invalid arguments were passed

DESC:		This function removes all leading and tralining spaces from a string.
====================================================================== */
function trim( str ) {
 return Trim( str );
}
function Trim( str ) {
	var resultStr = "";
	
	resultStr = TrimLeft(str);
	resultStr = TrimRight(resultStr);
	
	return resultStr;
}

/* ======================================================================
FUNCTION:	TrimLeft
 
INPUT: 		str (string): the string to be altered

RETURN:		A string with no leading spaces;
			returns null if invalid arguments were passed

DESC:		This function removes all leading spaces from a string.
====================================================================== */
function TrimLeft( str ) {
	var resultStr = "";
	var i = len = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";

	if (str.length == 0) 
		resultStr = "";
	else {	
  		// Loop through string starting at the beginning as long as there are spaces.
//	  	len = str.length - 1;
		len = str.length;
		
  		while ((i <= len) && (str.charAt(i) == " "))
			i++;

   		// When the loop is done, we're sitting at the first non-space char,
 		// so return that char plus the remaining chars of the string.
  		resultStr = str.substring(i, len);
  	}

  	return resultStr;
}

/* ======================================================================
FUNCTION:	TrimRight
 
INPUT: 		str (string): the string to be altered

RETURN:		A string with no trailing spaces;
			returns null if invalid arguments were passed

DESC:		This function removes all trailing spaces from a string.
====================================================================== */
function TrimRight( str ) {
	var resultStr = "";
	var i = 0;

	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";
	
	if (str.length == 0) 
		resultStr = "";
	else {
  		// Loop through string starting at the end as long as there are spaces.
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
 			
 		// When the loop is done, we're sitting at the last non-space char,
 		// so return that char plus all previous chars of the string.
  		resultStr = str.substring(0, i + 1);
  	}
  	
  	return resultStr;  	
}

/* ======================================================================
FUNCTION:	stripCtrlCodes

INPUT: 		strIn (string): the string to be stripped

RETURN:		A string with no control codes, ie \n\r\t etc.

DESC:			This function removes all control codes from a string.
				This function should be used when trying to write a string
				to a database that has been entered into a text area.
====================================================================== */
function stripCtrlCodes( strIn )
{
	var strBuffer = new String( strIn );
	var strOutputBuffer = new String("");
	
	for( iIndex = 0; iIndex < strBuffer.length; iIndex ++ )
	{
		if( strBuffer.charCodeAt( iIndex ) < 33 ) 
		{
			if( iIndex > 0 )
			{
				if( strOutputBuffer.length > 0 )
				{
					if( strOutputBuffer.charCodeAt( strOutputBuffer.length - 1 ) != 32 )
						strOutputBuffer += " ";
				}
			}
		}
		else
			strOutputBuffer += strBuffer.charAt( iIndex );
	}
	
	return strOutputBuffer;
}

function strReplace (strIn, strFind, strReplace) {
    //performs a case insensitive search and global replace
	if (strIn+"" != "undefined" & strIn != null)	{
        re = new RegExp(strFind,"gi");
        var strRet = strIn.replace(re, strReplace);
    }
    else
        strRet = "";
        
    return strRet;    
    
}
function IsValidTime(timeStr, sAlert) {
	// Checks if time is in HH:MM:SS AM/PM format.
	// The seconds and AM/PM are optional.
	var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
	
	var matchArray = timeStr.match(timePat);
	if (matchArray == null) 
	{
		alert(sAlert);
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];
	
	
	if (second=="") { second = null; }
	if (ampm=="") { ampm = null; }
	
	if(ampm==null)
	{
		if (hour < 0  || hour > 24)  
		{
			alert(sAlert);
			return false;
		}
	}
	else
	{
		if (hour < 1  || hour > 12)  
		{
			alert(sAlert);
			return false;
		}	
	}
	if(ampm==null)
	{
		if(hour == 24 && minute > 0)
		{
			alert(sAlert);
			return false;
		}
	}
	else
	{
		if(hour == 12 && minute > 59)
		{
			alert(sAlert);
			return false;
		}
	}
	
	if (minute<0 || minute > 59) 
	{
		alert(sAlert);
		return false;
	}
		
	return true;
}

/* ======================================================================
====================================================================== */
function isNumber(intVal)
{
	if (Trim(intVal)=="")
	{
		return false;
	}
	if (isNaN(intVal)==true) //returns TRUE if argument can not be converted to a Number
	{
		return false;
	}
	else  
	{
		if (intVal<0)  
		{
			return false;
		}
	} 
	return true;
}
/* ======================================================================
====================================================================== */
function isValidDate(day,month,year, sAlert) {
	
	if (month < 1 || month > 12) { // check month range
		alert(sAlert);
		return false;
	}
	if (day < 1 || day > 31) {
		alert(sAlert);
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert(sAlert);
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
		alert(sAlert);
		return false;
	   }
	}
	
	if (year.length == 4 &&  year < 1960)
	{
	alert("Invalid Year");
	return false;
	}
	return true;  // date is valid
}
/*
  Get Month integer from month Description.
*/
function GetMonthFromDesc(sMonDesc)
{
	if(sMonDesc.substr(0,3).toLowerCase()=="jan")
		return "01";
	else if(sMonDesc.substr(0,3).toLowerCase()=="feb")
		return "02";
	else if(sMonDesc.substr(0,3).toLowerCase()=="mar")
		return "03";
	else if(sMonDesc.substr(0,3).toLowerCase()=="apr")
		return "04";
	else if(sMonDesc.substr(0,3).toLowerCase()=="may")
		return "05";
	else if(sMonDesc.substr(0,3).toLowerCase()=="jun")
		return "06";
	else if(sMonDesc.substr(0,3).toLowerCase()=="jul")
		return "07";
	else if(sMonDesc.substr(0,3).toLowerCase()=="aug")
		return "08";
	else if(sMonDesc.substr(0,3).toLowerCase()=="sep")
		return "09";
	else if(sMonDesc.substr(0,3).toLowerCase()=="oct")
		return "10";
	else if(sMonDesc.substr(0,3).toLowerCase()=="nov")
		return "11";
	else if(sMonDesc.substr(0,3).toLowerCase()=="dec")
		return "12";
	else
	// ERROR.
		return "-1";
}

function Get4DigitYear(sYY){
	var sYYYY;
	sYYYY = sYY;
	if(sYY.length < 4){
		if(parseInt(sYY) <= 99 && parseInt(sYY) >= 60){
			sYYYY = "19" + sYY;
		}
		if(parseInt(sYY) <= 59 && parseInt(sYY) >= 0){
			sYYYY = ((sYY.length == 1) ? "200" : "20") + sYY;
		}
	}
	return sYYYY;
}	


//********************Compare Dates***************************
//to compare datefield1 shd greater then datefield2
function CompareDates(datefield1,datefield2,sAlertsay, sDateFormat){
	// to check whether date is entered or not in the field
	var sDate1,sDate2,iLen1,iLen2,sDelimChar="/";
	valdatefield2 = datefield2;
	sDate1 = datefield1;
    sDate1 = sDate1.toString();
	sDate2 = datefield2;
    sDate2 = sDate2.toString() ;
                     
	var arrInts1,arrInts2;              
	var iYear1,iYear2,iMonth1,iMonth2,iDay1,iDay2
	
	if(sDateFormat==null || sDateFormat=="")
	{
		sDateFormat="mm/dd/yyyy";
	}
	
	if (sDateFormat.indexOf("/")!=-1)
	{
		sDelimChar = "/";
	}
	else if(sDateFormat.indexOf("-")!=-1)
	{
		sDelimChar = "-";
	}
	else if(sDateFormat.indexOf(" ")!=-1)
	{
		sDelimChar = " ";
	}
	else if(sDateFormat.indexOf(".")!=-1)
	{
		sDelimChar = ".";
	}
	else if(sDateFormat.indexOf(",")!=-1)
	{
		sDelimChar = ",";
	}
	
	arrInts1 = sDate1.split(sDelimChar);
	var aDateFormat = sDateFormat.split(sDelimChar);
	
	for(var i=0; i<aDateFormat.length; i++)
	{
		if( aDateFormat[i].toLowerCase()=="dd" || aDateFormat[i].toLowerCase()=="d" )
				iDay1  = arrInts1[i];
		else if( aDateFormat[i].toLowerCase()=="mm" || aDateFormat[i].toLowerCase()=="m" )
				iMonth1 = arrInts1[i];
		else if( aDateFormat[i].toLowerCase()=="mmm" || aDateFormat[i].toLowerCase()=="mmmm" ||   aDateFormat[i].toLowerCase()=="mon" || aDateFormat[i].toLowerCase()=="month" )
		{
			iMonth1 = GetMonthFromDesc(arrInts1[i]);
			if(iMonth1=="-1")
			{
				alert(sAlertmess);
				datefield.focus();
				return(false);
			}
		}
		else if( aDateFormat[i].toLowerCase().substr(0,2)=="yy" )
		{
			iYear1 = arrInts1[i];
		}
		/*
		if(aDateFormat[i].match(/^[Dd]/))
			iDay1  = arrInts1[i];
		else if(aDateFormat[i].match(/^[Mm]/))
			iMonth1 = arrInts1[i];
		else if(aDateFormat[i].match(/^[Yy]/))
		{
			iYear1 = arrInts1[i];
		}
		*/
	}
		
	// Convert year to 4 digit format.
	if(iYear1.length==2)	
		iYear1 = Get4DigitYear(iYear1);
    
	arrInts2 = sDate2.split(sDelimChar);
	
	for(var i=0; i<aDateFormat.length; i++)
	{
	
		if( aDateFormat[i].toLowerCase()=="dd" || aDateFormat[i].toLowerCase()=="d" )
				iDay2  = arrInts2[i];
		else if( aDateFormat[i].toLowerCase()=="mm" || aDateFormat[i].toLowerCase()=="m" )
				iMonth2 = arrInts2[i];
		else if( aDateFormat[i].toLowerCase()=="mmm" || aDateFormat[i].toLowerCase()=="mmmm" ||   aDateFormat[i].toLowerCase()=="mon" || aDateFormat[i].toLowerCase()=="month" )
		{
			iMonth2 = GetMonthFromDesc(arrInts2[i]);
			if(iMonth2=="-1")
			{
				alert(sAlertmess);
				datefield.focus();
				return(false);
			}
		}
		else if( aDateFormat[i].toLowerCase().substr(0,2)=="yy" )
		{
			iYear2 = arrInts2[i];
		}
	}
	
	if(iYear2.length==2)		
		iYear2 = Get4DigitYear(iYear2);
    
    if(iYear2 > iYear1)
		return(true);
		                         
    if(iYear2 < iYear1)
    {
		//to check date is < year passed
		alert(sAlertsay) ;
		return(false);
	}
	else
	{
		if(iYear2 == iYear1)
		{
			if(iMonth2 > iMonth1)
			{
				return(true);
			}
			//to check date is <month passed
	        if(iMonth2 < iMonth1)
	        {
				//to check date is < month passed
				alert(sAlertsay) ;
      		 	return(false)    ;
			}
			else
			{	
				if(iMonth2 == iMonth1)
				{
					if(iDay2 > iDay1)
						return(true);	
					//to check date is < month passed
					if(iDay2 < iDay1)
					{
						//to check date is < day passed
						alert(sAlertsay);
						return(false);
					}
				}	
			}	
		}//end of outer end if for month
    }//end of outer end if for year          
	return(true);
}

/*
	Returns Date Difference in number of days.
*/
function GetDateDiff(datefield1, datefield2, sAlertsay, sDateFormat){
	// to check whether date is entered or not in the field
	var sDate1,sDate2,iLen1,iLen2,sDelimChar="/";
	valdatefield2 = datefield2;
	sDate1 = datefield1;
    sDate1 = sDate1.toString();
	sDate2 = datefield2;
    sDate2 = sDate2.toString() ;
                     
	var arrInts1,arrInts2;              
	var iYear1,iYear2,iMonth1,iMonth2,iDay1,iDay2
	
	if(sDateFormat==null || sDateFormat=="")
	{
		sDateFormat="mm/dd/yyyy";
	}
	
	if (sDateFormat.indexOf("/")!=-1)
	{
		sDelimChar = "/";
	}
	else if(sDateFormat.indexOf("-")!=-1)
	{
		sDelimChar = "-";
	}
	else if(sDateFormat.indexOf(" ")!=-1)
	{
		sDelimChar = " ";
	}
	else if(sDateFormat.indexOf(".")!=-1)
	{
		sDelimChar = ".";
	}
	else if(sDateFormat.indexOf(",")!=-1)
	{
		sDelimChar = ",";
	}
	
	arrInts1 = sDate1.split(sDelimChar);
	var aDateFormat = sDateFormat.split(sDelimChar);
	
	for(var i=0; i<aDateFormat.length; i++)
	{
	
		if( aDateFormat[i].toLowerCase()=="dd" || aDateFormat[i].toLowerCase()=="d" )
				iDay1  = arrInts1[i];
		else if( aDateFormat[i].toLowerCase()=="mm" || aDateFormat[i].toLowerCase()=="m" )
				iMonth1 = arrInts1[i];
		else if( aDateFormat[i].toLowerCase()=="mmm" || aDateFormat[i].toLowerCase()=="mmmm" ||   aDateFormat[i].toLowerCase()=="mon" || aDateFormat[i].toLowerCase()=="month" )
		{
			iMonth1 = GetMonthFromDesc(arrInts1[i]);
			if(iMonth1=="-1")
			{
				alert(sAlertmess);
				datefield.focus();
				return(false);
			}
		}
		else if( aDateFormat[i].toLowerCase().substr(0,2)=="yy" )
		{
			iYear1 = arrInts1[i];
		}
	}
	
	// Convert year to 4 digit format.
	
	if(iYear1.length==2)	
		iYear1 = Get4DigitYear(iYear1);
    
	arrInts2 = sDate2.split(sDelimChar);
	
	for(var i=0; i<aDateFormat.length; i++)
	{
	
		if( aDateFormat[i].toLowerCase()=="dd" || aDateFormat[i].toLowerCase()=="d" )
				iDay2  = arrInts2[i];
		else if( aDateFormat[i].toLowerCase()=="mm" || aDateFormat[i].toLowerCase()=="m" )
				iMonth2 = arrInts2[i];
		else if( aDateFormat[i].toLowerCase()=="mmm" || aDateFormat[i].toLowerCase()=="mmmm" ||   aDateFormat[i].toLowerCase()=="mon" || aDateFormat[i].toLowerCase()=="month" )
		{
			iMonth2 = GetMonthFromDesc(arrInts2[i]);
			if(iMonth2=="-1")
			{
				alert(sAlertmess);
				datefield.focus();
				return(false);
			}
		}
		else if( aDateFormat[i].toLowerCase().substr(0,2)=="yy" )
		{
			iYear2 = arrInts2[i];
		}
	}
	
	if(iYear2.length==2)		
		iYear2 = Get4DigitYear(iYear2);
    
	var buff1 = new Date( iYear1, iMonth1-1, iDay1 );
	var buff2 = new Date( iYear2, iMonth2-1, iDay2 );
	
	var diff = Date.parse(buff2) - Date.parse(buff1);
	
	return parseInt(diff / 86400000);
}


  //Check if BeginDate<=EndDate
  //if YES the Function returns TRUE
 function BeginLessThanEndDate(dateBeginDate,dateEndDate,sAlert)
 {
	
  var date1 = dateBeginDate;
  var year1 = parseInt(date1.split("/")[2]);            
  var month1 = parseInt(date1.split("/")[0]);
  var day1 = parseInt(date1.split("/")[1]);
  var date2 = dateEndDate;
  var year2 = parseInt(date2.split("/")[2]);            
  var month2 = parseInt(date2.split("/")[0]);
  var day2 = parseInt(date2.split("/")[1]);
  
       //get the years, month and day in seperate variables year1, year2, month1, month2, day1, day2
      if (year2<year1) 
      {
	     if (year2>29)
	     { 
		   if(sAlert=="")
				alert("\"To Date\" should be greater than \"From Date\".");
			else
				alert(sAlert);
		   return false;
	     }
      }
      else if (year2==year1)
      {
	     if (month2<month1)
	     {
		    if(sAlert=="")
				alert("\"To Date\" should be greater than \"From Date\".");
			else
				alert(sAlert);
		    return false;
	     }
	     else 
	     {if (month2==month1)
	        {
		       if (day2<day1)
		       {
		          if(sAlert=="")
						alert("\"To Date\" should be greater than \"From Date\".");
					else
						alert(sAlert);
		          return false;
		       }
		       else return true		    
	        }
	      else return true
	     } 	        
       }
      else if (year2>year1)
      {
	        return true;
      }
 }
 
 // This function's  1. ShowWaitBox , 2. CheckValues , 3. closeWindow were newly included - by N.S.Ponraja
 
  function ShowWaitBox() {

        document.getElementById("waitBox").style.display = 'block';

    }
    
       function CheckExtention(el) // pass Upload File object’s ClientID here

    {

 

       var oas = new ActiveXObject("Scripting.FileSystemObject");
       var d = document.getElementById(el);
       var e = oas.getFile(d);
       var f = e.size;
       alert(f + " bytes");

    }


   function checkValues() {
        var fromEmailId = document.getElementById("txtEmailID");
    //    CheckExtention("FileUpload1");
        //        var va = document.getElementById("<%=FileUpload1.ClientID %>");
        var va = document.getElementById("FileUpload1").value;
        
       // var valFile = document.getElementById("FileUpload1");
          document.getElementById("waitBox").style.display = 'none';
        if (fromEmailId.value == "") {
            alert("Please enter your e-mailID");
            document.getElementById("waitBox").style.display = 'none';
            return false;
        }
        if ((va != "")) {
            
            if ((va.lastIndexOf(".doc") == -1) && (va.lastIndexOf(".docx") == -1) && (va.lastIndexOf(".pdf") == -1)) {
                alert("Please upload only the mentioned extention files .doc , .docx and .pdf ");
                document.getElementById("waitBox").style.display = 'none';
                return false;
            }
            else
            {
              document.getElementById("waitBox").style.display = 'block';
            }
        }
        else {
            alert("Please Upload File");
              document.getElementById("waitBox").style.display = 'none';
            return false;
        }
    }

    
    function closeWindow() {
        var labValue = document.getElementById("lblConfMessage");
        if ((labValue.innerText != "") && (labValue.innerText != null))
        {
            opener.document.forms[0].but1.disabled = true;
           // opener.document.forms[0].Text1.value = "test";
            //opener.document.forms[0].UrlUpload.innerHtml = "testValue";
            self.close();
        }
        else
        {
        self.close();
        }
    }
 
 
 // the newly written function ends here //   
function CheckEmail(objName, sAlertmess){
	
	var FieldValue;
	FieldValue = objName.value;
	var RegExpres = /^['a-zA-Z0-9._-]+@([a-zA-Z0-9._-]+\.)+[a-zA-Z0-9._-]{2,8}$/;
	if(RegExpres.test(FieldValue)){
		//now check for two consecutive dots
		var bValid = true;
		for(i = 0; i < FieldValue.length; i++){
			//alert("FieldValue.length = " + FieldValue.length);
			if(FieldValue.charAt(i) == "."){
				if(FieldValue.charAt(i+1) == "."){
					bValid = false;
					break;
				}
			}
			if(FieldValue.charAt(i) == "@"){
				if(FieldValue.charAt(i+1) == "."){
					bValid = false;
					break;
				}
			}
		}
		if(bValid){
			if(FieldValue.charAt(0) == "." || FieldValue.charAt(0) == "@" || FieldValue.charAt(0) == "_" || FieldValue.charAt(0) == "-")
				bValid = false;
			else if(FieldValue.charAt(FieldValue.length - 1) == "."  || FieldValue.charAt(FieldValue.length - 1) == "@" || FieldValue.charAt(FieldValue.length - 1) == "_" || FieldValue.charAt(FieldValue.length - 1) == "-")
				bValid = false;
			else
				bValid = true;
		}
	}
	else{
			bValid = false;
	}
	if(! bValid){
		alert("Invalid Email Address.");
		objName.focus();
		objName.select();
		return false;				
	}
	else
		return true;
}


//--


function emailCheck (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
	alert("Email address seems incorrect (check @ and .'s)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert("The username doesn't seem to be valid.")
    return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
    return false
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
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) {
   // the address must end in a two letter or three letter word.
   alert("The address must end in a three-letter domain, or two letter country.")
   return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   return false
}

// If we've gotten this far, everything's valid!
return true;
}
//  End -->




<!--  
function emailvalidation(entered, alertbox)
{
with (entered)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
lastpos=value.length-1;
if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
{if (alertbox) {alert(alertbox);} return false;}
else {return true;}
}
}

function valuevalidation(entered, min, max, alertbox, datatype)
{
with (entered)
{
checkvalue=parseFloat(value);
if (datatype)
  {smalldatatype=datatype.toLowerCase();
   if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value)};
  }
if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max && checkvalue>max) || value!=checkvalue)
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}
}

// This Function added for the Australia to make the system to accept the Textbox values  by N.S. Ponraja//
function checkVal(obj, min, max)
{
	var sCondition = "";
	var sErrAlert = "";
	
	if( (min!=-9999 || max!=-9999) && (isNaN(obj.value)))
	{
		alert("Please enter a Numeric value for this answer.");
		obj.focus();
		return false;
	}
	
	if(obj.value == null || obj.value == "") return false;
	
	if(min!=-9999 && max ==-9999)
	{
		sCondition = "obj.value >= min";
		sErrAlert = "Value for this answer should be >= " + min;
	}
	
	if(min==-9999 && max !=-9999)
	{
		sCondition = "obj.value <= max";
		sErrAlert = "Value for this answer should be <= " + max;
	}
	if(min!=-9999 && max !=-9999)
	{
		sCondition = "obj.value >= min && obj.value <= max";
		sErrAlert = "Value for this answer should be between: " + min + " and " + max;
	}
	
	if (sCondition!="" && !eval(sCondition))
	{
		alert(sErrAlert);
		obj.focus();
		return false;
	}
	return true;
}

// The function ends here //

function digitvalidation(entered, min, max, alertbox, datatype)
{
	with (entered)
	{
		checkvalue=parseFloat(value);
		if (datatype)
		  {
			smalldatatype=datatype.toLowerCase();
			if (smalldatatype.charAt(0)=="i") 
				{
					checkvalue=parseInt(value); 
					if (value.indexOf(".")!=-1) 
					{
						checkvalue=checkvalue+1;
					}
				}
		  }
		if ((parseFloat(min)==min && value.length<min) || (parseFloat(max)==max && value.length>max) || value!=checkvalue)
		{
			if (alertbox!="") 
				{	
					alert(alertbox);
				} 
			return false;
		}
		else 
		{
			return true;
		}
	}
}
function checkPhoneNumber( strVal,intmax)
{
	
	if (isNaN(strVal) == true)
	{
		alert('Invalid \"Contact Phone\".');
		return false;
	}
	var intVal = parseInt(strVal);
	strNumber = new String(strVal);	
	if (strNumber.indexOf(" ")!=-1)
	{
		alert('Invalid \"Contact Phone\".');
		return false;	
	}
	if (strNumber.length !=  intmax)
	{
		alert('Invalid \"Contact Phone\".');
		return false;	
	}
	return true;
}

function charvalidation(entered, min, max, alertbox)
{
	var val = entered.options[entered.selectedIndex].value;
	if(val.length == 3)
	{
		return true;
	}
	if (val.length < min || val.length > max)
	{
		if (alertbox!="") 
		{
			
			alert(alertbox);
		} 
		return false;
	}
	else 
	{
		return true;
	}


}


function emptyvalidation(entered, alertbox)
{

if(entered.type=="select-one")
{
	if(entered[entered.selectedIndex].value=="" || entered[entered.selectedIndex].value=="0")
	{
		if (alertbox!="") 
		{
			alert(alertbox);
		}
		return false;
	}
	else
	{
		return true;
	}	
}
else
{
	with (entered)
	{
		if (value == null || trim(value)=="")
		{
			if (alertbox!="") 
			{
				alert(alertbox);
			} 
			return false;
		}
		else 
		{
			return true;
		}
	}	
}

}

function CheckLength(iLen, iMaxLen, sAlert)
{
	if(iLen > iMaxLen)
	{
		if(sAlert!=null && sAlert != "")
			alert(sAlert);
		return false;
	}
	return true;
}

//********************Check Dropdown Box***************************
function CheckDropdownbox(objName, sAlertmess){
	// check if no drop down has been selected
	if(objName)
	{
		if (objName.options[objName.selectedIndex].value==""){
			alert(sAlertmess) ;
			objName.focus();
			return (false) ;
		}
	}
	
	return (true) ;
}

function CheckListbox(objName,sAlertmess){
	// check if less than 1 options are selected
	var numSelected = 0;
	var i;
	for (i = 0;  i < objName.length;  i++){
		if (objName.options[i].selected)
		{
			numSelected++;
			break;
		}
	}
	if (numSelected < 1){
		alert(sAlertmess) ;
		objName.focus();
		return (false);
	}
	return(true);
}

//********************Check Check Box********************************
// Check if atleast one check box is checked in  a check box group.
function CheckCheckbox(objName, sAlertmess){
	
	var bIsValid = false;
	
	if(objName && objName.length!="undefined")
	{
		for(var i=0; i<objName.length; i++)
		{
			if(objName[i].checked)
			{
				bIsValid  = true;
				break;
			}
		}
		if(!bIsValid)
		{
			alert(sAlertmess);
			objName[0].focus();
			return false;
		}
	} 
	return(true);
}

// Changed on 03-Nov-2003.
// For Turkey all questions are mandatory
// else Check if all yes-no questions (radio type) are answered.

function allQuestAnswered(objFrm, sAlert, sAgeAlert, sOtherAlert, sLangId)
{
	if(sLangId==null||sLangId=="") sLangId="1";
	
	for(var i=0; i< objFrm.hdnQuestIds.length; i++)
	{
		var sQType = objFrm.hdnAnsTypes[i].value;
		var sQId = objFrm.hdnQuestIds[i].value; 
				
		if( sQId=="16" && objFrm.answer16 )
		{
			if(!objFrm.answer16.disabled && objFrm.answer15[objFrm.answer15.length-1].checked && !emptyvalidation(objFrm.answer16, sOtherAlert) )
			{
				objFrm.answer16.focus();
				return false;
			}
		}
		else if(sLangId=="4" && sQId=="20" &&  objFrm.answer20)
		{
			if(!objFrm.answer20.disabled && objFrm.answer19[objFrm.answer19.length-1].checked && !emptyvalidation(objFrm.answer20, sOtherAlert) )
			{
				objFrm.answer20.focus();
				return false;
			}
		}
		else
		{
		if(sQType=="O")
		{
			if( !CheckDropdownbox(eval("objFrm.answer"+sQId ), sAlert) )
				return false;
		}
		
		if(sQType=="L")
		{
			if( !CheckListbox(eval("objFrm.answer"+sQId ),sAlert) )
				return false;
		}
	
		if(sQType=="C")
		{
			if( !CheckCheckbox(eval("objFrm.answer"+sQId ),sAlert) )
				return false;
		}
		// Text box question is cumpulsory for Turkey.
		if(sLangId=="5" && (sQType=="T" || sQType=="H" || sQType=="D") )
		{
			if( !emptyvalidation(eval("objFrm.answer"+sQId ), sAlert) )
			{
				eval("objFrm.answer"+sQId+".focus()");
				return false;
			}
		}
		
		if(sLangId == "1" && sQType == "T" && sQId == "52")
		{
		if( !emptyvalidation(eval("objFrm.answer"+sQId ), sAlert) )
			{
				eval("objFrm.answer"+sQId+".focus()");
				return false;
			}
		}
			
		if(sQType=="R")
		{
			if( !CheckCheckbox(eval("objFrm.answer"+sQId ), sAlert) )
				return false;
		}
		}
		
		
		if(sQId=="17" && objFrm.answer17 && sLangId != "7" && sLangId != "6")
		{
			if(objFrm.answer17[objFrm.answer17.length-1].checked)
			{
				alert(sAgeAlert);
				objFrm.answer17[objFrm.answer17.length-1].focus();
				return false;
			}
			
		}
		
		// code modified for Australia - N.S.Ponraja
		
		if(sQId=="3" && objFrm.answer3 && sLangId == "12")
		{
			if(objFrm.answer3[objFrm.answer3.length-1].checked)
			{
				alert(sAgeAlert);
				objFrm.answer3[objFrm.answer3.length-1].focus();
				return false;
			}
			
		}
		
		// code ends here //
	}	
	
	return true;
}

// Checks if "none" option is selected.
function processNoneAnswerOption(obj, objFrm, sQId, iAnsId, sType, iLangId)
//sAnsType: "None" Or "Other"
{
	//None check box checked.
	
	if(sType.toUpperCase()=="NONE")
	{
		for(var k=0;k<eval("objFrm.answer"+sQId+".length");k++)
		{
			if( eval("objFrm.hdnAnsTexts"+sQId+"[k].value!=null") && eval("objFrm.answer"+sQId+"[k].value")!=iAnsId)
			{
				eval("objFrm.answer"+sQId+"["+k+"].checked = false");
			}
		}
		// Empty the "Other" text box.
	}
	else
	//any other answer checkbox checked => UnCheck None option.
	{
		if(sQId==3)
		{
			objFrm.answer3[objFrm.answer3.length-1].checked = false;
		}
		if(sQId==15)
		{
			objFrm.answer15[objFrm.answer15.length-2].checked = false;
		}
		// coding added by N.S.Ponraja
		if(sQId==10 && iLangId == 6) 
		{
		objFrm.answer10[objFrm.answer10.length-1].checked = false;
		}
		else if(sQId==12 && iLangId==6)
		{
		objFrm.answer12[objFrm.answer12.length-1].checked = false;
		}
		
		//////--///////
		
	}
	
}

function get_otherreporting(strVal)
{
	if (strVal == 'O')
	{
		document.application.otherreporting.focus();
	}
	else
	{
		document.application.otherreporting.value="";
	}
	return true;
}

function get_Otherwork()
{
	if ((document.application.WorkExperience.selectedIndex) == (document.application.WorkExperience.length-1))
	{
		document.application.Otherwork.focus();
	}
	else
	{
		document.application.Otherwork.value="";
	}
	return true;
}

function input_Alphabet(e)
{
    if (navigator.appName == 'Microsoft Internet Explorer')
        key = window.event.keyCode;
    else
        key = e.which;
	
	if ( key == 39) return true;
	if (key >= 65 && key <= 90) return true;
	if (key >= 97 && key <= 122) return true;
    
    return false;
}

function input_Number(e)
{
    if (navigator.appName == 'Microsoft Internet Explorer')
        key = window.event.keyCode;
    else
        key = e.which;

    if (key >= 48 && key <= 57)
    {
	    return true;  
    }
    return false;
}


function BirthDateThanEighteenForIndia(dateBeginDate,dateEndDate,sAlert)
 {
	
  
  var date1 = dateBeginDate;
  var year1 = parseInt(date1.split("/")[2]);            
  var month1 = parseInt(date1.split("/")[1]);  
  var day1 = parseInt(date1.split("/")[0]);
  
  var date2 = dateEndDate;
  var year2 = parseInt(date2.split("/")[2]);            
  var month2 = parseInt(date2.split("/")[1]);
  var day2 = parseInt(date2.split("/")[0]);
  
       //get the years, month and day in seperate variables year1, year2, month1, month2, day1, day2
      if(year2 > year1)
		return true;
	  
	  else if (year2 == year1)
	  {
		if(month2 > month1 )
			return true;
		else if(month2 == month2)
		{
			if(day2 >= day1)
				return true;
				 
		} 
						 
	  } 
	  
	  else
	  { alert(sAlert);
		return false;
		
	  }
	 
}






function _ALLOW_NUMBER(objTextBox){
	if(event.keyCode < 48 || event.keyCode > 57)
	{
		event.keyCode = 0;
		return;
	}	
}

		function NumericsOnly(varvalue)
		{
			var valid="01234567890";
				for(x=0;x < varvalue.length; ++x){
					if (valid.indexOf(varvalue.charAt(x),0)==-1){
						return(false);
					}
				}
			if(varvalue.length !=0)
				return(true);
			else
				return(false);
		}


function _FORMAT_MASK_CANADA(objTextBox, sMask, ev)
{

var iKeyCode = 0, i=0;
		if(sMask==null || sMask=="")
			return;	
		if(document.all){
			iKeyCode=event.keyCode;
		}
		else{
			iKeyCode=ev.which;
		}
		
		var val = objTextBox.value;
		var StrChar = val.substring(val.length-1, val.length);
		var MskChar = sMask.charAt(val.length); 

		if(String.fromCharCode(iKeyCode)=="-" || String.fromCharCode(iKeyCode)=="/" || String.fromCharCode(iKeyCode)=="." || String.fromCharCode(iKeyCode)==" ")
		{
			if(document.all)
			{
				event.keyCode=0;
			}
			else
			{
				ev.which=0;
			}
			return false;
		}
		if(MskChar=="")
		{
			if(document.all)
			{
				event.keyCode=0;
			}
			else
			{
				ev.which=0;
			}
			return false;
		}	
			
		if( MskChar=='#' || MskChar=='d' || MskChar=='m' || MskChar=='y' )
		{
			   if(iKeyCode < 48 || iKeyCode > 57)
			   {
					if(document.all)
					{
						event.keyCode=0;
					} 
					else
					{
						ev.which=0;
					}
					return false;
				}
		}	
		else if (MskChar=='/' || MskChar==' ' || MskChar=='-' || MskChar=='.' || MskChar==',') 
		{
			objTextBox.value += MskChar;
			return true;	
		}
		else if (MskChar=='x')
		{
		
			return true;	
		}
		else if (MskChar=='c')
		// allow only chars.
		{
			if(iKeyCode < 65 || (iKeyCode > 90 && iKeyCode < 97) || (iKeyCode > 122))
			{
				if(document.all)
				{
					event.keyCode=0;
				} 
				else
				{
					ev.which=0;
				}
				return false;
			}
		}
		else
		{
			if (MskChar!=StrChar)
			{
				if(document.all)
				{
					event.keyCode=0;
				}
				else
				{
					ev.which=0;
				}
				return false;
			}
		}

}