function trim(str) {
res="";
for(var i=0; i< str.length; i++) {
if (str.charAt(i) != " " && str.charAt(i) != "　") {
res +=str.charAt(i);
}
}
return res;
}//trim()

var bName = navigator.appName;
nc = (bName == "Netscape") ? true : false;
ie = (bName == "Microsoft Internet Explorer") ? true : false;
function Check_num() {
	if(nc) document.onkeypress = keyDown;
	else if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13 && event.keyCode != 46) event.returnValue = false;
}
function keyDown(e){
	var nkey=e.which;
	if (nkey >= 48 && nkey <= 57 || nkey==46 || nkey==13 || nkey==8 || nkey==0) return true;
	else return false;
}
function Cls_event(){
	document.onkeypress = "";
}

/*Email*/
function Checkmail(objName,lange) {
	var msg;
	var obj = objName;
	var c = obj.value.charAt(0);
	if (lange=="e") msg="Email format is incorrect, please review your entry!";
	else msg="電子郵件格式錯誤!";

	if (!((c>="a" && c<="z") || (c>="0" && c<="9") || (c>="A" && c<="Z"))) {
		alert(msg);
		obj.focus();
		return(false);
	}
	var c = obj.value.charAt(obj.value.length-1);
	if (!((c>="a" && c<="z") || (c>="0" && c<="9") || (c>="A" && c<="Z"))) {
		alert(msg);
		obj.focus();
		return(false);
	}
	if ((obj.value.indexOf("@")=="-1") || (obj.value.indexOf(".")=="-1")) {
		alert(msg);
		obj.focus();
		return(false);
	}
	return(true);
}

/*Personal ID*/
function CheckValue(ckOBJ) {
	if (ckOBJ.value.length ==0){
	alert("請輸入身份證字號！謝謝！"); ckOBJ.focus();return false;}
	if (ckOBJ.value.length != 10){
	alert("請輸入正確的身份證字號！謝謝！"); ckOBJ.focus();return false;}

    var ID_Load = ''+ ckOBJ.value.toUpperCase()
    //if (ID_Load.length < 10) {
    //    alert('身分證號碼錯誤！\r\n字數不足！')
    //    return (false)
    //}

    var ID_Input    = new Array(10)
    for (var i=0; i<10; i++) { ID_Input[i] = ID_Load.charAt(i) }
    var EngString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

    ID_Input[0]   = EngString.indexOf(ID_Input[0])

    if (ID_Input[0] == -1) {
        alert('身分證號碼錯誤！\r\n無開頭的字母！')
        return (false)
    }
    if (ID_Input[1] !=1 && ID_Input[1] !=2) {
        alert('身分證號碼錯誤！\r\n無法辨識性別！')
        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('身分證號碼錯誤！\r\n數字檢查錯誤！')
            return (false)
        } else {
            result += ID_Input[i] * (9-i)
        }
    }

    result += 1 * ID_Input[9]
    if (result % 10 != 0) {
        alert('身分證號碼錯誤！\r\n請檢查錯誤！')
        return (false)
    }
    return true;
}

var marked_row = new Array;
function PMA_markRowsInit() {
    // for every table row ...
	var rows = document.getElementsByTagName('tr');
	
	for ( var i = 0; i < rows.length; i++ ) {
	    // ... with the class 'odd' or 'hidden' ...
		if ( 'odd' != rows[i].className && 'hidden' != rows[i].className && rows[i].className.search(' marked') < 0 ) {
		    continue;
		}
        // ... to highlight the row on mouseover ...
	    if ( navigator.appName == 'Microsoft Internet Explorer' ) {
	        // but only for IE, other browsers are handled by :hover in css
			rows[i].onmouseover = function() {
			    this.className += ' hover';
			}
			rows[i].onmouseout = function() {
			    this.className = this.className.replace( ' hover', '' );
			}
	    }
        // ... and to mark the row on click ...
		rows[i].onmousedown = function() {
		  var unique_id;
            var checkbox;

            checkbox = this.getElementsByTagName( 'input' )[0];
            if ( checkbox && checkbox.type == 'checkbox' ) {
                unique_id = checkbox.name + checkbox.value;
            } else if ( this.id.length > 0 ) {
                unique_id = this.id;
            } else {
		        return;
		    }

            if ( typeof(marked_row[unique_id]) == 'undefined' || !marked_row[unique_id] ) {
                marked_row[unique_id] = true;
            } else {
                marked_row[unique_id] = false;
            }
            if (checkbox.checked==true) marked_row[unique_id] = false;

            if ( marked_row[unique_id] ) {
			    this.className += ' marked';
            } else {
			    this.className = this.className.replace(' marked', '');
            }

            if ( checkbox && checkbox.disabled == false ) {
                //checkbox.checked = marked_row[unique_id];
                checkbox.checked = !checkbox.checked;
            }
		}

		// ... and disable label ...
		var labeltag = rows[i].getElementsByTagName('label')[0];
		if ( labeltag ) {
		    labeltag.onclick = function() {
		        return false;
		    }
	    }
	    // .. and checkbox clicks
		var checkbox = rows[i].getElementsByTagName('input')[0];
		if ( checkbox ) {
		    checkbox.onclick = function() {
		        // opera does not recognize return false;
		        this.checked = ! this.checked;
		    }
	    }
	}
}
window.onload=PMA_markRowsInit;

