//-------------------------------------------------------------------------------------
//一般於List頁面可能執行動作
//ActionName=處裡這個動作的程式網頁
//actValue=處裡動作
//ShowChk 是否秀確認訊息框  1秀 0不秀 配合Msg 用
//Msg 確認訊息!!!
//ActID1 ActID2 執行時所需傳遞的參數列如 修改或刪除 使用
//sStatus 設定某種狀態時使用 
//--------------------------------------------------------------------------------------

function Form_Action(frm, ActionName, ActValue, ActID, sStatus, ShowChk, Msg){
	if (ShowChk=="1"){
		if (confirm(Msg)){
			frm.target = "_self" ;
			frm.action=ActionName;
			frm.todo.value =ActValue ;
			frm.ActionID.value=ActID;
			frm.Status.value=sStatus
			frm.submit();
		}
	}
	else{
		frm.target = "_self" ;
		frm.action =ActionName;
		frm.todo.value = ActValue;
		frm.ActionID.value=ActID;
		frm.Status.value=sStatus
		frm.submit();
	}
}
//-------------------------------------------------------------------------------------
//選擇全部或是取消全部
//form
//tagname 是 checkbox 的名稱
//val是要不要選擇,0是不選,1是要選
//-------------------------------------------------------------------------------------
function SelectAllChkBox(form, tagname, val){
	for( var i=0 ; i<form.elements.length ; i++){
		if (form.elements[i].name.indexOf(tagname) != -1 && form.elements[i].type=='checkbox'){ 
			form.elements[i].checked = val;
		}
	}
}

//----------------------------------------------------------
//固定Select
function fixedSelect(objSelect, selectedValue){
	for(i=0; i<objSelect.options.length; i++){
		if(objSelect.options[i].value == selectedValue){
			objSelect.selectedIndex = i ;
			break ;
		}	    	
	}
}

