//3rd Party
function setFCKEditor(ctrlName, BasePath, Height) {
	try {
		var oFCKeditor = new FCKeditor(ctrlName);
		oFCKeditor.BasePath = BasePath;
		oFCKeditor.Height = Height;
		oFCKeditor.ReplaceTextarea();
	} catch(e) {}
}
function getFCKEditorText(objName) {
	try {
		var oEditor = FCKeditorAPI.GetInstance(objName);
		var length = oEditor.GetXHTML(true).length;
		return oEditor.GetXHTML(true);
	} catch(e) {
		return "";
	}
}
function getFCKEditorIndex(objName) {
	try {
		var oEditor = FCKeditorAPI.GetInstance(objName);
		return oEditor.GetXHTML(true).length;		
	} catch(e) {
		return 0;
	}
}
function setFCKEditorFocus(objName) {
	try {
		var oEditor = FCKeditorAPI.GetInstance(objName);
		oEditor.Focus();		
	} catch(e) {}
}

//Macromedia Functions

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


//General Functions
function changeMediaContent(url) {
	try {
		document.wmp.url = url;
		document.wmp.controls.play();
	} catch(e) {}
}
	
function processExport(frm, printpage) {
	var action = frm.action;
	var target = frm.target;
	frm.action = printpage;
	frm.target = "_blank";
	frm.submit();
	frm.action = action;
	frm.target = target;
}
function getFileSize(filePath) {
	try {
		var oas = new ActiveXObject("Scripting.FileSystemObject");
		var e = oas.getFile(filePath);
		var f = e.size;
		return f;
	} catch(e) {
		return -1;
	}
}

//Ver 1.1 - 5 Feb 08
function isValidFileExtension(filePath, validExts) {
	//var validExts = new Array (".htm", ".cfm", ".txt");
	var isValid = false;
	for (var ix=0; ix < validExts.length; ix++) {
		var pos = filePath.toLowerCase().lastIndexOf(validExts[ix].toLowerCase());
		if (pos > -1) { isValid = true;break; }
	}
	return isValid;
}

//Ver 1.0
function CheckNoSpace(object, msg, valuename) {
	if (object.value.indexOf(" ")>-1) {
		if (valuename == null) valuename = "value";
		defmsg = "The "+valuename+" should consists of characters without leading or trailing blanks";
		if (msg == null) msg = defmsg;
		alert(msg);
		object.focus();
		object.select();
		return false;
	}
	return true;
}

//Ver 1.0 for checkbox named as chk[]
function checkAll(chk) {
	var frm = chk.form;
	if (document.getElementById('chk[]') == null) {
		//Nothing		
	//} else if (frm.chk.length == null) {
	} else if (frm.elements['chk[]'].length == null) {
		//Only one item
		document.getElementById('chk[]').checked = chk.checked;
	} else {
		for(i=0;i<frm.elements['chk[]'].length;i++){
        	frm.elements['chk[]'][i].checked = chk.checked;
        }
	}
}
//Ver 1.0 for checkbox named as chk[]
function checkifAllChecked(chk) {
	var frm = chk.form;
	if (document.getElementById('chk[]') == null) {
		//Nothing		
	//} else if (frm.chk.length == null) {
	} else if (frm.elements['chk[]'].length == null) {
		//Only one item
		chk.checked = document.getElementById('chk[]').checked;
	} else {
		var checked = true;
		for(i=0;i<frm.elements['chk[]'].length;i++){
        	if (!frm.elements['chk[]'][i].checked) {
				checked = false;
				break;
			}
        }
		chk.checked = checked;
	}
}

