function cancelkey(e)
{
	e.keyCode = 0;
	return false;
}


function textCounter(objID,maxlimit) 
{

	var field = document.getElementById(objID);
	if (field.value.length > maxlimit) // if too long...trim it!
	{
		field.value = field.value.substring(0, maxlimit);
		alert ("Feedback message should not exceed 4,000 characters.");
	}	
}

function isChecked2(rdoID)
{
  	var status = false;
  	var tmp = document.getElementById(rdoID);
  	for (var i=0; i < tmp.rows.length ; i++)
  	{
  	 	
  	 	if(eval(document.getElementById(rdoID + "_" + i)).checked)
  	 	{
  	 		status = true;
  	 	}
  	}
  	return status;
}


function chkFileSize(theFile,maxSize,thebutton)
{
	var fName = eval(document.getElementById(theFile)).value;
	var oas = new ActiveXObject("Scripting.FileSystemObject");
	var e = oas.getFile(fName);
	alert(e.size);
	/*if ()
	{
		return false;
	}
	else
	{
		document.getElementbyID(thebutton).Click();
	}*/
}


function isChecked(rdoID)
{
  	var status = false;
  	var tmp = document.getElementById(rdoID);
  	for (var i=0; i < tmp.rows.length ; i++)
  	{
  	 	
  	 	if(eval(document.getElementById(rdoID + "_" + i)).checked)
  	 	{
  	 		status = true;
  	 	}
  	}
  	if (status == false) alert('Please complete all compulsory fields before submitting your request');  	
  	return status;
}

function uncheck(rdoID)
{
	var status = false;
  	var tmp = document.getElementById(rdoID);
  	for (var i=0; i < tmp.rows.length ; i++)
  	{  	 	
  	 	document.getElementById(rdoID + "_" + i).checked = false;
  	}
}

function isNotEmpty(sText,fieldName)
{
	if ((sText.value.length==0) ||(sText.value==null)) 
	{
	      alert('Please complete all compulsory fields before submitting your request');
	      sText.focus();
	      return false;
	}
   	else 
   	{ 
   		return true; 
   	}
}

function checkEmpty(sText,fieldName)
{
	if ((sText.value.length==0) ||(sText.value==null)) 
	{
	      alert('Please complete all compulsory fields before submitting your request.');
	      sText.focus();
	      return false;
	}
   	else 
   	{ 
   		return true; 
   	}
}

function IsNumeric(sText,fieldName)
{
   var ValidChars = '+0123456789.';
   var IsNumber=true;
   var Char;
	
   
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   if (!IsNumber)
   {
   	alert('Sorry, please enter numbers only');
   }
   return IsNumber;
   
}


function noPaste(e)
{
	e.returnValue = false;
}


function noCopyKey(e) 
{
    var forbiddenKeys = new Array('c','x','v');
	var isCtrl;

	if(window.event) {
		if(window.event.ctrlKey)
			isCtrl = true;
		else
			isCtrl = false;
	}
	else {
		if(e.ctrlKey)
			isCtrl = true;
		else
			isCtrl = false;

	}
	
	if(isCtrl) {
		for(i=0; i < forbiddenKeys.length; i++) {
			if(forbiddenKeys[i] == String.fromCharCode(e.keyCode).toLowerCase()) {
				alert('You are not allowed to copy this data');
				return false;
			}
			}
	}
	return true;
}

function IsEmailValid(strEmail)
{
var emailExp = new RegExp("[A-Za-z0-9\-\_\+\.][A-Za-z0-9]+@[A-Za-z0-9\-\_][A-Za-z0-9\-\_]+\.[A-Za-z][A-Za-z\-\.]*$");
if ((Trim(strEmail) == "")||(!emailExp.test(Trim(strEmail))) || (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(Trim(strEmail))) )
{
alert("Please ensure your email address is entered correctly");
return false;
}
else
return true; 
}

function LTrim(str)
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);

	if (whitespace.indexOf(s.charAt(0)) != -1) {
	var j=0, i = s.length;

	while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
		j++;

	s = s.substring(j, i);
	}
	return s;
}

function RTrim(str)
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);

	if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
	var i = s.length - 1;       // Get length of string

	while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
		i--;

	s = s.substring(0, i+1);
	}
	return s;
}

function Trim(str)
{
	return RTrim(LTrim(str));
}

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();
	}
	bValid = true;
	return bValid
}


