// JavaScript Document

//check for nric number
function nricCheck(nric){
	var nricflagerror=false;
	temp = nric;
	if (temp.length != 9) {
		nricflagerror=true;
	}
	else {
		var w = new Array(); 
		var d = new Array();
		switch(temp.charAt(0)) {
			case "S":
				w = new Array(0, 2, 7, 6, 5, 4, 3, 2);
				d = new Array("J", "Z", "I", "H", "G", "F", "E", "D", "C", "B", "A");
				break;
			case "T":
				w = new Array(0, 2, 7, 6, 5, 4, 3, 2);
				d = new Array("G", "F", "E", "D", "C", "B", "A", "J", "Z", "I", "H");
				break;
			case "F":
				w = new Array(4, 2, 7, 6, 5, 4, 3, 2);
				d = new Array("X", "W", "U", "T", "R", "Q", "P", "N", "M", "L", "K");
				break;
			case "V":
				w = new Array(4, 2, 7, 6, 5, 4, 3, 2);
				d = new Array("R", "Q", "P", "N", "M", "L", "K", "X", "W", "U", "T");
				break;			
			default:
				nricflagerror=true;
				break;
		}
		if (d[0] != "") {
			mod11 = w[0];
			mod11 += w[1]*parseInt(temp.charAt(1));
			mod11 += w[2]*parseInt(temp.charAt(2));
			mod11 += w[3]*parseInt(temp.charAt(3));
			mod11 += w[4]*parseInt(temp.charAt(4));
			mod11 += w[5]*parseInt(temp.charAt(5));
			mod11 += w[6]*parseInt(temp.charAt(6));
			mod11 += w[7]*parseInt(temp.charAt(7));
			mod11 = mod11 % 11;
			if (d[mod11] != temp.charAt(8)) {
				nricflagerror=true;//invalid nric
			}
		}
	}//end of else
	if(nricflagerror){
		return true;
	}else{
		return false;
	}
}

//trim strings
function trimAll(sString) 
{
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

//check for empty fields
function checkemptyString(value){
	if(trimAll(value)==""){
		return true;
	}
}

//check for numbers only field
function checkNumbers(value){
	if(isNaN(value)){
		//is a alphabet
		return true;
	}else{
		//is a number
		return false;
	}
}

//format number with decimal places
function formatNumber(myNum, numOfDec) { 
	var decimal = 1;
	for(i=1; i<=numOfDec;i++) 
		decimal = decimal *10; 
	var myFormattedNum = (Math.round(myNum * decimal)/decimal).toFixed(numOfDec);
	return myFormattedNum;
} 

function convertNumbers(value,fieldname){
var floatvalue=parseFloat(value);
	if(isNaN(floatvalue)){
     	alert('Invalid ' + fieldname);
		document.getElementById(fieldname).value="0";
	}else{
		document.getElementById(fieldname).value=formatNumber(floatvalue, 2);
  	}
} 

function validatePictureExt(value){
	var extArr=new Array(".jpg",".jpeg",".gif",".png");
	var found=false;
	for(var i=0;i<4;i++){
		if(value.indexOf(extArr[i],0)>=0){
			return true;					
		}
	}
	return false;
}


//check for email address
function emailcheck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		  return true;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return true;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return true;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   return true;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		  return true;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		   return true;
		 }
		
		 if (str.indexOf(" ")!=-1){
		  return true;
		 }

 		return false;				
}


function popUp(URL, width, height) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+",left = 10,top = 10');");
}

function popUpWithScrollBars(URL, width, height) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width="+width+",height="+height+",left = 10,top = 10');");
}

//get xmlHttpObject from browser	
function GetXmlHttpObject()
{ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest){
 		objXMLHttp=new XMLHttpRequest()
 	}else if (window.ActiveXObject){
 		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
 	}
	return objXMLHttp
}	
