﻿/*檢查Email合理性*/
function js_checkEmail(strEmail){
	var IsValid = false;
	var strRE = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
	if(strRE.test(strEmail))
		IsValid = true;
	return IsValid;
}

/*檢查是否為數字*/
function js_checkNumber(argString){
	var IsValid = true
	var iLen = argString.length;
	var myRE = /[0-9]{1}/;
	for(i=0; i<iLen; i++){
		if(!myRE.test(argString.substr(i,1))){
			IsValid = false;
			break;
		}
	}
	return IsValid;
}

/*檢查是否有保留字元*/
function js_checkReserveWord(argString){
	var myRE = /[\'\"\?]{1,}/;
	if(myRE.test(argString)){
		return true
	}else{
		return false;
	}
}

/*計算字串長度 (中文字算兩個字元)*/
function js_StringLength(cString){
	var intLen=cString.length;
	for (var i=0;i<=cString.length-1;i++){
		if (cString.charCodeAt(i)>256) intLen++;
	}
	return intLen;
}

/*檢查字串長度是否超過最大長度
	true 表示通過檢查 (字串長度 <= 最大長度)
	false 表示不通過檢查 (字串長度 > 最大長度)
*/
function js_checkLength(argString,maxLen){
	var IsValid = true
	var intLen = maxLen - js_StringLength(argString);
	if(intLen<0)
		IsValid = false
	return IsValid;
}

/*檢查是否為英數字*/
function js_checkEnglishNum(argString){
	var IsValid = true;
	var iLen = argString.length;
	var myRE = /[a-zA-Z0-9]{1}/;
	for(i=0; i<iLen; i++){
		if(!myRE.test(argString.substr(i,1))){
			IsValid = false;
			break;
		}
	}
	return IsValid;
}
/*檢查是否為英數字和-*/
function js_checkEnglishNum2(argString){
	var IsValid = true;
	var iLen = argString.length;
	var myRE = /[a-zA-Z0-9-]{1}/;
	for(i=0; i<iLen; i++){
		if(!myRE.test(argString.substr(i,1))){
			IsValid = false;
			break;
		}
	}
	return IsValid;
}
/*檢查身分證字號正確性*/
function js_PIDCheck(sId){  
	var IsValid = true;
	var LegalID = "0123456789";
	var value = 0;
	if(sId.length!=10){
		IsValid = false;
	}else{
	  if((sId.charAt(0)=='A') || (sId.charAt(0)=='a')) value=10
	  else if((sId.charAt(0)=='B') || (sId.charAt(0)=='b')) value=11
	  else if((sId.charAt(0)=='C') || (sId.charAt(0)=='c')) value=12
	  else if((sId.charAt(0)=='D') || (sId.charAt(0)=='d')) value=13
	  else if((sId.charAt(0)=='E') || (sId.charAt(0)=='e')) value=14
	  else if((sId.charAt(0)=='F') || (sId.charAt(0)=='f')) value=15
	  else if((sId.charAt(0)=='G') || (sId.charAt(0)=='g')) value=16
	  else if((sId.charAt(0)=='H') || (sId.charAt(0)=='h')) value=17
	  else if((sId.charAt(0)=='J') || (sId.charAt(0)=='j')) value=18
	  else if((sId.charAt(0)=='K') || (sId.charAt(0)=='k')) value=19
	  else if((sId.charAt(0)=='L') || (sId.charAt(0)=='l')) value=20
	  else if((sId.charAt(0)=='M') || (sId.charAt(0)=='m')) value=21
	  else if((sId.charAt(0)=='N') || (sId.charAt(0)=='n')) value=22
	  else if((sId.charAt(0)=='P') || (sId.charAt(0)=='p')) value=23
	  else if((sId.charAt(0)=='Q') || (sId.charAt(0)=='q')) value=24
	  else if((sId.charAt(0)=='R') || (sId.charAt(0)=='r')) value=25
	  else if((sId.charAt(0)=='S') || (sId.charAt(0)=='s')) value=26
	  else if((sId.charAt(0)=='T') || (sId.charAt(0)=='t')) value=27
	  else if((sId.charAt(0)=='U') || (sId.charAt(0)=='u')) value=28
	  else if((sId.charAt(0)=='V') || (sId.charAt(0)=='v')) value=29
	  else if((sId.charAt(0)=='X') || (sId.charAt(0)=='x')) value=30
	  else if((sId.charAt(0)=='Y') || (sId.charAt(0)=='y')) value=31
	  else if((sId.charAt(0)=='W') || (sId.charAt(0)=='w')) value=32
	  else if((sId.charAt(0)=='Z') || (sId.charAt(0)=='z')) value=33
	  else if((sId.charAt(0)=='I') || (sId.charAt(0)=='i')) value=34
	  else if((sId.charAt(0)=='O') || (sId.charAt(0)=='o')) value=35
	  else IsValid = false;
	}
	if(IsValid){
		value = Math.floor(value/10) + (value%10)*9 +
	          parseInt(sId.charAt(1))*8+
	          parseInt(sId.charAt(2))*7+
	          parseInt(sId.charAt(3))*6+
	          parseInt(sId.charAt(4))*5+
	          parseInt(sId.charAt(5))*4+
	          parseInt(sId.charAt(6))*3+
	          parseInt(sId.charAt(7))*2+
	          parseInt(sId.charAt(8))+
	          parseInt(sId.charAt(9)) ;
		value = value % 10 ;
		if(value!=0) IsValid = false;	
	  	var i;
	  	var c;
		for (i = 1; i < sId.length; i++){
			c = sId.charAt(i);
			if (LegalID.indexOf(c) == -1) IsValid = false;
		}
	}
	return IsValid;
}
/*頁面增加 Input 物件*/
/*function js_addInput(sParentID,sType,sName,sSize,sValue,sMaxLen,sTitle){
	var f = document.getElementById(sParentID);
	var oDiv = document.createElement("div");
	if(sTitle != null){
		oDiv.innerHTML = sTitle;
	}
	var oInput =document.createElement("input"); 
	oInput.setAttribute("type", sType); 
	oInput.setAttribute("name", sName);
	if(sSize != null)
		oInput.setAttribute("size", sSize);
	if(sValue != null) 
		oInput.setAttribute("value",sValue);
	if(sMaxLen != null) 
		oInput.setAttribute("maxlength",sMaxLen); 
	oDiv.appendChild(oInput);
	f.appendChild(oDiv);
}*/
function js_addInput(oParent,sType,sName,sSize,sValue,sMaxLen){
	var oInput =document.createElement("input"); 
	oInput.setAttribute("type", sType); 
	oInput.setAttribute("name", sName);
	oInput.setAttribute("id", sName);
	if(sSize != null)
		oInput.setAttribute("size", sSize);
	if(sValue != null) 
		oInput.setAttribute("value",sValue);
	if(sMaxLen != null) 
		oInput.setAttribute("maxlength",sMaxLen); 
	oParent.appendChild(oInput);
}
/*頁面增加 textarea 物件*/
function js_addTextArea(oParent,sName,sCol,sRow){
	var oInput =document.createElement("textarea"); 
	oInput.setAttribute("name", sName);
	oInput.setAttribute("id", sName);
	oInput.setAttribute("cols", sCol);
	if(sRow != null)
		oInput.setAttribute("rows", sRow);
	oParent.appendChild(oInput);
}

/*講師評分*/
s_Rating.imgMouseOver = "icon_star_o.gif";
s_Rating.imgMouseOut = "icon_star.gif";
s_Rating.imgClick = "icon_star_v.gif";

function s_Rating(sId){
	this.rating = 0;
	document.write("<div id='"+sId+"' onmouseout='f_mouseout("+sId+")'>");
	for(ii=0;ii<5;ii++){
		document.write("<img src='/coach/img/icon_star.gif' onmouseover='f_star_mouseover("+sId+","+(ii+1)+")' onclick='f_start_click("+sId+","+(ii+1)+")'> ");
	}
	document.write("<input type='hidden' id='rate_"+sId+"' name='rate_"+sId+"' value=''>");
	document.write("</div>");
	this.id = sId;
	this.parent = document.getElementById(sId);
	this.field = this.parent.getElementsByTagName("input")[0];
	this.images = this.parent.getElementsByTagName("img");	
}
function f_mouseout(obj){
	var n = obj.field.value;
	obj.update(n);
}
function f_star_mouseover(obj, n){
	obj.update(n,false);
}
function f_start_click(obj,n){
	obj.set(n);
}
function f_Ratings_set(n){
	this.field.value = n;
	this.update(n,true);
}

function f_Ratings_update(n,bIsClick){
	this.rating = n;
	var iCurRate = this.field.value;
	for(ii=0;ii<5;ii++){
		if(n>ii){
			if(iCurRate>ii)
				this.images[ii].src = "/coach/img/" + s_Rating.imgClick;
			else{
				if(bIsClick)
					this.images[ii].src = "/coach/img/" + s_Rating.imgClick;
				else
					this.images[ii].src = "/coach/img/" + s_Rating.imgMouseOver;
			}
		}
		else
			this.images[ii].src = "/coach/img/" + s_Rating.imgMouseOut;
	}
}
s_Rating.prototype.set = f_Ratings_set;
s_Rating.prototype.update = f_Ratings_update;
