//3rd Party
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 removeURLCache(href) {
	href = (href.indexOf("?")>-1)?href+="&r="+(new Date()).getTime():href+="?r="+(new Date()).getTime();
	return true;
}
function limitText(ctrl, ctrl_cnt, len) {
	if (ctrl.value.length > len) {
		ctrl.value = ctrl.value.substring(0, len);
	} else {
		if (ctrl_cnt!=null) {
			ctrl_cnt.value = len - ctrl.value.length;
		}
	}
}

function changeTarget(frm,action) {
	var paction = frm.action;
	var ptarget = frm.target;
	frm.action = action;
	frm.target = "_blank";
	frm.submit();
	frm.action = paction;
	frm.target = ptarget;
}

//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.2 for checkbox named as chk[]
function checkAll(chk, chkelearrname, bol) {
	var frm = chk.form;
	if (chkelearrname == null) chkelearrname = "chk[]";
	if (bol != null) chk.checked = bol;
	if (document.getElementById(chkelearrname) == null) {
		//Nothing		
	//} else if (frm.chk.length == null) {
	} else if (frm.elements[chkelearrname].length == null) {
		//Only one item
		document.getElementById(chkelearrname).checked = chk.checked;
	} else {
		for(i=0;i<frm.elements[chkelearrname].length;i++){
        	frm.elements[chkelearrname][i].checked = chk.checked;
        }
	}
}
//Ver 1.1 for checkbox named as chk[]
function checkifAllChecked(chk, chkelearrname) {
	var frm = chk.form;
	if (chkelearrname == null) chkelearrname = "chk[]";
	if (document.getElementById(chkelearrname) == null) {
		//Nothing		
	//} else if (frm.chk.length == null) {
	} else if (frm.elements[chkelearrname].length == null) {
		//Only one item
		chk.checked = document.getElementById(chkelearrname).checked;
	} else {
		var checked = true;
		for(i=0;i<frm.elements[chkelearrname].length;i++){
        	if (!frm.elements[chkelearrname][i].checked) {
				checked = false;
				break;
			}
        }
		chk.checked = checked;
	}
}

//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 isDigit2() {
	if ((event.keyCode < 48)||(event.keyCode > 57 )) {
	  	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.4
function openInCenter(theURL, myw, myh, windowName, params) {
	if (windowName==null) {
		windowName = "defwindow";
	}
	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;
	if (params == null) {
		myparams += "alwaysLowered=0,alwaysRaised=1,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=1,toolbar=0,z-lock=1";
	} else {
		myparams += params;
	}
	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 setfocuschk(ctrl, idx) {
	var chkelearrname = ctrl.name;
	if (document.getElementById(chkelearrname) == null) {
		//Nothing		
	//} else if (frm.chk.length == null) {
	} else if (frm.elements[chkelearrname].length == null) {
		//Only one item
		document.getElementById(chkelearrname).focus();
	} else {
		for(i=0;i<frm.elements[chkelearrname].length;i++){
        	if (idx==i) {
				frm.elements[chkelearrname][i].focus();
				return;
				//break;
			}
        }
		frm.elements[chkelearrname][0].focus();
	}
}

//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 isinteger(v) {
	if (!(v=="" || isNaN(v))) {
		return (v.indexOf(".")==-1);
	} else {
		return false;
	}
}

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 setCheckViaValue(object, v, ischecked) {
	var ischk = true;
	if (ischecked!=null) {
		ischk = ischecked;
	}
	if (object==null) return;
	if (object.length==null) {
		if (object.value == v) object.checked = ischk;
	} else {
		for (var j=0; j<object.length; j++) {
			if (object[j].value == v) object.checked = ischk;
		}
	}
}

//Ver 1.0
function setMenuIndexViaText(object, text) {
	var i = object.length;
	for (var j=0; j<i; j++) {
		if (object.options[j].value == text) {
			object.options[j].selected = true;
			return j;			
		}
	}
	return 0;
}
//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.3.1 //May got problem
function getCheckCount(object) {
	var cnt = 0;
	var frm = object.form;
	if (object==null) {
		//Nothing
	} else if (object.length==null) {
		//Only one item
		if (object.checked) cnt++;
	} else {
		for(i=0;i<object.length;i++){
			if (object[i].checked) cnt++;
		}
	}
	return cnt;
}

//Ver 1.0
function setControlValue(ctrl, v) {
	v = v.replace("&#34;",String.fromCharCode(34));
	if (ctrl!=null) {
		if (ctrl.type==null) {
			if (ctrl.length!=null) {
				var i = ctrl.length;
				type = ctrl[0].type;
				switch (type) {
				case "text":
				case "textarea":
					for (var j=0; j<i; j++) {
						ctrl[j].value = v;
					}					
					break;
				case "radio":
					setRadioIndexViaValue(ctrl, v);
					break;
				case "checkbox":
					setCheckViaValue(ctrl, v);
					break;
				case "select-one":
					for (var j=0; j<i; j++) {
						setMenuIndexViaText(ctrl[j], v);
					}
					break;
				default:
					break;
				}
			}
		} else {
			switch (ctrl.type) {
			case "text":
			case "textarea":
				ctrl.value = v;
				break;
			case "radio":
				alert(ctrl + ":" + v);
				setRadioIndexViaValue(ctrl, v);
				break;
			case "checkbox":
				setCheckViaValue(ctrl, v);
				break;
			case "select-one":
				setMenuIndexViaText(ctrl, v);
				break;
			default:
				break;
			}
		}
	}
}
//Ver 1.1
function clearSelectRadio(object) {
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			object[j].checked = false;
		}
	} else {
		object.checked = false;
	}
}