//Ver 1.0
function CheckBoxSelectAll(OnOff, chkboxName, ctrl) {
	try {
		if (OnOff == "1") {
			NextOnOff = "0";
			selected = true;
		} else {
			NextOnOff = "1";
			selected = false;
		}
		if (ctrl == null) {
			frm = document.forms[0];
		} else {
			frm = ctrl.form;
		}
		
		if (chkboxName == null) chkboxName = "chk[]";
		if (document.getElementById(chkboxName) == null) {
			//Nothing
		} else if (frm.elements[chkboxName].length == null) {
			//Only one item
			document.getElementById(chkboxName).checked = selected;
		} else {
			var checked = true;
			for(i=0;i<frm.elements[chkboxName].length;i++){
				frm.elements[chkboxName][i].checked = selected;
			}
		}
		if (ctrl != null) {
			ctrl.value = NextOnOff;
		}
	} catch(e) {}
}
//Ver 1.1 for checkbox named as chk[]
function checkifAtLeastCheckedOne(frm, chkboxName) {
	if (chkboxName == null) chkboxName = "chk[]";
	if (document.getElementById(chkboxName) == null) {
		//Nothing
		return false;
	} else if (frm.elements[chkboxName].length == null) {
		//Only one item
		return document.getElementById(chkboxName).checked;
	} else {
		var checked = true;
		for(i=0;i<frm.elements[chkboxName].length;i++){
        	if (frm.elements[chkboxName][i].checked) {
				return true;
				break;
			}
        }
		return false;
	}
	return true;
}

//Ver 1.1
function getCurrentFileName(removeQueryingString) {
	var tmp = window.location.href;
	if (tmp.lastIndexOf("?") > -1) {
		tmp = tmp.substring(0,tmp.lastIndexOf("?"));		
	}
	tmp = tmp.substring(tmp.lastIndexOf("/")+1);
	if (removeQueryingString != null) {
		if (removeQueryingString) {
			var tmpArr = tmp.split("?");
			tmp = tmpArr[0];
		}
	}
	return tmp;
}

//Ver 1.4 - 5 Feb 2007
function setFirstElementFocus(frm, defctrl, selectValue, onlyDoWhen) {
	var iLen = frm.elements.length;
	var nextElement;
	
	if (onlyDoWhen != null) {
		if (onlyDoWhen == false) return false;
	}
	
	if (defctrl == null) {
		for (i = 0 ; i < iLen ; i++ ) {
			nextElement = frm.elements[i];
			if ((nextElement.type == "text") ||
				(nextElement.type == "checkbox") ||
				(nextElement.type == "radio") ||
				(nextElement.type == "select-one") ||			
				(nextElement.type == "textarea") ||
				(nextElement.type == "submit") ||
				(nextElement.type == "reset") ||
				(nextElement.type == "button")) {
				nextElement.focus();
				//Move to end of text
				if ((nextElement.type == "text") || (nextElement.type == "textarea")) {
					if (nextElement.value != "") nextElement.value = nextElement.value + "";
				}
				if (selectValue != null) {
					if ((selectValue) && ((nextElement.type == "text") || (nextElement.type == "textarea"))) {
						nextElement.select();
					}
				}
				break;
			}
		}
	} else {
		try {
			defctrl.focus();
			//Move to end of text
			if ((defctrl.type == "text") || (defctrl.type == "textarea")) {
				if (defctrl.value != "") defctrl.value = defctrl.value + "";
			}
			if (selectValue != null) {
				if ((selectValue) && ((defctrl.type == "text") || (defctrl.type == "textarea"))) {
					defctrl.select();
				}
			}
		} catch(e) {}
	}
}

