﻿//小幫手參數v1.0
var HiddenNameList = "cat_frm,cat_txts,cat_nos,cat_source,obj_type,maxnum";
//小幫手參數v2.0
var newHiddenNameList = "cat_frm,cat_txts,cat_source,cat_obj_type,cat_max_chk,cat_fun_level,cat_chk_up_level";//必填
newHiddenNameList +=",cat_nos,cat_appendtext,cat_only_hide,cat_only_show,cat_fun_type";//可選擇性的參數
var currentCat = "";
/* 設定小幫手參數v2.0 newHiddenNameList
 * @param paramid 小幫手參數名list,以逗號相隔
 */ 
function setHelpParamValue(paramid){
    newHiddenNameList=paramid;
}
/* 開啟小幫手v1.0
 * @param category 大類代碼
 * @param HiddenValueList 主網頁要動態產生的參數hidden欄名List，多重值以逗號相隔。
 *                        依序代表cat_frm,cat_txts,cat_nos,cat_source,obj_type,maxnum
 */
function OpenHelpWin(category,HiddenValueList){
    var HiddenNameListAry=HiddenNameList.split(",");
    var HiddenValueListAry=HiddenValueList.split(",");
    currentCat = category;
	if(HiddenNameListAry.length == HiddenValueListAry.length){
    	for(var i=0;i<HiddenNameListAry.length;i++){
    	    var idname=HiddenNameListAry[i];
    	    var idvalue=HiddenValueListAry[i];   
            while(idvalue.indexOf("@")!=-1){
                idvalue = idvalue.replace("@",",");
            } 	    
    	    //舊參數轉成新參數
    	    if(idname=="obj_type")
    	       idname="cat_obj_type";
    	    if(idname=="maxnum")
    	       idname="cat_max_chk";
    	    //可勾選層級cat_chk_up_level要有預設值   
    	    if(idname=="cat_level"){
    	       idname="cat_chk_up_level";
    	       if(idvalue=="1"||idvalue=="2"){
    	            idvalue = "1";
    	       }else if(currentCat=="6000000000"&&idvalue==""){
    	            idvalue = "1";
    	       }else{
    	            idvalue = "0";
               }
            }      
        	text = document.getElementById(idname);    	
            text.setAttribute("value",idvalue);
    	}
		//顯示到第幾層cat_fun_level要有預設值
        text = document.getElementById("cat_fun_level");
        var textvalue="0";
        if(currentCat=="1000000000"){
            textvalue = "4";	
        }else if(currentCat=="2000000000"){
            textvalue = "4";	
        }else if(currentCat=="3000000000"){
            textvalue = "3";	
        }else if(currentCat=="5000000000"){
            textvalue = "3";	
        }else if(currentCat=="6000000000"){
            textvalue = "4";
        }else if(currentCat=="9000000000"){
            textvalue = "3";	
        }else if(currentCat=="10000000000"){
            textvalue = "4";	
        }else{
            textvalue = "4";
        }
        text.setAttribute("value",textvalue);
        //可勾選層級cat_chk_up_level要有預設值
        text = document.getElementById("cat_chk_up_level");
        if (text.value==""){
            text.setAttribute("value","0");
        }
        window.open("/public/function01/utf8/categoryhelper/index.cfm?category="+category,"newwindow","width=750,height=610,resizable=yes,toolbar =no, menubar=no,location=no, status=no,scrollbars=yes");
    }else{
        alert("傳入的參數錯誤，請重新確認！");
    }   	
}
/* 開啟小幫手v2.0
 * @param category 大類代碼
 * @param HiddenValueList 主網頁要動態產生的參數hidden欄名List，多重值以逗號相隔。
 * 依序代表:cat_frm,cat_txts,cat_source,cat_obj_type,cat_max_chk,cat_fun_level,
 *          cat_chk_up_level,cat_nos,cat_appendtext,cat_only_hide,cat_only_show
 *           
 * 其中的cat_txts,cat_nos,cat_appendtext,cat_only_hide,cat_only_show若為多重值,以"@"符號相隔。  
 */
function OpenHelpWin_v2(category,HiddenValueList,domain_name){
    var HiddenNameListAry=newHiddenNameList.split(",");
    var HiddenValueListAry=HiddenValueList.split(",");
    //var  LenHiddenNameListAry=11;
    currentCat = category;
	if(HiddenValueListAry.length>=(HiddenNameListAry.length-1)){
    	for(var i=0;i<HiddenValueListAry.length;i++){
        	text = document.getElementById(HiddenNameListAry[i]);
            var idvalue	= HiddenValueListAry[i];
            while(idvalue.indexOf("@")!=-1){
                idvalue = idvalue.replace("@",",");
            }
            text.setAttribute("value",idvalue);
    	}
    	//顯示到第幾層cat_fun_level要有預設值
        text = document.getElementById("cat_fun_level");
        var textvalue = "0";  
        if(text.value==""){ 
            if(currentCat=="1000000000"){
                textvalue = "4";	
            }else if(currentCat=="2000000000"){
                textvalue = "4";	
            }else if(currentCat=="3000000000"){
                textvalue = "3";	
            }else if(currentCat=="5000000000"){
                textvalue = "3";	
            }else if(currentCat=="6000000000"){
                textvalue = "4";	
            }else if(currentCat=="9000000000"){
                textvalue = "3";	
            }else if(currentCat=="10000000000"){
                textvalue = "4";	
            }else{
                textvalue = "4";
            }
            text.setAttribute("value",textvalue);
        }
        //可勾選層級cat_chk_up_level要有預設值
        text = document.getElementById("cat_chk_up_level");
        if (text.value==""){
            text.setAttribute("value","0");
        }
        if(typeof( domain_name )!= "undefined")
        window.open(domain_name+"/categoryhelper/index.cfm?category="+category,"newwindow","width=750,height=610,resizable=yes,toolbar =no, menubar=no,location=no, status=no,scrollbars=yes");
        else
        window.open("/public/function01/utf8/categoryhelper/index.cfm?category="+category,"newwindow","width=750,height=610,resizable=yes,toolbar =no, menubar=no,location=no, status=no,scrollbars=yes");
    }else{
        alert("傳入的參數錯誤，請重新確認！");
    }   	
}  
/* 
 * 指定特定的Option物件,加入特定的值。
 * @param theText 特定Option的中文值,多重值以逗號相隔。
 * @param theValue 特定Option的value值,多重值以逗號相隔。
 * @param idvalue 特定Option物件的id屬性值。   
 */ 
