<!--
function textCounter (field, countfield, maxlimit,strField)
{
	if ( field.value.length > maxlimit )
	{
		field.value = field.value.substring( 0, maxlimit );
		alert( strField + ' field can only be ' + maxlimit + ' characters in length.' );
		return false;
	}
    countfield.value = maxlimit - field.value.length;
}

function check_nric(field, strField)
{
	var bValid = true;
	
	if (Trim(field.value) != "")
	{
		// these variables used for NRIC checks
		weight = new Array("2","7","6","5","4","3","2");
		u_reftb = new Array("A","B","C","D","E","F","G","H","I","Z","J");
		f_reftb = new Array("K","L","M","N","P","Q","R","T","U","W","X");
		var i=0, prod=0, sum=0, rem = 0 ;
		var pfx, chkdgt;

		pfx    = Trim(field.value).charAt(0).toUpperCase();
		chkdgt = Trim(field.value).charAt(8).toUpperCase();

		if (pfx != 'I' && pfx != 'S' && pfx != 'T' &&
		pfx != 'F' && pfx != 'G')
		{ bValid = false; }
		for(i=0; i<7; i++)
		{
			prod = weight[i] * Trim(field.value).charAt(i+1);
			sum +=prod;
		}
		if(pfx == 'T' || pfx == 'G')
		{
			sum +=4;
		}
		rem = sum % 11;
		if (pfx == 'I' || pfx == 'S' || pfx == 'T')
		{
			if (chkdgt == u_reftb[(11-rem) -1])
			{ bValid = true; }
			else
			{ bValid = false; }
		}
		else
		{
			if (chkdgt == f_reftb[(11-rem) -1])
			{ bValid = true; }
			else
			{ bValid = false;	}
		}
	}
	if (!bValid) {
		alert("Please enter a valid " + strField + ".");
		field.focus();
	}
	return bValid
}

function chkAlphaNum(objName, strField) {
  var bAlpha = false;
  var bNum = false;
  var sAlpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  var sNum = "0123456789";
  var mystring = objName.value;
	
  for (var i=0; i<mystring.length; i++) {
    if (sAlpha.indexOf(mystring.charAt(i)) != "-1") {
      bAlpha = true;
    } 
    if (sNum.indexOf(mystring.charAt(i)) != "-1") {
      bNum = true;
    }
    if (bAlpha && bNum) {        
      return true;
    }  
  }
  
  alert("Please ensure that " + strField + " field is alpha-numeric.");
  objName.focus();    
  return false;
}
  
function checkEmpty(objName, strField) 
{
   var boolOK;
   boolOK = true;
   
   if (Trim(objName.value) == "") 
   {
      alert("Please do not leave any blank for " + strField + ".");
      objName.focus();
      boolOK = false;
   }
   
   return boolOK;
}

function checkEmptyCheckbox3(objName, strField) 
{
   var boolOK;
   var countCheck;
   
   boolOK = false;
   countCheck = 0;
   
   // More than 1 options
   if (objName.length > 0) {
      for (var i=0; i<objName.length; i++) {
         if (objName[i].checked)
            countCheck++;
            //boolOK = true;
      }		
   }
   // 1 option
   else {
      if (objName.checked)
         countCheck++;
         //boolOK = true;
   }
    
   if (countCheck == 0){
        alert("Please select " + strField + ".");     
   } 
   else if (countCheck != 1) {
        alert("Please select only ONE " + strField + ".");
   }
   else{
        boolOK = true;
   }
   /*if (!boolOK) {
      alert("Please select " + strField + ".");
   }*/

   return boolOK;
}

function checkEmptyCheckbox(objName, strField) 
{
   var boolOK;
   boolOK = false;
   
   // More than 1 options
   if (objName.length > 0) {
      for (var i=0; i<objName.length; i++) {
         if (objName[i].checked)
            boolOK = true;
      }		
   }
   // 1 option
   else {
      if (objName.checked)
         boolOK = true;
   }

   if (!boolOK) {
      alert("Please select " + strField + ".");
   }

   return boolOK;
}

function checkEmptyCheckbox2(objName) 
{
   var boolOK;
   boolOK = false;
   
   // More than 1 options
   if (objName.length > 0) {
      for (var i=0; i<objName.length; i++) {
         if (objName[i].checked)
            boolOK = true;
      }		
   }
   // 1 option
   else {
      if (objName.checked)
         boolOK = true;
   }

   return boolOK;
}

function checkEmptyRadio(objName, strField) 
{
   var boolOK;
   boolOK = false;

   for (var i=0; i<objName.length; i++) {
      if (objName[i].checked)
         boolOK = true;
   }		

   if (!boolOK) {
      alert("Please select " + strField + ".");
   }

   return boolOK;
}

function checkMinLength(objName, strField, intLength) 
{
   var boolOK;
   boolOK = true;
   
   if (trimAll(objName.value).length < intLength) 
   {
      alert("Length of " + strField + " must be at least " + intLength + " characters.");
      objName.focus();
      boolOK = false;
   }
   
   return boolOK;
}