//Ver 1.0 29 Aug 2006
function isUrl(url){	
	if(url.match(/^(http|ftp)\:\/\/\w+([\.\-]\w+)*\.\w{2,4}(\:\d+)*([\/\.\-\?\&\%\#\=]\w+)*\/?$/i) ||
		url.match(/^mailto\:\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w{2,4}$/i)){
		return true;
	} else {
		return false;
	}
}


//Ver 1.0 28 Aug 2006
function confirmURL(msg) {
	if (msg == null) {
		msg = "Are you sure want to delete this image?";
	}
	return (confirm(msg));
}

//Ver 1.1 22 Jun 2006
function setItemSelect(v,c,t,resetvalue) {
	if (v != "") {
		if (t == "text") {
			
		} else if (t == "menu_0") {
			c.selectedIndex = 0;
		} else if (t == "menu") {
			c.selectedIndex = c.length-1;
		} else if (t == "radio") {
			c.checked = true;
		} else if (t == "option") {
		
		} else if (t == "chk") {
			c.checked = true;
		} else {
			
		}
	} else {
		if (t == "text") {
			
		} else if (t == "menu_0") {
			if (c.selectedIndex == c.length-1) {
				if (resetvalue != null) {
					if (resetvalue) { c.selectedIndex = 0; }	
				} else {
					c.selectedIndex = 0;
				}
			}
			return "cleartext";
		} else if (t == "menu") {
			if (c.selectedIndex == c.length-1) {
				if (resetvalue != null) {
					if (resetvalue) { c.selectedIndex = 0; }	
				} else {
					c.selectedIndex = 0;
				}
			}
		} else if (t == "radio") {
			if (resetvalue != null) {
				if (resetvalue) { c.checked = false; }
			} else {
				c.checked = false;
			}
			return "cleartext";
		} else if (t == "option") {
		
		} else if (t == "chk") {
			if (resetvalue != null) {
				if (resetvalue) { c.checked = false; }
			} else {
				c.checked = false;
			}
			return "cleartext";
		} else {
			
		}
	}
	return "";	
}


function setFocusByMenu(me,c, t, checkIndex) {
	var chkIdx = 0;
	if (checkIndex != null) {
		chkIdx = checkIndex;
	} else {
		chkIdx = me.length-1;	
	}
	if (me.selectedIndex == chkIdx) {
		if (t == "text") {
			c.focus();
			c.select();
		} else if (t == "menu") {
			c.focus();
		} else if (t == "option") {
			c.focus();
		} else {
			c.focus();
		}
	} else {
		if (t == "text") {
			c.value="";
		} else if (t == "menu") {
			c.selectedIndex=0;
		} else if (t == "option") {
			c.checked=false;
		} else {
			
		}
	}
}

function setFocusByChk(me,c, t) {
	if (me.checked) {
		if (t == "text") {
			c.focus();
			c.select();
		} else if (t == "menu") {
			c.focus();
		} else if (t == "option") {
			c.focus();
		} else if (t == "chk") {
			c.focus();
			c.checked = true;
		} else {
			c.focus();
		}
	} else {
		if (t == "text") {
			c.value="";
		} else if (t == "menu") {
			c.selectedIndex=0;
		} else if (t == "option") {
			c.checked=false;
		} else {
			
		}
	}
}

function setFocusByRadio(me,c, t) {
	if (me.checked) {
		if (t == "text") {
			c.focus();
			c.select();
		} else if (t == "cleartext") {
			c.value="";
		} else {
			c.focus();
		}
	} else {
		if (t == "text") {
			c.value="";
		} else if (t == "cleartext") {
			c.value="";
		} else {
			
		}
	}
}


//Ver 1.0
function isDigit() {
	if ((event.keyCode < 48)||(event.keyCode > 57 )) {
	  	//if (event.keyCode != 46) {
			event.returnValue=false;
		//}
	}
}

//Ver 1.0
function instr(str, findstr) {
	var re= new RegExp(findstr);
	var m= re.exec(str);
	
	return (m != null)
}

//Ver 1.3
function openInCenter(theURL, myw, myh, windowName, resize) {
	if (windowName==null) {
		windowName = "defwindow";
	}
	var r = 0;
	if (resize!=null) {
		if (1 == resize) {
			r = 1;
		} else {
			r = 0;
		}
	}
	var X = ((screen.width/2)-(myw/2));
	var Y = ((screen.height/2)-(myh/2));	
	var myparams = "innerWidth=" + myw + ",innerHeight=" + myh + ",width=" + myw + ",height=" + myh + ",left=" + X + ",top=" + Y + ",screenX=" + X + ",screenY=" + Y;
	myparams += "alwaysLowered=0,alwaysRaised=1,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable="+resize+",scrollbars=1,status=0,titlebar=1,toolbar=0,z-lock=1";	
	var mypopup = window.open(theURL,windowName,myparams);
	return (mypopup)? false:true;
}

//Ver 1.0
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

//Ver 1.0
function daysElapsed(date1,date2) {
    var difference =
        Date.UTC(y2k(date1.getYear()),date1.getMonth(),date1.getDate(),0,0,0)
      - Date.UTC(y2k(date2.getYear()),date2.getMonth(),date2.getDate(),0,0,0);
    return difference/1000/60/60/24;
}

//Ver 1.0
function reloadPage() {
	window.location.reload();
}

//Ver 1.0
function setfocus(ctrl) {
	ctrl.setfocus();	
}

//Ver 1.0
function querystring(name)   // returns a named value from the querystring
{  //yourpage.html?xyz=123
   var tmp = ( location.search.substring(1) );
   var i   = tmp.toUpperCase().indexOf(name.toUpperCase()+"=");
 
   if ( i >= 0 )
   {
      tmp = tmp.substring( name.length+i+1 );
      i = tmp.indexOf("&");
      return unescape( tmp = tmp.substring( 0, (i>=0) ? i : tmp.length ));
   }

   return("");
}

function goURL(url) {
	window.location.href = url;	
}

function refreshPage() {
	window.location.reload();
}

function popwin(url,thetitle,thewidth,theheight){
	window.open(url, thetitle, "toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=" + thewidth + ",height=" + theheight + "");
}

function trim(s){
	return s.replace(/^\s*/,'').replace(/\s*$/, '');
}

function trimAllTextField(frm) {
	var inputs = frm.elements ;
	var iLen = inputs.length ;
	var nextElement ;
	for (i = 0 ; i < iLen ; i++ ) {
		nextElement = inputs[i];
		if (nextElement.type == "text") {
			nextElement.value = trim(nextElement.value);
		}
	}
}

//Ver 1.0
function returnAllFormElements(frm, writeMethod, returnType) {
	data = "";
	if (returnType == null) returnType = false;
	if (writeMethod == null) {
		separator = "\n";
	} else {
		writeMethod = writeMethod.toLowerCase();
		if (writeMethod == "doc") {
			separator = "<br>";
		} else if (writeMethod == "cb") {
			separator = "\n";
		} else {
			separator = "\n";
		}
	}
	
	for (var i = 0; i < frm.elements.length; i++) {
		data+= separator+frm.elements[i].name+ (returnType==true?" is " + frm.elements[i].type:"");
	}
	
	if (separator == "\n") {
		if (window.clipboardData) window.clipboardData.setData("Text", data);			
	} else if (separator == "<br>") {
		document.writeln(data);
	}		
}
	
function isnumeric(v) {
	return !(v=="" || isNaN(v));
}

function numeric(v){
	if (trim(v) == "") {
		return 0;
	} else if ((v.replace(/\D/g,'') == "") || isNaN(v)) {
		return 0;
	} else {
		return parseFloat(v);
	}					
}

function NumericInt(c){
	if ((c.value.replace(/\D/g,'') == "") || (parseInt(c.value) < 0) || isNaN(c.value)) {
		c.value = "";
	} else {
		c.value = trim(""+parseInt(c.value));
	}
}

function chknumeric(c,defv) {
	if ((c.value.replace(/\D/g,'') == "") || (parseInt(c.value) <= 0) || isNaN(c.value)) {
		//Invalid;
		c.value = defv;
	} else {
		c.value = trim(c.value);
	}
}


//Ver 1.1
function formatCurrency(original_number, decimals) {
	if ( decimals==undefined ) 
		decimals = 2;
	if (numeric(original_number)>0) {
		var result1 = original_number * Math.pow(10, decimals);
		var result2 = Math.round(result1);
		var result3 = result2 / Math.pow(10, decimals);
		return pad_with_zeros(result3, decimals);
	} else {
		return "0.00";
	}
}

function pad_with_zeros(rounded_value, decimal_places) {
	var value_string = rounded_value.toString();
    var decimal_location = value_string.indexOf(".");
	if (decimal_location == -1) {
        decimal_part_length = 0;
        value_string += decimal_places > 0 ? "." : "";
    } else {
		decimal_part_length = value_string.length - decimal_location - 1;
    }
	var pad_total = decimal_places - decimal_part_length;
    if (pad_total > 0) {
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0";
    }
    return value_string;
}

//Ver 2.0 //30 July 2006
function isEmail(value) {
	var supported = false;
	//Trim the value
	value = value.replace(/^\s*/,'').replace(/\s*$/, '');
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) { supported = true; }
	}
	lastChar = value.substring(value.length-1);
	var reg3 = lastChar.match(/[^a-z]/gi);
	var reg4 = (value.indexOf(" ") == -1);
	if (!supported) {
		return (value.indexOf(".") > 2) && (value.indexOf("@") > 0) && (reg3==null) && reg4;
	}
	var reg1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var reg2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2})");
	return (!reg1.test(value) && reg2.test(value) && (reg3==null) && reg4);
}