function addOption(theText, theValue, idvalue){
    var OptionTextAry=theText.split(",");
    var OptionValueAry=theValue.split(",");
    if(OptionTextAry.length == OptionValueAry.length){
        var theSel;var newOpt;var selLength;
    	for(var i=0;i<OptionTextAry.length;i++){
        	theSel = document.getElementById(idvalue);
        	if (OptionValueAry[i]!=""&&OptionValueAry[i]!=null&&checkRepeat( OptionValueAry[i],theSel.options,"")==false){
                newOpt = new Option(OptionTextAry[i], OptionValueAry[i]);
                selLength = theSel.length;
                theSel.options[selLength] = newOpt;
            }    
    	}
    }else{
        alert("傳入的參數錯誤，請重新確認！");
    }    	    
}
/*
 * 初始化小幫手參數
 */ 
function initHelpper(){
    var HiddenNameListAry=newHiddenNameList.split(",");
    myfrm = document.createElement("form");
    myfrm.setAttribute("id","mycatform");
    myfrm.setAttribute("name","mycatform");
	for(var i=0;i<HiddenNameListAry.length;i++){
    	text = document.createElement("input");        	
    	text.style.visibility="hidden";
		text.setAttribute("id",HiddenNameListAry[i]);
		text.setAttribute("name",HiddenNameListAry[i]);
		text.setAttribute("value","");
    	myfrm.appendChild(text);    	
    }
   document.body.appendChild(myfrm);
} 
/* 過濾選項中是否有重複,若有重複則刪除重複的部分
 * @param OptionId 欲過濾之Option物件Select Id
 */ 
function RefreshItemList(OptionId){
    OptionObj = document.getElementById(OptionId);
    ItemAry = new Array();
    ItemTextAry = new Array();
    CompareAry = new Array();
    var DelString = "";
    //儲存
    for(ii=0;ii<OptionObj.options.length;ii++){
        ItemAry[ii] = OptionObj.options[ii].value;
        ItemTextAry[ii] = OptionObj.options[ii].text;
        CompareAry[ii] = OptionObj.options[ii].value;
    }
    //比較重複
    var sameCount = 0;
    for(kk=0;kk<ItemAry.length;kk++){
        sameCount = 0;
        for(jj=0;jj<CompareAry.length;jj++){
            if(ItemAry[kk]==CompareAry[jj])
                sameCount++;
        }        
        if(sameCount > 1 && DelString.indexOf(ItemAry[kk])==-1){
            //有重複時
            DelString = DelString  + ItemAry[kk]+ ","; 
        }
    }
    //刪除重複
    OptionObj.options.length=0;   
    DelAry = DelString.split(",");
    for(kk=0;kk<DelAry.length;kk++){
        for(jj=ItemAry.length-1;jj>-1;jj--){
            if(ItemAry[jj]==DelAry[kk]&&ItemAry[jj]!=""&&DelAry[kk]!=""){
                ItemAry[jj]="";
                break;
            }   
        }   
    }
    //refresh Item
    var addCount = 0;
    for(jj=0;jj<ItemAry.length;jj++){
        if(ItemAry[jj]!="")
            OptionObj[addCount++] = new Option(ItemTextAry[jj],ItemAry[jj]);
    }        
    OptionObj.options.length=addCount;
} 
/* 設定各類目選單,插入點為第一項的數目
 * @param OptionId 類目<select> id屬性值
 * @param  custItemCount 自訂數目
 */
function OptionCustCount(OptionId,custItemCount){
    this.id = OptionId;
    this.count = custItemCount;
} 
/* 設定各類目選單,插入點為最後一項的數目
 * @param OptionId 類目<select> id屬性值
 * @param  custItemCount 自訂數目
 */
function OptionCustLCount(OptionId,custItemCount){
    this.id = OptionId;
    this.count = custItemCount;
}   
/* 初始化大類選項
 * @param ItemName 類目名稱
 * @param initId 欲初始化之大類<select> id屬性值
 * @param initTextList 新增的項目名稱，以逗號相隔
 * @param initValueList 新增的項目值，以逗號相隔
 * @param InsertIndex 插入點 0為第一項,999為最後一項(目前只支援以第一項、最後一項為插入點) 
 */ 
var OptCountLen = 0;
var OptCountTemp = new Array();
var OptCountLLen = 0;
var OptCountLTemp = new Array();
function initOption(ItemName,initId,initTextList,initValueList,InsertIndex){
    RootObj = eval(ItemName);
    OptionObj =document.getElementById(initId);
    var OptionLen = 0;
    TextAry = initTextList.split(",");
    ValueAry = initValueList.split(",");
    if(InsertIndex==0){
        //在第一項加入指定的項目
        for(s=0;s<TextAry.length;s++){
            OptionObj.options[OptionLen++] = new Option(TextAry[s],ValueAry[s]);
        }
        setOptCustCount(initId,TextAry.length);
    }
    for (j=0;j<RootObj.n.length; j++){    
        if (filterShowHide(filterShowHideType,RootObj.n[j].no)==true)
        OptionObj.options[OptionLen++] = new Option(RootObj.n[j].des,RootObj.n[j].no);
    }
    if(InsertIndex==999){
        //在最後一項加入指定的項目
        for(s=0;s<TextAry.length;s++){
            OptionObj.options[OptionLen++] = new Option(TextAry[s],ValueAry[s]);
        }
        setOptCustLCount(initId,TextAry.length);
    }
    OptionObj.selectedIndex = 0;  
    OptionObj.options.length = OptionLen;
    setFilter('2','');
}
/* 新增"父類全部"。當點選父類時，下一層子類會附加"父類全部"項目。
 * 新增下一層子類的value為上一層父類代碼,text可以自訂。
 * 插入點設定為最後一項,無法指定插入點。 
 * @param appendType 新增類型。
 *   1：過濾特殊項目(僅特殊項目才要加"父類全部"到下一層子類)。若為此類型，則須配合全域變數filterShowParentAllNum的使用。
 *   2：不用過濾特殊項目(所有項目都要加"父類全部"到下一層子類)。
 * @param fromOptionId 來源Select Id
 * @param toOptionId 目的Select Id
 * @param clsOptionId 欲清除的Select Id(用於產生中類項的"父類全部"時，清除小類項，以避免同時選擇"中類不拘"與"小類不拘"。產生"小類不拘"時，此變數設空字串即可。)
 * @param appendText "父類全部"的文字顯示。若含"***"特殊字串，則會取代為上一層父類名稱。 
 * @param NextIndex 下一層預設選項。若為999，則預設選項選取為"父類全部"。 
 */
