﻿// JScript 檔

        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        //=== HTML control ===
        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        // return the value of the radio button that is checked
        // return an empty string if none are checked, or
        // there are no radio buttons
        function getCheckedValue(radioObj) {
	        if(!radioObj)
		        return "";
	        var radioLength = radioObj.length;
	        if(radioLength == undefined)
		        if(radioObj.checked)
			        return radioObj.value;
		        else
			        return "";
	        for(var i = 0; i < radioLength; i++) {
		        if(radioObj[i].checked) {
			        return radioObj[i].value;
		        }
	        }
	        return "";
        }
        
        // set the radio button with the given value as being checked
        // do nothing if there are no radio buttons
        // if the given value does not exist, all the radio buttons
        // are reset to unchecked
        function setCheckedValue(radioObj, newValue) {
	        if(!radioObj)
		        return;
	        var radioLength = radioObj.length;
	        if(radioLength == undefined) {
		        radioObj.checked = (radioObj.value == newValue.toString());
		        return;
	        }
	        for(var i = 0; i < radioLength; i++) {
		        radioObj[i].checked = false;
		        if(radioObj[i].value == newValue.toString()) {
			        radioObj[i].checked = true;
		        }
	        }
        }
       
       
       
        /***********************************************
        * Show Hint script- © Dynamic Drive (www.dynamicdrive.com)
        * This notice MUST stay intact for legal use
        * Visit http://www.dynamicdrive.com/ for this script and 100s more.
        ***********************************************/
		
        var horizontal_offset="9px" //horizontal offset of hint box from anchor link

        /////No further editting needed

        var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
        var ie=document.all
        var ns6=document.getElementById&&!document.all

        function getposOffset(what, offsettype){
        var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
        var parentEl=what.offsetParent;
        while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
        }
        return totaloffset;
        }

        function iecompattest(){
        return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
        }

        function clearbrowseredge(obj, whichedge){
        var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
        if (whichedge=="rightedge"){
        var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
        dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
        if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
        }
        else{
        var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
        dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
        if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
        }
        return edgeoffset
        }

        function showhint(menucontents, obj, e, tipwidth){
        if ((ie||ns6) && document.getElementById("hintbox")){
        dropmenuobj=document.getElementById("hintbox")
        dropmenuobj.innerHTML=menucontents
        dropmenuobj.style.left=dropmenuobj.style.top=-500
        if (tipwidth!=""){
        dropmenuobj.widthobj=dropmenuobj.style
        dropmenuobj.widthobj.width=tipwidth
        }
        dropmenuobj.x=getposOffset(obj, "left")
        dropmenuobj.y=getposOffset(obj, "top")
        dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
        dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
        dropmenuobj.style.visibility="visible"
        obj.onmouseout=hidetip
        }
        }

        function hidetip(e){
        dropmenuobj.style.visibility="hidden"
        dropmenuobj.style.left="-500px"
        }

        function createhintbox(){
        var divblock=document.createElement("div")
        divblock.setAttribute("id", "hintbox")
        document.body.appendChild(divblock)
        }

        if (window.addEventListener)
        window.addEventListener("load", createhintbox, false)
        else if (window.attachEvent)
        window.attachEvent("onload", createhintbox)
        else if (document.getElementById)
        window.onload=createhintbox
        
        
        
        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        //=== common ===
        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        // trim function
        function trim(str)
        {
            if(!str || typeof str != 'string')
                return '';

            return str.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
        }
        
        
        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        //=== Validation ===
        //'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        
        // get error message to span
        function getErrMsg(_element,_errmsg)
        {
            if(document.all){
                 document.getElementById(_element).innerText = _errmsg;    //IE
            } else{
                document.getElementById(_element).textContent = _errmsg; //firefox
            }
        }
        
        // check required filed
        function checkRequired(objName,msgID,type)
        {
            
            var spn_msg = document.getElementById( msgID );
            spn_msg.style.display = 'none'; 
           
	        switch(type)
	        {
		        // textbox 
		        case 1:
                    if ( objName == "")
                    {
                        spn_msg.style.display = ''; 
                        getErrMsg( msgID ,"required."); 
                        return false; 
                    } 
                    break;
                   
                // radio  
                case 2:  
                    if ( getCheckedValue(objName) =="" )
                    {
                        spn_msg.style.display = ''; 
                        getErrMsg(msgID,"required."); 
                        return false;  
                    } 
                    break;
                 
                // custom 
				default:
                    return false;  
					break;
                    
              
                return true;
            }
        }
        
        
        // check required filed
        function customRequired(objName,msgID,errMsg)
        {
        
            var spn_msg = document.getElementById( msgID );
            spn_msg.style.display = 'none'; 
           
            if ( objName =="" )
            {
                spn_msg.style.display = ''; 
                getErrMsg(msgID, errMsg); 
                return false;  
            } 
            
            return true;
        }
        
          
        // 只允許數字型態(Keyup)(Event)
        function onlyAllowNumUp()
        {
	        if (isNaN(event.srcElement.value) && event.srcElement.value != '-')
		        event.srcElement.value	= event.srcElement.value.substr(0, event.srcElement.value.length - 1);
        }


        // 只允許數字型態(Keypress)(Event)
        function onlyAllowNumPress()
        {
            if (event.keyCode != 45 && event.keyCode != 46 && (event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 13)
	            event.returnValue = false;
        }
        
        // EMAIL
        function checkEmail(objName,msgID)
        {
            var spn_msg = document.getElementById( msgID );
            var mailStr = objName;
            spn_msg.style.display = 'none'; 

            if( mailStr.indexOf("@")==-1 || mailStr.indexOf(".")==-1 )
            {
                spn_msg.style.display = ''; 
                getErrMsg( msgID ,"format is incorrect."); 
                return false;
            }
            
           return true; 
        }
       
       
       
        
        