// global variables
var iBirthYearEnd = 1930  // ¦~¿ï³æùØ³Ì¦­ªº¨º¤@¦~
var iBirthYearStart = parseInt(new Date().getFullYear()) - 3  // ¦~¿ï³æùØ³Ìªñªº¦~

/***************************
 Åý ¦~/¤ë/¤éªº¿ï¾Üµ²ªG¦X²z
***************************/
function FebDays(iYear){         // ¶Ç¦^¬Y¦~¤G¤ëÀ³¦³ªº¤é¼Æ
	var leapYear = false  // ¥ý°²³]¤£¬O¶|¦~
	if (iYear % 4 == 0){
		leapYear = true
		if ((iYear % 100 == 0) && (iYear % 400 != 0)) leapYear = false
	}
	if (leapYear) return 29
	else return 28
}
function rightDate(oYear, oMonth, oDate){
	var nowYear = parseInt(oYear.value)    // ¥Ø«e¦~
	var nowMonth = parseInt(oMonth.value)  // ¥Ø«e¤ë
	if (nowYear ==0 || nowMonth ==0) return
	var aDayNum = [0,31,28,31,30,31,30,31,31,30,31,30,31]  // ¨C¤ë¥¿±`ªº¤é¼Æ°}¦C
	var DayNum = (nowMonth == 2)? FebDays(nowYear) : aDayNum[nowMonth]  // ¥Ø«e¦~¥Ø«e¤ëÀ³¦³ªº¤é¼Æ
	var nowDayNum = oDate.length -1         // ¥Ø«e¤é¿ï³æªº³Ì«á¤@¤é
	if (DayNum == nowDayNum) return
	var i, oOption, nowDateIdx
	if (DayNum > nowDayNum){  // ¤é¿ï³æªº¶µ¥Ø¤£°÷¡A«h¸É¨¬¤§
		for (i = nowDayNum + 1; i < DayNum + 1; i++){
			var oOption = createElement("OPTION")
			oOption.text = i
			oOption.value = i
			oDate.add(oOption)
		}
	}
	else {  // ¤é¿ï³æªº¶µ¥Ø¹L¦h¡A«hºI¥h¤§¡A¨Ã½Õ¾ã©Ò¿ï¤§¤é¶µ¥Ø
		nowDateIdx = oDate.selectedIndex  // ¥Ø«e¤é¿ï³æªº selectedIndex  
		for (i = nowDayNum; i > DayNum; i--) oDate.remove(i)
	}
	if (nowDateIdx > oDate.length - 1) oDate.selectedIndex = oDate.length - 1
}

/******************************************
 ²£¥Í «ü©wÀY§À¡B¦³³sÄò©Ê¡B¥B­±­È(text)
 »P¹ê­È(value)¦³½u©Ê¹ïÀ³ªº options ¶µ¥Ø
******************************************/
function writeCOption(iStart, iEnd, iOffset){
	var str = '', i
	for ( i =iStart ;i >iEnd  - 1;  i--) str += '<option value="' + i + '">' + (i - iOffset) + '</option>'
	return str
}
function writeCOption1(iStart, iEnd, iOffset){
	var str = '', i
	for (i = iStart; i < iEnd + 1; i++) str += '<option value="' + i + '">' + (i - iOffset) + '</option>'
	return str
}