function appendParent(appendType,fromOptionId,toOptionId,clsOptionId,appendText,NextIndex){
    ParentOption = document.getElementById(fromOptionId);
    ChildOption = document.getElementById(toOptionId);
    var ParentIndex = ParentOption.selectedIndex;     
    if(ParentIndex >-1){
        var ParentText = ParentOption.options[ParentIndex].text;
        var ParentValue = ParentOption.options[ParentIndex].value;
        for(i=0;i<ChildOption.options.length;i++){
            if(ChildOption.options[i].value==ParentValue)
                return false;
        }
        if(ParentValue.length==10 || ParentValue.length==11){
            if(appendType==1){
                if(isContainsParentAll(ParentValue)==true){
                    appendText = appendText.replace("***",ParentText);
                    if(ChildOption.options.length>getOptCustCount(toOptionId)&&filterShowHide(filterShowHideType,ParentValue)==true){
                        ChildOption.options[ChildOption.options.length]=new Option(appendText,ParentValue);                        
                        setOptCustLCount(toOptionId,1);
                    }                    
                    if (NextIndex==999){
                        //預設選取"父類全部"
                        ChildOption.selectedIndex = ChildOption.options.length - 1 ;
                        clsOptionObj = document.getElementById(clsOptionId);
                        //若中類選擇"父類全部"時,小類不能選擇"父類全部",故將小類項目清空
                        if(clsOptionId!="" && typeof clsOptionObj != "undefined")
                            clsOptionObj.options.length=0;
                    }  
                }
            }else if(appendType==2){
                appendText = appendText.replace("***",ParentText);
                if(ChildOption.options.length>getOptCustCount(toOptionId)&&filterShowHide(filterShowHideType,ParentValue)==true){
                    ChildOption.options[ChildOption.options.length]=new Option(appendText,ParentValue);
                    setOptCustLCount(toOptionId,1);
                }    
                if (NextIndex==999){
                    //預設選取"父類全部"
                    ChildOption.selectedIndex = ChildOption.options.length - 1 ;
                    clsOptionObj = document.getElementById(clsOptionId);
                    //若中類選擇"父類全部"時,小類不能選擇"父類全部",故將小類項目清空
                    if(clsOptionId!="" && typeof clsOptionObj != "undefined")
                        clsOptionObj.options.length=0;
                }                          
            }  
        }
     }   
           
} 
/* 新增大中小類之自訂項目。
 * 新增大類自訂項目時，參數parentOption設空字串即可。
 * @param parentOption 欲自訂項目類目之父類<select> id屬性值。
 * @param custOption 欲自訂項目類目<select> id屬性值
 * @param custTextList 自訂項目中文名，多重值以逗號相隔。
 * @param custValueList 自訂項目值，多重值以逗號相隔。
 * @param InsertIndex 插入點 0為第一項,999為最後一項(目前只支援以第一項、最後一項為插入點) 
 */ 
function appendCustomItem(parentOption,custOptionId,custTextList,custValueList,InsertIndex){
    OptionObj =document.getElementById(custOptionId);
    var OptionLen = OptionObj.options.length;
    TextAry = custTextList.split(",");
    ValueAry = custValueList.split(",");
    parentObj = document.getElementById(parentOption);
    var parentIndex;var parentnodes;
    if(typeof parentObj != "undefined"&&parentOption!=""){
        parentIndex = parentObj.options.selectedIndex-getOptCustCount(parentOption);
        parentnodes = parentObj.options.length-getOptCustCount(parentOption)-getOptCustLCount(parentOption);
    }          
    if(InsertIndex==0){  
        if(typeof parentObj == "undefined"||parentOption==""||parentObj ==null){parentIndex=0;parentnodes=1;}    
        if(parentIndex >-1 && parentIndex<parentnodes){ 
            //暫存原先的項目      
            OriginAry = new Array()
            for(s=0;s<OptionLen;s++){
                OriginAry[s] = OptionObj.options[s];       
            }
            OptionObj.options.length=0;
            //在第一項加入指定的項目
            for(s=0;s<TextAry.length;s++){
                OptionObj.options[s] = new Option(TextAry[s],ValueAry[s]);
            }    
            OptionLen = OptionObj.options.length;
            for(ss=0;ss<OriginAry.length;ss++){
                OptionObj.options[OptionLen++] = new Option(OriginAry[ss].text,OriginAry[ss].value);
            }
            setOptCustCount(custOptionId,TextAry.length);
         }   
    }
    if(InsertIndex==999){
        if(typeof parentObj == "undefined"||parentOption==""||parentObj ==null){parentIndex=0;parentnodes=1;}
        if(parentIndex >-1 && parentIndex<parentnodes){ 
            //在最後一項加入指定的項目
            for(s=0;s<TextAry.length;s++){
                OptionObj.options[OptionLen++] = new Option(TextAry[s],ValueAry[s]);
            }
            setOptCustLCount(custOptionId,TextAry.length);
        }
    }
} 
/* 取得特定類目之插入點為第一項的自訂項目數目
 * @param OptionId 類目<Select> Id
 */
function getOptCustCount(OptionId){
    for(k=0;k<OptCountTemp.length;k++){
        if(OptCountTemp[k].id==OptionId){
            return OptCountTemp[k].count;
        }
    }
    return 0;
} 
/* 設定特定類目之插入點為第一項的自訂項目數目
 * @param OptionId 類目<Select> Id
 * @param Count 自訂項目數目
 */
function setOptCustCount(OptionId,Count){
    for(k=0;k<OptCountTemp.length;k++){
        if(OptCountTemp[k].id==OptionId){
            OptCountTemp[k].count=Count;
            return false;
        }
    }
    //若未有該物件OptCountTemp,則new 一個
    OptCountTemp[OptCountLen++] = new OptionCustCount(OptionId,Count);
    return false;
}
/* 取得特定類目之插入點為最後一項的自訂項目數目
 * @param OptionId 類目<Select> Id
 */
function getOptCustLCount(OptionId){
    for(k=0;k<OptCountLTemp.length;k++){
        if(OptCountLTemp[k].id==OptionId){
            return OptCountLTemp[k].count;
        }
    }
    return 0;
} 
/* 設定特定類目之插入點為最後一項的自訂項目數目
 * @param OptionId 類目<Select> Id
 * @param Count 自訂項目數目
 */