//Form Validation

//Ver 1.0
function getMenuIndexViaText(object, text) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object.options[j].value == text) {
			return j;			
		}
	}
	return 0;
}

//Ver 1.0
function getCheckCount(object) {
	var i = object.length;
	var cnt = 0;
	
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			cnt++;			
		}
	}
	return cnt;
}

//Ver 1.0
function clearSelectRadio(object) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		object[j].checked = false;
	}
}

//Ver 1.0
function setRadioIndexViaText(object, text) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].value == text) {
			object[j].checked = true;
			return j;			
		}
	}
	return 0;
}
//Ver 1.0
function getRadioSelectedValue(object) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			return object[j].value;			
		}
	}
	return "";
}

//Ver 1.0
function getRadioSelectedText(object) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			return object[j].text;			
		}
	}
	return "";
}

//Ver 1.0
function getRadioSelectedIndex(object) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			return j;			
		}
	}
	return -1;
}

//Ver 1.0
function CheckIsBlankChk(object, message, hashtarget) {
	if (object.checked==false) {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		try {
			object.focus();
			object.select();
		} catch(e) {}
		return true;
	} else {
		return false;	
	}
}
//Ver 1.0
function CheckIsSame(object1, object2, message) {
	if (object1.value != object2.value) {
		alert(message);
		object2.focus();
		object2.select();
		return false;
	} else {
		return true;	
	}
}

