function checknum(p, len) {
	var l = p.length;
	var count=0;
	
	if (p == "") {
		return true;
	} else {
		if (len > 0 && l != len) {
			return false; 
		}
		
		for(var i=0; i<l; i++) {
			var digit = p.charAt(i); 
			if(digit < "0" || digit > "9")	{
		 		return false; 
			} 
		}
		
		return true;
	}
}

function isAlpaNum(str) {

	var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
	var ch;
	var i;
	var temp;

	for (i=0;i<=(str.length-1);i++) {
		ch = str.charAt(i);
		temp = strSource.indexOf(ch);
		if (temp == -1) {
			return false;
		}
	}

	return true;

}

function checkFileName(str) {

	var strLen;
	
	strLen = str.length;
	
	if ( strLen > 0 && strLen <= 5) {
		return false;
	}
	
	if ( strLen > 5 ) {
		if ( str.substring(strLen-5,strLen) != ".html" ) {
			return false;
		}
	
	}

	return true;

}

function isNumber(str)
{
	if (str.length < 1) {
		return true;
	}
	var strSource ="0123456789";
	var ch;
	var i;
	var temp;
	
	for (i=0;i<=(str.length-1);i++) {
		ch = str.charAt(i);
		temp = strSource.indexOf(ch);
		if (temp==-1) {
		 return false;
		}
	}
	return true;
}

function isTelephone(str)
{
	if (str.length < 1) {
		return true;
	}
	var strSource ="0123456789- กก";
	var ch;
	var i;
	var temp;
	
	for (i=0;i<=(str.length-1);i++) {
		ch = str.charAt(i);
		temp = strSource.indexOf(ch);
		if (temp==-1) {
		 return false;
		}
	}
	return true;
}

function isNumeric(num){
	if (num.length < 1) {
		return true;
	}
	if (num.match(/[^0-9\-\.]/g)) {
		return false;
	}
	if (!num.match(/^\-?[0-9]*\.?[0-9]*$/g)) {
		return false;
	}
	return true;
}

function isPointNumber(str)
{
	var strSource ="0123456789.";
	var ch;
	var i;
	var temp;
	
	for (i=0;i<=(str.length-1);i++) {
		ch = str.charAt(i);
		temp = strSource.indexOf(ch);
		if (temp==-1) {
		 return false;
		}
	}
	return true;
}

function isYYMMDDString(sDate) {
	var iaMonthDays = [31,29,31,30,31,30,31,31,30,31,30,31];
	var iaDate = new Array(4);
	var year, month, day, hour;

	if (sDate.length != 8) return false;

	if (checknum(sDate, 0) == false ) {
		return false;
	}

	iaDate[0] = sDate.charAt(0) + sDate.charAt(1) + sDate.charAt(2) + sDate.charAt(3);
	iaDate[1] = sDate.charAt(4) + sDate.charAt(5);
	iaDate[2] = sDate.charAt(6) + sDate.charAt(7);
	if (sDate.length == 10) {
		if ( checknum(sDate,10) == false ) { return false; }
		iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
	} else {
		iaDate[3] = "00";
	}
	if (iaDate[1].length > 2 || iaDate[2].length > 2 || iaDate[3].length > 2) return false;
	
	year = parseFloat(iaDate[0]);
	month = parseFloat(iaDate[1]);
	day = parseFloat(iaDate[2]);
	hour = parseFloat(iaDate[3]);
	
	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	if (hour > 23 || hour < 0) return false;
	return true;
}

function isDateString(sDate) {
	var iaMonthDays = [31,29,31,30,31,30,31,31,30,31,30,31];
	var iaDate = new Array(4);
	var year, month, day, hour;

	if (sDate.length != 8 && sDate.length != 10) return false;

	if (checknum(sDate, 0) == false ) {
		return false;
	}

	iaDate[0] = sDate.charAt(0) + sDate.charAt(1) + sDate.charAt(2) + sDate.charAt(3);
	iaDate[1] = sDate.charAt(4) + sDate.charAt(5);
	iaDate[2] = sDate.charAt(6) + sDate.charAt(7);
	if (sDate.length == 10) {
		if ( checknum(sDate,10) == false ) { return false; }
		iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
	} else {
		iaDate[3] = "00";
	}
	if (iaDate[1].length > 2 || iaDate[2].length > 2 || iaDate[3].length > 2) return false;
	
	year = parseFloat(iaDate[0]);
	month = parseFloat(iaDate[1]);
	day = parseFloat(iaDate[2]);
	hour = parseFloat(iaDate[3]);
	
	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	if (hour > 23 || hour < 0) return false;
	return true;
}