function setOptCustLCount(OptionId,Count){
    for(k=0;k<OptCountLTemp.length;k++){
        if(OptCountLTemp[k].id==OptionId){
            OptCountLTemp[k].count=Count;
            return false;
        }
    }
    //若未有該物件OptCountTemp,則new 一個
    OptCountLTemp[OptCountLLen++] = new OptionCustLCount(OptionId,Count);
    return false;
}  
/* 設定類目選項的選定值。
 * 可用於submit到原先頁面時,讓類目選項選定於submit之前的選擇。
 * @param changedOptId 類目選項之<select>id屬性值
 * @param changedOptText  在submit之前所選的中文值(本參數已廢除不用,可帶空字串)
 * @param changedOptValue  在submit之前所選的代碼值  
 */ 
function setOptionSelected(changedOptId,changedOptText,changedOptValue){
    OptionObj = document.getElementById(changedOptId);
    var OptValue = changedOptValue.trim();
    var callString="";
    var tmp="";    
    if(OptValue!=""){   
        for(i=0;i<OptionObj.options.length;i++){
            if(OptionObj.options[i].value.trim()==OptValue){
                OptionObj.options[i].selected=true;
                OptionObj.selectedIndex=i;        
                if(typeof OptionObj.onchange != "undefined" && OptionObj.onchange !=null){
                    callString = OptionObj.getAttribute("onchange")+"";
                    if(callString.indexOf("submit();")==-1){
                        OptionObj.onchange();
                    }else{
                        tmp=callString.substring(0,11);                
                        if(tmp.toLowerCase()=="javascript:")
                            tmp = tmp.toLowerCase();
                        callString = tmp + callString.substring(11,callString.length)
                        callString = callString.replace("javascript:","");
                        if(callString.substring(callString.length-13,callString.length)=="return false;")
                        callString = callString.replace("return false;","");
                        callString = callString.replace(/submit[(][)];/g,"");
                        eval(callString);
                    }  
                   return false;
                }    
            }
        }
        if(typeof OptionObj.onchange == "undefined"){
            //for Netscape6.0無法fire event的問題
            callString = OptionObj.getAttribute("onchange");
            if(callString !=null){
                tmp=callString.substring(0,11);                
                if(tmp.toLowerCase()=="javascript:")
                    tmp = tmp.toLowerCase();
                callString = tmp + callString.substring(11,callString.length)
                callString = callString.replace("javascript:","");
                if(callString.substring(callString.length-13,callString.length)=="return false;")
                    callString = callString.replace("return false;","");
                callString = callString.replace(/submit[(][)];/g,"");
                eval(callString);                
            }    
        }      
    }    
}  
/* 取得該選定值在Json物件中的位置index
 * @param RootObj Json物件
 * @param  OptionValue 選項物件Value值
 */ 
function  getOptionIndexPos(RootObj,OptionValue){
    for(r=0;r<RootObj.n.length;r++){
        if(RootObj.n[r].no.trim()==OptionValue.trim()){
            return r; 
        }
    }
    return -1;
}
/* 保留結果欄資料
 * @param srcType 來源型態。1：text、hidden。2：select。
 * @param srcobjId 若srcType=1，則帶text欄id值。多重值以逗號相隔。
 *                   若srcType=2，則帶select id值。
 * @param srcobjId2 若srcType=1，則帶hidden欄id值。多重值以逗號相隔。
 *                   若srcType=2，則帶空字串。
 * @param  rsobjId 結果欄id值
 */  
function addToRsCol(srcType,srcobjId,srcobjId2,rsobjId){
    var textlist="";var vallist="";var temp="";  
    if(srcType==1){
        var textlistAry = srcobjId.split(",");
        var vallistAry = srcobjId2.split(",");
        for(i=0;i<textlistAry.length;i++){
            temp = document.getElementById(textlistAry[i]).value;
            if(temp!=""&&temp!=null)
                textlist = textlist + temp + ",";
        }
        for(i=0;i<vallistAry.length;i++){
            temp = document.getElementById(vallistAry[i]).value;
            if(temp!=""&&temp!=null)
                vallist = vallist + temp + ",";
        }
    }else if(srcType==2){
        srcObj = document.getElementById(srcobjId);
        for(i=0;i<srcObj.options.length;i++){
            temp = srcObj.options[i].text;
            if(temp!=""&&temp!=null)
                textlist = textlist + temp + ",";
            temp = srcObj.options[i].value;
            if(temp!=""&&temp!=null)
                vallist = vallist + temp + ",";    
        }
    }
    rsObj = document.getElementById(rsobjId);
    for (i=0;i<rsObj.length;i++){
        rsObj.options[i] = null;
    }
    rsObj.options.length=0;
    addOption(textlist,vallist,rsobjId);
}
/*
 * 拉動結果欄的scroll bar,到最後一項項目。scrolltoLast在Netscape上無法作用。
 * @param DivId Div Id名
 * @param OptionId 結果欄ID值
 */ 
function scrolltoLast(DivId,OptionId){
    DivObj = document.getElementById(DivId);
    OptionObj = document.getElementById(OptionId);
    if(typeof DivObj !="undefined"&&DivObj!=null&&typeof OptionObj !="undefined"&&OptionObj!=null){
        var subopt = OptionObj.options.length - OptionObj.size;
        DivObj.style.overflow="scroll";
        DivObj.style.overflow="auto";
        if(subopt>25){
            DivObj.scrollTop =subopt*18;
            //test for netscape OK:offsetHeight,offsetTop
            //not OK:pageY,pageYOffset,innerHeight,clientHeight
        }else if(subopt>0){
            DivObj.scrollTop =subopt*20;
        }else{            
            DivObj.scrollTop =0;
        }
         DivObj.scrollLeft =0;
    }
} 
/*
 * 將Div的垂直、水平scrollbar拉到最前面
 * @param DivId Div Id名 
 */ 
function scrollDivAll(DivId){
    DivObj = document.getElementById(DivId);
    if(typeof DivObj !="undefined"&&DivObj!=null){
         DivObj.style.overflow="scroll";
         DivObj.style.overflow="auto";
         DivObj.scrollTop =0;
         DivObj.scrollLeft =0;
    }     
}   
/*
 * 將Div的垂直scrollbar拉到最上面
 * @param DivId Div Id名 
 */
function scrollDivUp(DivId){
    DivObj = document.getElementById(DivId);
    if(typeof DivObj !="undefined"&&DivObj!=null){
         DivObj.style.overflow="scroll";
         DivObj.style.overflow="auto";
         DivObj.scrollTop =0;
    }     
}  
/*
 * 將Div的水平scrollbar拉到最左邊
 * @param DivId Div Id名 
 */
