/* XMLHttpRequest Object Pool */ 
var XMLHttp = {
	_objPool: [],

	_getInstance: function ()
	{
		for (var i = 0; i < this._objPool.length; i ++)
		{
			if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4)
			{
				return this._objPool[i];
			}
		}

		// IE5中不支援push方法
		this._objPool[this._objPool.length] = this._createObj();

		return this._objPool[this._objPool.length - 1];
	},

	_createObj: function ()
	{
		if (window.XMLHttpRequest)
		{
			var objXMLHttp = new XMLHttpRequest();

		}
		else
		{
			var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
			for(var n = 0; n < MSXML.length; n ++)
			{
				try
				{
					var objXMLHttp = new ActiveXObject(MSXML[n]);
					break;
				}
				catch(e)
				{
				}
			}
		 }		  

		// mozilla某些版本沒有readyState屬性
		if (objXMLHttp.readyState == null)
		{
			objXMLHttp.readyState = 0;

			objXMLHttp.addEventListener("load", function ()
				{
					objXMLHttp.readyState = 4;

					if (typeof objXMLHttp.onreadystatechange == "function")
					{
						objXMLHttp.onreadystatechange();
					}
				},  false);
		}

		return objXMLHttp;
	},

	// 發送請求(方法[post,get], 網址, 數值, 回傳函數)
	sendReq: function (method, url, data, callback)
	{
		var objXMLHttp = this._getInstance();

		with(objXMLHttp)
		{
			try
			{
				// 增加亂數防止緩存
				if (url.indexOf("?") > 0)
				{
					url += "&randnum=" + Math.random();
				}
				else
				{
					url += "?randnum=" + Math.random();
				}

				open(method, url, true);

				// 設定請求編碼方式
				setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=Big5");
				send(data);
				onreadystatechange = function ()
				{
					if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304))
					{
						callback(objXMLHttp);
					}
				}
			}
			catch(e)
			{
				alert(e);
			}
		}
	}
}; 

function replyAJAX(oXMLHttp) {
  var oXMLDom = oXMLHttp.responseXML;
  //alert(oXMLDom.xml);
  if (oXMLDom.xml != '') {
	  var oRoot = oXMLDom.getElementsByTagName('ROOT')[0];
	  var sDivId = oRoot.getElementsByTagName('sDivId')[0].firstChild.nodeValue;
	  var sHTML = oRoot.getElementsByTagName('sHTML')[0].firstChild.nodeValue;
	  var oDiv = document.getElementById(sDivId);
	  if (oDiv != 'undefined') {
		  oDiv.innerHTML = sHTML;
		  //CheckSymbol(oDiv.innerHTML,'div');
	      //alert(CheckSymbol(oDiv.innerHTML,'run'));
	  }
   }
}

function refreshAJAX(pDivId, pURL) {
  var oContain = document.getElementById(pDivId);
  if (oContain != 'undefine') {
    //oContain.innerHTML = "<ul><li class='noitem'>Loading...</li></ul>";
  }
  //alert(pURL);
  XMLHttp.sendReq('POST', pURL,"",replyAJAX);
}

//頁籤使用的
//pPageId 頁籤的div的id
//pItem 顯示的頁籤(1,2,...)
//pCN 將pItem紀錄到Cookie第變數名稱
function refreshAJAX2(pDivId, pURL, pPageId, pItem, pCN) {
  //getTab(pPageId,pItem);
  setCookie(pCN,pItem,'','','');
  refreshAJAX(pDivId, pURL);

}

function refreshAJAX3(pDivId, pURL) {
  var oContain = document.getElementById(pDivId);
  if (oContain != 'undefine') {
    //oContain.innerHTML = "<ul><li class='noitem'>Loading...</li></ul>";
  }
  XMLHttp.sendReq('POST', pURL,"",replyAJAX3);
}

function replyAJAX3(oXMLHttp) {
  var oXMLDom = oXMLHttp.responseXML;
  var oRoot = oXMLDom.getElementsByTagName('ROOT')[0];
  var sDivId = oRoot.getElementsByTagName('sDivId')[0].firstChild.nodeValue;
  var sHTML = oRoot.getElementsByTagName('sHTML')[0].firstChild.nodeValue;
  var oDiv = document.getElementById(sDivId);
  if (oDiv != 'undefined') {
    oDiv.innerHTML = sHTML;
  }
  var sJS = oRoot.getElementsByTagName('sJS')[0].firstChild.nodeValue;
  eval(sJS);
}

