<!--//--><![CDATA[//><!--
/*sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}/*
if (window.attachEvent) window.attachEvent("onload", sfHover);*/

function prepareInputTextBoxes() {
	$('input:text,input:password').addClass("fmText");
	$('input:button, input:reset').addClass("fmButton");
	$('select').addClass("fmSelect");
	$('textarea').addClass("fmTextArea");
	$('input.dp_date').attr("readonly", true);
	$('label.mandatory').prepend('<span class="required">* </span>');
}

function navSelect(navID) {
	document.getElementById(navID).className += " selected";
}

// HIGHLIGHTS A FIELD ON FOCUS
function highlight(obj) {
   obj.style.backgroundColor = '#d5e3ff';
   //obj.style.borderColor = 'black';
}

// REMOVES THE HIGHLIGHT ON BLUR
function blank(obj) {
  obj.style.backgroundColor = '#ffffff';
}

// HIDE OBJECT
function hide(objID) {
	var obj = document.getElementById(objID);
	obj.style.display = 'none';
}

// DISPLAY OBJECT
function display(objID) {
	var obj = document.getElementById(objID);
	obj.style.display = 'inline';
}

// Display the correct days for certain month (etc 30 for April)
function setDays(prefix,obj,suffix) {
	if (suffix == null) suffix = "";
	//Checking if it is a date value, if it is then skip
	var tmp = obj.id;
	var myRE = new RegExp("_dd");
	myRE = "/_dd|_hr|_min|/";
	var results = tmp.match(myRE);
	if (results)
		return false;

	var fieldYear = document.getElementById(prefix+"_yyyy"+suffix);
	var fieldMonth = document.getElementById(prefix+"_mm"+suffix);
	var dayNow = document.getElementById(prefix+"_dd"+suffix);
	var y = fieldYear.value;
	var m = fieldMonth.selectedIndex;
	var days = 0;
	if ( (m == 4) || (m == 6) || (m == 9) || (m == 11) )
		days = 30;
	else if (m == 2) {
		if ( (Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400))) )
			days = 29;
		else
			days = 28;
	}
	else
		days = 31;

	// ADD EXTRA DAYS
	if (days > dayNow.length-1) {
		for (var i = dayNow.length; i <= days; i++) {
			dayNow.length = days+1;
			dayNow.options[i].text = i;
			dayNow.options[i].value = i;
		}
	}
	// SUBTRACT EXTRA DAYS
	if (days < dayNow.length-1) {
		dayNow.length = days+1;
		if (dayNow.selectedIndex == -1)
			dayNow.selectedIndex = days;
	}
	return false;
}

// CHECK EMAIL ADDRESS VALIDITY
function check_email(e) {
	var ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

	for(var i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){
			return (false);
		}
	}
	if (document.images) {
		var re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
		var re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
		if (!e.match(re) && e.match(re_two)) {
			return (-1);
		}
	}
}

function trim(s) {
	return String(s).replace(/^\s+|\s+$/g,"").replace(/\s+/g," ");
}

function countWord(s) {
  var r = 0;
  var a;
  a = trim(s);
  a = a.split(' ');
  for (var z=0; z<a.length; z++) {
    if (a[z].length > 0)
      r++;
  }
  return r;
}

function checkNRIC(v) {
	if (v.length != 9)
		return false;
	v = v.toUpperCase();
	var	prefix = v.charAt(0);
	// Set up the reference table
	var ref_table = new	Array(4);
	ref_table['S'] = ref_table['T'] = ["A","B","C","D","E","F","G","H","I","Z","J"];
	ref_table['F'] = ref_table['G'] = ["K","L","M","N","P","Q","R","T","U","W","X"];
	// Set up the multiplying factory
	var factor = [2,7,6,5,4,3,2];

	// Multiply	the	NRIC digits	with the factor	and	sum	the	results
	var	sum	= 0;
	for	(var i=0; i<7; i++)
		sum	+= (parseInt(v.charAt(i+1)) * factor[i]);

	// Add weightage to	the	sum	if born	after year 1999
	if (prefix=='T'	|| prefix=='G')
		sum	+= 4;

	// Find	the	remainder of sum divided by	11
	var	remainder =	sum	% 11;

	// Find	the	lookup index
	var	index =	11 - remainder;

	// Reference alphabet
	var	ref	= ref_table[prefix][index-1];

	// Compare the reference alphabet
	if (v.charAt(8)!=ref)
		return false;
	else
		return true;
}