function scrollDivLeft(DivId){
    DivObj = document.getElementById(DivId);
    if(typeof DivObj !="undefined"&&DivObj!=null){
        DivObj.style.overflow="scroll";
        DivObj.style.overflow="auto";
        DivObj.scrollLeft =0;
    }
} 
/* 第一個Select欄位被更動後的反應動作
 * @param ItemName 類目名稱
 * @param OptionId1 大類Select Id
 * @param OptionId2 中類Select Id
 * @param OptionId3 小類Select Id
 */ 
function onChangeOption1(ItemName,OptionId1,OptionId2,OptionId3) {
    RootObject = eval(ItemName);
	var RootDeep = checkRootDeep(RootObject.n,1);//該類階層數
	var Option1Pos = getOptCustCount(OptionId1);
	Option1 = document.getElementById(OptionId1);
	Option2 = document.getElementById(OptionId2);
	if(RootDeep>=3)
	    Option3 = document.getElementById(OptionId3);
	var index1=Option1.selectedIndex-Option1Pos;
	var index1Pos = getOptionIndexPos(RootObject,Option1.options[Option1.selectedIndex].value);//Json物件中的位置index
	var eraseFlag = false;
	// Create options for Option2
	if(index1 >-1 && index1 < RootObject.n.length && index1Pos >-1){
    	if(typeof RootObject.n[index1Pos].n != "undefined"){
            var Option2Len = getOptCustCount(OptionId2);
            for (i=0;i<RootObject.n[index1Pos].n.length;i++){
                //過濾--僅顯示/僅不顯示
                if (filterShowHide(filterShowHideType,RootObject.n[index1Pos].n[i].no)==true){
                    Option2.options[Option2Len++]=new Option(RootObject.n[index1Pos].n[i].des,RootObject.n[index1Pos].n[i].no);
                }
            }
            Option2.options.length=Option2Len; 
        }else{
            Option2.options[0]=new Option(RootObject.n[index1Pos].des,RootObject.n[index1Pos].no);
            Option2.options.length = 1;
        }        
    }else{
        for (i=0;i<Option2.length;i++){
            Option2.options[i] = null;
        }
        Option2.options.length = 0;         
	    if(Option1.options[Option1.selectedIndex].value!=null&&Option1.options[Option1.selectedIndex].value!=""){
            //當大類選擇不拘或其他自訂項目時的複合式選單,要將中類、小類disabled
            //將選定值append到最底層提供加入之資料來源
            if(RootDeep>=3&&typeof Option3 !="undefined"&&Option3!=null){
                if(Option3.size>1){
                    Option3.options[0] = new Option(Option1.options[Option1.selectedIndex].text,Option1.options[Option1.selectedIndex].value);
	                Option3.selectedIndex = 0;
	                Option3.options.length=1;
	                eraseFlag = true;
	            }
	       }else{
	            if(Option2.size>1){
	                Option2.options[0] = new Option(Option1.options[Option1.selectedIndex].text,Option1.options[Option1.selectedIndex].value);
	                Option2.selectedIndex = 0;
	                Option2.options.length=1;
	            }
           }
        }
    }   
    if(RootDeep>=3&&eraseFlag!=true&&typeof Option3 !="undefined"&&Option3!=null){
        Option3 = document.getElementById(OptionId3);            
        for (i=0;i<Option3.length;i++){
            Option3.options[i] = null;
        }
        Option3.options.length = 0;
	}
    setFilter('2','');
}
/* 第二個Select欄位被更動後的反應動作
 * @param ItemName 類目名稱
 * @param OptionId1 大類Select Id
 * @param OptionId2 中類Select Id 
 * @param OptionId3 小類Select Id
 */ 
function onChangeOption2(ItemName,OptionId1,OptionId2,OptionId3){
    Option3 = document.getElementById(OptionId3);
	RootObject = eval(ItemName);
	var Option1Pos = getOptCustCount(OptionId1);
	var Option2Pos = getOptCustCount(OptionId2);
	Option1 = document.getElementById(OptionId1);
	Option2 = document.getElementById(OptionId2);
	var index1 = Option1.selectedIndex-Option1Pos;//第一層選項index
	var index2 = Option2.selectedIndex-Option2Pos;//第二層選項index	
	var index1Pos = getOptionIndexPos(RootObject,Option1.options[Option1.selectedIndex].value);//Json物件中的位置index
	var index2Pos=-1;
	if(index1Pos >-1 && Option2.selectedIndex >-1)
        index2Pos = getOptionIndexPos(RootObject.n[index1Pos],Option2.options[Option2.selectedIndex].value);//Json物件中的位置index
	// Create options for Option3
	var Option3Len=getOptCustCount(OptionId3);
	if(index2 >-1 && index2 < RootObject.n[index1].n.length && index1Pos >-1 && index2Pos >-1){
    	if(typeof RootObject.n[index1Pos].n[index2Pos].n != "undefined"){
            for (i=0;i<RootObject.n[index1Pos].n[index2Pos].n.length;i++){
                //過濾--僅顯示/僅不顯示
    	        if(filterShowHide(filterShowHideType,RootObject.n[index1Pos].n[index2Pos].n[i].no)==true)
        		    Option3.options[Option3Len++]=new Option(RootObject.n[index1Pos].n[index2Pos].n[i].des,RootObject.n[index1Pos].n[index2Pos].n[i].no);
            }
    	    Option3.options.length = Option3Len;
    	}else{
    	    Option3.options[0]=new Option(RootObject.n[index1Pos].n[index2Pos].des,RootObject.n[index1Pos].n[index2Pos].no);
    	    Option3.options.length = 1; 
        }
    }else{
        for (i=0;i<Option3.length;i++){
            Option3.options[i] = null;
        }
        Option3.options.length = 0;
        if(Option2.options[Option2.selectedIndex].value!=null&&Option2.options[Option2.selectedIndex].value!=""&&typeof Option3 !="undefined"&&Option3!=null){
            //當中類選擇不拘或其他自訂項目時的複合式選單,要將小類disabled
            //將選定值append到最底層提供加入之資料來源
            if(Option3.size>1){               
                Option3.options[0] = new Option(Option2.options[Option2.selectedIndex].text,Option2.options[Option2.selectedIndex].value);
                Option3.selectedIndex = 0;
                Option3.options.length=1;
            }    
        }
    }  
    setFilter('2','');
}
/* 將項目移到前面
 * @param OptionId 項目物件 id屬性值
 */