//Ver 1.2.1
//Previously called as setRadioIndexViaText
function setRadioIndexViaValue(object, v) {
	if (object==null) return -1;
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			if (object[j].value == v) {
				object[j].checked = true;
				return j;			
			}
		}
	} else {
		if (object.value == v) {
			object.checked = true;
			return 0;			
		}
	}
	return -1;
}
//Ver 1.2
function getRadioSelectedValue(object) {
	if (object==null) return "";
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			if (object[j].checked) {
				return object[j].value;			
			}
		}
	} else {
		if (object.checked) {
			return object.value;			
		}
	}
	return "";
}

//Ver 1.1
function getRadioSelectedText(object) {
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			if (object[j].checked) {
				return object[j].text;			
			}
		}
	} else {
		if (object.checked) {
			return object.text;			
		}
	}
	return "";
}

//Ver 1.1
function getRadioSelectedIndex(object) {
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			if (object[j].checked) {
				return j;			
			}
		}
	} else {
		if (object.checked) {
			return j;			
		}
	}
	return -1;
}

//Ver 1.0
function JumpWhenLength(objFrom, len, objTo) {
	if (strLength(objFrom)>=len) {
		objTo.focus();
	}
}

//Ver 1.0
function CheckIsInteger(object, message, hashtarget) {
	if (message==null) message = "Please enter a numeric value";
	if (isinteger(object.value)==false) {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		object.focus();
		object.select();
		return false;
	}
	return true;
}
//Ver 1.0
function CheckIsNumeric(object, message, hashtarget) {
	if (message==null) message = "Please enter a numeric value";
	if (isnumeric(object.value)==false) {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		object.focus();
		object.select();
		return false;
	}
	return true;
}

//Ver 1.0
function CheckLength(object, len, message, hashtarget,usediv) {
	if (strLength(object)<len) {
		if (usediv!=null) {
			var d = document.getElementById(usediv);
			if (d!=null) {
				d.innerHTML = message;
			} else {
				alert(message);
			}
		} else {
			alert(message);
		}
		if (hashtarget != null) window.location.hash = hashtarget;
		object.focus();
		object.value = trim(object.value);
		//object.select();
		nextflag = false;
		return false;
	} else {
		return true;	
	}
}