function validateURL(theUrl) 
{
   var boolOK;
   
   if (trimAll(theUrl.value).match(/^(http|ftp|https)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#\=]\w+)*\/?$/i) ||
      trimAll(theUrl.value).match(/^mailto\:\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w{2,4}$/i)) 
   {
      boolOK = true;
   }
   else {
      alert("Please enter a valid URL string.");
      boolOK = false;
   }

   return boolOK;   
}

function validateDateRange(txtDateFrom, txtDateTo) 
{
   if ((txtDateFrom.value!="") && (txtDateTo.value!=""))
   {
       endDateAfter = Date.parse(converttodate(txtDateFrom.value));
       endDateBefore = Date.parse(converttodate(txtDateTo.value));
       
       if (endDateAfter > endDateBefore)
       {
	   alert("Start Date cannot be later than End Date");
	   txtDateFrom.focus();
	   return false;
       }
   }
   return true;
}

function converttodate(datefield)
{
   var strDate;
   var strDateArray;
   var strDay;
   var strMonth;
   var strYear;
   var intday;
   var intMonth;
   var intYear;

   var strMonthArray = new Array(12);
   strMonthArray[0] = "Jan";
   strMonthArray[1] = "Feb";
   strMonthArray[2] = "Mar";
   strMonthArray[3] = "Apr";
   strMonthArray[4] = "May";
   strMonthArray[5] = "Jun";
   strMonthArray[6] = "Jul";
   strMonthArray[7] = "Aug";
   strMonthArray[8] = "Sep";
   strMonthArray[9] = "Oct";
   strMonthArray[10] = "Nov";
   strMonthArray[11] = "Dec";

   strDate = datefield

   strDateArray = strDate.split("/");

   strDay = strDateArray[0];
   strMonth = strDateArray[1];
   strYear = strDateArray[2];

   intday = parseInt(strDay, 10);
   intMonth = parseInt(strMonth, 10);
   intYear = parseInt(strYear, 10);

   datefield = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
   return datefield;
}

function trimAll(inputString) 
{
   var retValue;
   var ch;
   
   if (typeof inputString != "string") 
   { 
      return inputString; 
   }
   
   retValue = inputString;
   ch = retValue.substring(0, 1);
   
   // Check for spaces at the beginning of the string
   while (ch == " ") 
   { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   
   ch = retValue.substring(retValue.length-1, retValue.length);
   
   // Check for spaces at the end of the string
   while (ch == " ") 
   { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   
   // Note that there are two spaces in the string - look for multiple spaces within the string
   while (retValue.indexOf("  ") != -1) 
   { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // There are two spaces in each of the strings
   }
   
   return retValue; 
} // Ends the "trimAll" function

function chkFileExtension(objName, extenstionType, equalType)
{
   myString = new String(Trim(objName.value));
   splitString = myString.split(".");
   if (equalType == "==") {
      if (splitString[splitString.length-1].toLowerCase() == extenstionType.toLowerCase()) {
         alert("File not allowed.");
         return false;
      }
      else {
	 return true;
      }
   }
   else {
      if (splitString[splitString.length-1].toLowerCase() != extenstionType.toLowerCase()) {
         alert("File not allowed.");
    	 return false;
      }
      else {
	 return true;
      }
   }
}

// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s)
{
   var i;
   for (i = 0; i < s.length; i++)
   {   
      // Check that current character is number.
      var c = s.charAt(i);
      if (((c < "0") || (c > "9"))) return false;
   }
   // All characters are numbers.
   return true;
}

function stripCharsInBag(s, bag)
{
   var i;
   var returnString = "";
   // Search through string's characters one by one.
   // If character is not in bag, append to returnString.
   for (i = 0; i < s.length; i++)
   {   
      var c = s.charAt(i);
      if (bag.indexOf(c) == -1) returnString += c;
   }
   return returnString;
}

function daysInFebruary(year)
{
   // February has 29 days in any year evenly divisible by four,
   // EXCEPT for centurial years which are not also divisible by 400.
   return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) 
{
   for (var i = 1; i <= n; i++) 
   {
      this[i] = 31
      if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
      if (i==2) {this[i] = 29}
   } 
   return this;
}

function isDate(dtStr, strFieldName)
{
   var daysInMonth = DaysArray(12)
   var pos1 = dtStr.indexOf(dtCh)
   var pos2 = dtStr.indexOf(dtCh,pos1+1)
   var strDay = dtStr.substring(0,pos1)
   var strMonth = dtStr.substring(pos1+1,pos2)
   var strYear = dtStr.substring(pos2+1)
   strYr = strYear

   if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
   if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
   for (var i = 1; i <= 3; i++) 
   {
      if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1)
   }

   month = parseInt(strMonth)
   day = parseInt(strDay)
   year = parseInt(strYr)
   if (pos1==-1 || pos2==-1)
   {
      alert("Please enter a valid date (DD/MM/YYYY) for " + strFieldName + ".");
      return false;
   }
   if (strMonth.length<1 || month<1 || month>12)
   {
      alert("Please enter a valid month");
      return false;
   }
   if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
   {
      alert("Please enter a valid day");
      return false;
   }
   if (strYear.length != 4 || year==0 || year<=minYear || year>=maxYear)
   {
      alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
      return false;
   }
   if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
   {
      alert("Please enter a valid date");
      return false;
   }
   return true;
}

function validDate(dateObj, strFieldName)
{
   if (isDate(dateObj.value, strFieldName) == false)
   {
      dateObj.focus();
      return false;
   }
   return true
}

function validEmail(emailObj, strField)
{
   var emailExp = new RegExp("^[A-Za-z0-9\_\.\-]+[A-Za-z0-9\_\.\-]?[A-Za-z0-9]+@[A-Za-z0-9]+[A-Za-z0-9\_\-]?[A-Za-z0-9\-]+[.]{1}[A-Za-z0-9]+[.]?[A-Za-z]+$");
   if (trimAll(emailObj.value) != '') {
     if (!emailExp.test(trimAll(emailObj.value)))
     {
        alert("Please enter valid email for the " + strField + " field.");
        emailObj.focus();
        return false;
     }
   }
   return true;
}
//-->