function moveItemUp(OptionId){
    OptionObj = document.getElementById(OptionId);
    ItemAry = new Array();
    currentindex = OptionObj.selectedIndex;
    if(currentindex !=-1){
        //預儲資料
        for(i=0;i<OptionObj.options.length;i++){
            ItemAry[i] = OptionObj.options[i];
        }
        OptionObj.options.length=0;
        //進行搬移
        if(currentindex==0){//選第一項
            for(i=0;i<ItemAry.length-1;i++){
                OptionObj[i] = new Option(ItemAry[i+1].text,ItemAry[i+1].value);
            }  
            OptionObj[ItemAry.length-1] = new Option(ItemAry[0].text,ItemAry[0].value);
            OptionObj.options.length=ItemAry.length;
            OptionObj.selectedIndex = ItemAry.length-1;           
        }else{//選第一項以外的其他項
            for(i=0;i<ItemAry.length;i++){
                if(i!=(currentindex-1)&&i!=currentindex){
                    OptionObj[i] = new Option(ItemAry[i].text,ItemAry[i].value);
                }else if(i==(currentindex-1)){
                    OptionObj[(currentindex-1)] = new Option(ItemAry[currentindex].text,ItemAry[currentindex].value);    
                }else if(i==(currentindex)){
                    OptionObj[currentindex] = new Option(ItemAry[(currentindex-1)].text,ItemAry[(currentindex-1)].value);       
                }
            }                
            OptionObj.options.length=ItemAry.length;
            OptionObj.selectedIndex = currentindex-1; 
        }
    }
}
/* 將項目移到後面
 * @param OptionId 項目物件 id屬性值
 */
function moveItemDown(OptionId){
    OptionObj = document.getElementById(OptionId);
    ItemAry = new Array();
    currentindex = OptionObj.selectedIndex;
    if(currentindex !=-1){
        //預儲資料
        for(i=0;i<OptionObj.options.length;i++){
            ItemAry[i] = OptionObj.options[i];
        }
        OptionObj.options.length=0;
        //進行搬移
        if(currentindex==ItemAry.length-1){//選最後項
            OptionObj[0] = new Option(ItemAry[ItemAry.length-1].text,ItemAry[ItemAry.length-1].value);
            for(i=1;i<ItemAry.length;i++){
                OptionObj[i] = new Option(ItemAry[i-1].text,ItemAry[i-1].value);
            }  
            OptionObj.options.length=ItemAry.length;
            OptionObj.selectedIndex = 0;
        }else{//選最後項以外的其他項
            for(i=0;i<ItemAry.length;i++){
                if(i!=(currentindex+1)&&i!=currentindex){
                    OptionObj[i] = new Option(ItemAry[i].text,ItemAry[i].value);
                }else if(i==(currentindex+1)){
                    OptionObj[(currentindex+1)] = new Option(ItemAry[currentindex].text,ItemAry[currentindex].value);    
                }else if(i==currentindex){
                    OptionObj[currentindex] = new Option(ItemAry[(currentindex+1)].text,ItemAry[(currentindex+1)].value);    
                }    
            }   
            OptionObj.options.length=ItemAry.length;    
            OptionObj.selectedIndex = currentindex+1; 
        }
    }
}
/* 加入物件前判斷是否重複
 * @param optionObj 來源物件之值
 * @param existObj 目的物件之options 
 * @param ErrMsg 若有重複,要alert的訊息 
 */ 
function checkRepeat(optionvalue,existObj,ErrMsg){
    var selected = false;
    var MsgDelimiters = "***";//要被替換的特殊字串  
    if(existObj!=null){
        for(j=0;j<existObj.length;j++){
            if(existObj[j].value==optionvalue){
                ErrMsg = ErrMsg.replace(MsgDelimiters,existObj[j].text);
                if (ErrMsg.length > 0)
                    alert(ErrMsg);   
                selected = true;
                break;
            }    
        }
    }    
    return selected;
}
/* 加入已選擇之項目前會判斷是否超過限制的數目、是否重複
 * @param addFromObjs 來源物件之Select Id 
 * @param addToObjs 目的物件之Select Id 
 * @param limitCount 加入物件數的限制 
 * @param oErrMsg 物件超過限制數時的error message
 * @param rErrMsg 物件重複時的error message
 */ 
function addItemLimit(addFromObjs,addToObjs,limitCount,oErrMsg,rErrMsg){
    FromObj = document.getElementById(addFromObjs);
    addFromObj = FromObj.options;
    addToObj =document.getElementById(addToObjs).options;
    var selectCount = 0;
    var processFlag = false;
    if (FromObj.disabled==true)
        FromObj.selectedIndex=0;
    for(i=0;i<addFromObj.length;i++){
        if(addFromObj[i].selected==true){ 
            if((selectCount+addToObj.length)<limitCount){
                if(checkRepeat(addFromObj[i].value,addToObj,rErrMsg)==false){
                    selectCount++;
                }else{
                    for(j=0;j<addFromObj.length;j++)
                        addFromObj[j].selected = false;
                    processFlag = true;
                }    
            }else{
                if(oErrMsg.length > 0)
                    alert(oErrMsg);
                for(j=0;j<addFromObj.length;j++)
                    addFromObj[j].selected = false;
                processFlag = true;
            }              
        }
    }
    if(processFlag)
        return false;
    for(i=0;i<addFromObj.length;i++){
        if(addFromObj[i].selected==true){
            addToObj[addToObj.length] = new Option(addFromObj[i].text,addFromObj[i].value);
            addFromObj[i].selected = false;
        }   
    }
}
/* 加入已選擇之項目
 * @param addFromObjs 來源物件之Select Id 
 * @param addToObjs 目的物件之Select Id 
 * @param ErrMsg 若有重複,要alert的訊息  
 */ 
function addItem(addFromObjs,addToObjs,ErrMsg){
    FromObj = document.getElementById(addFromObjs);
    addFromObj = FromObj.options;
    addToObj =document.getElementById(addToObjs).options;
    if (FromObj.disabled==true)
        FromObj.selectedIndex=0;
    for(i=0;i<addFromObj.length;i++){
        if(addFromObj[i].selected==true){
            if(checkRepeat(addFromObj[i].value,addToObj,ErrMsg)==false){
                addToObj[addToObj.length] = new Option(addFromObj[i].text,addFromObj[i].value);
            }
            addFromObj[i].selected = false;          
        }
    }
}
/* 刪除已選擇之項目
 * @param delObjs 欲刪除之物件的Select Id
 * @param msg  未選擇就按下刪除,則alert訊息msg
 */ 
function deleteItem_msg(delObjs,msg){
    delObj = document.getElementById(delObjs).options;
    var delCount=0;
    for(i=delObj.length-1;i>=0;i--){
        if(delObj[i].selected==true){
            delObj[i] = null;
            delCount++
        }    
    }
    //未選擇就按下刪除,則alert訊息
    if(delCount==0)
        alert(msg);
}

