/*
	dutils.js - distraid utils ver1.1.16
		depends on: MooTools 1.11 <http://mootools.net>

	copyright (c) 2007,2008 distraid Inc. <http://distraid.co.jp>

	$Id: dutils.js 7 2008-12-01 07:07:12Z ksy $
*/
DuHash=new Abstract({copyObj:function(C){var A=$type(C);
if(A=="object"){var B={};for(var D in C){B[D]=DuHash.copyObj(C[D])}return B}else{if(A=="array"){C=C.map(function(E){return DuHash.copyObj(E)})}}return C},getObjProp:function(A){for(var B in A){return B
}},setObjProp:function(C,A){var B={};B[C]=A;return B},makeQueryStr:function(B){var A="";switch($type(B)){case"object":A=Object.toQueryString(B);break;case"element":A=B.toQueryString();break;case"array":B.map(function(D){var C=D.split("=");
return encodeURIComponent(C[0])+($chk(C[1])?"="+encodeURIComponent(C[1]):"")});A=B.join("&");break;case"string":A=DuHash.makeQueryStr(B.split("&"))}return A},countProp:function(B){var A=0;for(var C in B){A++
}return A},compareParam:function(E,D){var C={p1:$type(E),p2:$type(D)};if(E==D){return true}if(C.p1=="object"){if(C.p1!=C.p2){return false}if(DuHash.countProp(E)!=DuHash.countProp(D)){return false}for(var F in E){if(E[F]!=D[F]){return false
}}}else{if(C.p1=="array"){if(C.p1!=C.p2){return false}if(E.length!=D.length){return false}var A=D.copy();var B=E.every(function(G){if(!A.contains(G)){return false}A.remove(G);return true});if(!B||A.length>0){return false
}}else{return E==D}}return true}});DuSort=new Class({sortInit:function(B,A){if(!B||$type(B)!="array"){return null}if($type(B[0])=="array"){this._sortDataType=DuSort.Type.typeArray}else{if($type(B[0])=="object"){this._sortDataType=DuSort.Type.typeJson
}else{this._sortDataType=DuSort.Type.typePrim}}this._sortDataRef=B;this._sortProc=(A?A:{});this._sortPrev=null;this._sortProc=this.sortProcInit(this._sortProc);return this},sortData:function(C,H,I){if(C==null){return null
}var B=function(L,K){if(L>K){return 1}else{if(L<K){return -1}}return 0};var F=this._sortProc;var G=$type(H);if(this._sortDataType==DuSort.Type.typePrim){if(G=="function"){F=H}return this._sortDataPrim(C,F,B)
}else{if(G=="function"){B=G;F={}}else{if(G=="object"||G=="array"){H=this.sortProcInit(H);for(var A in H){if(H[A]===false){F[A]=B}else{F[A]=H[A]}}}}}var E=null;if($type(C)!="array"){C=[C]}if(!this._sortPrev){E=C
}else{var J=this._sortChkParam(C,I);E=J.sortCur;if(J.sortDone){return E}}if(!E){return this._sortPrev}var D=[];E.each(function(N,M){var O=this.getObjProp(N);var K=(N[O]===false?-1:1);var L=(F[O]?F[O]:B);
D.push(function(Q,P){var R=L(Q[O],P[O],Q,P);if(!R){return 0}return(K<0?(R<0?1:-1):R)});E[M]=this.setObjProp(O,N[O])},this);this._sortDataRef.sort(function(L,K){var M=0;for(var N=0;N<D.length;N++){M=D[N](L,K);
if(M!=0){return M}}return M});this._sortPrev=E;return E},_sortChkParam:function(B,F){var E=null;if(B.length>this._sortPrev.length){E=B}else{var A=false;var D=0;var C=B.some(function(J,G){var I=this.getObjProp(J);
var H=this.getObjProp(this._sortPrev[G]);if(I!=H){return true}if(J[I]!=this._sortPrev[G][H]){if(G==0){A=true}D++}},this);if(C){E=B}else{if(D==B.length){this._sortDataRef.reverse();this._sortPrev=B;return{sortCur:B,sortDone:true}
}else{if(D>0){if(A&&F){E=[];this._sortPrev.some(function(H,G){if(G>=B.length){return true}var I=this.getObjProp(H);E.push(this.setObjProp(I,H[I]*-1))},this);this._sortDataRef.reverse();this._sortPrev=E;
return{sortCur:E,sortDone:true}}else{E=B}}}}}return{sortCur:E,sortDone:false}},_sortDataPrim:function(B,D,C){if(this._sortPrev!=null){if(this._sortPrev==B){return B}this._sortDataRef.reverse();this._sortPrev=B;
return B}sortCur=(B===false?-1:1);var A=($type(D)=="function"?D:C);this._sortDataRef.sort(function(F,E){var G=A(F,E);if(!G){return 0}return(sortCur<0?(G<0?1:-1):G)});this._sortPrev=B;return B},sortProcInit:function(B){var A=$type(B);
if(A=="function"){return B}var C=B;if(A=="array"){C={};B.each(function(D,E){sprtObj[E]=D})}return C},sortReset:function(){this._sortPrev=null},getObjProp:function(A){for(var B in A){return B}},setObjProp:function(C,A){var B={};
B[C]=A;return B}});DuSort.Type=new Abstract({typePrim:0,typeArray:1,typeJson:2});DuAjax=XHR.extend({options:{callback:null,sendData:null,renewal:null,jsonize:false,onAjaxDone:Class.empty},initialize:function(B,A){this.setOptions(A);
this.addEvent("onSuccess",this.onComplete);this.addEvent("onFailure",this.onComplete);this._url=B;this._prevRequest=null;this._callback=null;this._renewal={type:"once"};this._timerId=null;this._jsonize=false;
this.parent();this._initOpt()},_initOpt:function(){if($type(this.options.callback)=="function"){this._callback=this.options.callback}this._renewal=this._formRenewal(this.options.renewal);this._jsonize=(this.options.jsonize?true:false)
},_formRenewal:function(A){var B={type:"once"};if(!A){return B}if(A.type=="once"||A.type=="every"){B={type:A.type}}else{if((A.type=="refresh"||A.type=="reload")&&A.interval>0){B={type:A.type,interval:A.interval}
}}return B},setURL:function(A){if(this._url!=A){this._url=A;this.reset()}return this},onComplete:function(){var A=this.isSuccess(this.transport.status);if(A){this._prevRequest=new Date().getTime();if(this._jsonize){this.response.json=Json.evaluate(this.response.text,true)
}this.fireEvent("onAjaxDone",this.response)}else{this._prevRequest=null;this.stopRefresh()}this._callProc(true)},_callProc:function(C){if(!this._callback){return}C=(C?true:false);var A=(this._prevRequest!=null?true:false);
var B={status:this.transport.status,time:this._prevRequest};if(A){B=$merge(B,{text:this.response.text,xml:this.response.xml});if(this._jsonize){B=$merge(B,{json:this.response.json})}}this._callback(A,B,C)
},sendRequest:function(A){var B=Math.abs(new Date().getTime()-this._prevRequest);if(this._prevRequest==null||A!=this._prevData){if(this._renewal.type=="refresh"){this.startRefresh.delay(10,this,[true,A])
}else{this._request.delay(10,this,[A])}return true}if(this._renewal.type=="once"||(this._renewal.type=="reload"&&this._renewal.interval>B)){this._callProc.delay(10,this);return false}else{if(this._renewal.type=="refresh"){if(this._renewal.interval>B){this.startRefresh(false);
this._callProc().delay(10,this);return false}else{this.startRefresh.delay(10,this,[true]);return true}}}this._request.delay(10,this,[A]);return true},forceRequest:function(A){this._request(A)},startRefresh:function(B,A){this.stopRefresh();
if(this._renewal.type=="refresh"){this._timerId=setInterval(this._request.bind(this,[A]),this._renewal.interval)}if(B){this._request(A)}},_request:function(A){this._prevData=A;A=(A!=null?A:this.options.sendData);
this.setHeader("X-Requested-With","XMLHttpRequest");this.setHeader("Accept","text/javascript, text/html, application/json, application/xml, text/xml, */*");if($type(A)=="object"){A=Object.toQueryString(A)
}this.send(this._url,A)},stopRefresh:function(){if(this._timerId){this._timerId=$clear(this._timerId)}},cancel:function(){this.stopRefresh();this.parent()},reset:function(){this._prevRequest=null;this.cancel();
this.response={};if(!this.runnning){this.setTransport()}this.fireEvent("onReset")}});DuAjax.implement(new Options);DuAjax.Range=DuAjax.extend({options:{range:0},initialize:function(B,A){this._range=null;
this._baseRenewal=null;this.setOptions(A);this.parent(B)},_initOpt:function(){this.parent();if(this.options.range){var A=DuAjax.Tools.formRangeLen(this.options.range.rangeLen);if(A){this._range={rangeLen:A,renewal:this._formRenewal(this.options.range.renewal)}
}}this._baseRenewal=this._renewal},select:function(A){this._renewal=this._baseRenewal;if(this._range&&(this._range.renewal["type"]=="refresh"&&this._renewal.type!="refresh")){this.stopRefresh()}return this.sendRequest(A)
},notify:function(C,B,A){if(!this._range||!(B>=0)){return null}if(B==C){return this.select(A)}if(this._range.renewal["type"]!="refresh"){this.stopRefresh()}if(DuAjax.Tools.chkRangeLen(this._range.rangeLen,C,B)){this._renewal=this._range.renewal;
return this.sendRequest(A)}else{this.stopRefresh();return null}}});DuAjax.Tools=new Abstract({formRangeLen:function(C){var B=null;var D=$type(C);if(D=="number"&&C!=0){B={};B.backward=B.forward=Math.abs(C)
}else{if(D=="string"){var A=C.match(/(?:\-(\d+))?(?:\+(\d+))?/);if(A&&A[0]){B={backward:(A[1]?A[1]:0),forward:(A[2]?A[2]:0)}}}}return B},chkRangeLen:function(B,D,C){var A=Math.abs(C-D);if(D>=C){return(B.forward>=A?true:false)
}return(B.backward>=A?true:false)}});DuStyle=new Class({initialize:function(C,B){var A=$(C);if($type(A)!="element"){return}this._elem=A;this._baseElem=this._elem;this._elemSize=null;this._mode=DuStyle.Mode.none;
this._style=(B?DuHash.copyObj(B):DuStyle.Setup.visible());if(this._style.targElem){this._selectTarg(this._style.targElem)}this._initSizeRatio()},activate:function(B,A){A=(A!=null?A:this._style.force);if(!A&&this._mode==DuStyle.Mode.active){return
}if(this._prepare(true,B)){this._mode=DuStyle.Mode.active}},deactivate:function(B,A){A=(A!=null?A:this._style.force);if(!A&&this._mode==DuStyle.Mode.inactive){return}if(this._prepare(false,B)){this._mode=DuStyle.Mode.inactive
}},resetMode:function(A){this._mode=($chk(DuStyle.mode[A])?DuStyle.mode[A]:DuStyle.mode.none)},getMode:function(){return this._mode},_initSizeRatio:function(A){A=(!A?this._style:A);if(!A){return}["active","inactive","preAct","preInact","postAct","postInact"].each(function(B){if(A[B]){this._elemSize=DuStyle.Setup.chkSizeRatio(this._elem,this._elemSize,A[B]["styles"])
}},this)},setDuStyle:function(E,C,A,D){this._mode=DuStyle.Mode.set;var B={duStyle:DuStyle.Setup.confirmStyle(E)};[C,A].each(function(F){if(F){F=DuStyle.Setup.confirmStyle(F)}});this._setStyle(B.duStyle,C,A,D)
},_setStyle:function(C,B,A,D){if(B){this._applyStyle(B,null,D)}this._applyStyle(C,null,D);if(A){this._applyStyle(A,null,D)}},_prepare:function(D,C){if(!this._style.prop){return}var A,E;var B=function(F,G){if(D){A=this._style[F];
E=this._style[G]}else{A=this._style[G];E=this._style[F]}this._applyStyle(A,E,C)}.bind(this);B("preAct","preInact");B("active","inactive");B("postAct","postInact");return true},_applyStyle:function(A,C,B){if(!A){return(C&&C["class"]!=null&&this._elem.removeClass(C["class"]))
}if(A.proc){A.proc(this._elem,null,B)}if(A["class"]!=null){this._elem.addClass(A["class"])}if(C&&C["class"]!=null){this._elem.removeClass(C["class"])}if(A.styles){this._elem.setStyles(A.styles)}},visibility:function(A){if(["visible","hidden"].contains(A)){this._elem.setStyles("visibility",A)
}},display:function(A){if(["block","inline","none"].contains(A)){this._elem.setStyles("display",A)}},_selectTarg:function(B){if(!B){return}var A=($type(B)=="element"?B:this._baseElem.getElement(B));if(A){this._elem=A
}}});DuStyle.Fx=DuStyle.extend({initialize:function(B,A){this._curTrans=DuStyle.Mode.none;this.parent(B,A);if(!this._style.fx){return}this._style.fxOpt=$merge(this._style.fxOpt,{onFxDone:this.onFxDone.bind(this),onFxCancel:this.onFxCancel.bind(this)});
if(this._style.stream){this._fx=new DuStyle.Fx.Stream(this._elem,this._style.fxOpt)}else{this._fx=new DuStyle.Fx.Styles(this._elem,this._style.fxOpt)}},_initSizeRatio:function(A){A=(!A?this._style:A);if(!A){return
}this.parent();[["fxAct","active"],["fxInact","inactive"]].each(function(B){if(A[B[0]]){if($type(A[B[0]])=="array"){A[B[0]].each(function(C){if(C.styles){this._elemSize=DuStyle.Setup.chkSizeRatio(this._elem,this._elemSize,C.styles["fxStyle"])
}},this)}else{["width","height"].each(function(D){var C=A[B[0]]["styles"];if(C&&C.fxStyle&&C.fxStyle[D]){if(A[B[1]]["styles"]&&A[B[1]]["styles"][D]){C.fxStyle[D]=A[B[1]]["styles"][D]}}},this)}}},this)},onFxDone:function(){this._mode=this._curTrans;
this._curTrans=DuStyle.Mode.none},onFxCancel:function(){this._mode=this._curTrans=DuStyle.Mode.none},activate:function(C,A,B){if(!this._style.fx){return this.parent(C,B)}B=(B!=null?B:this._style.force);
if(!B&&(this._mode==DuStyle.Mode.active||this._curTrans==DuStyle.Mode.active)){return}this._fx.halt(true);if(A||!DuStyle.Setup.checkFx(this._style.fxGrp)){return this.parent(C)}if(this._style.active==null){return
}this._mode=DuStyle.Mode.none;this._curTrans=DuStyle.Mode.active;this._startFx(true,C)},deactivate:function(C,A,B){if(!this._style.fx){return this.parent(C,B)}B=(B!=null?B:this._style.force);if(!B&&(this._mode==DuStyle.Mode.inactive||this._curTrans==DuStyle.Mode.inactive)){return
}this._fx.halt(true);if(A||!DuStyle.Setup.checkFx(this._style.fxGrp)){return this.parent(C)}if(this._style.inactive==null){return}this._mode=DuStyle.Mode.none;this._curTrans=DuStyle.Mode.inactive;this._startFx(false,C)
},setDuStyle:function(F,D,B,E,A){if(!F.duStyle){F={duStyle:F}}var C=DuStyle.Setup.formStyle(F,"duStyle","duStyleFx");if(D){D=DuStyle.Setup.confirmStyle(D)}if(B){B=DuStyle.Setup.confirmStyle(B)}this._initSizeRatio(F.duStyleFx);
this._fx.halt(true);this._mode=DuStyle.Mode.set;if(A||!DuStyle.Setup.checkFx(this._style.fxGrp)){return this._setStyle(F.duStyle,D,B,E)}this._fx.ignite(C.duStyleFx,D,B,E)},_startFx:function(E,D){var C=(E?this._style.fxAct:this._style.fxInact);
var F=(E?this._style.inactive:this._style.active);var B=null;var A=null;if(this._style.initOpp){B=F}if(E){if(this._style.preAct){B=this._style.preAct}A=this._style.postAct}else{if(this._style.preInact){B=this._style.preInact
}A=this._style.postInact}this._fx.ignite(C,B,A,D)}});Element.extend({duStyle:function(A){return new DuStyle(this,{fxOpt:A})},duStyleFx:function(A){return new DuStyle.Fx(this,{fxOpt:A,fx:true})},duStyleFxStream:function(A){return new DuStyle.Fx(this,{fxOpt:A,fx:true,stream:true})
}});DuStyle.Fx.Styles=Fx.Styles.extend({options:{delay:0,prePrcs:null,postPrcs:null,loop:false,onFxDone:Class.empty,onFxCancel:Class.empty},initialize:function(B,A){this.parent(B,A);this._delayTimer=null;
this._recallTimer=null;this._bTransition=false;this._curFx=null;this._curLoop=null;this._procArg=null;this._preStyle=null;this._postStyle=null;this._defOpt=DuHash.copyObj(this.options)},setOptions:function(B,A){this.parent(B,A);
if(!(this.options.duration>0)){this.options.duration=500}if(!(this.options.delay>=0)){this.options.delay=0}if(!(this.options.loop===true||this.options.loop>=0)){this.options.loop=0}},ignite:function(A,C,B,D){if(!A){return this
}this.halt();this._bTransition=true;this._setCurFx(A);this._curLoop=0;this._preStyle=C;this._postStyle=B;this._procArg=D;this._applyStyle(this._preStyle);this._ready(true);return this},_setCurFx:function(A){this._curFx=A;
this.options=this._defOpt;if(this._curFx.options){this.setOptions(this._curFx.options)}},_applyStyle:function(A){if(A){if(A.proc){A.proc(this.element,this,this._procArg)}if(A.styles){this.element.setStyles(A.styles)
}}},_ready:function(A){if(this.options.prePrcs){this._applyStyle(this.options.prePrcs)}if(this.options.delay>0){this._delayTimer=this.launch.delay(this.options.delay,this,[this._curFx])}else{this.launch(this._curFx)
}},launch:function(A){var B=function(){this._recallTimer=this.callChain.delay((this.options.duration?this.options.duration:10),this,null);return this}.bind(this);if(!A){return B()}if(A.proc){A.proc(this.element,this,this._procArg)
}if(!A.styles){return B()}var D=A.styles;if(D.preStyle){this.element.setStyles(D.preStyle)}if(!D.fxStyle){return B()}var C=this.element.getStyles("visibility","display");if(C.display=="none"||(C.visibility=="hidden"&&!(D.fxStyle["opacity"]>0))){this.element.setStyles(D.fxStyle);
return B()}return this.start(D.fxStyle)},halt:function(A){this._curLoop=null;this.stop();if(this._bTransition){this._fxDone(true,A)}},stop:function(A){if(this._delayTimer){this._delayTimer=$clear(this._delayTimer)
}if(this._recallTimer){this._recallTimer=$clear(this._recallTimer)}this.parent(A)},callChain:function(){var A=this.parent;if(this.options.postPrcs){this._applyStyle(this.options.postPrcs)}if(this._loop()){return A()
}},_loop:function(){if(this._curLoop==null){return false}if(!this.options.loop){this._fxDone();return true}this._curLoop++;if(this.options.loop===true||this._curLoop<this.options.loop){this._recallTimer=this._ready.delay(10,this)
}else{this._fxDone()}return(this._curLoop==1?true:false)},_fxDone:function(A,B){this._bTransition=false;if(!A){this._applyStyle(this._postStyle);this.fireEvent("onFxDone",null,(B?0:10))}else{this.fireEvent("onFxCancel",null,(B?0:10))
}}});DuStyle.Fx.Stream=DuStyle.Fx.Styles.extend({initialize:function(B,A){this.parent(B,A);this._stream={_data:null,_curIndex:0,_loop:null,setData:function(C){this._curIndex=0;this._data=C.copy();this._loop=[];
this._data.each(function(D){if(D.options&&D.options["once"]){return}this._loop.push(D)},this)},getNext:function(){return this._data[this._curIndex++]},reset:function(C){if(C){this._data=this._loop}this._curIndex=0
},isEnd:function(){return(this._curIndex>=this._data.length?true:false)},stop:function(){if(this._data){this._curIndex=this._data.length}}}},ignite:function(C,B,A,D){if(!C){return this}if($type(C)!="array"){C=[C]
}this.halt();this._bTransition=true;this._stream.setData(C);this._curLoop=0;this._preStyle=B;this._postStyle=A;this._procArg=D;this._applyStyle(this._preStyle);this._setCurFx(this._stream.getNext());this._ready(true);
return this},halt:function(A){this._stream.stop();this.parent(A)},callChain:function(){if(this._stream.isEnd()){return this.parent()}if(this.options.postPrcs){this._applyStyle(this.options.postPrcs)}this._setCurFx(this._stream.getNext());
this._recallTimer=this._ready.delay(10,this)},_loop:function(){if(this._curLoop==null){return false}if(!this.options.loop){this._fxDone();return true}this._curLoop++;if(this.options.loop===true||this._curLoop<this.options.loop){this._stream.reset(true);
var A=this._stream.getNext();if(!A){this._fxDone();return true}this._setCurFx(A);this._recallTimer=this._ready.delay(10,this)}else{this._fxDone()}return(this._curLoop==1?true:false)}});DuStyle.Fx.Slide=Fx.Slide.extend({initialize:function(C,A){this.parent(C,A);
if($type(this.element)!="element"){return}var B=this.element.getStyles("display","visibility","position");if(B.display=="none"){this.element.setStyles({display:"block",visibility:"hidden",position:"absolute"});
this.hide();this.element.setStyles({display:"none",visibility:B.visibility,position:B.position})}},hide:function(A){this[A||this.options.mode]();this.open=false;return(this.offset?this.set([-this.offset,0]):this)
},show:function(A){this[A||this.options.mode]();this.open=true;return(this.offset?this.set([0,this.offset]):this)}});DuStyle.Fx.Slide.Ctrl=new Abstract({_slideObj:{},initSlide:function(){this._slideObj={};
return this},addSlide:function(B,A){if(!B||$type(B)!="string"||this._slideObj[B]!=null){return}this._slideObj[B]=new DuStyle.Fx.Slide(B,A)},addSlides:function(B,A){if($type(B)!="array"){return}B.each(function(C){this.addSlide(C,A)
},this)},slideInProc:function(B,A){if(!B||B.id==null||!this._slideObj[B.id]){return}var C=this._slideObj[B.id];C.stop();return((!A||!DuStyle.Setup.checkFx())?C.show():C.slideIn())},slideOutProc:function(B,A){if(!B||B.id==null||!this._slideObj[B.id]){return
}var C=this._slideObj[B.id];C.stop();return((!A||!DuStyle.Setup.checkFx())?C.hide():C.slideOut())}});DuStyle.Fx.Slide.Ctrl.slideInProc=DuStyle.Fx.Slide.Ctrl.slideInProc.bind(DuStyle.Fx.Slide.Ctrl);DuStyle.Fx.Slide.Ctrl.slideOutProc=DuStyle.Fx.Slide.Ctrl.slideOutProc.bind(DuStyle.Fx.Slide.Ctrl);
DuStyle.Mode=new Abstract({none:"_none",active:"_active",inactive:"_inactive",set:"_set"});DuStyle.Setup=new Abstract({_enableFx:true,_fxGrpChk:{},_fxControl:{fxGrp:{}},none:function(){return{prop:null,active:null,inactive:null}
},block:function(){return this._set("styles",{styles:{display:"block"}},{styles:{display:"none"}})},inline:function(){return this._set("styles",{styles:{display:"inline"}},{styles:{display:"none"}})},visible:function(){return this._set("styles",{styles:{visibility:"visible"}},{styles:{visibility:"hidden"}})
},setClass:function(B,A,C){return this._set("class",{"class":B},{"class":A},C)},setStyles:function(A,C,B){return this._set("styles",{styles:A},{styles:C},B)},setStyle:function(E,D,A,C){if(!E){return{}}var B=function(F,H){var G={};
G[F]=H;return G};return this._set("styles",{styles:B(E,D)},{styles:B(E,A)},C)},setProc:function(C,B,A){return this._set("proc",{proc:C},{proc:B},A)},set:function(C,A,B){return this._set("mix",C,A,B)},initFxCtrl:function(H,D,B,G){this._fxControl={};
this.setFxCtrl(H,D);var E={fxGrp:{}};var C="";var A={"true":this.enableFx.bind(this),"false":this.disableFx.bind(this)};if($type(B)=="object"&&B.obj&&B.key!=null){this._fxControl.cookie=B;C=B.obj.get(B.key);
if(C){C.split("&").each(function(I){var J=I.split("=");if(J.length<2){if(A[J[0]]){A[J[0]](null,true)}E.toggle=J[0]}else{if(A[J[1]]){A[J[1]](J[0],true)}E.fxGrp[J[0]]=J[1]}},this)}}if($type(G)=="object"){if(G.toggle&&E.toggle==null){A[(G.toggle?true:false)](null)
}if(G.fxGrp&&$type(G.fxGrp)=="object"){for(var F in G.fxGrp){if(E.fxGrp[F]==null&&this._fxControl.fxGrp[F]){A[(G.fxGrp[F]?true:false)](F)}}}}},setFxCtrl:function(C,A){if($type(C)=="function"){this._fxControl.toggle=C
}if(!this._fxControl.fxGrp){this._fxControl.fxGrp={}}for(var B in A){if($type(A[B])=="function"){this._fxControl.fxGrp[B]=A[B]}}},getFxCtrl:function(){return DuHash.copyObj(this._fxControl)},_toggleProc:function(D,C,A){if(C!=null){if(this._fxControl.fxGrp[C]){this._fxControl.fxGrp[C](D,A)
}}else{if(this._fxControl.toggle){this._fxControl.toggle(D,A)}}if(!A&&this._fxControl.cookie){var B=String(this._enableFx);for(var E in this._fxGrpChk){B+="&"+E+"="+String(this._fxGrpChk[E])}this._fxControl.cookie["obj"].set(this._fxControl.cookie["key"],B,this._fxControl.cookie["options"])
}},enableFx:function(B,A){if(B!=null&&String(B)){this._fxGrpChk[B]=true;this._toggleProc(true,B,A)}else{this._enableFx=true;this._toggleProc(true,null,A)}},disableFx:function(B,A){if(B!=null&&String(B)){this._fxGrpChk[B]=false;
this._toggleProc(false,B,A)}else{this._enableFx=false;this._toggleProc(false,null,A)}},checkFx:function(A,B){if(!B&&!this._enableFx){return false}if(this._fxGrpChk[A]!=null){return this._fxGrpChk[A]}return this._enableFx
},toggleFx:function(A,B){if(!this.checkFx(A,B)){this.enableFx(A)}else{this.disableFx(A)}},setStylesFx:function(A,E,D,C){var B=this._set("styles",{styles:A},{styles:E},C);return this._setFx(B,D,C)},setFx:function(D,A,E,C){var B=this._set("mix",D,A,C);
return this._setFx(B,E,C)},setStreamFx:function(A,E,D,C){var B=this._set("mix",A,E,C);return this._setFx(B,D,C)},_set:function(F,E,C,D){var B={prop:F};B.active=this.confirmStyle(E);B.inactive=this.confirmStyle(C);
if(!D){D={}}if(D.targElem){var A=$type(D.targElem);if(A=="element"||A=="string"){B.targElem=D.targElem}}if(D.force){B.force=true}["preAct","preInact","postAct","postInact"].each(function(G){if(D[G]){B[G]=this.confirmStyle(D[G])
}},this);return B},_setFx:function(A,C,B){if(!B){B={}}A.fx=true;A.fxOpt=$merge({wait:false},C);A.initOpp=(B.initOpp?true:false);if(String(B.fxGrp)){A.fxGrp=String(B.fxGrp)}[["active","fxAct"],["inactive","fxInact"]].each(function(D){var E=D[0];
var F=D[1];this.formStyle(A,E,F)},this);return A},formStyle:function(A,B,C){if(!A[B]){return A[B]={}}if($type(A[B])=="array"){return this.formStream(A,B,C)}A[B]=this.confirmStyle(A[B]);A[C]=DuHash.copyObj(A[B]);
if(A[C]["styles"]){A[C]["styles"]=this.splitStyle(A[C]["styles"])}if(A[C]["options"]){A[C]["options"]=this._confirmOpt(A[C]["options"])}return A},formStream:function(B,D,E){if($type(B[D])!="array"){return B
}var A=null;var C=null;B[D].each(function(G,F){G=this.confirmStyle(G);if(G.styles){A=$merge(A,G.styles);G.styles=this.splitStyle(G.styles)}if(G.proc){if(C){C.push(G.proc)}else{C=[G.proc]}}G.options=$merge(B.fxOpt,G.options);
B[D][F]=G},this);B[E]=B[D];B[D]={styles:A};if(C){B[D]["proc"]=function(H,G,F){C.each(function(I){I(H,G,F)})}}B.stream=true;return B},confirmStyle:function(C){if(!C){return null}var B=$type(C);var A=null;
if(B=="array"){return C}else{if(B=="function"){A={proc:C}}else{if(B=="string"){A={"class":C}}else{if(B=="object"){if(C.proc){A={proc:C.proc}}if(C["class"]){A=$merge(A,{"class":C["class"]})}if(C.styles){A=$merge(A,{styles:C.styles})
}if(!A){A={styles:C}}if(C.options){A.options=this._confirmOpt(C.options)}}}}}return A},_confirmOpt:function(A){for(var B in A){if(["prePrcs","postPrcs"].contains(B)){A[B]=this.confirmStyle(A[B])}}return A
},splitStyle:function(E){if($type(E)!="object"){return E}var D=null;var C=null;var A=null;var B=function(G,I,H){if(!G){G={}}G[I]=H;return G};for(var F in E){if(E[F]==null){continue}E[F]=String(E[F]);if(E[F].match(/^([\d-]|(#[a-f\d]))+/i)){D=B(D,F,E[F])
}else{C=B(C,F,E[F])}A=B(A,F,E[F])}if(A==null){return null}return{preStyle:C,fxStyle:D,style:A}},retrieveClassStyle:function(A){return A},chkSizeRatio:function(B,D,C){if(!B||!C){return D}if(!D){D={}}var A=null;
["width","height"].each(function(F){if($type(C[F])!="string"){return}var E=C[F].match(/(\d+)(R)$/i);if(!E){return}if(!A){A={}}A[F]="="+E[1]+"%";if(!D[E[2]]){D[E[2]]=(E[2]=="R"?DuStyle.Tools.computeSize(B):DuStyle.Tools.getOffsetSize(B))
}C[F]=DuStyle.Tools.modStyleVal(D[E[2]][F],A[F])});return D},createDuStyle:function(A,B){if(B&&B.fx){return new DuStyle.Fx(A,B)}else{return new DuStyle(A,B)}}});DuStyle.Tools=new Abstract({modStyleVal:function(A,F,E,G){if(A==null||(F==null&&E==null&&G==null)){return A
}var K={};if($type(A)=="number"){K.val=A}else{var H=A.match(/^(-?[\d\.]*)(.*)$/);K.val=Number(H[1]);K.unit=String((H[2]!=""?H[2]:null))}var B={};if($type(F)=="number"){B.val=F}else{if(F!=null){var I=F.match(/^([=\-\+\*\/]?)(\d+\.?\d*)(%?)$/);
B.op=I[1];B.val=Number(I[2]);B.ratio=(I[3]?true:false)}}if(K.val==null){return A}if(E!=null&&G!=null){E=Math.min(E,G);G=Math.max(E,G)}var D=function(L){if(E!=null&&L<E){L=E}if(G!=null&&L>G){L=G}if(K.unit=="px"){L=parseInt(L)
}return(K.unit!=null?L+K.unit:L)};if(B.val==null){return D(K.val)}var J=(B.ratio?(B.val==100?K.val:K.val*B.val/100):B.val);var C=K.val;switch(B.op){case"-":C-=J;break;case"*":C*=J;break;case"/":if(J!=0){C/=J
}break;case"=":C=J;break;default:C+=J}C=Number(C);return D(C)},computeSize:function(E,H,A){E=$(E);if($type(E)!="element"){return}var D=E.getStyles("font-family","font-size","font-weight","word-spacing","letter-spacing","text-indent");
var B=E.clone().setStyles({visibility:"hidden",display:"block",position:"absolute"});D.width=D.height="";for(var G in D){D[G]=String(D[G])}B.injectInside(document.body);B.setStyles(D);var C={width:B.getStyle("width"),height:B.getStyle("height")};
B.remove();B=null;var F=function(I,J){if(!J){return I}if(J.min!=null&&J.min<0){J.min=0}if(J.max!=null&&J.max<0){J.max=0}return DuStyle.Tools.modStyleVal(I,J.mod,J.min,J.max)};if(H){C.width=F(C.width,H)
}if(A){C.height=F(C.height,A)}return C},computeWidth:function(E,D,C,A){var B=this.computeSize(E,{mod:D,min:C,max:A});return B.width},computeHeight:function(E,D,C,A){var B=this.computeSize(E,{mod:D,min:C,max:A});
return B.height},autoWidth:function(E,C,B,A){var D=DuStyle.Tools.computeWidth(E,C,B,A);E.setStyle("width",D)},getOffsetSize:function(D){if($type(D)!="element"){return null}var C=D.getStyles("display","visibility");
var B=false;if(C.display=="none"){B=true;if(C.visibility!="hidden"){D.setStyle("visibility","hidden")}D.setStyle("display","block")}var A={width:D.offsetWidth+"px",height:D.offsetHeight+"px"};if(B){D.setStyles(C)
}return A}});var DuFridCtrl=new Abstract({initFrid:function(){this._opt={};this._fridStr="";var A=this._normalize(window.location.hash);A.split("&").each(function(C){var B=C.split("=",2);if(B[0]!=""){this._opt[B[0]]=($chk(B[1])?B[1].split("+"):true)
}},this);this._formFrid();return this},getOpt:function(A,B){if(A!=""&&this._opt[A]!=null){return(B||this._opt[A]===true?this._opt[A]:this._opt[A][0])}return null},getKeys:function(){var A=[];for(var B in this._opt){A.push(B)
}return A},setOpt:function(B,C){var A={};if($type(B)=="object"){A=B}else{A[B]=($chk(C)?C:true)}return this.setOpts(A)},setOpts:function(B){for(var A in B){A=this._normalize(A);if(A==null||A==""||B[A]==null){continue
}if(B[A]==""||B[A]===true){this._opt[A]=true}else{var C=this._normalize(B[A]);this._opt[A]=($type(C)=="array"?C:[C])}}this._formFrid();return this},resetOpt:function(A){this._opt={};this.setOpt(A)},removeOpt:function(A){delete this._opt[A]
},updateFrid:function(A){if(A!=null){this.setOpt(A)}window.location.hash=this._fridStr},getFridStr:function(){return this._fridStr},_normalize:function(A){if($type(A)=="array"){return A.map(function(B){return B.toString().replace(/[^\w\&=\-\+]/g,"")
})}else{return A.toString().replace(/[^\w\&=\-\+]/g,"")}},_formFrid:function(){var B="";for(var A in this._opt){if(this._opt[A]!=null){B+=(B!=""?"&":"")+A;if(this._opt[A]===true){continue}B+="="+this._opt[A].join("+")
}}this._fridStr=B}});DuFridCtrl.initFrid();DuType=new Abstract({Check:{dt_empty:function(C){if($type(C)=="array"){for(var A=0;A<C.length;A++){if(arguments.callee(C[A])){return true}}return false}else{if(!$chk(C)){return false
}}var B=/^\s*$/.test(C);return !B},dt_alpha:/^[a-z]+$/i,dt_alnum:/^[a-z\d]+$/i,dt_number:/^\d+$/,dt_kanji:/^[\u3400-\u4dbf\u4e00-\u9fcf\uf900-\ufaff]+$/,dt_kana:/^[\u3041-\u309f\u30a1-\u30ff\u31f0-\u31ff]+$/,dt_kanah:/^[\u3041-\u309f\u30a1-\u30ff\u31f0-\u31ff\uff61-\uff9f]+$/,dt_hkana:/^[\u3041-\u309f]+$/,dt_kkana:/^[\u30a1-\u30ff\u31f0-\u31ff]+$/,dt_kkanah:/^[\uff61-\uff9f]+$/,dt_charCode:function(C,B){if(!B||$type(B.codeReg)!="regexp"){return null
}var A=B.codeReg.test(C);if(A){return true}return(B.errStr?B.errStr:false)},dt_ajax:function(B,A,C){return DuType.Ajax.ajaxRequest(B,A,C)},dt_limit:function(C,A,D){D=($type(D)=="object"&&D.limit?D:DuType.StrTable.dt_limit);
var B=DuType.checkLimit(C,A,D);return(B!==true&&B!==null?B:true)},dt_limitSel:function(D,A,E){E=($type(E)=="object"&&E.limit?E:DuType.StrTable.dt_limitSel);var B=0;if($type(D)=="array"){B=D.length}else{if($type(D)=="number"){B=D
}else{if($chk(D)){B=1}}}var C=DuType.checkLimit(B,A,E);return(C!==true&&C!==null?C:true)},dt_validList:function(B,A){A=($type(A)!="array"?[A]:A);if($type(B)=="array"){return B.every(function(C){return A.contains(C)
})}else{return A.contains(B)}},dt_email:/^[a-z\d][\.\-_a-z\d]*@[a-z\d]+([\.\-]?[a-z\d]+)*\.[a-z]{2,6}$/i,dt_website:/^(https?:\/\/)?([a-z\d]+(?:[\.\-]?[a-z\d]+)*\.[a-z]{2,6})(:\d{2,5})?(\/[\w\.\,\;\?\'\+&%\$#\=~\-]*)*$/i},CodePattern:{alpha:"a-zA-Z",number:"\\d",alnum:"a-zA-Z\\d",kanji:"\\u3400-\\u4dbf\\u4e00-\\u9fcf\\uf900-\\ufaff",hkana:"\\u3041-\\u309f",hkanaC:"\\u3041-\\u3096",kkana:"\\u30a1-\\u30ff\\u31f0-\u31ff",kkanaC:"\\u30a1-\\u30f6",kkanaH:"\\uff61-\\uff9f",alphaF:"\\uff21-\\uff3a\\uff41-\\uff5a",numberF:"\\uff10-\\uff19",alnumF:"\\uff10-\\uff19\\uff21-\\uff3a\\uff41-\\uff5a",convF:"\\uff01-\\uff5e",convH:"\\u0021-\\u007e",spaceH:"\\u0020",spaceF:"\\u3000"},StrTable:{_errorType:"type\u5224\u5b9a\u30a8\u30e9\u30fc\u3067\u3059",dt_limit:{limitError:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",limitBelow:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u5c11\u306a\u3059\u304e\u307e\u3059 ",limitOver:"\u6587\u5b57\u6570[#CURLEN#]\u304c\u591a\u3059\u304e\u307e\u3059 ",limit:"#LIMITMIN#\u6587\u5b57\u4ee5\u4e0a#LIMITMAX#\u6587\u5b57\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitEqual:"#LIMITMIN#\u6587\u5b57\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMin:"#LIMITMIN#\u6587\u5b57\u4ee5\u4e0a\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitMax:"#LIMITMAX#\u6587\u5b57\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",limitNumTag:"<b>#LIMITNUM#</b>"},dt_limitSel:{limitError:"\u9078\u629e\u6570[#CURLEN#]\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",limitBelow:"\u9078\u629e\u6570[#CURLEN#]\u304c\u5c11\u306a\u3059\u304e\u307e\u3059 ",limitOver:"\u9078\u629e\u6570[#CURLEN#]\u304c\u591a\u3059\u304e\u307e\u3059 ",limit:"#LIMITMIN#\u500b\u4ee5\u4e0a#LIMITMAX#\u500b\u4ee5\u4e0b\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitEqual:"#LIMITMIN#\u500b\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitMin:"#LIMITMIN#\u500b\u4ee5\u4e0a\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitMax:"#LIMITMAX#\u500b\u4ee5\u4e0b\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044",limitNumTag:"<b>#LIMITNUM#</b>"},dt_charCode:{_prefix:"",alpha:"\u534a\u89d2\u82f1\u5b57",number:"\u534a\u89d2\u6570\u5b57",alnum:"\u534a\u89d2\u82f1\u6570\u5b57",kanji:"\u6f22\u5b57",hkana:"\u3072\u3089\u304c\u306a",kkana:"\u30ab\u30bf\u30ab\u30ca",kkanaH:"\u534a\u89d2\u30ab\u30ca",alphaF:"\u5168\u89d2\u82f1\u5b57",numberF:"\u5168\u89d2\u6570\u5b57",alnumF:"\u5168\u89d2\u82f1\u6570\u5b57",_suffix:"\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"},dt_empty:"\u5024\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093",dt_validList:"\u9078\u629e\u3055\u308c\u305f\u5024\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093",dt_format:"\u5165\u529b\u3055\u308c\u305f\u5f62\u5f0f\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093 ",dt_email:"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044",dt_website:"Web\u30b5\u30a4\u30c8\u306eURL\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044"},regType:function(B){if($type(B)!="object"){return false
}var A=B.id;if(!$chk(A)||!B.check){return false}var C=A.test(/^dt_/);if(!C&&B.check){this.Check[A]=B.check}if($type(B.errStr)=="string"){this.StrTable[A]=B.errStr}else{if($type(B.errStr)=="object"){this.StrTable[A]=$merge(this.StrTable[A],B.errStr)
}}},setStr:function(A){if($type(A)!="object"){return}this.StrTable=$merge(this.StrTable,A)},getStr:function(A){return(this.StrTable[A]?this.StrTable[A]:"")},getErrStr:function(A){var B="";switch($type(A)){case"object":if(A.id){return this.getStr(A.id)
}break;case"string":B=A;break;default:B=this.getStr("dt_format")}return B},checkType:function(F,D,G){if(F==null){return null}if($type(D)=="string"){if(this.Check[D]){D={id:D,typeReg:true}}else{return null
}}var C=D.id;if(!$chk(C)||$type(C)!="string"){return null}var A=D.check;var E=this.getErrStr(D.errStr);if(D.typeReg!==false){if(this.Check[C]){A=this.Check[C]}if(this.StrTable[C]!=null){E=this.getErrStr({id:C})
}}if(!A){return null}var B=null;switch($type(A)){case"function":B=A(F,D.opt,($type(G)=="object"&&G[C]?G[C]:G));break;case"regexp":B=A.test(String(F));break}if(B===false){B=E}if($type(B)=="string"){if(D.errStrPre){B=this.getErrStr(D.errStrPre)+B
}if(D.errStrPost){B=B+this.getErrStr(D.errStrPost)}}return B},checkEmpty:function(B,C){if(B===null&&C=="dt_getTypes"){return["dt_empty"]}var A=this.checkType(B,"dt_empty",C);if(A!==true){return{id:"dt_empty",desc:A}
}return true},setTypes:function(A){A=($type(A)!="array"?[A]:A);var B=["dt_empty"];A=A.filter(function(D){var E=$type(D);if(E=="string"){if(D!="dt_empty"){B.push(D)}return true}else{if(E!="object"){return false
}}var C=D.id;if(!$chk(C)||$type(C)!="string"){return false}if(C=="dt_empty"){return false}else{if(C=="dt_limit"||C=="dt_limitSel"){D.opt=this.formLimit(D.opt);if(!D.opt){return false}}else{if(C=="dt_charCode"){D.opt=this.initCharCode(D.opt)
}else{if(C=="dt_ajax"){this.initAjax(D.opt);if(!$chk(D.opt)){return false}}}}}if(D.typeReg){D.typeReg=true;this.regType(D)}B.push(C);return true},this);return function(D,E){if(D===null&&E=="dt_getTypes"){return B
}var C=(this.checkType(D,"dt_empty"));if(C!==true){return{id:"dt_empty",desc:C}}A.every(function(F){C=this.checkType(D,F,E);if(C===true||C===null){return true}C={id:F.id,desc:C};return false},this);if(C===null){C=true
}return C}.bind(this)},initCharCode:function(B){if(!B||!B.code){return null}B.code=($type(B.code)=="array"?B.code:[B.code]);var A="";var C=this.StrTable.dt_charCode["_prefix"];B.code.each(function(D){if(this.CodePattern[D]){A+=this.CodePattern[D];
if(this.StrTable.dt_charCode[D]){C+=this.StrTable.dt_charCode[D]}}},this);C+=this.StrTable.dt_charCode["_suffix"];if(B.space){B.codeReg=new RegExp("^["+A+"]["+A+"\\s]*$")}else{B.codeReg=new RegExp("^["+A+"]+$")
}if(!B.errStr){B.errStr=C}return B},initAjax:function(A){if($type(A)!="object"){return null}if(!DuType.Ajax.setAjaxGrp(A.gid,A)){return null}return A.gid},checkLimit:function(D,A,E){if(!$chk(D)||$type(A)!="object"||$type(E)!="object"){return null
}var C="";var B=($type(D)=="number"?D:String(D).length);if($chk(A.min)&&B<A.min){C=(E.limitBelow?E.limitBelow:"")+this.limitStr(A,E)}else{if($chk(A.max)&&B>A.max){C=(E.limitOver?E.limitOver:"")+this.limitStr(A,E)
}}if(C==""){return true}if(E.limitNumTag){B=E.limitNumTag.replace(/#LIMITNUM#/g,B)}return C.replace(/#CURLEN#/g,B)},limitStr:function(A,D){if($type(A)!="object"||$type(D)!="object"){return""}var C="";if($chk(A.min)){C=($chk(A.max)?(A.min==A.max?D.limitEqual:D.limit):D.limitMin)
}else{if($chk(A.max)){C=D.limitMax}else{return""}}var B=A;if(D.limitNumTag){B={};for(var E in A){if($chk(A[E])){B[E]=D.limitNumTag.replace(/#LIMITNUM#/g,A[E])}}}return C.replace(/#LIMIT(MIN|MAX)#/g,function(G,F){return B[F.toLowerCase()]
})},formLimit:function(E,D,C){var A={};D=($type(D)=="object"?D:{});E=($type(E)=="object"?E:{max:E});var B=(C?parseFloat:parseInt);["min","max"].each(function(F){if(D[F]){D[F]=($chk(B(D[F]))?B(D[F]):null)
}if(B(E[F])!=NaN){A[F]=B(E[F])}A[F]=($chk(A[F])?A[F]:D[F])});if(!$chk(A.min)&&!$chk(A.max)){return null}if($chk(A.min)&&$chk(A.max)){A={min:Math.min(A.min,A.max),max:Math.max(A.min,A.max)}}return A}});
DuType.Ajax=new Abstract({setAjaxGrp:function(C,B){if(!this._group){this._group={}}if(!$chk(C)){return false}if(!(B.url&&$type(B.url)=="string")){return(this._group[C]?true:false)}var F=($chk(B.keyName)?String(B.keyName):"value");
var A=($type(B.key)=="object"?DuHash.copyObj(B.key):null);var E=(B.method=="get"?"get":"post");var D="";if($chk(B.defData)){switch($type(B.defData)){case"object":D=Object.toQueryString(B.defData);break;
case"string":D=B.defData;break}}this._group[C]={url:B.url,method:E,keyName:F,key:A,defData:D,items:{}};return true},getAjaxGrp:function(A){return(this._group&&this._group[A]?this._group[A]:null)},ajaxRequest:function(J,C,D){var G=C.gid;
if(!(this._group&&this._group[G]&&$type(D)=="object")){return false}if(!($chk(D.id)&&$type(D.callback)=="function")){return false}var B=D.id;var E=this._group[G];var L=E.items[B];if(!L){L=E.items[B]={};
L.ajax=new DuAjax(E.url,{renewal:{type:"once"},jsonize:true,method:E.method,autoCancel:true,callback:function(N,O,M){this._ajaxCallback(G,B,N,O,M)}.bind(this)})}L.ajax.cancel();L.callback=D.callback;L.info=D.info;
L.value=J;L.errStr=C.errStr;var K=($chk(D.keyName)?D.keyName:E.keyName);var I=($type(D.query)=="string"?D.query:"");var F=[];var A;if(!I){switch($type(J)){case"object":for(A in J){F.push({key:A,value:J[A]})
}break;case"array":J.each(function(M){F.push({key:K,value:J[M]})});break;default:F.push({key:K,value:J[J]})}}if(E.key){for(A in L.info){if($chk(E.key[A])&&L.info[A]!=null){F.push({key:E.key[A],value:L.info[A]})
}}}F=F.map(function(M){return encodeURIComponent(M.key)+"="+encodeURIComponent(M.value)});I+=(I?"&":"")+F.join("&");if(E.defData){I+=(I?"&":"")+E.defData}var H=L.ajax.sendRequest(I);E=curOpj=D=F=null;return{request:H}
},_ajaxCallback:function(C,F,A,E,D){if(!(this._group[C]&&this._group[C]["items"][F]&&$type(this._group[C]["items"][F]["callback"])=="function")){return}var B=this._group[C]["items"][F];if(E.json&&B.errStr){E.json["errStr"]=B.errStr
}B.callback(A,E.json,B.value,B.info)}});DuForce=new Abstract({Check:{df_space:function(C,B){if(!B.noTrim){C=C.replace(/^[\s\u3000]*/,"").replace(/[\s\u3000]*$/,"")}var A=($type(B.shrink)=="string"?B.shrink:"\u0020");
if(B.shrink!==false){C=C.replace(/[\s\u3000]+/g,A)}return C},df_purge:function(B,A){return B.replace(A.purgeReg,"")},df_convert:function(C,B){var A="";if(B.convert){C=B.convert(C)}else{if(B.convReg){C=C.replace(B.convReg,B.convRepl)
}}if(B.convSetReg&&B.convSetRepl){C=C.replace(B.convSetReg,B.convSetRepl)}return C},df_convPattern:function(B,A){if(!B||!A){return B}return B.replace(A.convReg,A.convRepl)}},regForce:function(C){if($type(C)!="object"){return false
}var A=C.id;if(!$chk(A)||!C.check){return false}var B=A.test(/^df_/);if(!B&&C.check){this.Check[A]=C.check}},forceMod:function(D,G,F){if(D==null){return null}if($type(G)=="string"){if(this.Check[G]){G={id:G,check:this.Check[G]}
}else{return D}}var C=G.id;if(!$chk(C)||$type(C)!="string"){return D}var B=(G.check?G.check:this.Check[C]);if(!B){return D}if(!G.opt){G.opt={}}var E=true;if($type(D)!="array"){E=false;D=[D]}var A;switch($type(B)){case"function":for(A=0;
A<D.length;A++){D[A]=B(D[A],G.opt,($type(F)=="object"?F[C]:F))}break;case"regexp":for(A=0;A<D.length;A++){D[A]=String(D[A]).replace(B,G.opt)}break}return(E?D:D[0])},setForces:function(A){A=($type(A)!="array"?[A]:A);
var B=[];A=A.map(function(E){var D=$type(E);if(D=="string"){E={id:E,opt:{}}}else{if(D!="object"){return null}}var C=E.id;if(!$chk(C)||$type(C)!="string"){return null}if(C=="df_convert"){E.opt=this.initConvert(E.opt);
if($type(E.opt["convert"])!="function"&&$type(E.opt["convReg"])!="regexp"&&$type(E.opt["convSet"])!="object"){return null}}else{if(C=="df_purge"){E.opt=this.initPurge(E.opt);if($type(E.opt["purgeReg"])!="regexp"){return null
}}}if(E.forceReg){E.forceReg=true;this.regForce(E)}B.push(C);return E},this);return function(C,D){if(C===null&&D=="df_getForces"){return B}A.some(function(E){if(!E){return false}C=this.forceMod(C,E,D);
if(!C){return true}},this);return C}.bind(this)},_toRegStr:function(B){if(B==null){return""}var A,C="";if($type(B)=="string"){for(A=0;A<B.length;A++){C+=this._toRegStr(B.charCodeAt(A))}return C}C="000"+B.toString(16);
return"\\u"+C.substring(C.length-4)},_initSetReg:function(H){var A,C="",G=[],F={},B=null,E=null;if($type(H)=="object"){for(var D in H){if($type(H[D])=="number"){F[D]=String.fromCharCode(H[D])}A=DuForce._toRegStr(D);
if(prop.length>1){G.push("("+A+")")}else{D=prop.charCodeAt(0);C+=A}}C="(["+C+"])";if(G.length>0){G.push(C);C=G.join("|")}B=new RegExp(C,"g");A=C=G=null;E=function(I){return F[I]}}return{convReg:B,convRepl:E}
},initConvert:function(B){if(!B){B={}}var D=$type(B.conv);var C=$type(B.replace);B.convReg=B.convRepl=null;if(D=="function"){B.convert=B.conv}else{if(D=="regexp"){B.convReg=B.conv}else{if(D=="string"){B.convReg=new RegExp(B.conv,"g")
}}}var A=this._initSetReg(B.convSet);if(A.convReg&&A.convRepl){B.convSetReg=A.convReg;B.convSetRepl=A.convRepl}if((C=="function"||C=="string")&&B.convReg){B.convRepl=B.replace}B.conv=B.replace=B.convSet=null;
return B},initPurge:function(B){if(!B){return{}}B.code=($type(B.code)=="array"?B.code:[B.code]);var A="";B.code.each(function(C){if(DuType.CodePattern[C]){A+=DuType.CodePattern[C]}},this);if(B.space){A+="\\s"
}if($type(B.except)=="string"){A+=B.except}if(!B.reverse){A="^"+A}B.purgeReg=new RegExp("["+A+"]","g");return B}});DuForce.Ja=new Abstract({ConvPattern:{df_ftoh:{range:{start:65281,end:65374},mod:-65248},df_htof:{range:{start:33,end:126},mod:+65248},df_hgtokk:{range:{start:12353,end:12438},mod:+96},df_kktohg:{range:{start:12449,end:12534},mod:-96},df_fkktohkk:{range:{start:12449,end:12540}},df_hkktofkk:{range:{start:65377,end:65439},vsm:65438,vsmRange:{start:65382,end:65436},svsm:65439,svsmRange:{start:65418,end:65422}},jftojh:{convSet:{"\u2019":"\u0027","\u201d":"\u0022","\uffe5":"\u005c"}},jhtojf:{convSet:{"\u0027":"\u2019","\u0022":"\u201d","\u005c":"\uffe5"}},fstohs:{convSet:{"\u3000":"\u0020"}},hstofs:{convSet:{"\u0020":"\u3000"}}},initPattern:function(A,B){if(!B){B={}
}if(!this.ConvPattern[A]){return B}B.idForce=A;B.range=this.ConvPattern[A]["range"];B.mod=this.ConvPattern[A]["mod"];var D=this.ConvPattern[A]["convSet"];if(B.jaCode){if(A=="df_ftoh"){D=$merge(D,this.ConvPattern.jftojh["convSet"])
}else{if(A=="df_htof"){D=$merge(D,this.ConvPattern.jhtojf["convSet"])}}}if(B.space){if(A=="df_ftoh"||A=="df_fkktohkk"){D=$merge(D,this.ConvPattern.fstohs["convSet"])}else{if(A=="df_htof"||A=="df_hfftofkk"){D=$merge(D,this.ConvPattern.hstofs["convSet"])
}}}if($type(B.convSet)=="object"){D=$merge(D,B.convSet);for(var C in D){if($type(D[C])=="number"){D[C]=String.fromCharCode(D[C])}}}B.convSet=D;return this._initPatternReg(A,B)},_initPatternReg:function(G,D){if(!D){return null
}var C,B,E,A,I="",F="",J={},H=[];if(D.range){if(D.mod){for(C=D.range["start"];C<=D.range["end"];C++){J[String.fromCharCode(C)]=String.fromCharCode(C+D.mod)}}I=DuForce._toRegStr(D.range["start"])+"-"+DuForce._toRegStr(D.range["end"])
}if(D.convSet){for(B in D.convSet){E=D.convSet[B];A=DuForce._toRegStr(B);if(B.length>1){H.push("("+A+")")}else{C=B.charCodeAt(0);if(!D.range||C<D.range["start"]||C>D.range["end"]){F+=A}}J[B]=E}}if(G=="df_hkktofkk"&&this.ConvPattern.df_hkktofkk["convSetHKK"]){for(B in this.ConvPattern.df_hkktofkk["convSetHKK"]){J[B]=this.ConvPattern.df_hkktofkk["convSetHKK"][B]
}H.push("(["+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["vsmRange"]["start"])+"-"+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["vsmRange"]["end"])+"]"+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["vsm"])+")");
H.push("(["+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["svsmRange"]["start"])+"-"+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["svsmRange"]["end"])+"]"+DuForce._toRegStr(this.ConvPattern.df_hkktofkk["svsm"])+")")
}F=I+F;if(!F&&H.length<=0){return null}F="(["+F+"])";if(H.length>0){H.push(F);F=H.join("|")}D.convSet=null;D.convReg=new RegExp(F,"g");C=B=E=ragStr=rengeCode=F=H=null;if(G=="df_hkktofkk"){D.convRepl=function(K){if(J[K]!=null){return J[K]
}return J[K.charAt(0)]+J[K.charAt(1)]}}else{D.convRepl=function(K){return J[K]}}return D},setForces:function(A){A=($type(A)!="array"?[A]:A);A=A.map(function(D){var C=$type(D);if(C=="string"){D={id:D,opt:{}}
}else{if(C!="object"){return null}}var B=D.id;if(!$chk(B)||$type(B)!="string"){return null}if(["df_ftoh","df_htof","df_hgtokk","df_kktohg","df_fkktohkk","df_hkktofkk"].contains(B)){D.opt=this.initPattern(B,D.opt);
if(!D.opt||$type(D.opt["range"])!="object"){return null}D.check=DuForce.Check.df_convPattern}return D},this);return DuForce.setForces(A)}});(function(){var H=DuForce.Ja.ConvPattern;var G={12300:65378,12301:65379,12290:65377,12289:65380,12443:65438,12444:65439};
var D=[65383,65393,65384,65394,65385,65395,65386,65396,65387,65397,65398,,65399,,65400,,65401,,65402,,65403,,65404,,65405,,65406,,65407,,65408,,65409,,65391,65410,,65411,,65412,,65413,65414,65415,65416,65417,65418,,,65419,,,65420,,,65421,,,65422,,,65423,65424,65425,65426,65427,65388,65428,65389,65429,65390,65430,65431,65432,65433,65434,65435,65436,65436,65394,65396,65382,65437,,65398,65401,,,,,65381,65392];
var E={12460:[65398,65438],12462:[65399,65438],12464:[65400,65438],12466:[65401,65438],12468:[65402,65438],12470:[65403,65438],12472:[65404,65438],12474:[65405,65438],12476:[65406,65438],12478:[65407,65438],12480:[65408,65438],12482:[65409,65438],12485:[65410,65438],12487:[65411,65438],12489:[65412,65438],12496:[65418,65438],12499:[65419,65438],12502:[65420,65438],12505:[65421,65438],12508:[65422,65438],12497:[65418,65439],12500:[65419,65439],12503:[65420,65439],12506:[65421,65439],12509:[65422,65439],12532:[65395,65438],12535:[65436,65438],12536:[65394,65438],12537:[65396,65438],12538:[65382,65438]};
var I,C,A,L={};if(H.df_fkktohkk){for(I=0,C=H.df_fkktohkk["range"]["start"];C<=H.df_fkktohkk["range"]["end"];C++,I++){L[String.fromCharCode(C)]=String.fromCharCode.apply(null,(E[C]!=null?E[C]:[D[I]]))}for(C in G){L[String.fromCharCode(C)]=String.fromCharCode(G[C])
}H.df_fkktohkk["convSet"]=L}var K=65438;var J=65439;var M=[12290,12300,12301,12289,12539,12530,12449,12451,12453,12455,12457,12515,12517,12519,12483,12540,12450,12452,12454,12456,12458,12459,12461,12463,12465,12467,12469,12471,12473,12475,12477,12479,12481,12484,12486,12488,12490,12491,12492,12493,12494,12495,12498,12501,12504,12507,12510,12511,12512,12513,12514,12516,12518,12520,12521,12522,12523,12524,12525,12527,12531,12443,12444];
var B={65398:{v:12460},65399:{v:12462},65400:{v:12464},65401:{v:12466},65402:{v:12468},65403:{v:12470},65404:{v:12472},65405:{v:12474},65406:{v:12476},65407:{v:12478},65408:{v:12480},65409:{v:12482},65410:{v:12485},65411:{v:12487},65412:{v:12489},65418:{v:12496,sv:12497},65419:{v:12499,sv:12500},65420:{v:12502,sv:12503},65421:{v:12505,sv:12506},65422:{v:12508,sv:12509},65395:{v:12532},65436:{v:12535},65382:{v:12538}};
var F={};if(H.df_hkktofkk){for(I=0,C=H.df_hkktofkk["range"]["start"];C<=H.df_hkktofkk["range"]["end"];C++,I++){F[String.fromCharCode(C)]=String.fromCharCode(M[I])}for(C in B){if(B[C]["v"]){F[String.fromCharCode(C,K)]=String.fromCharCode(B[C]["v"])
}if(B[C]["sv"]){F[String.fromCharCode(C,J)]=String.fromCharCode(B[C]["sv"])}}H.df_hkktofkk["convSetHKK"]=F}})();DuGaCtrl=new Class({_gaCtrl:{},gaCtrlInit:function(A){this._gaCtrl.track=false;if($type(A)!="object"||$type(A.proc)!="function"){return
}this._gaCtrl.proc=A.proc;this._gaCtrl.prefix=($type(A.prefix)=="string"?A.prefix:"");this._gaCtrl.eventId=($type(A.eventId)=="object"?A.eventId:{});this._gaCtrl.track=true},gaCtrlTrack:function(B){if(!this._gaCtrl.track){return
}var A=this._gaCtrl.prefix;if(this._gaCtrl.eventId[B]!=null){A+=this._gaCtrl.eventId[B]}else{if(this._gaCtrl.eventId["_default"]!=null){A+=this._gaCtrl.eventId["_default"]}else{A+=B}}this._gaCtrl.proc(A)
}});