function defaultAJAX(pDivId, sURL,instr1,instr2) {
  var oContain = document.getElementById(pDivId);
  var pURL="";
  if (oContain != 'undefine') {
    //oContain.innerHTML = "<ul><li class='noitem'>Loading...</li></ul>";
    }
  var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 0:
	  pURL= lochttp + "/tw/ajax/default_menu.asp?DivId="+ pDivId ;//固定右中新聞頁
	  break    
	case 1:
	  pURL= lochttp + "/tw/ajax/default_News.asp?DivId="+ pDivId ;//固定右中新聞頁
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/default_Mid_Promotion.asp?DivId="+ pDivId;//固定中間Promotion
	  break
	case 3:
	  pURL= lochttp + "/tw/ajax/default_Right.asp?DivId="+ pDivId +"&Voljet="+instr1+"&Newsjet=" + instr2 ;//固定右下方
	   // alert(pURL);
	  break
	case 4:
	  pURL= lochttp + "/tw/ajax/mini_Rthotnews.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	  default:
	}
	//alert(sURL);
	if (pURL!=""){
     XMLHttp.sendReq('POST',pURL,"",replyAJAX);
	}
}

function defchnAJAX(pDivId, sURL,instr1,instr2) { //頻道首頁用
  var oContain = document.getElementById(pDivId);
  var pURL="";
  if (oContain != 'undefine') {
    //oContain.innerHTML = "<ul><li class='noitem'>Loading...</li></ul>";
    }
  var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 0:
	  pURL= lochttp + "/tw/ajax/ItPhone.asp?DivId="+ pDivId+"&item="+instr1+"&sitedate=" + instr2 ; 
	  break    
	case 1:
	  pURL= lochttp + "/tw/ajax/Itfriday.asp?DivId="+ pDivId+"&item="+instr1;//星期五秀Cover Story用
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/ItMainRTop.asp?DivId="+ pDivId+"&item="+instr1 +"&sNews=" + instr2;//頻道主頁右上
	 //alert(pURL);
	  break
	case 3:
	  pURL= lochttp + "/tw/ajax/ItMainRight.asp?DivId="+ pDivId+"&item="+instr1+"&keepNews=" + instr2 ;//頻道主頁右之最新分類
	   // alert(pURL);
	  break
	case 4:
	  pURL= lochttp + "/tw/ajax/mini_Rthotnews.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 5://股市
	  pURL= lochttp + "/tw/ajax/ItMarkets.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  //alert(pURL);
	  break
	case 6://情報
	  pURL= lochttp + "/tw/ajax/Itqing_bao.asp?DivId="+ pDivId+"&item="+instr1+"&title=" + instr2 ;
	 // alert(pURL);
	  break
	case 7://產業及市場專輯
	  pURL= lochttp + "/tw/ajax/Itpfo_bao.asp?DivId="+ pDivId+"&item="+instr1+"&title=" + instr2 ;
	 // alert(pURL);
	  break
	case 8://IC
	  pURL= lochttp + "/tw/ajax/IcSound.asp?DivId="+ pDivId+"&item="+instr1+"&title=" + instr2 ;
	 // alert(pURL);
	  break

	 default:
	}
	//alert(sURL);
	if (pURL!=""){
     XMLHttp.sendReq('POST',pURL,"",replyAJAX);
	}
}



