/* =================== */
/* Author      : Neil Yuming Kuo @ Jaby Group [http://jaby.heyxu.com] */
/* Website     : http://match.heyxu.com/user/neil or http://neil.heyxu.com */
/* Email       : neilbaby.k at gmail.com */
/* =================== */

var BrowserID = '';var NS4 = (document.layers);var IE4 = (document.all);var nn4 = false;var ie4 = false;var ie5 = false;var ie6 = false;var moz = false;var dom1 = false;var dom2 = false;var old = false;browser_detect();var gBrowser = new Object();switch(BrowserVer){case 'ie5':case 'ie6':case 'ie7':case 'ie8':case 'ie9':gBrowser.opacity = function(io,num){io.style.filter ='alpha(Opacity='+num+')';};gBrowser.imgHeight = function(io){return io.style.pixelHeight;};gBrowser.imgWidth = function(io){return io.style.pixelWidth;};break;case 'Safari1':case 'Safari2':case 'Safari3':case 'Safari4':case 'Safari5':case 'ff2':case 'ff3':case 'ff4':case 'ff5':case 'ff6':case 'Mozilla1':gBrowser.opacity = function(io,num){io.style.MozOpacity ='0.'+num;};gBrowser.imgHeight = function(io){return io.style.height.replace('px','');};gBrowser.imgWidth = function(io){return io.style.width.replace('px','');};break;default:case 'chrome0':case 'chrome1':case 'chrome2':case 'chrome3':case 'chrome4':case 'chrome5':case 'Android1':case 'Android2':case 'Android3':case 'Android4':gBrowser.opacity = function(io,num){io.style.opacity ='0.'+num;};gBrowser.imgHeight = function(io){return io.style.height.replace('px','');};gBrowser.imgWidth = function(io){return io.style.width.replace('px','');};break;}
function addFavorite(siteurl, title){    if (document.all){window.external.addFavorite(siteurl, title);}    else if (window.sidebar){window.sidebar.addPanel(title, siteurl, "");}}
function setHomepage(siteurl){if (document.all){document.body.style.behavior='url(#default#homepage)';document.body.setHomePage(siteurl);}}
function browser_detect(){    if ( window.document.implementation != null){         dom1 = window.document.implementation.hasFeature("HTML","1.0");         dom2 = window.document.implementation.hasFeature("HTML","2.0") &&
         window.document.implementation.hasFeature("Events","2.0") &&
         window.document.implementation.hasFeature("Core","2.0") &&
         window.document.implementation.hasFeature("CSS2","2.0");    }    moz = (window.navigator != null )?( window.navigator.userAgent.indexOf("ecko") != -1 ):false;    nn4 = (window.document.layers != null && !moz);    ie6 = (window.document.all && dom1);    ie5 = (window.document.all && window.document.getElementsByTagName && !ie6);    ie4 = (window.document.all && !ie6 && !ie5);    old = (!ie4 && !ie5 && !ie6 && !dom1 && !nn4 && !moz);if ( moz || dom2)BrowserID='moz';if ( ie4 || ie5 || ie6 )BrowserID='ie';if ( nn4 )BrowserID='nn';if ( old )BrowserID='old';}