//Ver 1.0
function CheckIsNotLength(object, len, message, hashtarget) {
	if (object) {
		if (object.value.length != len) {
			alert(message);
			if (hashtarget != null) window.location.hash = hashtarget;
			try {
				object.focus();
				object.select();
			} catch(e) {}
			return true;
		} else {
			return false;
		}
	} else {
		return false;	
	}
}

function CheckIsBlank_WithValue(objectValue, object, message, hashtarget) {
	if (trim(objectValue) == "") {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		try {
			object.focus();
			object.select();
		} catch(e) {}
		return true;
	} else {
		return false;	
	}
}

//Ver 1.2
function CheckIsBlank(object, message, hashtarget) {
	if (strIsBlank(object)) {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		try {
			object.focus();
			object.select();
		} catch(e) {}
		return true;
	} else {
		return false;	
	}
}

//Ver 1.1
function CheckIsBlankNoTrim(object, message) {
	//For text field only 
	if (object.value == "") {
		alert(message);
		object.focus();
		return true;
	} else {
		return false;	
	}
}

//Ver 1.1
function CheckIsBlankcbo(object, message) {
	if (strIsBlank(object)) {
		alert(message);
		object.focus();
		return true;
	} else {
		return false;	
	}
}

//Ver 1.0 - Previous as checkRadioBlank
function CheckIsBlankradio(object, message) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			return false;
		}
	}
	alert(message);
	object[0].focus();
	return true;
}

//Ver 1.1
function checkRadioBlankV2(object) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object[j].checked) {
			return false;
		}
	}
	return true;
}

//Ver 1.1
function CheckIsEmail(object, message) {
	if (!isEmail(strTrim(object))) {
		alert(message);
		object.focus();
		object.select();
		return false;
	} else {
		return true;	
	}
}

//Ver 1.1
function CheckDigit(object, message, valueLength) {
	if (strTrim(object).length != valueLength) {
		alert(message);
		object.focus();
		object.select();
		return false;
	} else {
		return true;	
	}
}

//Ver 1.1
function CheckPostal(object, message) {
	if (isValidCurr(object))
		if (!CheckDigit(object, message, 6)) {
			return false;
		} else {
			return true;
		}
	else {
		alert(message);
		object.focus();
		return false;
	}
}

//Ver 1.1
function CheckSGHP(object, message) {
	if ((strTrim(object).length < 8) || isNaN(strTrim(object)) || ((strTrim(object).substring(0, 1) != "9") && (strTrim(object).substring(0, 1) != "8") && (strTrim(object).substring(0, 1) != "+")) || (strTrim(object).indexOf("e") > 0) || (strTrim(object).indexOf("E") > 0) || (strTrim(object).indexOf(".") > 0)) {
		alert(message);
		object.focus();
		object.select();
		return false;
	} else {
		return true;	
	}		
}