function markAllRows( container_id ) {
	var rows = document.getElementById(container_id).getElementsByTagName('tr');
	var unique_id;
	var checkbox;

	for ( var i = 0; i < rows.length; i++ ) {

	if ( 'odd' != rows[i].className && 'hidden' != rows[i].className ) {
	    continue;
	}
        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if ( checkbox && checkbox.type == 'checkbox' ) {
            unique_id = checkbox.name + checkbox.value;
            
            if ( checkbox.disabled == false ) {
                checkbox.checked = true;
                if ( typeof(marked_row[unique_id]) == 'undefined' || !marked_row[unique_id] ) {
                    rows[i].className += ' marked';
                    marked_row[unique_id] = true;
                }
            }
	    }
	}

	return true;
}

/**
 * marks all rows and selects its first checkbox inside the given element
 * the given element is usaly a table or a div containing the table or tables
 *
 * @param    container    DOM element
 */
function unMarkAllRows( container_id ) {
	var rows = document.getElementById(container_id).getElementsByTagName('tr');
	var unique_id;
	var checkbox;

	for ( var i = 0; i < rows.length; i++ ) {

        checkbox = rows[i].getElementsByTagName( 'input' )[0];

        if ( checkbox && checkbox.type == 'checkbox' ) {
            unique_id = checkbox.name + checkbox.value;
            checkbox.checked = false;
            rows[i].className = rows[i].className.replace(' marked', '');
            marked_row[unique_id] = false;
        }
	}

	return true;
}

function radioCheck(str){
	var Radio=str;
	var result=false;
	for (var i=0;i<Radio.length;i++){
		if (Radio[i].checked) result=true;
	}
	return result;
}


// 函数名：checkNum
// 功能介绍：檢查是否為數字
// 參數說明：要檢查的數字
// 返回值：1為是數字，0為不是數字
function checkNum(NUM){
	var i,j,strTemp;
	strTemp="0123456789";
	if ( NUM.length== 0) return false;
	
	for (i=0;i<NUM.length;i++){
		j=strTemp.indexOf(NUM.charAt(i)); 
		if (j==-1){
			return false;
		}
	}
	return true;
}

//	檢查是否為手機
function checkMobile(tel){
	var i,j,strTemp;
	strTemp="09";
		
	if(tel.length!=10) return false;
	if(!checkNum(tel)) return false;
	
	for (i=0;i<2;i++){
		j=strTemp.indexOf(tel.charAt(i)); 
		if (j==-1){
			return false;
		}
	}	
	
	return true;
}

function selectCheck(str){
	var result=false;
	for (var i=0;i<str.length;i++){
		if (trim(str.options[i].value)=="n") var ending=0;
		else var ending=eval(str.options[i].value);
		if (ending>0 && str.options[i].selected) result=true;
	}
	return result;
}

function checkEmail(str) {
	var email1=str; 
	var pattern=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	flag = pattern.test(email1); 
	if (!flag) {
		alert("電子郵件郵件格式不正確!");
		return false;
	}	
	return true;
	
}



function checkUserIDEmail(str) {
	var email1=str; 
	var pattern=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	flag = pattern.test(email1); 
	if (!flag) {
		return false;
	}	
	return true;
	
}