function refreshAJAX4(pDivId, sURL,instr1,instr2) {
  var oContain = document.getElementById(pDivId);
  var pURL="";
  if (oContain != 'undefine') {
    //oContain.innerHTML = "<ul><li class='noitem'>Loading...</li></ul>";
    }
  var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 1:
	  pURL= lochttp + "/tw/ajax/mini_Rtpublic.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/mini_Rtpubimg.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 3:
	  pURL= lochttp + "/tw/ajax/mini_RtHelpmenu.asp?DivId="+ pDivId +"&title=" + instr2 ;
	  break
	case 4:
	  pURL= lochttp + "/tw/ajax/mini_Rthotnews.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 5:
	  pURL= lochttp + "/tw/ajax/mini_stock_ajax.asp?DivId="+ pDivId+"&item="+instr1+"&title=" + instr2 ;
	 // alert(pURL);
	  break
	case 6:
	  pURL= lochttp + "/tw/ajax/mini_hnews_ajax.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 7:
	  pURL= lochttp + "/tw/ajax/XSLROT.ASP?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 8:
	  pURL= lochttp + "/tw/ajax/Emidd_newupdate?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 9:
	  pURL= lochttp + "/tw/ajax/SideLike_news_ajax.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 10:
	  pURL= lochttp + "/tw/ajax/SideLike_rpt_ajax.asp?DivId="+ pDivId+"&Keystr="+instr1+"&title=" + instr2 ;
	  break
	case 11:
	  pURL= lochttp + "/tw/ajax/RTF970701001.asp?DivId="+ pDivId+"&Keytype="+instr1+"&KeySelect=" + instr2 ;
	  break
	case 12:
	 pURL= lochttp + "/tw/ajax/ReportModule.asp?Mode=hot&Msg1="+ instr1 +"&Msg2="+ instr2 ;
	//  alert(pURL);
	  break
	case 13:
	 pURL= lochttp + "/tw/ajax/ReportModule.asp?Mode=hot&Msg1="+ instr1 +"&Msg2="+ instr2 ;
	//  alert(pURL);
	  break
	case 14:
	  pURL= lochttp + "/tw/ajax/ItPhone.asp?DivId="+ pDivId+"&item="+instr1+"&sitedate=" + instr2 ;
	   // alert(pURL);
	  break
	case 15:
	  pURL= lochttp + "/tw/ajax/headcopy.asp?DivId="+ pDivId+"&item="+instr1+"&width=" + instr2 ;
	   // alert(pURL);
	  break	
	case 16:
	  pURL= lochttp + "/tw/ajax/ItMainRight.asp?DivId="+ pDivId+"&item="+instr1+"&keepNews=" + instr2 ;//IT主頁右下之最新分類
	   // alert(pURL);
	  break	
	case 17:
	  pURL= lochttp + "/tw/ajax/Itfriday.asp?DivId="+ pDivId+"&item="+instr1;//星期五秀Cover Story用
	  // alert(pURL);//
	  break	
	case 18:
	  pURL= lochttp + "/tw/ajax/ItMaintop.asp?DivId="+ pDivId+"&item="+instr1+"&Rejitem=" + instr2;//IT主頁右中之
	  // alert(pURL);//
	  break	
	case 19:
	  pURL= lochttp + "/tw/ajax/ItMainR_Hot.asp?DivId="+ pDivId+"&item="+instr1+"&Rejitem=" + instr2;//IT主頁熱門新聞
	  // alert(pURL);//
	  break	
	case 20:
	  pURL= lochttp + "/tw/ajax/ItMainRTop.asp?DivId="+ pDivId+"&item="+instr1//IT主頁右上
	   //alert(pURL);//
	  break		  
	  default:
	}
	//alert(sURL);
	if (pURL!=""){
     XMLHttp.sendReq('POST',pURL,"",replyAJAX);
	}
}



function refreshAJAX5(pDivId, sURL,pItem,pType, iCook) {
  var oContain = document.getElementById(pDivId);
  var pURL="";
  if (oContain != 'undefine') {
    }
  var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 1:
      pURL= lochttp + "/tw/ajax/page_popular.asp?DivId="+ pDivId+"&item="+ pItem;
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/cont_popular.asp?DivId="+ pDivId+"&item="+ pItem+"&Type=" + pType + "&LockDiv="+pDivId;
	  break
	  default:
	}
	//alert(sURL);
	i = getCookie(iCook);
	if (i != ""){
	  if (pItem != i){
	  if (pItem==0){ pItem == i; }
	  setCookie(iCook,pItem,'','','');
		if (pURL!=""){
		 XMLHttp.sendReq('POST',pURL,"",replyAJAX);
		}
	  }
	}else{
		alert(pItem);
	   if (pItem==0){ pItem == 1; }
 	  setCookie(iCook,pItem,'','','');
		if (pURL!=""){
		 XMLHttp.sendReq('POST',pURL,"",replyAJAX);
		}
   }
}