function getOffset(event){var event = event||window.event;if(event.offsetX != undefined){var offset ={x: event.offsetX,y: event.offsetY
};}else{var target = event.target;if (target.offsetX == undefined){target = target.parentNode;}var pageCoord = getPageCoord(target);var eventCoord ={x: window.pageXOffset + event.clientX,y: window.pageYOffset + event.clientY
};var offset ={x: eventCoord.x - pageCoord.x,y: eventCoord.y - pageCoord.y
};}return offset;}
function getPageCoord(element){var coord = {x: 0, y: 0};while (element){coord.x += element.offsetLeft;coord.y += element.offsetTop;element = element.offsetParent;}return coord;}
function randomColor(a){var r1 = str_pad((((Math.floor(Math.random()*1000))%a)+(a-1)).toString(16),2,'0','left');var r2 = str_pad((((Math.floor(Math.random()*1000))%a)+(a-1)).toString(16),2,'0','left');var r3 = str_pad((((Math.floor(Math.random()*1000))%a)+(a-1)).toString(16),2,'0','left');return '#'+r1+r2+r3;}
function fileNames(a){if(!a)return false;var r = ['','',''];r[0]=a.substr(0,a.lastIndexOf('/')+1);r[1]=a.substr(a.lastIndexOf('/')+1);r[2]=r[1].substr(r[1].lastIndexOf('.')+1);return r;}
function array_search(ia,val){for(var l=0;l<ia.length;l++){if(val==ia[l]){return l;}}return -1;}
function arraySearch(a,v){for(var i=0;i<a.length;i++)if(v==a[i]){return i;}return -1;}
function jaby_execInnerScript(innerhtml){alert('jaby_execInnerScript');var temp=innerhtml.replace(/\n|\r/g,"");var regex=/<script.+?<\/script>/gi;var arr=temp.match(regex);alert(arr);if(arr){for(var l=0;l<arr.length;l++){var temp1=arr[l];alert(temp1);var reg=new RegExp("^<script(.+?)>(.+)<\/script>$","gi");reg.test(temp1);eval(RegExp.$2);}}}
function d2h(d){return d.toString(16);}
function h2d(h){return parseInt(h,16);}
function d2b(d){return d.toString(2);}
function jaby_emailverify(mail){var re = /^[0-9a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;return re.test(mail);}
function roundp(v, dp){var v = v+'';var dotpos;var ary = new Array();if(v.indexOf('.') == -1 )  v += '.';dotpos = v.indexOf(".");for (var i = 0 ; i < v.length ; i++)  ary[i] = v.charAt(i);var temp = dotpos + dp - v.length + 1;for (var i = 0 ; i <= temp ; i++)  ary[ary.length] = '0';var carry_flag = false;if(ary[dotpos + dp + 1] >= 5 )  carry_flag = true;for (var i = dotpos + dp ; i >= 0 && carry_flag ; i--){if(ary[i] == '.')continue;if(ary[i] != '9'){ary[i]++;carry_flag = false;}else{ary[i] = '0';carry_flag = true;}}v = (carry_flag)? '1' : '';ary.length = dotpos + dp + 1;if(dp == 0)  ary.length--;for (var i = 0 ; i < ary.length ; i++)v=v+ary[i];return v;}
function jaby_br2nl(str){return str.replace(/<br>/g,"\n");}
function jaby_Dialog(tlk,data,param){return window.showModalDialog(tlk,data,param+'dialogWidth=100px;dialogHeight=100px;');}
function jaby_StripHtmlTags(oldString){var newString = "";var inTag = false;for(var i = 0; i < oldString.length; i++){if(oldString.charAt(i) == '<') inTag = true;if(oldString.charAt(i) == '>'){if(oldString.charAt(i+1)=="<"){}else{inTag = false;i++;}}if(!inTag) newString += oldString.charAt(i);}return newString;}
function FineInPage(win,str){alert('FineInPage');return 0;var n = 0;var NS4 = (document.layers);var IE4 = (document.all);var txt, i, found;if(str == "")return false;if(NS4){if(!win.find(str))while(win.find(str, false, true))n++;else n++;if(n == 0) alert("本頁無任何【 " + str + " 】字句！");}if(IE4){txt = win.document.body.createTextRange();for (i = 0; i <= n && (found = txt.findText(str)) != false; i++){txt.moveStart("character", 1);txt.moveEnd("textedit");}if(found){txt.moveStart("character", -1);txt.findText(str);txt.select();txt.scrollIntoView();n++;}else{if(n > 0){n = 0;findInPage(str);}else alert("本頁無任何【 " + str + " 】字句！");}}return false;}
function simulateMouseEvent(obj,iEvtParm){var a=document.createEvent("MouseEvents");a.initEvent(iEvtParm, true, true);obj.focus();obj.dispatchEvent(a);}
function simulateKeyboardEvent(obj,iEvtParm,ikey){var keyCode,charCode;switch(ikey){case 'space':charCode = 0x20;case 'enter':keyCode = 0x0D;}var a=document.createEvent("KeyboardEvent");a.initKeyEvent(iEvtParm,false,false,null,false,false,false,false,keyCode,charCode);obj.focus();obj.dispatchEvent(a);}
function changeCursor(BodyID,AniFile){document.all(BodyID).style.cursor = AniFile;}
function mixed_length(iStr){return iStr.replace(/[^\x00-\xff]/gi,'xx').length;}
function jaby_Rand(iLength){var rands = String(Math.random()*100000000000000000).substr(0,iLength);return rands;}
function jaby_rand(iLength){var rands = Math.random()*100000000000000000;return rands;}
function jaby_ElementRemove(io,ione){io.remove(ione);}
function jaby_ElementClear(io){for(var l=io.length;l>0;l--){io.remove(l);}}
function jaby_ElementAddChild(io,ione){switch(io.type){case 'select-one':switch(BrowserVer){case 'ie5':case 'ie6':case 'ie7':io.add(ione);break;default:case 'chrome0':case 'chrome1':io.appendChild(ione);break;}break;default:switch(BrowserVer){case 'ie5':case 'ie6':io.add(ione);break;default:case 'chrome0':case 'chrome1':case 'ie7':io.appendChild(ione);break;}break;}return true;}
function array_search(val,ary){for(var i=0;i<ary.length;i++){if(ary[i]==val){return i;}}return -1;}
function include_js(path,reload){var scripts = document.getElementsByTagName("script");if(!reload)for(var i=0;i<scripts.length;i++)if(scripts[i].src && scripts[i].src.toLowerCase() == path.toLowerCase() ) return;var sobj = document.createElement('script');sobj.type = "text/javascript";sobj.src = path;var headobj = document.getElementsByTagName('head')[0];headobj.appendChild(sobj);}
function require_js(path){document.write("<script language='JavaScript' src='" + path + "'></script>");}
function CopyToClipboard(){var txtPlace= document.getElementById("copytext");if(txtPlace){txtPlace.select();CopiedTxt=window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange();if(CopiedTxt != ""){CopiedTxt.execCommand("Copy");alert('語法複製成功!');}else{copy_clip("copytext");}}}
function number_format(iStr){iStr +='';var len = iStr.length;var r = '';for(var i=iStr.length-1;i>=0;i--){r = iStr.substr(i,1) + r;if(i>0 && ((iStr.length-i-1)%3)==2)r = ',' + r;}return r;}
function str_pad(iSrt,iLen,iSym,iAlign){iSrt = String(iSrt);if(iSrt.length >=iLen)return iSrt;var addtext='';for(var i=(iLen-iSrt.length);i >0;i--)addtext+=iSym;switch(iAlign){case 'left':return addtext+iSrt;break;default:return iSrt+addtext;break;}}
function implode(sym,ary){if(ary==null)return 0;var str='';for(var l=0;l< ary.length;l++){str += (l>0?sym:'') + ary[l];}return str;}
function jaby_filenameverify(fn){var re = /[\\\/:*?"><|,]/i;return !fn.match(re);}
function addslashes(str){str=str.replace(/'/g,"\\\'");str=str.replace(/"/g,'\\\"');str=str.replace(/\\/g,"\\\\");str=str.replace(/\0/g,'\\0');return str;}
function stripslashes(str){str=str.replace(/\\'/g,"'");str=str.replace(/\\"/g,'"');str=str.replace(/\\\\/g,"\\");str=str.replace(/\\0/g,'\0');return str;}
function jaby_HtmlSelectClear(io,start){if(io==null)return;for(var l=io.length;l>start;l--){io.remove(l-1);}}
function jaby_HtmlSelectFillByArray(io,iarray){if(iarray==null)return 0;if(iarray.length <1)return false;for(var l=0;l < iarray.length;l++){var w = iarray[l].split('|');jaby_HtmlSelectInsert(io,w[1]?w[1]:(w[0]?w[0]:''),w[0]?w[0]:'');}return true;}
function jaby_HtmlSelectTextSearch(io,val){if(!val)return -1;for(var l=0;l< io.length;l++){if(io[l].text.indexOf(val)!=-1)return l;}return -1;}
function jaby_HtmlSelectInsert(io,txt,val){var oOption = document.createElement('option');oOption.value = val;oOption.text = txt;oOption.innerHTML = txt;return io.appendChild(oOption);}
function jaby_HtmlSelectInsertAndSelect(io,txt,val){jaby_HtmlSelectInsert(io,txt,val);io.selectedIndex=io.length-1;}
function jaby_HtmlSelectInsertUni(io,txt,val){if(jaby_HtmlSelectSearchByValue(io,val)< 0)return jaby_HtmlSelectInsert(io,txt,val);return false;}
function jaby_HtmlSelectMatchByValue(io,val){for(var l=0;l< io.length;l++){if(io[l].value==val){io[l].selected=true;io.style.backgroundColor = io[l].style.backgroundColor;return true;}}io.style.backgroundColor ='';io.selectedIndex = -1;return false;}
function jaby_HtmlSelectRemoveByIdx(io,idx){return io.remove(idx);}
function jaby_HtmlSelectRemoveByValue(io,val){for(var l=0;l< io.length;l++)if(io[l].value==val){io.remove(l);return true;}return false;}
function jaby_HtmlSelectSearchByValue(io,val){for(var l=0;l< io.length;l++)if(io[l].value==val){return l;}return -1;}
function jaby_HtmlSelectSerialize(io,sym){if(io==null)return;var str='';for(var l=0;l< io.length;l++){ds = l>0?sym:'';str += ds + io[l].value;}return str;}
function jaby_HtmlSelectSwapNode(io,ipa,ipb){var val = io[ipa].value;var txt = io[ipa].text;io[ipa].value = io[ipb].value;io[ipa].text = io[ipb].text;io[ipb].value = val;io[ipb].text = txt;io.selectedIndex = ipb;}
function jaby_HtmlSelectSwapNodeDown(io){if(io.selectedIndex>=io.length-1)return 0;jaby_HtmlSelectSwapNode(io,io.selectedIndex,io.selectedIndex+1);}
function jaby_HtmlSelectSwapNodeUp(io){if(io.selectedIndex<1)return 0;jaby_HtmlSelectSwapNode(io,io.selectedIndex,io.selectedIndex-1);}
function jaby_HtmlTableClear(io,start){if(io==null)return false;for(var l=io.rows.length;l>start;l--){io.deleteRow(l-1);}}
function jaby_HtmlTableInsertTR(io,dat){if(io==null)return false;var a = io.insertRow(-1);for(var l=0;l<dat.length;l++){var b = a.insertCell(-1);b.innerHTML = dat[l];}}
function jaby_HtmlObjScrollDown(obj){obj.scrollTop = obj.scrollHeight - obj.clientHeight;}
function jaby_initParamObject(str){if(!str || str== undefined)str='';str = str.substr(0,str.length-1);var o = new Object();o.prot=[];o.val=[];var a=0,b=0;while(a!=-1){a = str.lastIndexOf("='");if(a!=-1){o.val.push(str.substr(a+2));str=str.substr(0,a);b = str.lastIndexOf("',");o.prot.push(str.substr(b==-1?0:b+2));str=str.substr(0,b);}}o.getInfo=function(pid){var mat=-1;for(var l=0;l< this.prot.length;l++){if(this.prot[l]==pid){mat=l;break;}}if(mat==-1)return '';return stripslashes(this.val[mat]);};o.setInfo=function(pid,val){var mat=-1;for(var l=0;l< this.prot.length;l++){if(this.prot[l]==pid){mat=l;break;}}if(mat==-1){this.prot.push(pid);this.val.push(addslashes(val));}else{this.val[mat]=addslashes(val);}return true;};o.toQueue=function(){var q='';for(var l=0;l< this.prot.length;l++){q += (l>0?",":"")+this.prot[l]+"='"+this.val[l]+"'";}return q;};return o;}
function AC_AX_RunContent(){var ret = AC_AX_GetArgs(arguments);AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);}
function AC_AX_GetArgs(args){var ret = new Object();ret.embedAttrs = new Object();ret.params = new Object();ret.objAttrs = new Object();for (var i=0; i < args.length; i=i+2){var currArg = args[i].toLowerCase();switch (currArg){case "pluginspage":case "type":case "src":ret.embedAttrs[args[i]] = args[i+1];break;case "data":case "codebase":case "classid":case "id":case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":ret.objAttrs[args[i]] = args[i+1];break;case "width":case "height":case "align":case "vspace":case "hspace":case "class":case "title":case "accesskey":case "name":case "tabindex":ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];break;default:ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];}}return ret;}
function AC_AddExtension(src, ext){if (src.indexOf('?') != -1)return src.replace(/\?/, ext+'?');else return src + ext;}
function AC_Generateobj(objAttrs, params, embedAttrs){var str = '<object ';for (var i in objAttrs)str += i + '="' + objAttrs[i] + '" ';str += '>';for (var i in params)str += '<param name="' + i + '" value="' + params[i] + '" /> ';str += '<embed ';for (var i in embedAttrs)str += i + '="' + embedAttrs[i] + '" ';str += ' ></embed></object>';document.write(str);}
function AC_FL_RunContent(){var ret = AC_GetArgs(arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);}
function AC_SW_RunContent(){var ret = AC_GetArgs(arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){var ret = new Object();ret.embedAttrs = new Object();ret.params = new Object();ret.objAttrs = new Object();for (var i=0; i < args.length; i=i+2){var currArg = args[i].toLowerCase();switch (currArg){case "classid":break;case "pluginspage":ret.embedAttrs[args[i]] = args[i+1];break;case "src":case "movie":args[i+1] = AC_AddExtension(args[i+1], ext);ret.embedAttrs["src"] = args[i+1];ret.params[srcParamName] = args[i+1];break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":case "codebase":ret.objAttrs[args[i]] = args[i+1];break;case "width":case "height":case "align":case "vspace":case "hspace":case "class":case "title":case "accesskey":case "name":case "id":case "tabindex":ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];break;default:ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];}}ret.objAttrs["classid"] = classid;if (mimeType) ret.embedAttrs["type"] = mimeType;return ret;}