function Trim(txtObj)
{
	var tmp = "";
	tmp = txtObj.substring(0,1);
	while (tmp==" ") {
		txtObj=txtObj.substring(1,txtObj.length);
		tmp = txtObj.substring(0,1)
	}

	var txtObjLen = txtObj.length;
	tmp = txtObj.substring(txtObjLen-1, txtObjLen);	
	while (tmp==" ") {
		txtObj=txtObj.substring(0,txtObj.length-1);
		txtObjLen = txtObj.length;
		tmp = txtObj.substring(txtObjLen-1, txtObjLen);
	}
	return txtObj
}
function IsFolderName(txtObj)
{
	var tmp    = "";
	var digits = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_1234567890";
	for (var i=0; i<txtObj.length; i++)
	{
		tmp = txtObj.substring(i,i+1);
		if (digits.indexOf(tmp)==-1)
		{
			return false;
		}
	}
	if (txtObj == "")
		return false;
	else
		return true;
}
function IsName(txtObj)
{
	var tmp    = "";
	//Important to include spacing at the end, so that the naming field allow spacing to be a valid character
	var digits = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ./\()'-";
	for (var i=0; i<txtObj.length; i++)
	{
		tmp = txtObj.substring(i,i+1);
		if (digits.indexOf(tmp)==-1)
		{
			return false;
		}
	}
	if (txtObj == "")
		return false;
	else
		return true;
}
function containSpChar(txtObj)
{
	var tmp    = "";
	var digits = ".,/\()'\":;?><~`!@#$%^&*|+=-{}[]";
	for (var i=0; i<txtObj.length; i++)
	{
		tmp = txtObj.substring(i,i+1);
		if (digits.indexOf(tmp)!=-1)
		{
			return true;
		}
	}
	if (txtObj == "")
		return false;
	else
		return false;
}
function IsDigit(txtObj)
{
	var tmp    = "";
	for (var i=0; i<txtObj.length; i++)
	{
		tmp = txtObj.substring(i,i+1);
		if(isNaN(tmp))
		{
			return false;
		}
	}
	if(txtObj == "")
		return false;
	else
		return true;
}
function IsAlpha (txtObj)
{
	var tmp    = "";
	//Important to include spacing at the end, so that the naming field allow spacing to be a valid character
	var digits = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	for (var i=0; i<txtObj.length; i++)
	{
		tmp = txtObj.substring(i,i+1);
		if (digits.indexOf(tmp)==-1)
		{
			return false;
		}
	}
	if (txtObj == "")
		return false;
	else
		return true;
}
function IsLocalTel(phonenumber){
	if(!IsDigit(phonenumber) || phonenumber.substring(0, 1) != 6 || phonenumber.length < 8 || phonenumber.length > 8){
		return false;
	}else{
		return true;
	}
}
function IsOfficeTel(phonenumber){
	if(phonenumber.substring(0, 1) != 6 || phonenumber.length < 8 || phonenumber.length > 12){
		return false;
	}else{
		var tmp    = "";
		var digits = "0123456789-";
		for (var i=0; i<phonenumber.length; i++)
		{
			tmp = phonenumber.substring(i,i+1);
			if (digits.indexOf(tmp)==-1)
			{
				return false;
			}
		}
	}
	return true;
}
function IsMobile(phonenumber){
	if(!IsDigit(phonenumber) || phonenumber.substring(0, 1) != 9 || phonenumber.length < 8 || phonenumber.length > 8){
		return false;
	}else{
		return true;
	}
}
function IsURL(website){	
	frontURL = String(website).substring(0, String(website).indexOf('.'));
	backURL = String(website).substring(String(website).indexOf('.')+1);
	if (String(website).indexOf('http')==-1 || String(website).indexOf('://')==-1 || String(website).indexOf('.') == -1 || frontURL.length <= 0 || backURL.length <= 0){
		return false;
	}else{
		return true;
	}
}
function IsValidFile(imagename, filetype){
	exts = filetype.split(",");
	for(i=0; i<exts.length;i++){
		if(String(imagename).indexOf(Trim(exts[i])) > 0){
			return true;
		}
	}
	return false;
}
function checkEmail(email){
	substringEmail = String(email).substring(String(email).indexOf('.')+1)
	if (String(email) == "" || String(email).indexOf('@') == -1 || String(email).indexOf('.') == -1 || substringEmail.length <= 0) {
		return false;
	}else{
		return true;
	}
}