function runajax(pDivId, sURL, pItem , pType , pCN) {
	var pURL = "";
	var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 1:
	  pURL= lochttp + "/tw/ajax/page_popular.asp?item="+ pItem+"&LockDiv="+pDivId  ;
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/cont_popular.asp?item="+ pItem+"&Type=" + pType + "&LockDiv="+pDivId;
	  break
	case 3:
	  pURL= lochttp + "/tw/ajax/member_popular.asp?item="+ pItem+"&Type=" + pType + "&LockDiv="+pDivId;
	  break
	case 4:
	  pURL= lochttp + "/tw/ajax/member_keyword.asp?item="+ pItem+"&Type=" + pType + "&LockDiv="+pDivId;
	  break
	  default:
	}
	 //alert(pURL);
 	  setCookie(pCN,pItem,'','','');
	  refreshAJAX(pDivId, pURL);
}
function refAJ3(pDivId, sURL, pItem , pType , pCN) {
	var pURL = "";
	var lochttp = "http://" + String(self.location).split("/")[2];
	switch(sURL)
	{
	case 1:
	  pURL= lochttp + "/tw/ajax/page_popular.asp?item="+ pItem+"&LockDiv="+pDivId  ;
	  break    
	case 2:
	  pURL= lochttp + "/tw/ajax/cont_popular.asp?item="+ pItem+"&Type=" + pType + "&LockDiv="+pDivId;
	  break
	  default:
	}
	//alert(pURL);
  //getTab(pPageId,pItem);
	i = getCookie(pCN);
	if (i != ""){
	  if (pItem != i){
	  if (pItem==0){ pItem == i; }
	  setCookie(pCN,pItem,'','','');
	  refreshAJAX(pDivId, pURL);
	  }
	}else{
		alert(pItem);
	   if (pItem==0){ pItem == 1; }
 	  setCookie(pCN,pItem,'','','');
	  refreshAJAX(pDivId, pURL);
   }

}

/* 下拉頁籤功能 */
var cssdropdown={
disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout
disablemenuclick: true, //when user clicks on a menu item with a drop down menu, disable menu item's link?
enableswipe: 1, //enable swipe effect? 1 for yes, 0 for no
//No need to edit beyond here////////////////////////
dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0,

getposOffset:function(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;
		totaloffset=(offsettype=="left")? totaloffset: totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
return totaloffset;
},

swipeeffect:function(){
if (this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){
this.bottomclip+=10+(this.bottomclip/10) //unclip drop down menu visibility gradually
this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"
}
else
return
this.swipetimer=setTimeout("cssdropdown.swipeeffect()", 10)
},

showhide:function(obj, e){
if (this.ie || this.firefox)
this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){
if (this.enableswipe==1){
if (typeof this.swipetimer!="undefined")
clearTimeout(this.swipetimer)
obj.clip="rect(0 auto 1 1)" //hide menu via clipping
this.bottomclip=0
this.swipeeffect()
}
obj.visibility="visible"
}
else if (e.type=="click")
obj.visibility="hidden"
},

iecompattest:function(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
},

clearbrowseredge:function(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=this.ie && !window.opera? this.iecompattest().scrollLeft+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth
if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)  //move menu to the left?
edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset
var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight
if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){ //move up?
edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight
if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure) //up no good either?
edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
},

dropit:function(obj, e, dropmenuID){
if (this.dropmenuobj!=null) //hide previous menu
this.dropmenuobj.style.visibility="hidden" //hide menu
this.clearhidemenu()
	if (this.ie||this.firefox){
	obj.onmouseout=function(){cssdropdown.delayhidemenu()}
	//obj.onclick=function(){return !cssdropdown.disablemenuclick} //disable main menu item link onclick?
	this.dropmenuobj=document.getElementById(dropmenuID)
	this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}
	this.dropmenuobj.onmouseout=function(){cssdropdown.dynamichide(e)}
	this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}
	this.showhide(this.dropmenuobj.style, e)
    this.dropmenuobj.x=this.getposOffset(obj, "left");
	this.dropmenuobj.y=this.getposOffset(obj, "top")
	this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
	this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"

	}
},

contains_firefox:function(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
},

dynamichide:function(e){
var evtobj=window.event? window.event : e
if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))
this.delayhidemenu()
else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.contains_firefox(evtobj.currentTarget, evtobj.relatedTarget))
this.delayhidemenu()
},

delayhidemenu:function(){
    this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden'",this.disappeardelay) //hide menu
},