//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.0 for textfield only
function CheckIsURL(object, message, hashtarget) {
	if (!isUrl(object.value)) {
		alert(message);
		if (hashtarget != null) window.location.hash = hashtarget;
		try {
			object.focus();
			object.select();
		} catch(e) {}
		return false;
	} else {
		return true;	
	}
}

//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.1 - Previous as checkRadioBlank
function CheckIsBlankradio(object, message) {
	if (object.length) {
		var i = object.length;
		for (var j=0; j<i; j++) {
			if (object[j].checked) {
				return false;
			}
		}
		alert(message);
		object[0].focus();
	} else {
		if (object.checked) {
			return false;
		}
		alert(message);
		object.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.0
function getFileName(fpath, removeQueryingString, delimiter) {
	if (fpath==null) fpath = window.location.href;
	if (delimiter==null) delimiter = "/";
	var tmp = fpath;
	if (tmp.lastIndexOf("?") > -1) {
		tmp = tmp.substring(0,tmp.lastIndexOf("?"));		
	}
	tmp = tmp.substring(tmp.lastIndexOf(delimiter)+1);
	if (removeQueryingString != null) {
		if (removeQueryingString) {
			var tmpArr = tmp.split("?");
			tmp = tmpArr[0];
		}
	}
	return tmp;
}
//Ver 1.3 - Trim file name - 25 Aug 08
//Ver 1.2 - Disable file size check
function checkIsFile(f, fileexts, filesize, task, hashtarget, filedelimiter) {
	var frm = f.form;
	if (filedelimiter==null) filedelimiter = "\\";
	if (f.value == "") {
		alert("Please select a file to attach.");
		if (hashtarget!=null) location.hash = hashtarget;
		f.focus();
		return false;
	}
	var fname = getFileName(f.value, true, filedelimiter);
	//Check file extension
	var validExts = fileexts.split(",");
	if (!isValidFileExtension(fname, validExts)) {
		alert("Make sure only supported file is selected.\n\nFile Type Allowed: "+fileexts);
		if (hashtarget!=null) location.hash = hashtarget;
		f.focus();
		f.select();
		return false;
	}
	//Check file size
	//var fsize = getFileSize(fname);
	var fsize = 0.1;
	if (fsize == 0) {
		alert("Make sure the content to upload is valid");
		if (hashtarget!=null) location.hash = hashtarget;
		f.focus();
		f.select();
		return false;
	} else if (fsize > filesize) {
		alert("Make sure the content to upload is within size allowed.\n\nFile Size Allowed: "+filesize);
		if (hashtarget!=null) location.hash = hashtarget;
		f.focus();
		f.select();
		return false;
	}	
	try {
		try {
			if (task != null) frm.task.value = task;
		} catch (e) {}
		return true;
	} catch (e) {
		alert("Unable to upload your content, make sure the content is valid.");
		if (hashtarget!=null) location.hash = hashtarget;
		f.focus();
		f.select();
		return false;
	}
}

//Ver 1.1 - 5 Feb 08
function isValidFileExtension(filePath, validExts) {
	//Trim to get the file name if necessary..
	//filePath = getFileName(filePath, true, "\\");
	//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.1
function CheckIsEmail(object, message) {
	if (!isEmail(strTrim(object))) {
		alert(message);
		object.focus();
		object.select();
		return false;
	} else {
		return true;	
	}
}

//Ver 1.0
function CheckAreEmails(object, message, delimiter) {
	if (delimiter==null) var delimiter = ",";
	var tmp = object.value;
	if (tmp.indexOf(delimiter) > -1) {
		var tmpArr = tmp.split(delimiter);
		for (var ix=0; ix < tmpArr.length; ix++) {
			var email = trim(tmpArr[ix]);
			if (!isEmail(email)) {
				alert(message);
				object.focus();
				object.select();
				return false;
			}
		}
	} else {
		if (!isEmail(tmp)) {
			alert(message);
			object.focus();
			object.select();
			return false;
		}
	}
	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 strLength(object) {
	str = strTrim(object);
	str = trim(str);
	return str.length;
}

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;
}