/* 刪除已選擇之項目
 * @param delObjs 欲刪除之物件的Select Id
 */ 
function deleteItem(delObjs){
    delObj = document.getElementById(delObjs).options;
    var delCount=0;
    for(i=delObj.length-1;i>=0;i--){
        if(delObj[i].selected==true){
            delObj[i] = null;
            delCount++
        }    
    }
    //未選擇就按下刪除,則alert訊息
    if(delCount==0)
        alert("請選擇要刪除的項目");
}
/* 當結果欄項目只有一個時關閉上下移動button,一個以上時則顯示
 * @param rsObjId 結果欄select Id
 * @param btnupId 上button的Id
 * @param btndownId 下button的Id  
 */
function ShowOrHideBtn(rsObjId,btnupId,btndownId){
    rsObj = document.getElementById(rsObjId);
    if(typeof rsObj != "undefined"){
        upImg = document.getElementById(btnupId);
        downImg = document.getElementById(btndownId);
        if (rsObj.length > 1){
            upImg.style.display = "";
            downImg.style.display = "";
        }else{
            upImg.style.display = "none";
            downImg.style.display = "none";            
        }
    }
} 
/* 當結果欄項目只有一個時隱藏指定的物件,一個以上時則顯示
 * @param rsObjId 結果欄select Id
 * @param objlist 指定的物件id,多重值以逗號相隔
 */
function ShowOrHideObjlist(rsObjId,objListId){
    rsObj = document.getElementById(rsObjId);
    if(typeof rsObj != "undefined"){
        var objlist=objListId.split(",");
    	for(var i=0;i<objlist.length;i++){
    	    ObjID = document.getElementById(objlist[i]);
            if (rsObj.length > 1){
                ObjID.style.display = "";
            }else{
                ObjID.style.display = "none";          
            }
        }    
    }
} 
/* 用於最底層子類選項之隱藏/顯示的filter
 * @param ShowType  在new Option之前要過濾型態。1:僅顯示 2:僅不顯示
 * @param ObjValue  要產生的選項值
 * @return true:要new Option false:不須new Option
 */ 
//僅顯示，用於ShowType="1"
var filterShowNum="";
//僅不顯示，用於ShowType="2"
var filterNoShowNum="";
//showtype預設值
var filterShowHideType = "2";
function filterShowHide(ShowType,ObjValue){
    var filterShowAry = filterShowNum.split(",");
    var filterNoShowAry = filterNoShowNum.split(",");
    var flag = false; 
    if(ShowType=="1"){
        //僅顯示
        var wlast3 = ObjValue.substring(ObjValue.length-3,ObjValue.length);//中類尾碼有3個0
        var wlast6 = ObjValue.substring(ObjValue.length-6,ObjValue.length);//大類尾碼有6個0
        var plast="";
        var diffCount=0;
        for(ww=0;ww<filterShowAry.length;ww++){
            if (wlast6 =="000000"){
                //大類
                if(filterShowAry[ww].trim()==ObjValue){
                    flag = true;
                    break;
                } 
            }else{            
                if(wlast3 =="000"){
                    //中類
                    plast=filterShowAry[ww].trim();
                    plast=plast.substring(0,plast.length-6);
                    if(plast==ObjValue.substring(0,ObjValue.length-6)){
                        //大類相同時,才判斷僅顯示,
                        if(filterShowAry[ww].trim()==ObjValue){
                            flag = true;
                            break;
                        } 
                    }else{
                        diffCount++;
                    }
                }else{
                    //小類
                    plast=filterShowAry[ww].trim();
                    plast=plast.substring(0,plast.length-3);
                    if(plast==ObjValue.substring(0,ObjValue.length-3)){
                        //中類相同時,才判斷僅顯示,
                        if(filterShowAry[ww].trim()==ObjValue){
                            flag = true;
                            break;
                        } 
                    }else{
                        diffCount++;
                    }
                }
            } 
        }
        if(wlast6 !="000000" && diffCount==filterShowAry.length){
            flag = true;
        }
    }else{
        //僅不顯示
        flag = true;
        for(ww=0;ww<filterNoShowAry.length;ww++){
            if(filterNoShowAry[ww].trim()==ObjValue){
                flag = false;
                break;
            }    
        } 
    } 
    return flag;
}
/* 設定僅顯示變數List
 * @param paramValue
 */ 
function setFilterShowNum(paramValue){
    filterShowNum = paramValue;
    filterShowHideType=1;
} 
/* 取得全域變數--僅顯示變數filterShowNum
 * @return filterShowParentAllNum
 */ 
function getFilterShowNum(){
    return filterShowNum;
} 
/* 設定顯示/不顯示
 * @param ShowType 顯示的類型。1：僅顯示。2：僅不顯示。
 * @param paramValue 類目代碼。多重值以逗號相隔。
 */ 
function setFilter(ShowType,paramValue){
    if(ShowType=="1"){
        setFilterShowHideType("1");
        filterShowNum = paramValue;
    }else if(ShowType=="2"){
        setFilterShowHideType("2");
        filterNoShowNum = paramValue;
    }
} 
/* 設定僅不顯示變數List
 * @param paramValue
 */ 
function setFilterNoShowNum(paramValue){
    filterNoShowNum = paramValue;
    filterShowHideType=2;
} 
/* 取得全域變數--僅不顯示變數filterNoShowNum
 * @return filterShowParentAllNum
 */ 
function getFilterNoShowNum(){
    return filterNoShowNum;
} 
/* 設定顯示類型
 * @param paramValue
 */ 
function setFilterShowHideType(paramValue){
    filterShowHideType=paramValue;
}
/* 是否包含類目選項之父節點全部
 * @param ObjValue 要包含父類全部之選項代碼
 * @return true:要new父類Option false:不要new父類Option
 */ 
var filterShowParentAllNum=""; 
function isContainsParentAll(ObjValue){
    var filterShowAry = filterShowParentAllNum.split(",");
    for(ww=0;ww<filterShowAry.length;ww++){
        if(filterShowAry[ww].trim()==ObjValue)
            return true;
    }
    return false;    
}
/* 設定父節點全部
 * @param paramValue
 */ 
function setFilterShowParentAllNum(paramValue){
    filterShowParentAllNum = paramValue;
} 
/* 取得父節點全部
 * @return filterShowParentAllNum
 */ 
function getFilterShowParentAllNum(){
    return filterShowParentAllNum;
} 
/* 除去空白
 */
String.prototype.trim=fun01_trim;
function fun01_trim() {
return this.replace(/^\s+|\s+$/g, "");
}
/* 以遞迴方式，取得該類階層大小
 * @param TheRoot 根節點
 * @param deep 起始階層  
 * @return  階層大小
 */ 