//-------------------------------------------------------------------------------------
//確認是否有空白  範例: if (!checkEmpty(form.NICKNAME,"請輸入暱稱！！")) return ;
function checkEmpty(obj, msg) 
{
	var field = new String(obj.value);
	if (field.length == 0) {
		alert(msg);
		obj.focus();
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------------
// 確認  範例: Email 範例: if (!checkEmail(form.myEmail) return ;
function checkEmail(obj){
    if  (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value)){
          return (true);
    }
    alert("E-mail地址不正確");
	obj.focus();
    return  (false);
}

//-------------------------------------------------------------------------------------
//判斷email是否正確 範例: if (!checkEmail_2(form.myEmail) return ;
function checkEmail_2(obj)
{
	var email = new String(obj.value);
	if (!(email.indexOf("@") > 0) || !(email.indexOf("@") < email.length-1)) 
	{
		alert("E-mail地址不正確");
		obj.focus();
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------------
//確認是否選擇 RadioBox 或是 CheckBox 範例: if (!checkRadio_CheckBox_Empty(form.NICKNAME,"請選擇AAA！！")) return ;
function checkRadio_CheckBox_Empty(obj, msg){
	var have_value;
	have_value="0";
	for(i=0; i<obj.length; i++){
		if(obj[i].checked == true){
			have_value="1";
		}	    	
	}
	if (have_value=="0"){
		alert(msg);
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------------
//判斷是否有選擇  範例: if (!checkSelectEmpty(form.AAAA,"請選擇AAA！！")) return ;
function checkSelectEmpty(Obj,msg)
{
	if (Obj.options[Obj.selectedIndex].value == '')
	{
		alert(msg);
		Obj.focus();
		return false;
	}
	return true;
}

//-------------------------------------------------------------------------------------
// 確認 中華民國身份證號 範例: if (!idCheck(form.m_Id)) return ;
// objID 物件名稱　如frmAction.TextName
//-------------------------------------------------------------------------------------

function idCheck(objID){
	id = objID.value	
	if (id == null || id.length == 0){
		alert("請輸入您的身分證號碼！");
		objID.focus();
		return false;
	}
	id = id.toUpperCase();
	
	if (id.length != 10){
		alert("您輸入的身分證號碼有誤！");
		objID.focus();
		return false;
	}
	var ID_Input = new Array(10);
	
	for (var i=0 ; i<10 ; i++){
		ID_Input[i] = id.charAt(i);
	}
	var engstring = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	ID_Input[0] = engstring.indexOf(ID_Input[0]);
	
	if(ID_Input[0] == -1){
		alert("身分證號碼錯誤！");
		objID.focus();
		return false;
	}

	if (ID_Input[1] != 1 && ID_Input[1] != 2){
		alert("身分證號碼錯誤！");
		objID.focus();
		return false;
	}
	var NumArray  = new Array(26);
	NumArray[0]  = 1 ;
	NumArray[1]  = 10;
	NumArray[2]  = 19;
	NumArray[3]  = 28;
	NumArray[4]  = 37;
	NumArray[5]  = 46;
	NumArray[6]  = 55;
	NumArray[7]  = 64;
	NumArray[8]  = 39;
	NumArray[9]  = 73;
	NumArray[10] = 82; 
	NumArray[11] = 2 ;
	NumArray[12] = 11;
	NumArray[13] = 20;
	NumArray[14] = 48;
	NumArray[15] = 29;
	NumArray[16] = 38;
	NumArray[17] = 47;
	NumArray[18] = 56;
	NumArray[19] = 65;
	NumArray[20] = 74;
	NumArray[21] = 83;
	NumArray[22] = 21;
	NumArray[23] = 3 ;
	NumArray[24] = 12;
	NumArray[25] = 30;

	var result = NumArray[ID_Input[0]];
	for (var i = 1; i < 10; i++){
		var NumString = "0123456789";
		ID_Input[i] = NumString.indexOf(ID_Input[i]);
		if (ID_Input[i] == -1){
			alert("身分證號碼錯誤!");
			objID.focus();
			return (false);
		}
		else{
			result += ID_Input[i] * (9-i);
		}
	}
	result += 1 * ID_Input[9];
	
	if (result % 10 != 0){
		alert("身分證號碼錯誤!");
		objID.focus();
		return (false);
	}
	else{
		objID.value=id;
		return true;
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

//跑馬燈程式區	
//-------------------------------------------------------------------------------------
//Y軸 控制停止動作與啟動對作	

var YMode=1;
function YScrollObject(){
	YSlideEnd=-(YSlideObj.offsetHeight/2);
	YSlideObj.style.posTop-=YMode;
	YSlideObj.style.posTop=YSlideObj.style.posTop<=YSlideEnd?0:YSlideObj.style.posTop>0?YSlideEnd:YSlideObj.style.posTop;
	setTimeout("YScrollObject()",200);
}
function YChangSpeed(){
	MousePos=event.clientY-getPos(YSlideBar,"Top")
	if(MousePos<parseInt(YSlideBox.offsetHeight*0.2)){YMode=-20}
	if(MousePos>parseInt(YSlideBox.offsetHeight*0.2)&&MousePos<parseInt(YSlideBox.offsetHeight*0.4)){YMode=-10}
	if(MousePos>parseInt(YSlideBox.offsetHeight*0.4)&&MousePos<parseInt(YSlideBox.offsetHeight*0.6)){YMode=0}
	if(MousePos>parseInt(YSlideBox.offsetHeight*0.6)&&MousePos<parseInt(YSlideBox.offsetHeight*0.8)){YMode=10}
	if(MousePos>parseInt(YSlideBox.offsetHeight*0.8)){YMode=20}
}	
//-------------------------------------------------------------------------------------
//Y軸 控制停止動作與啟動對作	
function YChangeScroll(sStatus){
	if (sStatus=="In"){
		YMode=0;
	}else if (sStatus=="Out"){
		YMode=3;
	}	
}
//-------------------------------------------------------------------------------------
//取得絕對位置程式
function getPos(el,sProp)  
{
	var iPos = 0;
	while (el!=null)  
　　 {
		iPos+=el["offset" + sProp];
		el = el.offsetParent;
	 } 
	return iPos;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