clearhidemenu:function(){
    if (this.delayhide!="undefined")
    clearTimeout(this.delayhide)
},

startchrome:function(){
    for (var ids=0; ids<arguments.length; ids++){
         var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
        for (var i=0; i<menuitems.length; i++){
             if (menuitems[i].getAttribute("rel")){
                 var relvalue=menuitems[i].getAttribute("rel")
                 menuitems[i].onmouseover=function(e){
                     var event=typeof e!="undefined"? e : window.event
                     cssdropdown.dropit(this,event,this.getAttribute("rel"))
                 }
             }
        }
    }
}
}


function LoadJsCssFile(filename, filetype){ //動態載入文件
if (filetype=="js"){ //如果是.js文件 
var fileref=document.createElement('script'); 
fileref.setAttribute("type","text/javascript"); 
fileref.setAttribute("src",filename); 
} 
else if (filetype=="css"){ //如果是.css文件 
var fileref=document.createElement("link"); 
fileref.setAttribute("rel", "stylesheet"); 
fileref.setAttribute("type", "text/css"); 
fileref.setAttribute("href",filename); 
} 
if (typeof fileref != "undefined") 
document.getElementsByTagName("head")[0].appendChild(fileref) 
} 

//LoadJsCssFile("myscript.js", "js"); //動態載入.js 文件 
//LoadJsCssFile("javascript.php", "js"); //將".php" 文件作為.js 文件動態載入 
//LoadJsCssFile("main.css", "css"); //動態載入.css 文件 

var filesadded = "" //已經加載的文件列表 
  
function CheckLoadJsCssFile(filename, filetype){ 
if (filesadded.indexOf("["+filename+"]")==-1){ 
LoadJsCssFile(filename, filetype); 
filesadded += "["+filename+"]"; //從表單中加載的文件列表 
} 
else 
alert('你已設定好了'); 
} 
  
//CheckLoadJsCssFile("myscript.js", "js") //加載成功 
//CheckLoadJsCssFile("myscript.js", "js") //文件存在，不再加載 


    var http_request = false;
	var divx;
    function makeRequest(url,xdiv) {
        divx = xdiv
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() {
           if (http_request.readyState == 4) {
               if (http_request.status == 200) {
                   document.getElementById(xdiv).innerHTML = http_request.responseText;
               } else {
				   document.getElementById(xdiv).innerHTML = '資料載入逾時,請點擊頁簽重新讀取';
               }
        }
		
	};
	  
        http_request.open('GET', url, true);
        http_request.send(null);
    }


function StringToUniCode(source) {
  sret = "";
  // Unicode 跳脫序列之格式為 \u00ff
  for(var i=0; i < source.length; i++) {
     var num = new Number( source.charCodeAt(i));
     sret += "\\u" + num.toString(16);
  }
  return sret;
}
function UniCodeToString(source) {
  var codeAry = source.split("\\u");
  var sret = "";

  for(var i=0; i < codeAry.length; i++) {
    if(codeAry[i]=="")
      continue;
    sret += String.fromCharCode("0x" + codeAry[i]);
  }
  return sret;
}

  // 頁簽專用
  function selectedItem(obj,obj2){
    var obja = document.getElementById(obj)
    var objb = document.getElementById(obj2)
	//被選取
	obja.style.backgroundColor='#FFFFFF';
	obja.style.borderBottom ='0px';
    obja.style.color = "#F4F4F4";
         
	objb.style.backgroundColor='#F4F4F4';
	objb.style.borderBottom ='1px solid #D4D4D4';
	objb.style.color = "#000000";
  }

  // 頁簽專用2
  // 被選取的物件名稱   頁簽數量   被選取的頁簽索引位置   所有頁簽命名規則
  function selectedItem2(obj,objCount,selected,rule){
    var obja = document.getElementById(obj)

	//被選取
	obja.style.backgroundColor = '#FFFFFF';
	obja.style.borderBottom = '0px';
    obja.style.color = "#CC6600";
    
	for (i=0;i<=objCount ;i++){
		if (selected != i){
            var objb = document.getElementById(rule + i)
			objb.style.backgroundColor='#F4F4F4';
			objb.style.borderBottom ='1px solid #D4D4D4';
			objb.style.color = "#000000";
		}
	}
  }
