function checkEmail(s)	
{
var EmailOk  = true
var Temp     = s
var AtSym    = Temp.value.indexOf('@')
var AtSym1    = Temp.value.lastIndexOf('@')
var Period   = Temp.value.lastIndexOf('.')
var Period1   = Temp.value.indexOf('.')
var Space    = Temp.value.indexOf(' ')
var c=Temp.value.charAt(AtSym)
var Length   = Temp.value.length - 1   // Array is from 0 to length-1
arr_substrings = Temp.value.split("@");
     if(arr_substrings.length!=2) {
      // now check the to see if there is only 1 @
      EmailOk = false
    }
if ((AtSym < 1) ||                     // '@' cannot be in first position
    (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
    (Period == Length ) ||             // Must be atleast one valid char after '.'
    (Space  != -1)    ||                // No empty spaces permitted
	(Temp.value.charAt(AtSym) == Temp.value.charAt(AtSym+1)) ||  // '@' cannot be in concecutive position
	(Temp.value.charAt(Period1) == Temp.value.charAt(Period1+1)) ||   // '.' cannot be in concecutive position
	(Temp.value.charAt(Period) == Temp.value.charAt(Period-1)) ||
	(Temp.value.charAt(AtSym1) == Temp.value.charAt(AtSym1-1))
	)
	
   {  
      EmailOk = false
      //Temp.focus()
   }
   else {
       //test email for illegal characters
var illegalChars= /[\%\$\^\&\`\~\!\+\|\=\?\'\{\}\#\(\)\<\>\,\;\:\\\"\[\]\/]/

         if (s.value.match(illegalChars)) {
          EmailOk = false;
       }
    }
return EmailOk
}
function checkM1num(x) {
if (x.length > 0)
{
if (x.length == 8 )

   {
      for (var i = 0; i < x.length; i++)
      {
          var c = x.charAt(i);
          if (i == 0)
          {
             if (c == "8" || c == "9")
             {}
             else
                return;
          }
          else
          {
             if (c < '0' || c > '9') return;
          }
      }
      return true;
   }

   else
      return;
}
return true;
}

/*function checkContact(s) {
if (s.length > 0)
{
 if ((isNaN(s))
     ||(s.length!=8 && s.length!=7)) {
        //alert('Please enter valid contact number');
         return false;
    }
}
return true;
}*/


function checkContact(x) {
if (x.length > 0)
{
	if (x.length == 8 )
	{
	      for (var i = 0; i < x.length; i++)
      {
          var c = x.charAt(i);
          if (i == 0)
          {
             if (c == "8" || c == "9" || c == "6")
             {}
             else
                return;
          }
          else
          {
             if (c < '0' || c > '9') return;
          }
      }
      return true;
   }

   else
      return;
}
return true;
}


function checkValue(s)
{
	if (s.length==0)
	{
		return false;
	}
	else	if (s =="")
	{
		return false;
	}
	else
	{
		return true;

	}
}




function checkdropdown(list) {
    if (list.options[0].selected) {
		return false;
}
return true;
}


function warnInvalid (field, s) {
  //alert(s);
  return false;
}


function isValidDate (day, month, year) {
 var Month30  = "AprnJunnSepnNov";
 var y,m,d;
 var today = new Date();
var curryear=today.getFullYear();

 for (m = 0; m<=11; m++)
 {
    if (month[m].selected)
      break;
 }

 for (d = 0; d<=30; d++)
 {
    if (day[d].selected)
      break;
 }

 for (y = 0; y<=79; y++)
 {
    if (year[y].selected)
      break;
 }

 if (year[y].value > curryear) {
     return warnInvalid( year, "Year is invalid.");

 }

 if (Month30.indexOf(month[m].value) != -1) {
     if (day[d].value > 30)
	{	
        return warnInvalid( day, "Day is not valid for the month selected." );
	}
     else
        return true;
 }
 else {
     if (month[m].value == "Feb") {
        var dayInFeb = ((year[y].value % 4 == 0) &&
         ((!(year[y].value % 100 == 0)) || (year[y].value % 400 == 0)) ) ? 29 : 28;

         if (day[d].value > dayInFeb)
            return warnInvalid( day, "Day is not valid for the month of February." );
         else
            return true;
       }
     }
	 return true;
}  
function checkSize( obj,LIMIT ){
   //check to see if the size is over LIMIT
   if (obj.value.length > LIMIT)
        obj.value = obj.value.substring(0, LIMIT);
}

function IsNumeric(sText)
{
   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;
	  }
   }
   return IsNumber;
}

function checkNric(x) {
	//0=true, 1=false;
	if (x.length == 9 ) {
      for (var i = 0; i < x.length; i++) {
          var c = x.charAt(i);
          if (i == 0) {
             if (IsNumeric(c) == false) {
			 	if (c == 'S' || c == 's') {}
				else return;
			 }
          } else if (i == 8) {
		  	 if (IsNumeric(c) == true) return;
		  } else {
             if (IsNumeric(c) == false) return;
          } 
      }
      return true;
   } 
   return;
}

function checkNRIC(id) {
  // Returns non-zero if error
  if (id.length != 9) 
     return 1;
  if (id.charAt(0) != "S") 
     return 1;

  var S1 = dig(id,1)*2+dig(id,2)*7+dig(id,3)*6+dig(id,4)*5+dig(id,5)*4+dig(id,6)*3+dig(id,7)*2;
  var P = 10 - (S1 % 11);
  var S2 = "ABCDEFGHIZJ";
  if (id.charAt(8) != S2.charAt(P))
     return 1;
  return 0;
}

function checkFIN(id) {  // Returns non-zero if error
  if (id.value.length != 9) 
     return 1;
  if (id.value.charAt(0) != "F" && id.value.charAt(0) != "G")
     return 1;

  var S1 = dig(id,1)*2+dig(id,2)*7+dig(id,3)*6+dig(id,4)*5+dig(id,5)*4+dig(id,6)*3+dig(id,7)*2;
  if (id.value.charAt(0) == "G") 
     S1 += 4;

  var P = 10 - (S1 % 11);
  var S2 = "KLMNPQRTUWX";
  if (id.value.charAt(8) != S2.charAt(P)) 
     return 1;
  return 0;
}

function validateDate( monthField , yearField )
{
		var fboxArr = new Array( "", "Jan" , "Feb" , "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" );
		var date = new Date();
		var curYear = date.getYear();
		var curMonth = date.getMonth() + 1;
		var month = monthField.value;
		var year = yearField.value;
		var month_no;
		for ( i = 1 ; i < fboxArr.length + 1 ; i ++ ){
			if ( month == fboxArr[i] ){
				month_no = i;
				break;
			}
		}
		if ( year == curYear ){
			if ( parseInt ( month_no ) > parseInt( curMonth )  ){
				return false;
			}			
		}
		return true;
		
}