//Ver 1.1
function CheckSGOffice(object, message) {
	if ((strTrim(object).length < 8) || isNaN(strTrim(object)) || ((strTrim(object).substring(0, 1) != "6") && (strTrim(object).substring(0, 1) != "+")) || (strTrim(object).indexOf("e") > 0) || (strTrim(object).indexOf("E") > 0) || (strTrim(object).indexOf(".") > 0))	{
		alert(message);
		object.focus();
		object.select();
		return false;
	} else {
		return true;
	}		
}

//Ver 1.1
function CheckMin(object, minamount, message) {
	if (parseFloat(strTrim(object)) < parseFloat(minamount)) {
		alert(message); 
		object.focus();
		object.select();
		return false;
	} else {
		return true;	
	}		
}



function strIsBlank(object)
{
	str = strTrim(object);
	str = trim(str);
	return str.length == 0 ? true : false;
}

function strTrim(object)
{
	var value, i, c, str = "";

	if (object != null)
	{

		if ((object.type == "text") || (object.type == "textarea") || (object.type == "password") || (object.type == "hidden") || (object.type == "file")|| (object.type == "checkbox"))
		{
			value = object.value;
		}
		else if (object.type == "select-one")
		{
			value = object.options[object.selectedIndex].value
		}
		else
		{
			value = object;	
		}
	}
	else
	{
		value = "";
	}

	if (value != "")
	{
		for (i = 0; i < value.length; i++)
		{
			c = value.charAt(i);
			
			if ((c != ' ') && (c != '\n') && (c != '\t'))
			{
				str += c;
			}
			else
			{
				if (i != 0 || i != value.length)
				{
					str += c;					
				}
			}
		}
	}

	return str;
}

function nricIsValid(val){
	if (val.length != 9 ){
				return false;
	}
	if (val.charAt(0) != 's' && val.charAt(0) != 'S' && val.charAt(0) != 't' && val.charAt(0) != 'T'){
				return false;
	}
	if (val.charAt(8) >= "0" && val.charAt(8) <= "9"){
				return false;
	}
	for(i=1; i<val.length-1; i++){
			if (val.charAt(i) < "0" || val.charAt(i) > "9"){
				return false;
			}
	}
	if (val.charAt(0) == 's' || val.charAt(0) == 'S')
	var sum =  val.charAt(1)*2+val.charAt(2)*7+val.charAt(3)*6+val.charAt(4)*5+val.charAt(5)*4+val.charAt(6)*3+val.charAt(7)*2;
	else
	var sum =  val.charAt(1)*2+val.charAt(2)*7+val.charAt(3)*6+val.charAt(4)*5+val.charAt(5)*4+val.charAt(6)*3+val.charAt(7)*2+4;
	var p_num = 11-sum%11;
	
	switch (p_num) {
		case 1:
			if (val.charAt(8) != 'a' && val.charAt(8) != 'A'){
					return false;
			}
			break
		case 2:
			if (val.charAt(8) != 'b' && val.charAt(8) != 'B'){
					return false;
			}
			break
		case 3:
			if (val.charAt(8) != 'c' && val.charAt(8) != 'C'){
					return false;
			}
			break
		case 4:
			if (val.charAt(8) != 'd' && val.charAt(8) != 'D'){
					return false;
			}
			break
		case 5:
			if (val.charAt(8) != 'e' && val.charAt(8) != 'E'){
					return false;
			}
			break
		case 6:
			if (val.charAt(8) != 'F' && val.charAt(8) != 'f'){
					return false;
			}
			break
		case 7:
			if (val.charAt(8) != 'g' && val.charAt(8) != 'G'){
					return false;
			}
			break
		case 8:
			if (val.charAt(8) != 'h' && val.charAt(8) != 'H'){
					return false;
			}
			break
		case 9:
			if (val.charAt(8) != 'i' && val.charAt(8) != 'I'){
					return false;
			}
			break
		case 10:
			if (val.charAt(8) != 'z' && val.charAt(8) != 'Z'){
					return false;
			}
			break
		case 11:
			if (val.charAt(8) != 'j' && val.charAt(8) != 'J'){
					return false;
			}
	}
	
	
	return true;	
}