/********************************************
 ÀË¬d¬Y select ªº option ¶µ¥Ø¬O§_¬°¤£·Q­nªÌ¡A
 ¬O«hÅã¥ÜÄµ§i¦r¦ê¨Ã¶Ç¦^ true¡A§_¶Ç¦^ false
********************************************/
function isBadOption(obj, sBadVal, str){
	if (obj.value == sBadVal){
		if (str != "") alert(str)
		obj.focus()
		return true
	}
	return false
}
/******************************************
 ÀË¬d¬Y text input ª«¥ó­È¬O§_§t¦³ " ¤Î ' 
 ¦r¤¸ ¡A¬O«hÅã¥ÜÄµ§i¦r¦ê¨Ã¶Ç¦^ true¡A§_«h
 ¶Ç¦^ false
******************************************/
function hasQuotation(obj, str){
	var i, s = obj.value, ss
	for (i = 0; i < s.length; i++){
		ss = s.charCodeAt(i)
		if (ss == 34 || ss == 39){
			if (str != "") alert(str)
			obj.focus()
			return true
		}
	}
	return false
}
/******************************************
 ÀË¬d¬Y text input ª«¥ó¤º®e¬O§_ªÅ¥Õ¡A
 ¬O«hÅã¥ÜÄµ§i¦r¦ê¨Ã¶Ç¦^ true¡A§_¶Ç¦^ false
******************************************/
function noFill(obj, str){
	if (obj.value.replace(/ /g,"") == ""){
    if (str != "") alert(str)
    obj.focus()
    return true
  }
  return false
}
/**************************************************
 ÀË¬d¬Y text input ª«¥ó­È¬O§_¥þ¬°­^¤å¦r¥À¡B¼Æ¦r²Õ¦¨
 ¡A¬O«h¶Ç¦^ true¡A§_«hÅã¥ÜÄµ§i¦r¦ê¨Ã¶Ç¦^ false
**************************************************/
function isAlphaNum(obj,str){
	var i, s = obj.value, ss
	for (i = 0; i < s.length; i++){
		ss = s.charCodeAt(i)
		if ((!(ss > 96 && ss < 123)) && (!(ss > 64 && ss < 91)) && (!(ss > 47 && ss < 58))){
			if (str != "") alert(str)
			obj.focus()
			return false
		}
	}
	return true
}
/**************************************************
 ÀË¬d¬Y text input ª«¥ó­È¬O§_¬°¦X²z­^¤å¦W¡A
 ¬O«h¶Ç¦^ true¡A§_«hÅã¥ÜÄµ§i¦r¦ê¨Ã¶Ç¦^ false
**************************************************/
function isValidEnglishName(obj,str){
	var i, s = obj.value, ss
	for (i = 0; i < s.length; i++){
		ss = s.charCodeAt(i)
		if ((!(ss > 96 && ss < 123)) && (!(ss > 64 && ss < 91)) && (ss != 32) && (ss != 46)){
			if (str != "") alert(str)
			obj.focus()
			return false
		}
	}
	return true
}
function datacheck() {
	// ÀË¬dloginname
	if (noFill(document.queryfm.dTokenUsername,"Please input your Login Name¡C")) return
	//else if (document.queryfm.dTokenUsername.value.length < 4){alert("Login Name must > 4 characters!");document.queryfm.dTokenUsername.focus();return}		
	//else if (! isAlphaNum(document.queryfm.dTokenUsername,"Login Name must use letters(a-z), numbers (0-9), but no space among it ¡C")) return
	// ÀË¬dfirstname
	else if (noFill(document.queryfm.firstname,"Please input your First Name!")) return
	else if (hasQuotation(document.queryfm.firstname,"Please check your First Name¡C")) return
	// ÀË¬dlastname
	else if (noFill(document.queryfm.lastname,"Please input your Last Name!")) return
	else if (hasQuotation(document.queryfm.lastname,"Please check your Last Name¡C")) return
	
	// ÀË¬d¥Í¤é
	else if (isBadOption(document.queryfm.dSeaYear,"0","Please choice your birthday for ¡iYear¡j¡C")) return
	else if (isBadOption(document.queryfm.dSeaMonth,"0","Please choice your birthday for ¡imonth¡j¡C")) return
	else if (isBadOption(document.queryfm.dSeaDate,"0","Please choice your birthday for ¡iDay¡j¡C")) return
	
	else {		checkflag=true;
			document.queryfm.birthday.value = document.queryfm.dSeaYear.value + "/" + document.queryfm.dSeaMonth.value + "/" + document.queryfm.dSeaDate.value
			document.queryfm.submit();
		}
}	