function check_nric(nric) {
	if (nric.length	!= 9)
		return (false);

	nric = nric.toUpperCase();
	var	prefix = nric.charAt(0);

	// Set up	the	reference	table
	var	ref_table	=	new	Array(11);
	if (prefix ==	'S'	|| prefix	== 'T')			 //	Singaporean
	{
		ref_table[0]	=	'A';
		ref_table[1]	=	'B';
		ref_table[2]	=	'C';
		ref_table[3]	=	'D';
		ref_table[4]	=	'E';
		ref_table[5]	=	'F';
		ref_table[6]	=	'G';
		ref_table[7]	=	'H';
		ref_table[8]	=	'I';
		ref_table[9]	=	'Z';
		ref_table[10]	=	'J';
	}
	else if	(prefix	== 'F' ||	prefix ==	'G')			// Foreigner
	{
		ref_table[0]	=	'K';
		ref_table[1]	=	'L';
		ref_table[2]	=	'M';
		ref_table[3]	=	'N';
		ref_table[4]	=	'P';
		ref_table[5]	=	'Q';
		ref_table[6]	=	'R';
		ref_table[7]	=	'T';
		ref_table[8]	=	'U';
		ref_table[9]	=	'W';
		ref_table[10]	=	'X';
	}

	// Set up	the	factor
	var	factor = new Array(7);
	factor[0]	=	2;
	factor[1]	=	7;
	factor[2]	=	6;
	factor[3]	=	5;
	factor[4]	=	4;
	factor[5]	=	3;
	factor[6]	=	2;

	// Multiply	the	NRIC digits	with the factor	and	sum	the	results
	var	sum	=	0;
	for	(var i=0;	i<7; i++)
		sum	+= (parseInt(nric.charAt(i+1)) * factor[i]);

	// Add weightage to	the	sum	if born	after	year 1999
	if (prefix ==	'T'	|| prefix	== 'G')
		sum	+= 4;

	// Find	the	remainder	of sum divided by	11
	var	remainder	=	sum	%	11;

	// Find	the	lookup index
	var	index	=	11 - remainder;

	// Reference alphabet
	var	ref	=	ref_table[index-1];

	// Compare the reference alphabet
	if (nric.charAt(8) !=	ref)
		return (false);
	else
		return (true);
}

// CREATE POP-UP WINDOW
function popup(mypage, myname, w, h, pos, infocus) {
	if (infocus==null)
		infocus = 'front';
	var LeftPosition = (screen.width)?(screen.width-w)/2:100;
	var TopPosition = (screen.height)?(screen.height-h)/2:100;
	var settings = 'width='+ w + ',height='+ h + ',top=' + TopPosition + ',left=' + LeftPosition + ',scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
	var popupWindow = window.open('',myname,settings);
	if (infocus=='front') {
		popupWindow.focus();
		popupWindow.location = mypage;
	}
	else {
	  popupWindow.location = mypage;
		popupWindow.opener.focus();
	}
}

// creates an XMLHttpRequest instance
function createXmlHttpRequestObject() {
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // this should work for all browsers except IE6 and older
  try {
    // try to create XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e) {
    // assume IE6 or older
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // try every prog id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
      try {
        // try to create XMLHttpRequest object
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      }
      catch (e) {}
    }
  }
  // return the created object or display an error message
  if (!xmlHttp) {
    alert("Error creating the XMLHttpRequest object.");
    return false;
  }
  else
    return xmlHttp;
}

function activateList(e) {

}

function returnChoice(dropdown) {
	var targetFieldContainer = document.getElementById('targetField');
	if (targetFieldContainer.value!='') {
		var targetField = document.getElementById(targetFieldContainer.value);
		var myindex = dropdown.selectedIndex;
		var tmp = dropdown.options[myindex].value;
		if (tmp.toLowerCase()!='other' && tmp.toLowerCase()!='others')
			targetField.value = dropdown.options[myindex].value;
	}
	var selectorFieldDiv = document.getElementById('div_' + dropdown.id);
	selectorFieldDiv.style.display = 'none';
	//targetField.focus();
}

function initSelector() {
	var element, key;
	for (key in dropDownArr) {
		element = document.getElementById(key);
		if (element) {
			element.onfocus = activateList;
			element.setAttribute("autocomplete", "off");
			if (element.captureEvents)
				element.captureEvents(Event.CLICK|Event.FOCUS);
		}
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function hideAllSelector() {
  var selectorList = getElementsByClassName(document, "div", "selectorContainer");
  for (var i=0; i<selectorList.length; i++) {
    selectorList[i].style.display = 'none';
  }
}

function getElementsByClassName(oElm, strTagName, oClassNames) {
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if (typeof oClassNames == "object") {
		for (var i=0; i<oClassNames.length; i++) {
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else {
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement, bMatchesAll;
	for (var j=0; j<arrElements.length; j++) {
		oElement = arrElements[j];
		bMatchesAll = true;
		for (var k=0; k<arrRegExpClassNames.length; k++) {
			if (!arrRegExpClassNames[k].test(oElement.className)) {
				bMatchesAll = false;
				break;
			}
		}
		if (bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements);
}

if (typeof Array.prototype.push != "function") {
	Array.prototype.push = ArrayPush;
	function ArrayPush(value){
		this[this.length] = value;
	}
}

function redirectHost(obj) {
  var objForm = obj.form;
  var email = objForm.email.value;
  var url, url_next;
  if (objForm.type_1.checked==true) {
    url = objForm.action.toString().replace(/institute|student/, "employer");
    url = url.replace(/jsLogin/, "empLogin");
    url_next = objForm.url_next.value.replace(/institute|student/, "employer");
  }
  else if (objForm.type_2.checked==true) {
    url = objForm.action.toString().replace(/employer|student/, "institute");
    url = url.replace(/jsLogin/, "empLogin");
    url_next = objForm.url_next.value.replace(/employer|student/, "institute");
  }
  else if (objForm.type_3.checked==true) {
    url = objForm.action.toString().replace(/employer|institute/, "student");
    url = url.replace(/empLogin/, "jsLogin");
    url_next = objForm.url_next.value.replace(/employer|institute/, "student");
  }
  objForm.action = url;
  objForm.url_next.value = url_next;
  return true;
}

function getEditorValue(instanceName){
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance(instanceName);
  // Get the editor contents as XHTML.
  return oEditor.GetXHTML(true); // "true" means you want it formatted.
}
//--><!]]>