startday = new Date();
clockStart = startday.getTime()+1200000;
function initStopwatch() { 
	var myTime = new Date(); 
	return((clockStart - myTime.getTime())/1000); 
}
function getSecs(urlpath) { 
	var tSecs = Math.round(initStopwatch()); 
	var iSecs = tSecs % 60;
	var iMins = Math.round((tSecs-30)/60);   
	var sSecs ="" + ((iSecs > 9) ? iSecs : "0" + iSecs);
	var sMins ="" + ((iMins > 9) ? iMins : "0" + iMins);
	window.status = "Session will timeout in: " + sMins+":"+sSecs;
	window.setTimeout('getSecs(\'' + urlpath + '\')',1000);
	if(iSecs<=0 && iMins==1){
		if(confirm("We have not heard from you for some time.\nFor security purpose, your session will end in " + sMins+":"+sSecs + " min. Do you wish to continue?")){
			window.location.reload(true);	
		}else{
			window.location.href = urlpath;
		}
	}
}
function mouseMoving(){
	if (event.clientX < 740){
		desc.style.left = event.clientX+document.body.scrollLeft-58;
	}
	desc.style.top = event.clientY+document.body.scrollTop+20;
}
function mouseMoveOut(){
	desc.style.visibility = "hidden";
}
function checkAll(ca, cb){
	if(!isNaN(cb.length)){
		for (i=0; i<cb.length; i++){
			cb[i].checked = ca.checked;				
		}
	}else{
		cb.checked = ca.checked;				
	}
}
function setCheckAll(cb, ca){
	if(isNaN(cb.length)){
		ca.checked = cb.checked;
	}else{
		var c = true;
		for(i=0; i<cb.length; i++){
			if(cb[i].checked == false){
				c = false;
				break;
			}
		}
		if(c==true){
			ca.checked = true;
		}else{
			ca.checked = false;
		}
	}
}	
function setSubmit(formname,path){
	formname.action = path;
}
function setBoxEnable(mainBox, subBox){
	if(mainBox.checked==true){
		if(isNaN(subBox.length)){
			for(i=0; i<subBox.length;i++){
				subBox[i].disabled = false;				
			}
		}else{
			subBox.disabled = false;
		}
	}else{
		if(isNaN(subBox.length)){
			for(i=0; i<subBox.length;i++){
				subBox[i].disabled = true;
			}
		}else{
			subBox.disabled = true;
		}
	}
}
function IsValidDate(theDay, theMonth, theYear){
	var maxDate = 31;
	var leapYear = false;
		
	if((theYear%4) == 0){
		leapYear = true;
	}
	thisYear = (new Date()).getFullYear();
	if(!IsDigit(theDay) || !IsDigit(theMonth) || !IsDigit(theYear) || theYear.length < 4){
		return false;
		
	}else if(theMonth <= 12 && theYear <= thisYear){
		if(theMonth==2 && leapYear==true){		
			maxDate = 29;
		}else if(theMonth == 2 & leapYear==false){
			maxDate = 28;
		}else if(theMonth==1 || theMonth==3 || theMonth==5 || theMonth==7 || theMonth==8 || theMonth==10 || theMonth==12){
			maxDate = 31;
		}else{
			maxDate = 30;
		}
		if(theDay > maxDate){
			return false;
		}else{
			return true;
		}
		
	}else{
		return false;
		
	}
}
function IsRadioBtnChecked(groupname){
	//for radio btn that must at least have one selected.
	for(i=0;i<groupname.length;i++){
		if(groupname[i].checked==true){
			return groupname[i].value;
		}
	}
	return false;
}
function IsCheckBoxChecked(groupname){
	//for checkbox that must at least have one selected.
	checkValues = "";
	if(!isNaN(groupname.length)){
		for(i=0;i<groupname.length;i++){
			if(groupname[i].checked==true){
				checkValues = checkValues + groupname[i].value;
				if((i+1)<groupname.length){
					checkValues = checkValues + ",";
				}
			}
		}
	}else{
		if(groupname.checked==true){
			checkValues = groupname.value;
		}
	}
	if(Trim(checkValues)!=""){
		return Trim(checkValues);
	}else{
		return false;
	}
}
function specifyOthers(myArray, searchme){
	for(i=0;i<myArray.length;i++){
		if(Trim(myArray[i])==searchme){
			return true;
		}
	}
	return false;
}
function IsStrMaxLen(str, maxLen){
	if(String(str).length <= maxLen){
		return true;
	}
	return false;
}
function textCounter(field, maxlimit) {
    if (field.value.length > maxlimit) 
        field.value = field.value.substring(0, maxlimit);
}
function wordCounter(field, maxlimit) {
	words = field.value.split(" ");
    if (words.length > maxlimit) 
		words.splice(maxlimit, (words.length-maxlimit));
		field.value = words.join(" ");
}