function isDateTimeString(sDate) {
	var iaMonthDays = [31,29,31,30,31,30,31,31,30,31,30,31];
	var iaDate = new Array(5);
	var year, month, day, hour, min;

	if (sDate.length != 8 && sDate.length != 10 && sDate.length != 12) {
		return false;
	}

	if (checknum(sDate, 0) == false ) {
		return false;
	}

	iaDate[0] = sDate.charAt(0) + sDate.charAt(1) + sDate.charAt(2) + sDate.charAt(3);
	iaDate[1] = sDate.charAt(4) + sDate.charAt(5);
	iaDate[2] = sDate.charAt(6) + sDate.charAt(7);
	
	if (sDate.length == 10) {
		iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
		iaDate[4] = "00";
	}
	if (sDate.length == 12) {
		iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
		iaDate[4] = sDate.charAt(10) + sDate.charAt(11);
	}

	year = parseFloat(iaDate[0]);
	month = parseFloat(iaDate[1]);
	day = parseFloat(iaDate[2]);
	hour = parseFloat(iaDate[3]);
	min = parseFloat(iaDate[4]);
	
	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	if (hour > 23 || hour < 0) return false;
	if (min > 59 || min < 0) return false;
	
	return true;
}

function isYYYYMMDDHHString(sDate) {
	var iaMonthDays = [31,29,31,30,31,30,31,31,30,31,30,31];
	var iaDate = new Array(4);
	var year, month, day, hour;

	if (checknum(sDate, 10) == false ) {
		return false;
	}

	iaDate[0] = sDate.charAt(0) + sDate.charAt(1) + sDate.charAt(2) + sDate.charAt(3);
	iaDate[1] = sDate.charAt(4) + sDate.charAt(5);
	iaDate[2] = sDate.charAt(6) + sDate.charAt(7);
	iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
	
	year = parseFloat(iaDate[0]);
	month = parseFloat(iaDate[1]);
	day = parseFloat(iaDate[2]);
	hour = parseFloat(iaDate[3]);
	
	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	if (hour > 23 || hour < 0) return false;
	
	return true;
}

function isYYYYMMDDHHMIString(sDate) {
	var iaMonthDays = [31,29,31,30,31,30,31,31,30,31,30,31];
	var iaDate = new Array(4);
	var year, month, day, hour;

	if (checknum(sDate, 12) == false ) {
		return false;
	}

	iaDate[0] = sDate.charAt(0) + sDate.charAt(1) + sDate.charAt(2) + sDate.charAt(3);
	iaDate[1] = sDate.charAt(4) + sDate.charAt(5);
	iaDate[2] = sDate.charAt(6) + sDate.charAt(7);
	iaDate[3] = sDate.charAt(8) + sDate.charAt(9);
	iaDate[4] = sDate.charAt(10) + sDate.charAt(11);
	
	year = parseFloat(iaDate[0]);
	month = parseFloat(iaDate[1]);
	day = parseFloat(iaDate[2]);
	hour = parseFloat(iaDate[3]);
	minute = parseFloat(iaDate[4]);
	
	if (year < 1900 || year > 2100) return false;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > iaMonthDays[month - 1]) return false;
	if (hour > 23 || hour < 0) return false;
	if (minute > 59 || minute < 0) return false;
	
	return true;
}

function Check(reg,str)
{
	if(reg.test(str)) {
		return true;
	} 
	return false;
}

function CheckEmail(str) {
	if (str.length == 0) {
		return true;
	}
	var reg = /^[\-a-zA-Z0-9_][\.\-a-zA-Z0-9_]*@[\-a-zA-Z0-9_]+(.[\-a-zA-Z0-9_]+)*$/;
	return Check(reg,str);
}

function isMobileName(str) {

	var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
	var ch;
	var i;
	var temp;

	for (i=0;i<=(str.length-1);i++) {
		ch = str.charAt(i);
		temp = strSource.indexOf(ch);
		if (temp == -1) {
			return false;
		}
	}

	return true;

}

function trim(str) {
	for(var i = 0; i < str.length && str.charAt(i) == " "; i++) {
	}

	for(var j = str.length; j > 0 && str.charAt(j-1) == " "; j--) {
	}

	if(i > j) {
		return  "";
	}

	return  str.substring(i,j);
}