<!-- hide java script code	
//
//
function isInt(intStr){
	var i = trim(intStr);
	var regexp = /^(-\d{1,}|\d{1,})$/;
	if (!regexp.test(i)){
		return false;
	}
	return true
}
//
function isFloat(floatStr){
	var f = trim(floatStr);
	var regexp = /^(-\d{1,}|\d{1,}|-\d{1,}\.\d{0,}|\d{1,}\.\d{0,})$/;
	if (!regexp.test(f)){
		return false;
	}
	return true
}
//
function isDate(dateStr){
	var d = trim(dateStr);
	var regexp = /^(-\d{1,3}\/\d{1,2}\/\d{1,2}|\d{1,3}\/\d{1,2}\/\d{1,2})$/;
	if (!regexp.test(d)){
		return false;
	}
//convert string format to numeric format
	var year = dateStr2Year(d);
	var month = dateStr2Month(d);
	var day = dateStr2Day(d);
	return checkDate(year,month,day);
}
//
function isTime(timeStr){
	var t = trim(timeStr);
// type 1. hh:mm
	var regexp1 = /^(\d{1,2}:\d{1,2})$/;
// type 2. hh:mm:ss
	var regexp2 = /^(\d{1,2}:\d{1,2}:\d{1,2})$/;
//
	if (regexp1.test(t)){
		t += ":00";
	}
	if (!regexp2.test(t)){
		return false;
	}
//convert string format to numeric format
	var hour = timeStr2Hour(t);
	var mins = timeStr2Min(t);
	var sec  = timeStr2Sec(t);
//
	return checkTime(hour,mins,sec);
}
//
function isPersonalId(idStr){
//謝謝小邱和peter 的幫忙
//
	var id = trim(idStr);
//
	var regexp = /^(\w{1}\d{9})$/;
	if(!regexp.test(id)){
		return false;
	}
//
	var idCode = new Array(10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,26,27,28,29,32,30,31,33);
	var checkCode = idCode[parseInt(id.substring(0,1),36)-10];
	var checksum = parseInt(checkCode/10) + ((checkCode%10)*9);

//
	for(var i =1;i<9;i++){
		checksum +=(parseInt(id.substring(i,i+1))*(9-i));
	}
	checksum += parseInt(id.substring(i,i+1));
//
	if(!((checksum%10)==0)){
		return false;
	}
	return true;
}
//
// date utilities
function checkDate(year,month,day){
// check legal month
	if ((month < 1 )||(month > 12)){
		return false;
	}
// check legal day
	if (day < 1 ) {
		return false;
	}
//
	var dayOfMonthArray;
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)){
		dayOfMonthArray = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	}else{
		dayOfMonthArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	}
//
	if (day > dayOfMonthArray[month-1]){
			return false;
	}
	return true;
}

//
function dateStr2Year(dateStr){
// convert date string to year 
	return parseInt(dateStr.substring(0,dateStr.indexOf("/")),10) + 1911;
}
//
function dateStr2Month(dateStr){
// convert date string to month
	var begi = dateStr.indexOf("/") + 1;
	var endi = dateStr.indexOf("/",begi);
	return parseInt(dateStr.substring(begi,endi),10);
}
//
function dateStr2Day(dateStr){
// convert date string to day
	return parseInt(dateStr.substring(dateStr.lastIndexOf("/")+1),10);
}
//
function date2DateStr(year,month,day,style){
	var yStr = "000"+(year-1911).toString();
	yStr = yStr.substring(yStr.length-3,yStr.length);
//
	var mStr = "00"+month.toString();
	mStr = mStr.substring(mStr.length-2,mStr.length);
//
	var dStr= "00"+day.toString();
	dStr = dStr.substring(dStr.length-2,dStr.length);
//
	switch(style){
	case 0:
		return yStr+"/"+mStr+"/"+dStr;
	case 1:
		return "民國"+yStr+"年"+mStr+"月"+dStr+"日";
	case 2:
		return "中華民國"+yStr+"年"+mStr+"月"+dStr+"日";
	default:	
		return yStr+"/"+mStr+"/"+dStr;
	}
}
//
function timeStr2Hour(timeStr){
// convert time string to hour 
	return parseInt(timeStr.substring(0,timeStr.indexOf(":")),10);
}
//
function timeStr2Min(timeStr){
// convert time string to hour
	var begi = timeStr.indexOf(":") + 1;
	var endi = timeStr.indexOf(":",begi);
	return parseInt(timeStr.substring(begi,endi),10);
}
//
function timeStr2Sec(timeStr){
// convert time string to sec
	return parseInt(timeStr.substring(timeStr.lastIndexOf(":")+1),10);
}
//
function checkTime(hour,mins,sec){
// check legal hour
	if ((hour < 0 )||(hour > 23)){
		return false;
	}
// check legal min
	if ((mins < 0 )||(mins > 59)){
		return false;
	}
// check legal sec
	if ((sec < 0 )||(sec > 59)){
		return false;
	}
	return true;
}
//
function ltrim(s){
	var sr=s;
	while(sr.substring(0,1) == " "){
		sr = sr.substring(1);
	}
	return sr;
}
//
function rtrim(s){
	sr=s;
	while(sr.substring(sr.length-1) == " "){
		sr = sr.substring(0,sr.length-1);
	}
	return sr;
}
//
function trim(s){
	return ltrim(rtrim(s));
}
//
//
//-->


