<!--//--><![CDATA[//><!--
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>');
	$('input.fmText,textarea.fmTextArea').focus(function () {
		$(this).addClass('focused');
    }).blur(function () {
		$(this).removeClass('focused');
    });
}

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;
}
/*
// Check if form is modified
function is_form_modified(oForm) {
	var el, opt, hasDefault, i = 0, j;
	while (el = oForm.elements[i++]) {
		switch (el.type) {
			case 'text':
			case 'textarea':
			case 'file':
			case 'hidden':
				if (el.value != el.defaultValue) return true;
				break;
			case 'checkbox':
			case 'radio':
				if (el.checked != el.defaultChecked) return true;
				break;
			case 'select-one':
			case 'select-multiple':
				j = 0, hasDefault = false;
				while (opt = el.options[j++])
					if (opt.defaultSelected) hasDefault = true;
				j = hasDefault ? 0 : 1;
				while (opt = el.options[j++])
					if (opt.selected != opt.defaultSelected) return true;
				break;
		}
	}
	return false;
}
*/
// 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';
}

// 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,6}|[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;
}

// 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=yes,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 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 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.
}

function recordOutboundLink(link, category, action, label, value, w, h) {
	if (_gat!=null) {
		if (label==null)
			label = '';
		if (value==null)
			value = '';
		_gat._getTrackerByName()._trackEvent(category, action, label, value);
	}
	if (w==null)
		w = 800;
	if (h==null)
		h = 500;
	popup(link.href, link.target, w, h);
}
//--><!]]>