function checkRootDeep(TheRoot,deep){
    if(typeof TheRoot[0].n != "undefined"){    
        deep++;
        return checkRootDeep(TheRoot[0].n,deep);
    }else{
        return deep;
    }
}
/* 開啟選單，開啟時，須對各項目作初始化
 * @param tagId 選單的 DIV ID
 * @param OptionId1 大類的select Id 
 * @param OptionId2 中類的select Id
 * @param OptionId3 小類的select Id 
 */ 
function OpenMenu(tagId,OptionId1,OptionId2,OptionId3){
    DIV = document.getElementById(tagId);
    if(DIV.style.display =="none"){
        //預設第一個選項
        document.getElementById(OptionId1).options.selectedIndex = 0;
        //將大類以外的其他項目清空
        if(OptionId2 !=""){
            if (typeof document.getElementById(OptionId2) != "undefined")
                document.getElementById(OptionId2).options.length=0;
        }  
        if(OptionId3 !=""){     
            if (typeof document.getElementById(OptionId3) != "undefined")
                document.getElementById(OptionId3).options.length=0;
        }   
        DIV.style.display = "";
    }else{
        DIV.style.display = "none";
    }        
}
/* 關閉選單
 * @param tagId 選單的 DIV ID 
 * @param ResultOption 選擇結果欄的select Id
 */ 
function CloseMenu(tagId,ResultOption){
    DIV = document.getElementById(tagId);
    if(DIV.style.display ==""){
        //按取消,收起選單並清除結果欄
        DIV.style.display = "none";
        if(ResultOption !=""){
            if (typeof document.getElementById(ResultOption) != "undefined")
                document.getElementById(ResultOption).options.length=0;
        } 
    }        
}
/* 關閉後，儲存選單的選擇結果到text欄、hidden欄(用於複選選單)。
 * @param tagId 選單的 DIV ID
 * @param saveObjs 欲存入之物件select Id
 * @param saveTextIdList 帶回的text欄Id(list以逗點區隔)
 * @param savehiddenIdList 帶回的hidden欄Id(list以逗點區隔)
 * @param maxlen 最多存幾項
 * @param ErrMsg 當選擇項目超過最多限制時,將alert出的訊息  
 */ 
function CloseSaveMenu_m(tagId,saveObjs,saveTextIdList,savehiddenIdList,maxlen,ErrMsg){
    DIV = document.getElementById(tagId);    
    if(DIV.style.display ==""){   
        if(saveObjs!=""){
            RefreshItemList(saveObjs);
            //text欄、hidden欄數目需一致  
            var TextIdAry = saveTextIdList.split(",");
            var HiddenIdAry = savehiddenIdList.split(",");
            if(TextIdAry.length != HiddenIdAry.length || TextIdAry.length !=maxlen){
                alert("給定的text欄、hidden欄數目不正確，list長度應為" + maxlen);
                return false; 
            }    
            saveObj = document.getElementById(saveObjs).options;
            if (saveObj.length > maxlen){
                //當選擇項目超過最多限制時
                if(ErrMsg.length > 0)
                    alert(ErrMsg);
            }else{      
                for(i=0;i<maxlen;i++){
                    if(i<saveObj.length){
                        document.getElementById(TextIdAry[i]).value=saveObj[i].text;
                        document.getElementById(HiddenIdAry[i]).value=saveObj[i].value;
                    }else{
                          document.getElementById(TextIdAry[i]).value="";
                          document.getElementById(HiddenIdAry[i]).value="";
                    }    
                }
                DIV.style.display = "none";
           }   
        }
    }       
}
/* 關閉後，儲存選單的選擇結果到select欄(用於複選選單)。
 * @param tagId 選單的 DIV ID
 * @param saveObjs 欲存入之物件select Id
 * @param maxlen 最多存幾項
 */ 
function CloseSaveMenu_o(tagId,saveObjs,saveTextIdList,maxlen,ErrMsg){
    DIV = document.getElementById(tagId);    
    if(DIV.style.display ==""){   
        if(saveObjs!=""){
            RefreshItemList(saveObjs);
            saveObj = document.getElementById(saveObjs).options;
            if (saveObj.length > maxlen){
                //當選擇項目超過最多限制時
                if(ErrMsg.length > 0)
                    alert(ErrMsg);
            }else{
                var hiddenlist = "";
			    var TextIdAry = saveTextIdList.split(",");	
			    document.getElementById(TextIdAry[0]).options.length = 0;
                for(i=0;i<maxlen;i++){
                    if(i<saveObj.length){
                        document.getElementById(TextIdAry[0]).options[i] = new Option(saveObj[i].text,saveObj[i].value);
					    hiddenlist = hiddenlist + saveObj[i].value + ","
                    } 
                }
                if(TextIdAry.length == 2){
                    document.getElementById(TextIdAry[1]).value = hiddenlist;
			    }	
                DIV.style.display = "none";
           }   
        }
    }       
}

/* 關閉後，儲存選單的選擇結果到text欄、hidden欄(用於單選)
 * @param DivId 選單的 Div Id
 * @param fromObjName 來源項目之Select Id
 * @param saveTextId 帶回的text欄Id 
 * @param savehiddenId 帶回的hidden欄Id  
 */
function CloseSaveMenu_s(DivId,fromObjName,saveTextId,savehiddenId){
    DIV = document.getElementById(DivId);  
    if(DIV.style.display ==""){
        fromObj = document.getElementById(fromObjName);
        toObj1 = document.getElementById(saveTextId);
        toObj2 = document.getElementById(savehiddenId);
        if(typeof toObj1 != "undefined"){
            if(fromObj.options.length==1){
                toObj1.value = fromObj.options[0].text;
            }else{
                if(fromObj.selectedIndex > -1)
                toObj1.value = fromObj.options[fromObj.selectedIndex].text;
            }    
        }    
        if(typeof toObj2 != "undefined"){
            if(fromObj.options.length==1){
                toObj2.value = fromObj.options[0].value;
            }else{
                if(fromObj.selectedIndex > -1)
                toObj2.value = fromObj.options[fromObj.selectedIndex].value;
            }    
        }
        DIV.style.display = "none";   
    } 
}
/* 開啟/關閉特定DIV
 * @param DivId 選單的 Div Id
 */ 
function SwitchDiv(DivId){
    DIV = document.getElementById(DivId);  
    if(DIV.style.display =="none"){
        DIV.style.display = "";
    }else{
        DIV.style.display = "none";
    }      
}
function _fun_optionaction(){return true;}

