	function isFormNumeric(formElem,isInteger){
		if (!isNumeric(formElem.value,isInteger)) {
			alert("Please enter a numeric");
			formElem.value = "";
			formElem.select();
			formElem.focus();
			return false;
		} else if (formElem.value == "") {
			formElem.value = "";
		}
		return true;
	}
	
	function isNumeric(num,isInteger) {
		if (isNaN(num)) {
			return false;
		} else {
			if (isInteger) {
				return (num.toString().indexOf(".")==-1 && num.toString().indexOf("-")==-1);
			} else {
				return true;
			}
		}
	}
	
	function isNaD(year,month,day) {
		if (year<1||month<1||month>12||day<1||day>31) {
			return false;
		}
		else {
			if (month==4||month==6||month==9||month==11) {
				if (day==31) {
					return false;
				}
			} else if (month==2) {
				if ((isNumeric(year/4,true) && !isNumeric(year/100,true)) || isNumeric(year/400,true)) {
					if (day>29) {
						return false;
					}
				} else {
					if (day>28) {
						return false;
					}
				}
			}
		}
		return true;
	}
	
	function adjustDate(yearForm,monthForm,dayForm) {
		var maxDay = 31;
		var year = yearForm.selectedIndex+parseInt(yearForm.options[0].value);
		var month = monthForm.selectedIndex+1;
		var day = dayForm.selectedIndex+1;

		if (month==4||month==6||month==9||month==11) {
			maxDay = 30;
		} else if (month==2) {
			if ((isNumeric(year/4,true) && !isNumeric(year/100,true)) || isNumeric(year/400,true)) {
				maxDay = 29;
			} else {
				maxDay = 28;
			}
		}
		setDay(dayForm,maxDay);
		return;
	}
	
	function setDay(dayForm,dayNum) {
		var restoreIndex = 0;
		if (dayForm.selectedIndex < dayNum) {
			restoreIndex = dayForm.selectedIndex;
		} else {
			restoreIndex = dayNum-1;
		}
		dayForm.length = dayNum;
		for (i=0;i<dayNum;i++) {
			dayForm.options[i].index = i+1;
			dayForm.options[i].value = i+1;
			if(i<9) {
				dayForm.options[i].text = "0" + (i+1);	
			} else {
				dayForm.options[i].text = i+1;
			}
		}
		dayForm.selectedIndex = restoreIndex;
		return;
	}
	
	function checkMaxSize(formElem,maxSize,fieldName){
		if (trim(formElem.value).length > maxSize) {
			alert("The " + fieldName + " cannot be longer than " + maxSize + " characters");
			formElem.focus();
		}		
	}
	
	function trim(field) {
		var retval = "";
		retval = field.replace(/^\s+/g, "");	// (\s+) means all white space, (^) means after the start of the line
		retval = retval.replace(/\s+$/g, "");	// ($) means before the end of line
		return retval;
	}	
	
	function validateEmail(email) {
		if(email.length < 5) {
			return false;
		} else {
			if(email.lastIndexOf("@")==email.indexOf("@") && email.indexOf("@")>0
				&& email.lastIndexOf(".")>email.indexOf("@")+1 && email.indexOf(".")>-1) {
				return true;
			} else {
				return false;
			}
		}
	}
	
	function fileExtention(filepath) {
		var dotIndex = filepath.lastIndexOf(".");
		if(dotIndex==-1) {
			return "";
		} else {
			return filepath.substring(dotIndex+1,filepath.length);
		}
	}
	
	function isImageFile(filepath) {
		var image_ext = fileExtention(filepath);
		return image_ext=="jpg" || image_ext=="jpeg" || image_ext=="gif" || image_ext=="JPG" || image_ext=="JPEG" || image_ext=="GIF";
	}
	
	function isEmpty(s)	{
		return ((s == null) || (s.length == 0));
	}
	
    //space character, including space, tab, form feed, line feed.
	function hasOnlyWhitespace(s){
		return (/^\s+$/.test(s));
	}
	
	function isPositiveInteger(s){
		return (/^\d*$/.test(s));
	}
	
	function isPositiveNumber(s){
		return (/^(\d*\.?\d*|\.\d+)$/.test(s));
	}
	
	function isNumber(s){
		return (/^-?(\d*\.?\d*|\.\d+)$/.test(s));
	}
	
	function isAlphanumeric(s){
		return (/^\w*$/.test(s));
	}
	
	function isAlphabet(s){
		return (/^[a-zA-Z]*$/.test(s));
	}
	
	function isAlphanumericSpc(s){
		return (/^[\w\s]*$/.test(s));
	}
	
	function isEmailAddress(s){
		return (/^[^\s\,\;\'\"]+@[^\s\,\;\'\"]+\.[^\s\,\;\'\"]+$|^$/.test(s));
	}
	
	function isPersent(s){
		return (/^-?(\d*\.?\d*|\.\d+)%?$/.test(s));
	}
	
	function trimAllFields(thisform) {
		var formlen = thisform.elements.length;
		for (i=0; i<formlen; i++){
			if(thisform.elements[i].type == "text" || thisform.elements[i].type == "textarea"){
				thisform.elements[i].value = trim(thisform.elements[i].value);
			}
		}
	}

/*	function isPhone(s){
		var hd = "";
		var ns = "";
		if(s.length>0){
			s = trim(s);
		}
		if(s.charAt(0)=="-"||s.charAt(s.length-1)=="-"){
			return false;
		}else if(s.indexOf("--")>0){
			return false;					
		}else if(s.charAt(0)=="("&&!/^(\(\d{3}\)).*$/.test(s)){
			return false;
		}else{
			if(s.charAt(0)=="("){
				s = s.substring(5,s.length);
			}
			
			for(i=0;i<s.length;i++){
				if(s.charAt(i)!=" "&&s.charAt(i)!="-"){
					ns += s.charAt(i);
				}
			}
			if(ns.length<6){
				return false;
			}else{
				return (/^\d*$/.test(ns));
			}
		}
	}	
*/	

	function isPhone(s){
		if(s.charAt(0)=="6"||s.charAt(0)=="9"){
			return (/^(\(\d{3}\))*\d{6,20}$/.test(s));
		}else{
			return false;
		}
	}
	
	function replaceAll(val,fnd,rep){
		var rtn = "";
		var cnt=0;
		if(trim(val).length>0){
			var arr = trim(val).split(fnd);
			if(arr.length>0){	
				for(cnt=0;cnt<arr.length;cnt++){
					if(cnt>0){
						rtn += rep;
					}
					rtn += arr[cnt];
				}
			}else{
				rtn=val;
			}
		}
		return rtn;
	}	
	
	 function getElById(idVal) {
		if (document.getElementById != null)
	    		return document.getElementById(idVal)
	  	if (document.all != null)
	    		return document.all[idVal]
		  return null
	}	

	function chkTextLng(fldValue,fldSize){
		var arr = escape(trim(fldValue)).split("%0D%0A");
		var ttlLng = 0;
		for(i=0;i<arr.length;i++){
			ttlLng += unescape(arr[i]).length;
		}
		if(parseInt(ttlLng)>parseInt(fldSize)){
			return false;
		}else{
			return true;
		}
	}

	function getSelID(obj){
		for(i=0;i<obj.length;i++){
			if(obj.options[i].selected){
				return obj.options[i].value;
			}
		}
	}

	function getSelTree(obj){
		var list = "";
		if(obj!=null){
			if(obj.length>1){	
				for(cnt=0;cnt<obj.length;cnt++){
					if(obj.options[cnt].selected){
						if(list.length>0){
							list += ",";
						}
						list += obj.options[cnt].value;
					}
				}
			}else{
				if(obj.selected){
					list += obj.value;
				}
			}
		}			
		return list;
	}
	
	function getChkBoxLst(frm,elemNm){
		var frmlen = frm.elements.length;
		var list = "";
		var cnt = 0;
		for (i=0; i<frmlen; i++){
			if(frm.elements[i].type == "checkbox"&&frm.elements[i].name==elemNm){
				if(frm.elements[i].checked){
					if(cnt>0){
						list = list +",";
					}
					list = list + "'" + frm.elements[i].value + "'";
					cnt++;
				}
			}
		}
		return list;
	}			

	// Check the date range input by user is valid or not
	// the parameter is the form element object(i.e. <SELECT> ojbect), NOT integer
	
	function validDateRange(from_year,from_month,from_day,to_year,to_month,to_day) {
		var int_from_year = parseInt(from_year.options[from_year.selectedIndex].value);
		var int_from_month = parseInt(from_month.options[from_month.selectedIndex].value);
		var int_from_day = parseInt(from_day.options[from_day.selectedIndex].value);
		var int_to_year = parseInt(to_year.options[to_year.selectedIndex].value);
		var int_to_month = parseInt(to_month.options[to_month.selectedIndex].value);
		var int_to_day = parseInt(to_day.options[to_day.selectedIndex].value);
		return !(int_from_year>int_to_year || (int_from_year==int_to_year && int_from_month>int_to_month) ||
				(int_from_year==int_to_year && int_from_month==int_to_month && int_from_day>int_to_day));
	}
	

	function onCheckAll(e) {
		var d = e.form;
		for(i=0;i<d.elements.length;i++) {
			if(d.elements[i].type=="checkbox" && d.elements[i]!=e)
				d.elements[i].checked = e.checked;
		}
	}
	
	function onCancelCheckAll(e) {
		var d = e.form;
		for(i=0;i<d.elements.length;i++) {
			if(d.elements[i].type=="checkbox" && d.elements[i].name!="all_id") {
				if(!d.elements[i].checked) {
					d.all_id.checked = false;
					return;
				}
			}
			d.all_id.checked = true;
		}
	}

	function validDir(dir){
		dir = trim(dir).toLowerCase();
		if(dir=="blog_tmp"||dir=="cms"||dir=="config"||dir=="images"||dir=="javascript"||dir=="tmp"||dir=="user_images"||dir=="web-inf"||dir=="chi_images"||dir=="wap"){
			return false;
		}else{
			return true;
		}
	}
	
	function validSec(sec){
		sec = trim(sec).toLowerCase();
		if(sec=="images"||sec==secwd){
			return false;
		}else{
			return true;
		}
	}	


//For special project
	function isDateFormat(formElem){
		var s = formElem.value;
		var c = true;
		if(trim(s).length>0){
			if((/^\d{2}\-\d{2}\-\d{4}$/.test(s))){
				var d = s.substring(0,2);
				var m = s.substring(3,5);
				var y = s.substring(6,10);
				if(!isNaD(y,m,d)){
					c=false;
				}
			}else{
				c=false;
			}
		}	
		if(!c){
			alert("Invalid date format.");
			formElem.value = "";
			formElem.select();
			formElem.focus();		
		}
	}	
	
	function compareDate(date1,date2){
		var d1 = date1.substring(0,2);
		var m1 = date1.substring(3,5);
		var y1 = date1.substring(6,10);
		var date1 = y1+ m1+ d1+"";
		var d2 = date2.substring(0,2);
		var m2 = date2.substring(3,5);
		var y2 = date2.substring(6,10);
		var date2 = y2+ m2+ d2+"";
		if(Number(date1)<=Number(date2)){
			return true;
		}else{
			return false;
		}
	}		

        var win=null;
        function NewWindow(mypage,myname,w,h,scroll,pos,resize){
                if (win != null){ win.close();}
                if (pos=="random"){
                        LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
                        TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
                }
                if (pos=="center"){
                        LeftPosition=(screen.width)?(screen.width-w)/2:100;
                        TopPosition=(screen.height)?(screen.height-h)/2:100;
                } else if ((pos!="center" && pos!="random") || pos==null) {
                        LeftPosition=0;
                        TopPosition=20;
                }
                if (resize==null) {
                        resize="no";
                }
                settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable='+resize;
                win=window.open(mypage,myname,settings);
                win.focus();
        }

