var undefined;var uutuu;if(uutuu&&(typeof uutuu!="object"||uutuu.NAME)){throw new Error("Namespace 'uutuu' already exists")}uutuu={};uutuu.NAME="uutuu";uutuu.globalNS=this;uutuu.NSs={"uutuu":uutuu};uutuu.Classes={};uutuu.CoreFunction=function(A){return new Function("return 'function "+A+"() {\\n    [core code]\\n}'")};uutuu.Namespace=function(C){if(!C){throw new Error("uutuu.Namespace( ): name required")}if(C.charAt(0)=="."||C.charAt(C.length-1)=="."||C.indexOf("..")!=-1){throw new Error("uutuu.Namespace( ): illegal name: "+C)}if(C in uutuu.NSs){return uutuu.NSs[C]}var F=C.split(".");var A=uutuu.globalNS;for(var D=0;D<F.length;D++){var B=F[D];if(!A[B]){A[B]={}}else{if(typeof A[B]!="object"){var G=F.slice(0,D).join(".");throw new Error(G+" already exists and is not a valid namespace")}}A=A[B]}var E=A;if(E.NAME){throw new Error("Unrecognized namespace "+C+" is already defined")}E.NAME=C;E.Export=uutuu.Export;uutuu.NSs[C]=E;return E};uutuu.Require=function(A){if(!A){throw new Error("uutuu.Require( ): argument invalid")}else{if(A.constructor==String&&!uutuu.NSs[A]&&!uutuu.Classes[A]){throw new Error("uutuu.Require( ): "+A+" is required")}}};uutuu.Defined=function(A){if(!A){return false}else{if(A.constructor==String&&!uutuu.NSs[A]&&!uutuu.Classes[A]){return false}}return true};uutuu.Export=function(B){if(!this.EXPORT){this.EXPORT=new Array()}if(B.constructor==String){this.EXPORT.push(B)}else{for(var A=0;A<B.length;A++){this.EXPORT.push(B[A])}}if(arguments.length>1){for(var A=1;A<arguments.length;A++){this.EXPORT.push(arguments[A])}}};uutuu.Import=function(F,E){var C=F;var D=null;if(typeof F=="string"){C=uutuu.NSs[F];if(!C){var A=F.lastIndexOf(".");if(A<0){throw new Error("uutuu.Import( ): illegal symbol name: "+F)}D=F.substring(A+1);C=uutuu.NSs[F.substring(0,A)]}}if(!C||typeof C!="object"){throw new Error("uutuu.Import( ): illegal namespace")}if(!E){E=uutuu.globalNS}if(!C.EXPORT){return null}if(!D){for(var B=0;B<F.EXPORT.length;B++){E[F.EXPORT[B]]=F[F.EXPORT[B]]}return null}else{if(!(D in C)){throw new Error("uutuu.Import( ): symbol "+s+" is not defined")}else{for(var B=0;B<C.EXPORT.length;B++){if(D==C.EXPORT[B]){E[D]=C[D];return C[D]}}}}};uutuu.Class=function(G){if(uutuu.Classes[G.name]){return uutuu.Classes[G.name]}var E=G.name;var M=G.extend||Object;var C=G.construct||function(){};var D=G.methods||{};var L=G.statics||{};var H;var K;if(!G.borrows){H=[]}else{if(G.borrows instanceof Array){H=G.borrows}else{H=[G.borrows]}}if(!G.provides){K=[]}else{if(G.provides instanceof Array){K=G.provides}else{K=[G.provides]}}var I=new M();for(var A in I){if(I.hasOwnProperty(A)){delete I[A]}}for(var F=0;F<H.length;F++){var J=H[F];for(var A in J.prototype){if(typeof J.prototype[A]!="function"){continue}I[A]=J.prototype[A]}}if(uutuu.Resource){C.resource=function(N,O){if(O){return uutuu.Resource.getResource().langEntry(O,C.classname,N)}else{return uutuu.Resource.getResource().entry(C.classname,N)}};I.resource=C.resource}for(var A in D){I[A]=D[A]}I.constructor=C;I.superclass=M;if(E){C.classname=E;I.classname=E;var B=E.lastIndexOf(".");if(B<0){I[E]=C}else{I[E.substring(B+1)]=C}}for(var F=0;F<K.length;F++){var J=K[F];for(var A in J.prototype){if(typeof J.prototype[A]!="function"){continue}if(A=="constructor"||A=="superclass"){continue}if(A in I&&typeof I[A]=="function"&&I[A].length==J.prototype[A].length){continue}throw new Error("Class "+E+" does not provide method "+J.classname+"."+A)}}C.prototype=I;for(var A in L){C[A]=G.statics[A]}uutuu.Classes[E]=C;return C};uutuu.Callback=function(B,A){if(!(this instanceof uutuu.Callback)){return new uutuu.Callback(B,A)}this.obj=A!==undefined?B:null;this.func=A||B;this.type=0;if(this.func){this.type+=1}if(this.func instanceof Function){this.type+=1}if(this.obj instanceof Object){this.type+=2}else{this.obj=null}var C=this;var A=function(){return C.invoke(arguments)};A.constructor=this.constructor;A.toString=uutuu.CoreFunction("uutuu.Callback");return A};uutuu.Callback.prototype.invoke=function(params){var func=this.func;switch(this.type){case 1:eval("func = "+func);if(!(func instanceof Function)){return }break;case 2:break;case 3:if(this.obj[func] instanceof Function){func=this.obj[func]}else{return }break;case 4:break;default:return }return func.apply(this.obj,params)};uutuu.Event=function(){var name=uutuu.CoreFunction("uutuu.Event");var funcs=["add","clear","close"];var GetHandle={};var all={length:0,search:function(ME){var i=ME(GetHandle),me=all[i];if(me&&me.event==ME){return me}}};function add(foo){var e=all.search(this);if(e){e.push(foo)}}function clear(){var e=all.search(this);if(e){while(e.length>0){delete e[--e.length]}}}function close(){var e=all.search(this);if(e){for(var i=0;i<funcs.length;i++){delete this[funcs[i]]}delete e.event}}function run(handle,args){var e=all[handle],v,v2;for(var i=e.length-1;i>=0;i--){if((v2=e[i].apply(this,args))!==undefined){if(v2 instanceof uutuu.Event.preventDefault){if(v2.result!==undefined){v=v2.result}break}v=v2}}return v}function _Event(){if(!(this instanceof _Event)){var e=new _Event();for(i=0;i<arguments.length;i++){e.add(arguments[i])}return e}var handle=all.length++;var ME=function(_E){if(_E==GetHandle){return handle}if(all[handle].length>0){return run.call(this,handle,arguments)}};ME.constructor=_Event;ME.toString=name;all[handle]=this;this.event=ME;var f,i=0;while(f=funcs[i++]){ME[f]=eval(f)}for(i=0;i<arguments.length;i++){ME.add(arguments[i])}return ME}for(var f,i=0;i<funcs.length;i++){eval(f=funcs[i]).toString=uutuu.CoreFunction("uutuu.Event."+f)}_Event.toString=name;_Event.prototype.length=0;_Event.prototype.push=function(foo){this[this.length++]=foo};return _Event}();uutuu.Event.preventDefault=function(B){var A=uutuu.Event.preventDefault;if(this instanceof A){this.result=B}else{return new A(B)}};uutuu.Namespace("uutuu.util");uutuu.util.noUnitCss=function(B,A,C){if(C===undefined||C==null){var C=jQuery(B).css(A);if(C&&"string"==typeof C){C=C.replace(/[a-zA-Z]/g,"")}return C?parseInt(C):0}else{jQuery(B).css(A,C+"px")}};uutuu.util.locate=function(R,D,H,A,N,O,B){var P=(D===undefined||D==null)?R:D;var G=jQuery(P).offset();if(D===undefined||D==null){return[G.top,G.left]}if(D=="screen"){return uutuu.util.locateFix(R,H,N,O)}else{if(D=="innerFix"){return uutuu.util.locateInnerFix(R,N,O,B)}}var L=jQuery(R).offsetParent();if(L.length>0&&L[0]!=document.body){var M=L.offset();G.top-=M.top+this.noUnitCss(L,"borderTopWidth");G.left-=M.left+this.noUnitCss(L,"borderLeftWidth")}A=A?A:"";N=N?parseInt(N):0;O=O?parseInt(O):0;var E=this.width(R);var F=this.height(R);var Q=this.width(D);var C=this.height(D);switch(H){case"center":G.top+=C/2;G.left+=Q/2;break;case"top-left":break;case"top-right":G.left+=Q;break;case"bottom-right":G.top+=C;G.left+=Q;break;case"bottom-left":default:G.top+=C;break}var K=A.split("-");var I=K[0];var J=K[1];switch(I){case"left":G.left-=E+O;break;case"center":G.left-=E/2;break;case"right":G.left+=O;break}switch(J){case"up":G.top-=F+N;break;case"center":case undefined:G.top-=F/2;break;case"down":G.top+=N;break}jQuery(R).css("top",G.top).css("left",G.left)};uutuu.util.locateFix=function(D,C,E,A){var B=function(J,R,N,O){R=R||"bottom-right";N=N||0;O=O||0;var M=(jQuery.browser.msie&&jQuery.browser.version=="6.0")?true:false;var P;var L,I;if(M){L=uutuu.util.getPageXOffset();I=uutuu.util.getPageYOffset()}if(R==undefined||R.constructor==String){switch(R){case ("bottom-right"):P={right:O+"px",bottom:N+"px"};break;case ("bottom-left"):var K=O;var Q=N;if(M){K+=L}P={left:K+"px",bottom:Q+"px"};break;case ("top-left"):var K=O;var S=N;if(M){K+=L;S+=I}P={left:K+"px",top:S+"px"};break;case ("top-right"):var G=O;var S=N;if(M){S+=I}P={right:G+"px",top:S+"px"};break;case ("center"):var K=0;var S=0;var H,F;if(self.innerHeight){H=self.innerWidth;F=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){H=document.documentElement.clientWidth;F=document.documentElement.clientHeight}else{if(document.body){H=document.body.clientWidth;F=document.body.clientHeight}}}K=H/2-jQuery(J).width()/2+O;S=F/2-jQuery(J).height()/2+N;if(M){K+=L;S+=I}P={left:K+"px",top:S+"px"};break}}else{P=R}jQuery(J).css("z-index","100").css(P).css("position","fixed");if(M){jQuery(J).css("position","absolute")}};if(jQuery(D).length==0){return }jQuery(D).show();if(jQuery.browser.msie&&jQuery.browser.version=="6.0"){B(D,C,E,A);jQuery(D).attr("lasttime",0);jQuery(window).scroll(function(){var G=parseInt(jQuery(D).attr("lasttime"));var F=(new Date()).getTime();if(G>0&&F-G>20){B(D,C,E,A);jQuery(D).attr("lasttime",F)}else{if(G==0){jQuery(D).attr("lasttime",F)}window.setTimeout(function(){var I=parseInt(jQuery(D).attr("lasttime"));var H=(new Date()).getTime();if(H-I>20){B(D,C,E,A);jQuery(D).attr("lasttime",F)}},40)}})}else{B(D,C,E,A);jQuery(window).resize(function(){B(D,C,E,A)})}};uutuu.util.locateInnerFix=function(D,H,A,B){H=H||0;A=A||0;B=B||{};var G=jQuery(D).get(0);if(typeof (G)=="undefined"){return }var C=G.parentNode;var F=jQuery(G).offset().top;var E=jQuery(G).offset().left;F=F.valueOf();E=E.valueOf()+A;jQuery(window).scroll(function(){var I=G.scrollHeight;var K=C.scrollHeight;var M=K-I-80;var L=uutuu.util.getPageYOffset();var J=L-F+10;if(typeof B.maxRTop!="undefined"){M=B.maxRTop}if(J>0&&J<M){if(jQuery.browser.msie&&parseInt(jQuery.browser.version)<=6){jQuery(G).css("position","relative");jQuery(G).css("top",J+"px")}else{jQuery(G).css("position","fixed");jQuery(G).css("top",H+"px");jQuery(G).css("left",E+"px")}}else{if(J>=M){jQuery(G).css("position","relative");jQuery(G).css("top",M+"px");jQuery(G).css("left","")}else{jQuery(G).css("position","");jQuery(G).css("top","");jQuery(G).css("left","")}}})};uutuu.util.width=function(F,H){var E=jQuery(F);var G=["Right","Left"];var C=[["margin",""],["border","Width"],["padding",""]];if(H===undefined||H==null){return E.outerWidth(true)}else{for(var B=0;B<G.length;B++){for(var A=0;A<C.length;A++){var D=E.css(C[A][0]+G[B]+C[A][1]);if(D&&"string"==typeof D){D=D.replace(/[a-zA-Z]/g,"")}H-=D?parseInt(D):0}}if(H<0){H=0}E.width(H)}};uutuu.util.height=function(F,H){var E=jQuery(F);var G=["Top","Bottom"];var C=[["margin",""],["border","Width"],["padding",""]];if(H===undefined||H==null){return E.outerHeight(true)}else{for(var B=0;B<G.length;B++){for(var A=0;A<C.length;A++){var D=E.css(C[A][0]+G[B]+C[A][1]);if(D&&"string"==typeof D){D=D.replace(/[a-zA-Z]/g,"")}H-=D?parseInt(D):0}}if(H<0){H=0}E.height(H)}};uutuu.util.selectInputText=function(B){if(!B){return false}if(B.tagName.toLowerCase()!="textarea"&&B.tagName.toLowerCase()!="input"&&B.getAttribute("type")!="text"){return false}if(B.createTextRange){var A=B.createTextRange();A.select();return true}else{if(B.select){B.select();return true}}return false};uutuu.util.copy=function(B){if(window.clipboardData){window.clipboardData.setData("Text",B);return true}else{if(window.netscape){try{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");var D=Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);if(!D){return false}var C=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);if(!C){return false}C.addDataFlavor("text/unicode");var G=new Object();var A=new Object();var G=Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);var H=B;G.data=H;C.setTransferData("text/unicode",G,H.length*2);var E=Components.interfaces.nsIClipboard;if(!D){return false}D.setData(C,null,E.kGlobalClipboard);return true}catch(F){return false}}}return false};uutuu.util.getScreenX=function(){if(window.screenLeft!=undefined){return window.screenLeft}else{return window.screenX}};uutuu.util.getScreenY=function(){if(window.screenTop!=undefined){return window.screenTop}else{return window.screenY}};uutuu.util.getInnerWidth=function(){if(window.innerWidth!=undefined){return window.innerWidth}else{if(document.documentElement&&document.documentElement.clientWidth!=undefined){return document.documentElement.clientWidth}else{if(document.body.clientWidth!=undefined){return document.body.clientWidth}}}};uutuu.util.getInnerHeight=function(){if(window.innerHeight!=undefined){return window.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight!=undefined){return document.documentElement.clientHeight}else{if(document.body.clientHeight!=undefined){return document.body.clientHeight}}}};uutuu.util.getPageXOffset=function(){if(window.pageXOffset!=undefined){return window.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollLeft!=undefined){return document.documentElement.scrollLeft}else{if(document.body.scrollLeft!=undefined){return document.body.scrollLeft}}}};uutuu.util.getPageYOffset=function(){if(window.pageYOffset!=undefined){return window.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop!=undefined){return document.documentElement.scrollTop}else{if(document.body.scrollTop!=undefined){return document.body.scrollTop}}}};uutuu.util.getScrollWidth=function(){if(document.documentElement&&document.documentElemnet.scrollWidth!=undefined){return document.documentElement.scrollWidth}else{if(document.body.scrollWidth!=undefined){return document.body.scrollWidth}}};uutuu.util.getScrollHeight=function(){if(document.documentElement&&document.documentElemnet.scrollHeight!=undefined){return document.documentElement.scrollHeight}else{if(document.body.scrollHeight!=undefined){return document.body.scrollHeight}}};uutuu.util.encodeQueryContext=function(A,B){var C=encodeURIComponent(A);C=C.replace(/\!/g,"%21");C=C.replace(/\~/g,"%7E");C=C.replace(/\*/g,"%2A");C=C.replace(/\'/g,"%27");C=C.replace(/\(/g,"%28");C=C.replace(/\)/g,"%29");C=C.replace(/\./g,"~2E");C=C.replace(/\-/g,"~2D");C=C.replace(/\%2F/g,"-");C=C.replace(/\%/g,"~");return B?C:(C+".htm")};uutuu.util.loadScript=function(A,B){uutuu.util.jQueryAjaxHelper({type:"GET",url:A,success:B,dataType:"script",cache:true})};uutuu.util.loadStyle=function(A){var B=document.createElement("link");B.rel="stylesheet";B.type="text/css";document.getElementsByTagName("head")[0].appendChild(B);B.href=A};uutuu.util.loadImage=function(elem,url){if(elem.tagName.toLowerCase()!="img"){return }var inst=uutuu.util.loadImage;inst.loaded=inst.loaded||{};if(inst.loaded[url]){jQuery(elem).attr("src",url);return }if(!elem.loader){elem.loader={loading:false,defH:0,defW:0,link:null,proxy:jQuery(document.createElement("img")).load(function(){var target=this.target;with(target.loader){inst.loaded[link]=true;loading=false;jQuery(target).height(defH).width(defW).css("background","none").attr("src",link)}})};elem.loader.proxy[0].target=elem}with(elem.loader){if(!loading){defH=elem.style.height||"auto";defW=elem.style.width||"auto";jQuery(elem).height(jQuery(elem).height()).width(jQuery(elem).width()).css("background",'url("'+js_context.theme_url.get("image/indicator.gif","common")+'") no-repeat center center').attr("src",js_context.theme_url.get("image/transparent.gif","common"));loading=true}link=url;proxy.attr("src",link)}};jQuery.fn.getImage=function(A){if(this.length>0){uutuu.util.loadImage(this[0],A)}return this};uutuu.util.safeHtml=function(content){var re,arr,code="";var func=function(co){var uutuuHTML="";var old=document.write;document.write=function(c){uutuuHTML+=c};window.eval(co);document.write=old;return uutuuHTML};re=/<script(?:.*?)>((?:.|\s)*?)<\/script>/ig;while((arr=re.exec(content))!=null){if(arr[1]!=""){code+=arr[1]}}re=/<script(?:.*?)src=(?:'|")(.*?)(?:'|")(?:(?:.|\n|\r)*?)\/script>/ig;while((arr=re.exec(content))!=null){jQuery.ajax({type:"GET",url:arr[1],async:false,dataType:"text",cache:true,success:function(data){code+=data}})}code=code.replace(/\n/ig,"").replace(/<!--\/\//ig,"").replace(/<!\[CDATA\[/ig,"").replace(/\/\/ \]\]>/ig,"").replace(/-->/ig,"");try{return func(code)}catch(e){return""}};jQuery.fn.safeHtml=function(A,B){if(this.length>0){var A=uutuu.util.safeHtml(A);if(typeof (B)=="function"){A=B(A)}this.html(A)}return this};uutuu.util.registerUnloadMonitor=function(elem,callback){if(elem&&"function"==typeof elem){callback=elem;elem=null}if(!elem){elem=".uutuu_unload"}if(!callback){callback=function(event){uutuu.UI.Dialog.message(uutuu.Resource.getResource().entry(null,"INFO_REQUESTING"),-1);event.preventDefault();event.data(event)}}jQuery(elem).each(function(){var obj=jQuery(this);var func=obj.attr("onclick");if(func){obj.attr("onclick","");if("string"==typeof func){eval("c = function(event) {"+func+"};");func=c}}else{if(obj.attr("href")){func=function(event){var link=obj.attr("href");link=link.replace(/@([^@]*)@/g,function(pattern,key){if(key==""){return"@"}else{if(uutuu.util.context(key)){return uutuu.util.context(key)}}});if(obj.attr("target")){window.open(link,obj.attr("target"))}else{window.location=link}}}}if(!func){return }obj.bind("click",func,callback)})};uutuu.util.jQueryAjaxHelper=function(C,B){C.error=B||C.error||function(G,E,F){if(F&&F.message){uutuu.util.log("ERROR",F.message);return }var H="ERROR_REQUEST_FAILED";switch(E){case"timeout":H="ERROR_REQUEST_TIMEOUT";break;case"parsererror":H="ERROR_REQUEST_PARSEERROR";break}uutuu.util.log("ERROR",uutuu.Resource.getResource().entry(null,H))};var A=C.success;C.success=function(F,H){if(C.dataType=="json"&&F&&F.confirm){if(F.dlg_type=="custom"&&!uutuu.UI.Dialog[F.dlg_id]){var G=document.createElement("div");jQuery(G).css({display:"none"}).html(F.message.replace(/@theme_url@/g,js_context.theme_url)).appendTo(document.body)}uutuu.UI.Dialog.message(uutuu.Resource.getResource().entry(null,"INFO_UI_LOADED"));setTimeout(function(){uutuu.UI.Dialog.launch(F.dlg_id)},300);return }if(!A){return }try{A(F,H)}catch(E){C.error(null,"responseException",E)}};try{jQuery.ajax(C)}catch(D){C.error(null,"requestException",D)}};uutuu.util.buildFormData=function(E){var C={};E=jQuery(E);var F=E.attr("action");var D="";var A="";var B="";jQuery(":input[method!='skip']",E).each(function(){if(this.tagName=="INPUT"){switch(this.type){case"radio":case"checkbox":if(!this.checked){return }case"text":case"password":case"hidden":break;default:return }}var H=jQuery(this).val();var G=jQuery(this).attr("name");switch(jQuery(this).attr("method")){case"url":A+=jQuery(this).val()+"/";break;case"context":if(!G){return }B+=jQuery(this).attr("name")+"."+uutuu.util.encodeQueryContext(jQuery(this).val(),true)+".";break;default:if(!G){return }D+="&"+jQuery(this).attr("name")+"="+encodeURIComponent(jQuery(this).val());break}});if(F){B=(B.length==0)?B:(B+"htm");C.url=F.replace(/^(.+?)\/*$/,"$1/")+A+B}C.data=D.substring(1);return C};uutuu.util.context=function(A,B){if(!uutuu.globalNS.js_context){uutuu.globalNS.js_context={}}if(A===undefined){return uutuu.globalNS.js_context}if(B===undefined){return uutuu.globalNS.js_context[A]}else{uutuu.globalNS.js_context[A]=B}};uutuu.util.bind=function(D,C,B,A){var E=B;if(B!="eval"&&B!="member"){E="event"}if(E=="event"){jQuery("[obj='"+C+"'][op]").each(function(){var G=jQuery(this).attr("op");G=[G,G+"Handler","on"+G];for(var F=0;F<G.length;F++){if(D[G[F]]&&"function"==typeof D[G[F]]){jQuery(this).bind(B,A,function(H){if(!H.currentTarget){H.currentTarget=this}if(H.data&&"function"==typeof H.data){H.data=H.data(this)}D[G[F]](H)});break}}})}else{if(E=="member"){jQuery("[obj='"+C+"'][var]").each(function(){var F=jQuery(this).attr("var");D[F]=this})}else{jQuery("[mark]",jQuery(D)).each(function(){var G=jQuery(this).attr("mark");if(C[G]!==undefined){var F=this.tagName;if(F=="INPUT"||F=="TEXTAREA"||F=="SELECT"){jQuery(this).val(C[G].toString())}else{if(F=="IMG"){jQuery(this).getImage(C[G].toString())}else{jQuery(this).html(C[G].toString())}}}})}}};uutuu.util.cookie=function(B,I,L){if(typeof I!="undefined"){L=L||{};if(I===null){I="";L.expires=-1}var E="";if(L.expires&&(typeof L.expires=="number"||L.expires.toUTCString)){var F;if(typeof L.expires=="number"){F=new Date();F.setTime(F.getTime()+(L.expires*24*60*60*1000))}else{F=L.expires}E="; expires="+F.toUTCString()}var K=L.path?"; path="+L.path:"";var G=L.domain?"; domain="+L.domain:"";var A=L.secure?"; secure":"";document.cookie=[B,"=",encodeURIComponent(I),E,K,G,A].join("")}else{var D=null;if(document.cookie&&document.cookie!=""){var J=document.cookie.split(";");for(var H=0;H<J.length;H++){var C=jQuery.trim(J[H]);if(C.substring(0,B.length+1)==(B+"=")){D=decodeURIComponent(C.substring(B.length+1));break}}}return D}};uutuu.util.login=function(B){if(B.failed){if(B.data.error!=""){jQuery("#ajaxloginform #before_error_tr").show();jQuery("#ajaxloginform #error_tr").show();jQuery("#ajaxloginform #error_td").html(B.data.error)}else{jQuery("#ajaxloginform #before_error_tr").hide();jQuery("#ajaxloginform #error_tr").hide()}if(B.data.email_error!=""){jQuery("#ajaxloginform #email_error_label").html(B.data.email_error)}if(B.data.pwd_error!=""){jQuery("#ajaxloginform #pwd_error_label").html(B.data.pwd_error)}jQuery("#ajaxloginform input[name=pwd]").val("")}else{jQuery("#ajaxloginfor #before_error_tr").hide();jQuery("#ajaxloginfor #error_tr").hide()}var A={dlgid:"login",addr:js_context.base_url+"service/ui/dialog/login",callback:B.callback,data:{callback:B.callback}};uutuu.UI.Dialog.request(A)};uutuu.util.formatString=function(F,A){var E=F.length;var C=0;var B=0;var D=F;while(C<E){if(F.charCodeAt(C)<128){B++}else{B+=2}C++;if(B>=A){D=F.substring(0,C);if(C<E){D=D+"...";break}break}}return D};var uneval;uutuu.util.clone=function(obj){if(uneval){return eval(uneval(obj))}else{if(typeof obj=="object"){var cloned=new obj.constructor();for(var name in obj){var copy=obj[name];if(copy===obj){cloned[name]=copy}else{if(typeof copy=="object"){cloned[name]=uutuu.util.clone(copy)}else{cloned[name]=copy}}}return cloned}else{return obj}}};uutuu.util.WindowSizeMonitor={available:0,width:uutuu.util.getInnerWidth(),height:uutuu.util.getInnerHeight(),enable:function(){var A=this;if(!this.available){this.available=true;jQuery(window).bind("resize.uutuu",function(B){B.stopPropagation();A.changedHandler()});A.changedHandler()}},disable:function(){jQuery(window).unbind("resize.uutuu");this.available=false},changedHandler:function(){var B=uutuu.util.getInnerWidth();var A=uutuu.util.getInnerHeight();if(B!=this.width||A!=this.height){this.width=B;this.height=A;jQuery(window).trigger("windowResize",[{"width":B,"height":A}])}}};uutuu.util.log=function(){var D=[];var A=/www\.uutuu\.com/i;var E=/logenable\.true\./i;var B=A.test(location.href)?false:E.test(location.href);var C=function(G,F,H){if(arguments.length==2){H=F;F="default"}if(uutuu.Defined("uutuu.util.Logger")){return uutuu.util.Logger.getLogger().log(G,F,H)}if(!B){return }if(D.length==0){uutuu.util.loadStyle(js_context.theme_url.get("image/css/debug.css","common"));uutuu.util.loadScript(js_context.theme_url.get("image/js/uutuu/uutuu.util.logger.js","common"),function(){var I=uutuu.util.Logger.getLogger();I.initialize({enable:true});while(D.length>0){var J=D.shift();uutuu.util.Logger.getLogger().log(J[0],J[1],J[2])}})}D.push([G,F,H])};return C}();if(!jQuery.support){jQuery.support={}}jQuery.support.hoverEffect=!jQuery.browser.msie||parseInt(jQuery.browser.version)>=7;uutuu.util.buttonInit=function(){if(!jQuery.support.hoverEffect){jQuery("input.btn_script").each(function(){jQuery(this).removeClass("btn_script");var A=jQuery(this).attr("class").match(/(?:^| )btn_[^ ]+/);if(!A){return }jQuery(this).mouseover(function(){jQuery(this).addClass(A[0]+"_mouseover")}).mouseout(function(){jQuery(this).removeClass(A[0]+"_mouseover").removeClass(A[0]+"_mousedown")}).mousedown(function(){jQuery(this).removeClass(A[0]+"_mouseover").addClass(A[0]+"_mousedown")}).mouseup(function(){jQuery(this).removeClass(A[0]+"_mousedown").addClass(A[0]+"_mouseover")}).click(function(){jQuery(this).blur()})})}};uutuu.util.debugInfo=function(A){uutuu.util.log("debug",A)};uutuu.util.trace=function(E,C){if(typeof pageTracker=="undefined"||!pageTracker){return }var A=location.href;var B=new RegExp("^http(s)?://[^/]*"+js_context.base_url+"(.*)$","ig");A=A.replace(B,"$2");if(typeof C=="undefined"||!C){C="unknown"}var D="/trace/"+E+"/"+C+"/"+A;pageTracker._trackPageview(D)};uutuu.util.errorReport=function(F,D,B){var E="";if(typeof D!="undefined"){E+=uutuu.Resource.getResource().entry("error_report","INFO_DETAIL_TITLE");for(var C in D){E+=C+":"+D[C]+"<br />"}}var A='<div style="line-height:20px;">'+F+E+"</div>";uutuu.UI.Dialog.confirm('<div style="line-height:20px;">'+uutuu.Resource.getResource().entry("error_report","INFO_DETAIL_INFO")+"</div>",uutuu.Resource.getResource().entry("error_report","LABEL_CLOSE")+","+uutuu.Resource.getResource().entry("error_report","LABEL_VIEW")+","+uutuu.Resource.getResource().entry("error_report","LABEL_REPORT"),function(){uutuu.UI.Dialog.getMessageBox().close()},function(){uutuu.UI.Dialog.confirm(A,uutuu.Resource.getResource().entry("error_report","LABEL_CLOSE")+",,"+uutuu.Resource.getResource().entry("error_report","LABEL_REPORT"),function(){},function(){uutuu.util.errorEmail(A,B)})},function(){uutuu.util.errorEmail(A,B)})};var _report_mail="content@uutuu.com";uutuu.util.errorEmail=function(B,A){if(!A){A=_report_mail}uutuu.UI.Dialog.message(uutuu.Resource.getResource().entry("error_report","INFO_MAIL_SENDING"));jQuery.ajax({type:"POST",url:js_context.base_url+"service/mail/errormail",data:{"to":A,"subject":"Javascript Error Report","body":B},dataType:"json",success:function(C){uutuu.UI.Dialog.alert(uutuu.Resource.getResource().entry("error_report","INFO_MAIL_SENT"))}})};uutuu.Namespace("uutuu");uutuu.Export("Resource");uutuu.Resource=uutuu.Class({name:"uutuu.Resource",construct:function(){for(className in uutuu.Classes){uutuu.Classes[className].prototype.resource=this}this.lang=this.Resource.LANG_DEFAULT;this.library={}},methods:{entry:function(B,A){return this.langEntry(this.lang,B,A)},langEntry:function(C,B,A){if(!this.library[C]){return null}if(!B){return this.library[C][A]}else{if(this.library[C][B]&&this.library[C][B][A]){return this.library[C][B][A]}else{if(uutuu.Classes[B]&&uutuu.Classes[B].prototype.superclass){return this.langEntry(C,uutuu.Classes[B].prototype.superclass.classname,A)}else{return this.library[C][A]}}}},use:function(A){if(this.library[A]){this.lang=A}},register:function(B,A){this.library[B]=A}},statics:{LANG_DEFAULT:"en",getResource:function(){if(!uutuu.Resource.prototype.resource){uutuu.Resource.prototype.resource=new uutuu.Resource()}return uutuu.Resource.prototype.resource},register:function(D,A,B){var C=this.getResource();C.register(D,A);if(B){C.use(D)}}}});uutuu.Require("uutuu.Resource");uutuu.Resource.register("zh-cn",{"thickbox":{LABEL_ESC_CLOSE:"\u3000"},"uutuu.UI.Dialog":{TYPE_OK:"\u786e\u5b9a,,",TYPE_OKCANCEL:"\u786e\u5b9a,,\u53d6\u6d88",TYPE_YESNO:"\u662f,\u5426,",TYPE_YESNOCANCEL:"\u662f,\u5426,\u53d6\u6d88",INFO_TIMEOUT:"\u64cd\u4f5c\u8d85\u65f6",INFO_UI_LOADING:"\u6b63\u5728\u52a0\u8f7d\u754c\u9762\uff0c\u8bf7\u7a0d\u7b49\u2026\u2026",ERROR_DATABIND:"\u65e0\u6cd5\u52a0\u8f7d\u6570\u636e\uff0c\u8bf7\u7a0d\u5019\u518d\u8bd5\u3002",ERROR_NO_UI_SRC:"\u65e0\u6cd5\u52a0\u8f7d\u754c\u9762:\u754c\u9762\u8d44\u6e90\u672a\u6307\u5b9a\u3002"},"uutuu.UI.Panel":{MESSAGEBOX_LABEL_OK:"\u786e\u5b9a",MESSAGEBOX_TYPE_OKCANCEL:"\u786e\u5b9a,,\u53d6\u6d88",MESSAGEBOX_TYPE_YESNO:"\u662f,\u5426,",MESSAGEBOX_TYPE_YESNOCANCEL:"\u662f,\u5426,\u53d6\u6d88",INFO_MESSAGEBOX_TIMEOUT:"\u64cd\u4f5c\u8d85\u65f6"},"uutuu.util.Validator":{ERROR_VALIDATE:"@display@\u4e0d\u6b63\u786e\uff0c\u8bf7\u9a8c\u8bc1\u60a8\u7684\u8f93\u5165",ERROR_SELECT:"\u60a8\u9700\u8981\u9009\u62e9@display@\u624d\u80fd\u7ee7\u7eed",ERROR_REQUIRE:"\u60a8\u9700\u8981\u586b\u5199@display@\u624d\u80fd\u7ee7\u7eed",ERROR_MAXLENGTH:"\u8bf7\u5c06@display@\u9650\u5236\u5728@0@\u5b57\u5185",ERROR_DATE:"\u60a8\u8f93\u5165\u7684@display@\u7cfb\u7edf\u65e0\u6cd5\u63a5\u53d7\uff0c\u8bf7\u6309YYYY.MM.DD\u683c\u5f0f\u8f93\u5165",ERROR_URL:"@display@\u5305\u542b\u975e\u6cd5URL\u5b57\u7b26",ERROR_ALPHASPACE:"@display@\u53ea\u80fd\u662f\u5b57\u6bcd\u4e0e\u7a7a\u683c\u7684\u7ec4\u5408",ERROR_NUMERIC:"@display@\u53ea\u80fd\u662f\u6570\u5b57"},"uutuu.App.Album":{FIELD_ALBUM_TITLE:"\u6807\u9898",FIELD_ALBUM_BODY:"\u5377\u9996\u8bed",FIELD_ALBUM_TAG:"\u6807\u7b7e",FIELD_DATE:"\u65e5\u671f",LABEL_DEFAULT_DATE:"\u65e0\u62cd\u6444\u65e5\u671f",LABEL_ALBUM_SELECTION:"\u9009\u62e9\u76f8\u518c",LABEL_ALBUM_NEW:"\u65b0\u5efa\u76f8\u518c",INFO_LOADING:"\u6570\u636e\u52a0\u8f7d\u4e2d\u2026\u2026",INFO_SAVING:"\u6b63\u5728\u5c06\u6570\u636e\u4fdd\u5b58\u5230\u670d\u52a1\u5668\u2026\u2026",INFO_SAVE_SUCCEEDED:"\u4fdd\u5b58\u6210\u529f",INFO_DELETE_CONFIRM:"\u60a8\u771f\u7684\u8981\u5220\u9664\u5417\uff0c\u65e0\u6cd5\u6062\u590d\u7684\u54df\uff1f<br/>\uff08\u60a8\u7684\u7167\u7247\u4e0d\u4f1a\u88ab\u5220\u9664\uff09",INFO_DELETING:"\u6b63\u5728\u5220\u9664\u2026\u2026",INFO_DELETE_SUCCEEDED:"\u5220\u9664\u6210\u529f",INFO_UNLOAD_CONFIRM:"\u60a8\u5df2\u7ecf\u66f4\u6539\u4e86\u76f8\u518c\u5185\u5bb9\uff0c\u662f\u5426\u4fdd\u5b58\u5e76\u7ee7\u7eed\uff1f",ERROR_INVALID_RESPONSE:"\u65e0\u6548\u7684\u670d\u52a1\u5668\u54cd\u5e94",ERROR_LOADADDRESS_NOT_SET:"\u5c1a\u672a\u6307\u5b9a\u52a0\u8f7d\u5730\u5740\uff0c\u65e0\u6cd5\u7ee7\u7eed",ERROR_LOAD_FAILED:"\u52a0\u8f7d\u5931\u8d25",ERROR_SAVE_FAILED:"\u4fdd\u5b58\u5931\u8d25",ERROR_DELETE_FAILED:"\u5220\u9664\u5931\u8d25",ERROR_PHOTO_REQUIRED:"\u8bf7\u5148\u9009\u62e9\u7167\u7247\uff01"},"uutuu.App.Dialog.PhotoEditorDialog":{FIELD_PHOTO_TITLE:"\u6807\u9898",FIELD_PHOTO_BODY:"\u63cf\u8ff0",INFO_LOADING:"\u6570\u636e\u52a0\u8f7d\u4e2d\u2026\u2026",ERROR_INVALID_RESPONSE:"\u65e0\u6548\u7684\u670d\u52a1\u5668\u54cd\u5e94",ERROR_PARAM_MISSING:"\u53c2\u6570\u7f3a\u5931\uff0c\u65e0\u6cd5\u52a0\u8f7d",ERROR_DATA_NOT_FOUND:"\u6570\u636e\u4e0d\u5b58\u5728\uff0c\u52a0\u8f7d\u5931\u8d25",ERROR_LOAD_FAILED:"\u52a0\u8f7d\u5931\u8d25"},"uutuu.App.ThemeSelector":{FIELD_BG_MUSIC_ADDR:"\u80cc\u666f\u97f3\u4e50\u5730\u5740"},"uutuu.App.MagicAdmin":{INFO_DEFAULT_CONFIRM:'\u8bf7\u786e\u8ba4"@display@"\u64cd\u4f5c',INFO_LOADING:"\u6b63\u5728\u52a0\u8f7d\u7ba1\u7406\u9879\u2026\u2026",INFO_LOAD_COMPLETED:"\u52a0\u8f7d\u7ba1\u7406\u9879\u6210\u529f",ERROR_LOAD_FAILED:"\u52a0\u8f7d\u7ba1\u7406\u9879\u5931\u8d25",ERROR_NOOPTIONS:"\u65e0\u7ba1\u7406\u9879"},"uutuu.UI.Progressable":{INFO_PREPARING:"\u6b63\u5728\u51c6\u5907\u6570\u636e\u2026\u2026",INFO_ITEM_PROCESSING:"\u6b63\u5728\u5904\u7406\u7b2c@current@\u9879\uff0c\u603b\u5171@total@\u9879\u2026\u2026",INFO_ITEM_ERROR:"\u5904\u7406\u5931\u8d25\u3002",INFO_ITEM_OP_SKIP:"\u8df3\u8fc7\u6b64\u9879\u3002",INFO_ITEM_OP_BREAK:"\u4e2d\u65ad\u5904\u7406\u3002",INFO_COMPLETE:"\u5b8c\u6210"},"uutuu.App.Dialog.BatchDialog":{ERROR_PHOTO_REQUIRED:"\u8bf7\u5148\u9009\u62e9\u7167\u7247\uff01",INFO_BATCH_SUCCESS:"\u64cd\u4f5c\u6210\u529f\u3002",INFO_BATCH_PARTSUCCESS:"\u64cd\u4f5c\u5931\u8d25\uff08\u5df2\u5b8c\u6210@num@\u5f20\u7167\u7247\uff09\uff1a<br/>@msg@",INFO_BATCH_FAIL:"\u64cd\u4f5c\u5931\u8d25\uff1a<br/>@msg@",INFO_UPDATING:"\u6b63\u5728\u66f4\u65b0\u6570\u636e\u2026\u2026"},"uutuu.App.Dialog.BatchUpdGeoDialog":{FIELD_GEOTAG:"\u62cd\u6444\u5730"},"uutuu.App.Dialog.BatchUpdTimeDialog":{FIELD_DATE:"\u65e5\u671f"},"uutuu.App.Dialog.BatchTagDialog":{FIELD_TAG:"\u6807\u7b7e"},"uutuu.App.Dialog.BatchDelDialog":{INFO_DELETE_CONFIRM:"\u60a8\u771f\u7684\u8981\u5220\u9664\u8fd9\u4e9b\u7167\u7247\u5417\uff0c\u65e0\u6cd5\u6062\u590d\u7684\u54df\uff1f"},"uutuu.App.Dialog.ShareDialog":{FIELD_GROUP:"\u5708\u5b50",FIELD_TAG:"\u6807\u7b7e"},"uutuu.App.Dialog.NewGeotagDialog":{TYPE_START:"\u4e0b\u4e00\u6b65,,\u53d6\u6d88",TYPE_NORMAL:"\u4e0b\u4e00\u6b65,\u4e0a\u4e00\u6b65,\u53d6\u6d88",TYPE_COMPLETE:"\u786e\u5b9a,,\u53d6\u6d88",FIELD_GEOTAG:"\u65b0\u5730\u65b9\u6240\u5c5e\u5730\u57df",FIELD_COUNTRY:"\u65b0\u5730\u65b9\u6240\u5c5e\u56fd\u5bb6"},"uutuu.App.Dialog.FavoriteDialog":{TYPE_SAVECANCEL:"\u4fdd\u5b58,,\u53d6\u6d88",INFO_SAVE_SUCCESS:"\u4fdd\u5b58\u6210\u529f",INFO_ADD_SUCCESS:"\u6536\u85cf\u6210\u529f",LINK_FAVO_MANAGE:"\u7ba1\u7406\u6536\u85cf"},"uutuu.App.Dialog.ManageTagDialog":{FIELD_TAG:"\u6807\u7b7e"},"uutuu.App.Dialog.ReportLatlngDialog":{FIELD_LONGITUDE:"\u7ecf\u5ea6",FIELD_LATITUDE:"\u7eac\u5ea6"},"uutuu.App.BatchPool":{ERROR_PHOTO_REQUIRED:"\u8bf7\u5148\u9009\u62e9\u7167\u7247\uff01"},"uutuu.App.UserMenu":{ITEM_SPACE:"\u7a7a\u95f4",ITEM_FOOTPRINT:"\u8db3\u8ff9",ITEM_FOTOLOG:"\u76f8\u518c",ITEM_ARTICLE:"\u6587\u7ae0",ITEM_GROUP:"\u5708\u5b50",ITEM_FRIEND:"\u597d\u53cb",ITEM_BROADCAST:"\u5e7f\u64ad",ITEM_FAVORITE:"\u6536\u85cf",ITEM_SEND_MESSAGE:"\u53d1\u9001\u77ed\u6d88\u606f",ITEM_LEAVEWORDS:"\u7ed9TA\u7559\u8a00"},"uutuu.App.FotologPicShow":{INFO_NOCOMMENT_INPUT:"\u60a8\u8fd8\u6ca1\u6709\u8f93\u5165\u8bc4\u8bba\u7684\u5185\u5bb9\u3002",INFO_COMMENT_SAVING:"\u6b63\u5728\u4fdd\u5b58\u8bc4\u8bba\u4fe1\u606f\uff0c\u8bf7\u7a0d\u5019\u2026\u2026",LABEL_GEOTAG:"\u62cd\u6444\u5730\uff1a",LABEL_COMMENT_COUNT:"\u6761\u8bc4\u8bba",LABEL_SHOW_SMALL_PHOTOS:"\u663e\u793a\u5c0f\u56fe",LABEL_SHOW_LARGE_PHOTOS:"\u663e\u793a\u5927\u56fe",LABEL_HIDE_COMMENTS:"\u9690\u85cf\u8bc4\u8bba",LABEL_SHOW_COMMENTS:"\u67e5\u770b\u8bc4\u8bba",INFO_PAGINATION:"\u5171%s\u5f20\u7167\u7247 \u7b2c %s/%s \u9875 \u6bcf\u9875 %s \u5f20",FEATURE_INFO:"\u8fd9\u5f20\u7167\u7247\u88ab\u6536\u5165\u4e13\u9898\uff1a",INFO_MORE_COMMENTS:"\u66f4\u591a\u8bc4\u8bba...",ERROR_GET_COMMENT:"\u51fa\u9519\u5566\uff0c\u8bf7%s\u91cd\u8bd5%s\uff01"},"error_report":{INFO_DETAIL_TITLE:"<br /><br />\u8be6\u7ec6\u7684\u5f02\u5e38\u4fe1\u606f\u5982\u4e0b\uff08\u4ec5\u4f9b\u53c2\u8003\uff09 <br />",INFO_DETAIL_INFO:"\u975e\u5e38\u62b1\u6b49\uff0c\u5728\u521a\u624d\u7684\u64cd\u4f5c\u8fc7\u7a0b\u4e2d\u7cfb\u7edf\u4ea7\u751f\u4e00\u4e2a\u9519\u8bef\uff0c\u60a8\u53ef\u4ee5 <br />1. \u70b9\u51fb\u201c\u5173\u95ed\u201d\uff0c\u91cd\u65b0\u64cd\u4f5c\u4e00\u4e0b <br />2. \u70b9\u51fb\u201c\u67e5\u770b\u201d\uff0c\u67e5\u770b\u4e00\u4e0b\u9519\u8bef\u7684\u8be6\u7ec6\u4fe1\u606f <br />3. \u70b9\u51fb\u201c\u62a5\u544a\u201d\uff0c\u5c06\u9519\u8bef\u4fe1\u606f\u53d1\u9001\u7ed9UUTUU\uff0c\u6211\u4eec\u7684\u5de5\u4f5c\u4eba\u5458\u5c06\u5c3d\u5feb\u4e0e\u60a8\u8054\u7cfb\u5e2e\u52a9\u60a8\u89e3\u51b3\u95ee\u9898 ",LABEL_CLOSE:"\u5173\u95ed",LABEL_VIEW:"\u67e5\u770b",LABEL_REPORT:"\u62a5\u544a",INFO_MAIL_SENDING:"\u6b63\u5728\u53d1\u9001\u62a5\u544a\uff0c\u8bf7\u7a0d\u5019\u2026\u2026",INFO_MAIL_SENT:"\u53d1\u9001\u9519\u8bef\u62a5\u544a\u6210\u529f\uff0c\u975e\u5e38\u611f\u8c22\u60a8\u5bf9UUTUU\u7684\u652f\u6301"},"uutuu.App.Dialog.AddImpressionDialog":{ITEM_IMPRESS:"\u5370\u8c61",ITEM_IMPRESS_GOOD:"\u597d\u5370\u8c61",ITEM_IMPRESS_BAD:"\u5dee\u5370\u8c61",ITEM_IMPRESS_OK_BTN:"\u6dfb\u52a0\u5370\u8c61",ITEM_IMPRESS_MODIFY_BTN:"\u4fee\u6539\u6211\u7684\u5370\u8c61",ITEM_FAVOR:"\u8bc4\u4ef7",ITEM_FAVOR_GOOD:"\u559c\u7231",ITEM_FAVOR_BAD:"\u4e0d\u559c\u7231",ITEM_FAVOR_OK_BTN:"\u6dfb\u52a0\u8bc4\u4ef7",ITEM_FAVOR_MODIFY_BTN:"\u4fee\u6539\u6211\u7684\u8bc4\u4ef7",INFO_MTITLE:"\u4f60\u5df2\u7ecf\u5bf9%s\u7559\u4e0b\u8fc7%s",INFO_DESTITLE:"%s\u63cf\u8ff0",INFO_TITLE:"\u8bf7\u7559\u4e0b\u4f60\u5bf9%s\u7684%s",INFO_BEENTO_TITLE:"\u73b0\u5728\u4f60\u9a6c\u4e0a\u53ef\u4ee5\u7559\u4e0b\u4f60\u5bf9%s\u7684%s",INFO_ATTENTION:"\u6ce8\uff1a\u7559\u4e0b\u5370\u8c61\u540e\uff0c\u6211\u4eec\u5c06\u628a\u201c%s\u201d\u52a0\u5165\u5230\u60a8\u53bb\u8fc7\u7684\u76ee\u7684\u5730\u3002",INFO_BEENTO:"\u201c%s\u201d\u5df2\u88ab\u52a0\u5165\u5230\u60a8\u53bb\u8fc7\u7684\u76ee\u7684\u5730",INFO_FOOTPRINT:"\u60a8\u8fd8\u53ef\u4ee5\u8fdb\u5165 %s \u7ba1\u7406\u60a8\u53bb\u8fc7\u7684\u5730\u65b9",INFO_DATA_SENDING:"\u6b63\u5728\u63d0\u4ea4\u6570\u636e...",INFO_PAGE_FRESHING:"\u6b63\u5728\u5237\u65b0\u9875\u9762...",ERROR_SCORE_EMPTY:"\u8bf7\u9009\u62e9\u4f60\u5bf9%s\u7684%s",ERROR_COMMENT_TOO_LONG:"\u63cf\u8ff0\u4e0d\u591a\u4e8e500\u4e2a\u5b57\u7b26",ERROR_COMMENT_EMPTY:"\u63cf\u8ff0\u5fc5\u987b\u586b\u5199"},INFO_DATA_LOADING:"\u6b63\u5728\u52a0\u8f7d\u6570\u636e\uff0c\u8bf7\u7a0d\u7b49\u2026\u2026",INFO_REQUESTING:"\u8bf7\u7a0d\u7b49\uff0c\u6b63\u5728\u63d0\u4ea4\u8bf7\u6c42\u2026\u2026",INFO_UI_LOADED:"\u754c\u9762\u5df2\u52a0\u8f7d\uff0c\u6b63\u5728\u542f\u52a8\u2026\u2026",ERROR_REQUEST_TIMEOUT:"\u8bf7\u6c42\u8d85\u65f6",ERROR_REQUEST_PARSEERROR:"\u8fd4\u56de\u6570\u636e\u5f02\u5e38",ERROR_REQUEST_FAILED:"\u8bf7\u6c42\u5931\u8d25",LABEL_ANONYMOUS:"\u533f\u540d",LABEL_CLOSE:"\u5173\u95ed"},true);uutuu.Require("uutuu.Resource");var tb_pathToImage="images/loadingAnimation.gif";var tb_hiddenClass="uutuu_dialog_hidden";$(document).ready(function(){tb_init("a.thickbox, area.thickbox, input.thickbox");imgLoader=new Image();imgLoader.src=tb_pathToImage});function tb_init(A){$(A).click(function(){var C=this.title||this.name||null;var B=this.href||this.alt;var D=this.rel||false;tb_show(C,B,D);this.blur();return false})}function tb_show(J,B,G){try{if(typeof document.body.style.maxHeight==="undefined"){$("body","html").css({height:"100%",width:"100%"});$("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}if(tb_detectMacXFF()){$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$("#TB_overlay").addClass("TB_overlayBG")}if(J===null){J=""}$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");$("#TB_load").show();var C;if(B.indexOf("?")!==-1){C=B.substr(0,B.indexOf("?"))}else{C=B}var E=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var K=C.toLowerCase().match(E);if(K==".jpg"||K==".jpeg"||K==".png"||K==".gif"||K==".bmp"){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(G){TB_TempArray=$("a[rel="+G+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var F=TB_TempArray[TB_Counter].href.toLowerCase().match(E);if(!(TB_TempArray[TB_Counter].href==B)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>"}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>"}}else{TB_FoundURL=true;TB_imageCount="Image "+(TB_Counter+1)+" of "+(TB_TempArray.length)}}}imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var O=tb_getPageSize();var M=O[0]-150;var R=O[1]-150;var N=imgPreloader.width;var L=imgPreloader.height;if(N>M){L=L*(M/N);N=M;if(L>R){N=N*(R/L);L=R}}else{if(L>R){N=N*(R/L);L=R;if(N>M){L=L*(M/N);N=M}}}TB_WIDTH=N+30;TB_HEIGHT=L+60;$("#TB_window").append("<a href='' id='TB_ImageOff' title='"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"'><img id='TB_Image' src='"+B+"' width='"+N+"' height='"+L+"' alt='"+J+"'/></a><div id='TB_caption'>"+J+"<div id='TB_secondLine'>"+TB_imageCount+TB_PrevHTML+TB_NextHTML+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"'>"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"</a>"+uutuu.Resource.getResource().entry("thickbox","LABEL_ESC_CLOSE")+"</div>");$("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){function Q(){if($(document).unbind("click",Q)){$(document).unbind("click",Q)}$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,G);return false}$("#TB_prev").click(Q)}if(!(TB_NextHTML==="")){function P(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,G);return false}$("#TB_next").click(P)}document.onkeydown=function(S){if(S==null){keycode=event.keyCode}else{keycode=S.which}if(keycode==27){tb_remove()}else{if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";P()}}else{if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";Q()}}}}};tb_position();$("#TB_load").remove();$("#TB_ImageOff").click(tb_remove);$("#TB_window").css({display:"block"})};imgPreloader.src=B}else{var A=B.replace(/^[^\?]+\??/,"");var D=tb_parseQuery(A);TB_WIDTH=(D["width"]*1)+30||630;TB_HEIGHT=(D["height"]*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-40;if(B.indexOf("TB_iframe")!=-1){var I=B.split("TB_");if(I[0].charAt(I[0].length-1)=="?"){I[0]=I[0].substring(0,I[0].length-1)}$("#TB_iframeContent").remove();if(D["modal"]!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+J+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"'>"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"</a>"+uutuu.Resource.getResource().entry("thickbox","LABEL_ESC_CLOSE")+"</div></div><iframe frameborder='0' hspace='0' src='"+I[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' > </iframe>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+I[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>")}}else{if($("#TB_window").css("display")!="block"){if(D["modal"]!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+J+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"'>"+uutuu.Resource.getResource().entry(null,"LABEL_CLOSE")+"</a>"+uutuu.Resource.getResource().entry("thickbox","LABEL_ESC_CLOSE")+"</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>")}}else{$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$("#TB_ajaxContent")[0].scrollTop=0;$("#TB_ajaxWindowTitle").html(J)}}$("#TB_closeWindowButton").click(tb_remove);if(B.indexOf("TB_inline")!=-1){$("#TB_window").trigger("unload").unbind("unload");$("#TB_ajaxContent").append($("#"+D["inlineId"]).children());$("#TB_window").unload(function(){$("#"+D["inlineId"]).append($("#TB_ajaxContent").children())});tb_position();$("#TB_load").remove();$("#TB_window").css({display:"block"})}else{if(B.indexOf("TB_iframe")!=-1){tb_position();if($.browser.safari){$("#TB_load").remove();$("#TB_window").css({display:"block"})}}else{$("#TB_ajaxContent").load(B+="&random="+(new Date().getTime()),function(){tb_position();$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$("#TB_window").css({display:"block"})})}}}if(!D["modal"]){document.onkeyup=function(L){if(L==null){keycode=event.keyCode}else{keycode=L.which}if(keycode==27){tb_remove()}}}}catch(H){}$("."+tb_hiddenClass).css("visibility","hidden");return $("#TB_window")[0]}function tb_showIframe(){$("#TB_load").remove();$("#TB_window").css({display:"block"})}function tb_remove(){$("."+tb_hiddenClass).css("visibility","visible");$("#TB_imageOff").unbind("click");$("#TB_closeWindowButton").unbind("click");$("#TB_window,#TB_overlay,#TB_HideSelect").trigger("unload").unbind().remove();$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$("body","html").css({height:"auto",width:"auto"});$("html").css("overflow","")}document.onkeydown="";document.onkeyup="";return false}function tb_position(){$("#TB_window").css({marginLeft:"-"+parseInt((TB_WIDTH/2),10)+"px",width:TB_WIDTH+"px"});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){$("#TB_window").css({marginTop:"-"+parseInt((TB_HEIGHT/2),10)+"px"})}}function tb_parseQuery(D){var E={};if(!D){return E}var A=D.split(/[;&]/);for(var C=0;C<A.length;C++){var G=A[C].split("=");if(!G||G.length!=2){continue}var B=unescape(G[0]);var F=unescape(G[1]);F=F.replace(/\+/g," ");E[B]=F}return E}function tb_getPageSize(){var C=document.documentElement;var A=window.innerWidth||self.innerWidth||(C&&C.clientWidth)||document.body.clientWidth;var B=window.innerHeight||self.innerHeight||(C&&C.clientHeight)||document.body.clientHeight;arrayPageSize=[A,B];return arrayPageSize}function tb_detectMacXFF(){var A=navigator.userAgent.toLowerCase();if(A.indexOf("mac")!=-1&&A.indexOf("firefox")!=-1){return true}}uutuu.Namespace("uutuu.MQ");uutuu.MQ.Export("AMQ");uutuu.MQ.AMQ=uutuu.Class({name:"uutuu.MQ.AMQ",construct:function(B,A){this.uri=!B?js_context.base_url+"service/mq/ajax":B;this.options={poll:false,pollDelay:0};this._first=true;this._pollEvent=function(C){};this._handlers=new Array();this._messages=0;this._messageQueue="";this._queueMessages=0;this._eventCore=$(document.createElement("div"));this.initialize(A)},methods:{initialize:function(A){for(key in this.options){if(A[key]!=undefined){this.options[key]=A[key]}}},sendMessage:function(A,B){this._sendMessage(A,B,"send")},addListener:function(C,A,B){this._handlers[C]=B;this._sendMessage(A,C,"listen")},removeListener:function(B,A){delete this._handlers[B];this._sendMessage(A,B,"unlisten")},addPollHandler:function(B){var A=this._pollEvent;this._pollEvent=function(C){A(C);B(C)}},startBatch:function(){this._queueMessages++},endBatch:function(){this._queueMessages--;if(this._queueMessages==0&&this._messages>0){var B=this;var A=this._messageQueue;this._messageQueue="";this._messages=0;this._queueMessages++;uutuu.util.jQueryAjaxHelper({url:B.uri,type:"POST",data:A,error:function(){},complete:function(){B.endBatch()}})}},startPolling:function(){if(this.options.poll){this._sendPoll(true)}},addEventHandler:function(A,B){this._eventCore.bind(A,B)},_sendMessage:function(A,C,B){if(this._queueMessages>0){if(this._messages==0){this._messageQueue="destination="+A+"&message="+C+"&type="+B}else{this._messageQueue+="&d"+amq._messages+"="+A+"&m"+amq._messages+"="+C+"&t"+amq._messages+"="+B}this._messages++}else{var D=this;this.startBatch();uutuu.util.jQueryAjaxHelper({url:D.uri,type:"POST",data:"destination="+A+"&message="+C+"&type="+B,error:function(){},complete:function(){D.endBatch()}})}},_sendPoll:function(A){var B=this;var C=false;B._eventCore.trigger("onPollStart");uutuu.util.jQueryAjaxHelper({url:B.uri+(A?"/0":""),type:"GET",error:function(){},success:function(D){C=true;B.startBatch();B._messageHandler(D);B._pollEvent(B._first);B._first=false},complete:function(){B._eventCore.trigger("onPollEnd");if(!C){return }B.endBatch();if(B.options.pollDelay>0){setTimeout(function(){B._sendPoll()},B.options.pollDelay)}else{B._sendPoll()}}})},_messageHandler:function(E){var A=E.getElementsByTagName("ajax-response");if(A!=null&&A.length==1){for(var C=0;C<A[0].childNodes.length;C++){var G=A[0].childNodes[C];if(G.nodeType!=1){continue}var F=G.getAttribute("id");var D=this._handlers[F];if(D){for(var B=0;B<G.childNodes.length;B++){D(G.childNodes[B])}}}}}}});uutuu.Require("uutuu.Resource");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("Dialog");uutuu.UI.Dialog=uutuu.Class({name:"uutuu.UI.Dialog",construct:function(B,C,A){this.guid=C;this.sequence=0;this.timeoutId=0;this.element=null;this._content=null;this._buttons={"ok":{label:"",element:null,callback:null},"deny":{label:"",element:null,callback:null},"cancel":{label:"",element:null,callback:null}};this.status={binded:false,type:null};this.options={isProxy:false,alterClass:null,width:0,height:0};this.initialize(B,A)},methods:{initialize:function(B,A){if(A){for(key in this.options){if(A[key]!==undefined){this.options[key]=A[key]}}}if(!B){return }if(!this.guid){this.guid=$(B).attr("id")?$(B).attr("id"):"dlg_box"+uutuu.UI.Dialog.getGuid()}$(B).attr("id",this.guid);var C=this;this.element=document.createElement("div");$(this.element).append($(B).children()).appendTo(B).bind("databind",function(){if(!C.Dialog._dataRegistry[C.guid]){return }for(var E in C.Dialog._dataRegistry[C.guid]){if(E=="sequence"){continue}var D=E.match(/^key_(.+)$/);if(!D){C.bind(C.Dialog._dataRegistry[C.guid][E])}else{C.bind(C.Dialog._dataRegistry[C.guid][E],E)}}});this._content=$("#dlg_body",this.element)[0];jQuery.each(this._buttons,function(E,D){D.element=$("#dlg_"+E,C.element)[0];if(D.element){$(D.element).attr("op",E)}$("[op="+E+"]",C.element).click(function(F){var H=C.sequence;var G=true;if(D.callback){G=D.callback(E)}if(G!==false){C.close(H)}})})},getHandler:function(){return this.element},resetTimeout:function(B,A){if(this.timeoutId){window.clearTimeout(this.timeoutId);this.timeoutId=0}if(B==-1){return }if(!B){B=uutuu.UI.Dialog.DEFAULT_TIMEOUT}else{if("function"==typeof B){A=B;B=uutuu.UI.Dialog.DEFAULT_TIMEOUT}}var C=this;if(!A){A=function(){uutuu.UI.Dialog.alert(C.resource("INFO_TIMEOUT"))}}this.timeoutId=window.setTimeout(A,B)},show:function(E,F){this.model=F!==false?true:false;if(this._content){if(this.lastData){$(this.lastData).append($(this._content).children());this.lastData=undefined}else{$(this._content).html("")}if(!E){}else{if("string"==typeof E){$(this._content).html(E)}else{$(this._content).append($(E).children());this.lastData=E}}}try{if(!this.options.isProxy&&!this.status.binded){this.status.binded=true;$(this.element).trigger("databind")}}catch(G){var B=G.message?G.message:this.resource("ERROR_DATABIND");uutuu.UI.Dialog.alert(B);return false}this.sequence=uutuu.UI.Dialog.getGuid();if(this.model){if(this.options.isProxy){tb_show(null,E,false)}else{var C=$(document.createElement("div"));C.css({visibility:"hidden",position:"absolute"}).append($(this.element).children().clone()).appendTo(document.body);var A=this.options.width>0?this.options.width:this.options.width==-1?(uutuu.util.getInnerWidth()-50):Math.max(uutuu.util.width(C)+10,200);var J=this.options.height>0?this.options.height:this.options.height==-1?(uutuu.util.getInnerHeight()-50):(uutuu.util.height(C)+5);C.remove();tb_show(null,"#TB_inline?height="+J+"&width="+A+"&modal=true&inlineId="+this.guid,false)}if(this.options.alterClass){$("#TB_window").addClass(this.options.alterClass)}var H=uutuu.UI.Dialog._modelStack;H.push({dlg:this,sequence:this.sequence});if(H.length>1&&H[H.length-2].dlg.status.type==uutuu.UI.Dialog.TYPE_MESSAGE){var I=H[H.length-2];I.dlg.close(I.sequence)}for(var D=H.length-2;D>=0;D--){if(H[D].dlg.guid==this.guid){H[D].dlg.close(H[D].sequence);break}}}else{if(!this.options.isProxy){$(this.element).parent().show()}}this.onDisplayed();return this.getHandler()},close:function(C){if(C===undefined){C=this.sequence}if(C==this.sequence){this.resetTimeout(-1);if(this._content){if(this.lastData){$(this.lastData).append($(this._content).children());this.lastData=undefined}else{$(this._content).html("")}}}this.status.binded=false;if(this.model){var A=uutuu.UI.Dialog._modelStack;for(var B=A.length-1;B>=0;B--){if(C==A[B].sequence){A[B].invalid=true;break}}if(A.length>0&&A[A.length-1].invalid){A.pop();while(A.length>0&&A[A.length-1].invalid){A.pop()}if(A.length>0){if(this.options.alterClass){$("#TB_window").removeClass(this.options.alterClass)}A.pop().dlg.show()}else{tb_remove()}}}else{if(!this.options.isProxy){$(this.element).parent().hide()}}},useDialogType:function(D,E){var C=D;var F=1;if(!D||"function"==typeof D){C=uutuu.UI.Dialog.TYPE_OKCANCEL;F=0}var G=this.resource(C);if(!G||G.length==0){G=C}this.status.type=G;G=G.split(",");var A={"ok":G[0],"deny":G[1],"cancel":G[2]};for(var B in A){if(!this._buttons[B].element){continue}if(A[B]===undefined||A[B]==""){$(this._buttons[B].element).css("display","none");continue}$(this._buttons[B].element).css("display","inline").val(A[B]);this._buttons[B].callback=null;if(arguments[F]){this._buttons[B].callback=arguments[F]}F++}},applyMessageBoxTemplate:function(A){if(!uutuu.UI.Dialog._messageBox){uutuu.UI.Dialog.initializeMessageBox()}var B=$(uutuu.UI.Dialog._messageBox.element).clone();var A=$(A);$("#dlg_body",B).attr("id","").html("").append(A.children());B.children().appendTo(A);this.initialize(A[0])},bind:function(B,A){},onDisplayed:function(){}},statics:{TYPE_MESSAGE:",,",TYPE_OK:"TYPE_OK",TYPE_OKCANCEL:"TYPE_OKCANCEL",TYPE_YESNO:"TYPE_YESNO",TYPE_YESNOCANCEL:"TYPE_YESNOCANCEL",DEFAULT_TIMEOUT:60000,getGuid:function(){return this._guid_sequence++},initializeMessageBox:function(B){var A;if(B){A=jQuery(B)}else{A=jQuery(document.createElement("div"));A.html('<div id="dlg_body"></div><div style="text-align:center;padding:5px 0px;"><input id="dlg_ok" type="button" value=""/><input id="dlg_deny" type="button" value=""/><input id="dlg_cancel" type="button" value=""/></div>')}this._messageBox=new uutuu.UI.Dialog(A[0],"dlg_mb")},getMessageBox:function(){return this._messageBox},closeMessageBox:function(){if(this._messageBox){this._messageBox.close()}},message:function(C,B,A){if(!this._messageBox){this.initializeMessageBox()}this._messageBox.resetTimeout(B,A);this._messageBox.useDialogType(this.TYPE_MESSAGE);this._messageBox.show(C)},alert:function(B,A){return this.confirm(B,this.TYPE_OK,A)},confirm:function(F,C,D){if(!this._messageBox){this.initializeMessageBox()}this._messageBox.resetTimeout(-1);var A=new Array();for(var B=1;B<arguments.length;B++){A.push(arguments[B])}uutuu.UI.Dialog.prototype.useDialogType.apply(this._messageBox,A);var E=this._messageBox.show(F);return E},request:function(A,D){var B,H;if(A.dlgid){B=A.dlgid;H=A.addr}else{try{A.preventDefault()}catch(F){}var G=$(A.currentTarget);if(!G.attr("id")){return }B=G.attr("id")}if(B.length<=4||B.substring(0,4)!="dlg_"){B="dlg_"+B}if(A.data){this.registerBindData(B,A.data,"default")}var I=this[B];if(!I){if(!H||H.length==0){H=G.attr("href")}if(!H){return }uutuu.UI.Dialog.message(this.resource("INFO_UI_LOADING"));var E=this;if(D===undefined){var C=(js_context&&js_context.jsrevision)?js_context.jsrevision:"";D=js_context.base_url+"themes/common/image/js/udialog"+C+".js"}if(D&&!this._scriptLoaded[D]){uutuu.util.loadScript(D,function(){E._scriptLoaded[D]=true;E.request({dlgid:B,addr:H},null)});return }uutuu.util.jQueryAjaxHelper({url:H,type:"POST",dataType:"json",data:"dlgId="+B,success:function(J){if(!J.success){uutuu.UI.Panel.alert(J.message)}else{if(typeof A.callback!="undefined"){A.callback(E,J)}}}})}else{this.launch(B)}},launch:function(C,B,A){if(!(this[C] instanceof uutuu.UI.Dialog)){if(this[C].prototype.classname){this[C]=new this[C](C)}else{this[C]=this[C](C)}}this[C].show(B,A)},registerBindData:function(C,B,A){if(!this._dataRegistry[C]){this._dataRegistry[C]={sequence:0}}if(A!==undefined&&A!=null&&A!=""){this._dataRegistry[C]["key_"+A]=B}else{this._dataRegistry[C][this._dataRegistry[C].sequence++]=B}},proxy:function(A,B){if(!this._proxy){this._proxy=new uutuu.UI.Dialog(null,"dlg_proxy",{isProxy:true})}this._proxy.options.alterClass=B;this._proxy.show(A)},getProxy:function(){return this._proxy},closeProxy:function(){if(this._proxy){this._proxy.close()}},_guid_sequence:0,_messageBox:null,_proxy:null,_modelStack:new Array(),_dataRegistry:{},_scriptLoaded:{}}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.Resource");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("Panel","Dock");uutuu.UI.Panel=uutuu.Class({name:"uutuu.UI.Panel",construct:function(B,A){if(!B){return }this.disable=false;this.client;this.padding={top:0,right:0,bottom:0,left:0};this.viewport;this.layout;this.dock;this.parent;this.scrollers={length:0};this.getName=function(){return B};this.initialize(A);if(this.parent){this.parent.addPanel(this)}},methods:{initialize:function(options){if(!options){options={}}this.parent=options.parent?options.parent:null;if(!options.element){options.element=document.createElement("div");if(!this.parent){$(options.element).appendTo(document.body)}}this.client=options.element;var jClient=$(this.client);if(options.cssClass){jClient.attr("class",options.cssClass)}jClient.css("position","relative");this.dock=options.dock?options.dock:new uutuu.UI.Dock();if(options.innerElement){this.viewport=this.layout=options.innerElement;if(options.innerClass){this.layout.className=options.innerClass}if(!this.layout.parentNode||this.layout.parentNode!=this.client){$(this.layout).appendTo(this.client)}var position=$(this.layout).position();with(this.padding){top=position.top;left=position.left;bottom=this.client.clientHeight-top-$(this.layout).outerHeight(true);right=this.client.clientWidth-left-$(this.layout).outerWidth(true)}$(this.layout).css("position","relative")}else{if(options.innerClass&&options.innerClass!=jClient.attr("class")){this.viewport=this.layout=document.createElement("div");$(this.layout).css("position","relative").appendTo(this.client)}else{this.viewport=this.layout=this.client}}var obj=this;this.onResize(function(event){obj.resizeHandler.apply(obj,arguments)});this.onViewportResize(function(event){obj.viewportResizeHandler.apply(obj,arguments)});this.onLayoutResize(function(event){obj.layoutResizeHandler.apply(obj,arguments)})},enable:function(C,D,H){var F=this;var B=C===false;var A=true;this.disable=B;if(A){if(D){var E=["up","down","left","right"][this.dock.side];var G=this._prepareWrapper();$(G)[this.disable?"hide":"show"](D,{direction:E},1000,function(){F._removeWrapper(G);$(F.client).trigger("panelResize");if(H){H()}})}else{$(this.client).trigger("panelResize")}}},available:function(){return !this.disable},setHeight:function(A){uutuu.util.height(this.client,A)},setWidth:function(A){uutuu.util.width(this.client,A)},getHeight:function(){return uutuu.util.height(this.client)},getWidth:function(){return uutuu.util.width(this.client)},getScrollWidth:function(){if(this.layout===this.viewport){return 0}return uutuu.util.width(this.layout)-$(this.viewport).width()},getScrollHeight:function(){if(this.layout===this.viewport){return 0}return uutuu.util.height(this.layout)-$(this.viewport).height()},addScroller:function(C,A,B){if(!C){return null}this._generateViewport();this.scrollers[this.scrollers.length++]=new C(this,A,B);if(!this.parent||(this.parent.available()&&!this.parent.suspendLayout)){$(this.viewport).trigger("panelResize")}return this.scrollers[this.scrollers.length-1]},scrollTo:function(C,B){var A=B?this.getScrollHeight():this.getScrollWidth();C=C>A?A:C;C=C<0?0:C;$(this.layout).css(B?"top":"left",-C).trigger("scroll",[C,B]);return C},scrollToBegin:function(A){this.scrollTo(0,A)},scrollToEnd:function(B){var A=B?this.getScrollHeight():this.getScrollWidth();this.scrollTo(A,B)},addPanel:function(A){},setToggler:function(B){if(!this.parent){return }var D=this;var C=B.element||function(E){var F=document.createElement("div");if(E.cssClass){$(F).attr("class",E.cssClass)}return F}();this.toggler=new uutuu.UI.Panel(this.getName()+"_toggler",{element:C,parent:this.parent,dock:this.dock});var A=function(E){if(B.closeClass){$(C)[(!E?"add":"remove")+"Class"](B.closeClass)}};A(!this.disable);$(C).click(function(F){F.preventDefault();var E=D.disable;D.enable(E,B.effect);A(E)})},onScroll:function(A){$(this.layout).bind("scroll",A);if(!this.eventHandlers){this.eventHandlers=new Array()}this.eventHandlers.push(["layout",["scroll",A]])},onResize:function(A){$(this.client).bind("panelResize",A);if(!this.eventHandlers){this.eventHandlers=new Array()}this.eventHandlers.push(["client",["panelResize",A]])},onViewportResize:function(A){$(this.viewport).bind("panelResize",A);if(!this.eventHandlers){this.eventHandlers=new Array()}this.eventHandlers.push(["viewport",["panelResize",A]])},onLayoutResize:function(A){$(this.layout).bind("panelResize",A);if(!this.eventHandlers){this.eventHandlers=new Array()}this.eventHandlers.push(["layout",["panelResize",A]])},resizeHandler:function(A){A.stopPropagation();if(this.viewport!==this.client){uutuu.util.width(this.viewport,this.client.clientWidth-this.padding.left-this.padding.right);uutuu.util.height(this.viewport,this.client.clientHeight-this.padding.top-this.padding.bottom);$(this.viewport).trigger("panelResize")}},viewportResizeHandler:function(C,B){C.stopPropagation();for(var A=0;A<this.scrollers.length;A++){B=this.scrollers[A].validateViewport(B)}if(this.layout!==this.viewport){$(this.layout).trigger("panelResize")}},layoutResizeHandler:function(B){B.stopPropagation();if(this.layout!==this.viewport){$(this.layout).css("width","auto").css("height","auto");if(uutuu.util.width(this.layout)<$(this.viewport).width()){uutuu.util.width(this.layout,$(this.viewport).width())}if(uutuu.util.height(this.layout)<$(this.viewport).height()){uutuu.util.height(this.layout,$(this.viewport).height())}for(var A=0;A<this.scrollers.length;A++){this.scrollers[A].layoutResizeHandler()}}},_generateViewport:function(){if(this.layout!==this.viewport){return }this.layout=document.createElement("div");if(this.eventHandlers){for(var A=0;A<this.eventHandlers.length;A++){if(this.eventHandlers[A][0]=="layout"){jQuery.prototype.unbind.apply($(this.viewport),this.eventHandlers[A][1]);jQuery.prototype.bind.apply($(this.layout),this.eventHandlers[A][1])}}}$(this.viewport).width($(this.viewport).innerWidth());$(this.viewport).height($(this.viewport).innerHeight());var B=["left","right","top","bottom"];for(var A=0;A<B.length;A++){$(this.layout).css("padding-"+B[A],$(this.viewport).css("padding-"+B[A]));$(this.viewport).css("padding-"+B[A],0)}$(this.viewport).css("position","relative").css("overflow","hidden").children().appendTo(this.layout);$(this.layout).css("position","absolute").width(uutuu.util.width(this.viewport)).height(uutuu.util.height(this.viewport)).appendTo(this.viewport)},_prepareWrapper:function(){if(!this.toggler){return this.client}var C=$.effects.createWrapper($(this.client));var B=(this.dock.side/2)?"Width":"Height";var A=["Bottom","Top","Right","Left"][this.dock.side];C.css("padding"+A,this.toggler["get"+B]());$(this.toggler.client).appendTo(C).css("top",A=="Bottom"?C.height():0).css("left",A=="Right"?C.width():0);$(this.client).css("display","block");return C[0]},_removeWrapper:function(A){if(this.toggler){$(this.toggler.client).insertAfter(A);$.effects.removeWrapper($(this.client))}}},statics:{dragMonitor:{debugLog:false,dragging:false,dragClass:"",x:0,y:0,initialize:function(A){var B=this;if(A){this.debugLog=$(document.createElement("div"));this.debugLog.css("position","absolute").css("background-color","white").css("border","1px black solid").css("top",0).css("left",0).width(500).height(20).appendTo(document.body)}$(document).bind("dragstart",function(C){B.x=C.clientX;B.y=C.clientY;B.dragging=true;B.log()}).bind("drag",function(C){B.x=C.clientX;B.y=C.clientY;B.log()}).bind("dragstop",function(C){B.x=C.clientX;B.y=C.clientY;B.dragging=false;B.log()})},log:function(){if(!this.debugLog){return }var A="";for(key in this){if(typeof this[key]!="function"&&key!="debugLog"){A+=" "+key+":"+this[key]}}this.debugLog.html(A)}}}});uutuu.UI.Dock=function(C,B,A,D){this.side=C?C:uutuu.UI.Dock.DOCK_TOP;this.lock=B?B:uutuu.UI.Dock.LOCK_NONE;this.offsetX=A?A:0;this.offsetY=D?D:0};uutuu.UI.Dock.prototype.checkLock=function(A){return this.lock&A};uutuu.UI.Dock.LOCK_NONE=0;uutuu.UI.Dock.LOCK_WIDTH=1;uutuu.UI.Dock.LOCK_HEIGHT=2;uutuu.UI.Dock.LOCK_BOTH=3;uutuu.UI.Dock.DOCK_TOP=0;uutuu.UI.Dock.DOCK_BOTTOM=1;uutuu.UI.Dock.DOCK_LEFT=2;uutuu.UI.Dock.DOCK_RIGHT=3;uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Panel");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("Container","FullScreenContainer");uutuu.UI.Container=uutuu.Class({name:"uutuu.UI.Container",extend:uutuu.UI.Panel,construct:function(B,A){if(!B){return }this.Panel(B,A);this.children={length:0};this.suspendLayout=false},methods:{initialize:function(A){this.Panel.prototype.initialize.apply(this,[A])},addPanel:function(A){if(!A||!A instanceof this.Panel){throw new Error('Container:addPanel( ):invalid argument "panel".')}if(this.children[A.getName()]){return }var B=this;A.onResize(function(C,D){if(!D&&!B.suspendLayout){B.validateLayout()}});this.children[A.getName()]=this.children[this.children.length++]=A;$(A.client).appendTo(document).appendTo(this.client);if(!this.suspendLayout){this.validateLayout()}},invalidateLayout:function(){this.suspendLayout=true},validateLayout:function(){this.suspendLayout=false;if(!this.available()){return }if(this.parent&&this.parent.available()&&this.parent.suspendLayout){return }var F=uutuu.UI.Dock;var H=["Top","Bottom","Left","Right"];var E=[0,0,0,0];var C=this.client.clientWidth;var A=this.client.clientHeight;for(var G=0;G<E.length;G++){var I=$(this.client).css("padding"+H[G]);if(I&&I.constructor==String){I=I.replace(/[a-zA-Z]/g,"")}E[G]=I?parseInt(I):0;if(G>1){C-=E[G]}else{A-=E[G]}}for(var G=0;G<this.children.length;G++){var D=$(this.children[G].client);if(!this.children[G].available()){D.css("display","none");continue}if(C<=0||A<=0){D.css("display","none");continue}var K=this.children[G].dock;D.css("position","absolute").css("display","block");K.checkLock(F.LOCK_WIDTH)||this.children[G].setWidth(C);K.checkLock(F.LOCK_HEIGHT)||this.children[G].setHeight(A);var B=this.children[G].getWidth();var J=this.children[G].getHeight();if(C<B||A<J){D.css("display","none");continue}switch(K.side){case F.DOCK_TOP:A-=J;D.css("top",E[F.DOCK_TOP]).css("left",E[F.DOCK_LEFT]);E[K.side]+=J;break;case F.DOCK_BOTTOM:A-=J;D.css("top",E[F.DOCK_TOP]+A).css("left",E[F.DOCK_LEFT]);E[K.side]+=J;break;case F.DOCK_LEFT:C-=B;D.css("top",E[F.DOCK_TOP]).css("left",E[F.DOCK_LEFT]);E[K.side]+=B;break;case F.DOCK_RIGHT:C-=B;D.css("top",E[F.DOCK_TOP]).css("left",E[F.DOCK_LEFT]+C);E[K.side]+=B;break}D.trigger("panelResize",[true])}if(this.viewport!==this.client){var L={top:E[F.DOCK_TOP],left:E[F.DOCK_LEFT],width:C,height:A};$(this.viewport).css("position","absolute").css("top",L.top).css("left",L.left);uutuu.util.width(this.viewport,L.width);uutuu.util.height(this.viewport,L.height);$(this.viewport).trigger("panelResize",[L])}},resizeHandler:function(A){A.stopPropagation();if(!this.suspendLayout){this.validateLayout()}}}});uutuu.UI.FullScreenContainer=uutuu.Class({name:"uutuu.UI.FullScreenContainer",extend:uutuu.UI.Container,construct:function(B,A){if(!B){return }this.Container(B,A)},methods:{initialize:function(A){this.Container.prototype.initialize.apply(this,[A]);var C=this;var B=function(E){if(!E){E=uutuu.util.WindowSizeMonitor}var D=uutuu.util.locate(C.client);$(C.client).width(E.width-D[1]).height(E.height-D[0])};$(document.body).css("overflow","hidden");$(window).bind("windowResize",function(D,E){D.stopPropagation();B(E);$(C.client).trigger("panelResize")});B()}}});uutuu.Require("uutuu.UI.Panel");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("BarScroller","SliderScroller");uutuu.UI.BarScroller=uutuu.Class({name:"uutuu.UI.BarScroller",construct:function(A,B,C){if(!A){return }this.panel=A;this.vertical=B;this.scrollBar=[null,null];this.options={cssClass:["",""],step:72,scrollStep:18,scrollDelay:500,scrollCycle:50,scrollOnMouseOver:false,onScroll:null};this.lastClassIndex=[0,0];this.scrollBarStatus=[false,false];this.lastPosition=0;this.scrollTimerId=0;this.initialize(C)},methods:{initialize:function(options){options=options||{};var objClass=uutuu.UI.BarScroller;var obj=this;var type=["upleft","downright"];for(var idx=0;idx<2;idx++){this.scrollBar[idx]=options[type[idx]+"Element"];this.options.cssClass[idx]=options[type[idx]+"Class"]?options[type[idx]+"Class"]:((!this.scrollBar[idx]||!$(this.scrollBar[idx]).attr("class"))?"":$(this.scrollBar[idx]).attr("class"));if(this.options.cssClass[idx].constructor==String){this.options.cssClass[idx]=[this.options.cssClass[idx]]}for(var i=objClass.HOVER_CLASS_INDEX;i<objClass.HIDE_CLASS_INDEX;i++){if(!this.options.cssClass[idx][i]){this.options.cssClass[idx][i]=this.options.cssClass[idx][i-1]}}this.lastClassIndex[idx]=objClass.NORMAL_CLASS_INDEX;if(!this.scrollBar[idx]){this.scrollBar[idx]=document.createElement("div");$(this.scrollBar[idx]).attr("class",this.options.cssClass[idx][objClass.NORMAL_CLASS_INDEX])}else{if(!this.scrollBar[idx].parentNode||this.scrollBar[idx].parentNode!=this.panel.client){$(this.scrollBar[idx]).appendTo(this.panel.client)}}$(this.scrollBar[idx]).css("position","absolute").bind("mouseover",{direction:idx},function(event){obj.barMouseOverHandler(event)}).bind("mouseout",{direction:idx},function(event){obj.barMouseOutHandler(event)}).bind("mousedown",{direction:idx},function(event){obj.barMouseDownHandler(event)}).bind("mouseup",{direction:idx},function(event){obj.barMouseUpHandler(event)})}with(this.options){step=options.step||step;scrollStep=options.scrollStep||scrollStep;scrollDelay=options.scrollDelay||scrollDelay;scrollCycle=options.scrollCycle||scrollCycle;scrollOnMouseOver=options.scrollOnMouseOver||scrollOnMouseOver;onScroll=options.onScroll||onScroll}this.panel.onScroll(function(event,pos,vertical){obj.panelScrollHandler(event,pos,vertical)})},enableScrollOnMouseOver:function(){this.options.scrollOnMouseOver=true},disableScrollOnMouseOver:function(){this.options.scrollOnMouseOver=false},startScroll:function(B,A){if(this.scrollTimerId){return }var D=this;var C=A;var F=-$(this.panel.layout).position()[this.vertical?"top":"left"];var E=D.scroll(B,C,F);if(E==F||(A&&0>=(C-=D.options.scrollStep))){return }this.scrollTimerId=window.setInterval(function(){F=E;E=D.scroll(B,C,F);if(E==F||(A&&0>=(C-=D.options.scrollStep))){D.stopScroll()}},this.options.scrollCycle)},scroll:function(B,A,F){var E=(F!=undefined)?F:-$(this.panel.layout).position()[this.vertical?"top":"left"];var D=Math.min(A||this.options.scrollStep,this.options.scrollStep);E=E+(B?D:-D);var C=E-this.panel.scrollTo(E,this.vertical);if(this.options.onScroll){this.options.onScroll(B)}return(F!=undefined)?E:C},stopScroll:function(){if(!this.scrollTimerId){return }window.clearInterval(this.scrollTimerId);this.scrollTimerId=0},setScrollBarClass:function(A,B){this.lastClassIndex[A]=B;$(this.scrollBar[A]).attr("class",this.options.cssClass[A][B])},toggleScrollBar:function(A,B){this.scrollBarStatus[A]=B;if(this.options.cssClass[A][this.BarScroller.HIDE_CLASS_INDEX]){if(B){$(this.scrollBar[A]).attr("class",this.options.cssClass[A][this.lastClassIndex[A]])}else{$(this.scrollBar[A]).attr("class",this.options.cssClass[A][this.BarScroller.HIDE_CLASS_INDEX])}}else{if(B){$(this.scrollBar[A]).css("visibility","")}else{$(this.scrollBar[A]).css("visibility","hidden")}}},validateScrollBar:function(){var A=this.vertical?this.panel.getScrollHeight():this.panel.getScrollWidth();if(A<=0||this.lastPosition<=0){this.toggleScrollBar(this.BarScroller.SCROLL_UPLEFT,false)}else{this.toggleScrollBar(this.BarScroller.SCROLL_UPLEFT,true)}if(A<=0||this.lastPosition>=A){this.toggleScrollBar(this.BarScroller.SCROLL_DOWNRIGHT,false)}else{this.toggleScrollBar(this.BarScroller.SCROLL_DOWNRIGHT,true)}},panelScrollHandler:function(C,D,B){if(B!=this.vertical){return }var A=B?this.panel.getScrollHeight():this.panel.getScrollWidth();if(D<=0||D>=A){this.stopScroll()}this.lastPosition=D;this.validateScrollBar()},barMouseDownHandler:function(B){var A=B.data.direction;if(!this.scrollBarStatus[A]||this.options.scrollOnMouseOver){return }var C=this;this.setScrollBarClass(A,this.BarScroller.ACTIVE_CLASS_INDEX);this.startScroll(A,this.options.step);this.delayTimerId=window.setTimeout(function(){delete C.delayTimerId;C.stopScroll();C.startScroll(A)},this.options.scrollDelay)},barMouseUpHandler:function(B){var A=B.data.direction;if(!this.scrollBarStatus[A]||this.options.scrollOnMouseOver){return }this.setScrollBarClass(A,this.BarScroller.HOVER_CLASS_INDEX);if(this.delayTimerId){window.clearInterval(this.delayTimerId);delete this.delayTimerId}else{this.stopScroll()}},barMouseOverHandler:function(B){var A=B.data.direction;if(!this.scrollBarStatus[A]){return }this.setScrollBarClass(A,this.BarScroller.HOVER_CLASS_INDEX);if(!this.options.scrollOnMouseOver&&!uutuu.UI.Panel.dragMonitor.dragging){return }this.startScroll(A)},barMouseOutHandler:function(B){var A=B.data.direction;if(!this.scrollBarStatus[A]){return }this.setScrollBarClass(A,this.BarScroller.NORMAL_CLASS_INDEX);this.stopScroll()},validateViewport:function(J){var C=$(this.panel.viewport);var B=$(this.scrollBar[this.BarScroller.SCROLL_UPLEFT]);var I=$(this.scrollBar[this.BarScroller.SCROLL_DOWNRIGHT]);var E=uutuu.util;if(!J){var F=C.position();J={top:F.top,left:F.left,width:E.width(C[0]),height:E.height(C[0])}}var D=this.vertical?J.height:J.width;var A=this.vertical?B.height():B.width();var G=this.vertical?I.height():I.width();var H=D-A-G;B.css("display",(H<0)?"none":"block");I.css("display",(H<0)?"none":"block");if(H>0){C.css("position","absolute");B.css("top",J.top+(this.vertical?E.noUnitCss(C[0],"margin-top"):0)).css("left",J.left+(this.vertical?0:E.noUnitCss(C[0],"margin-left")));if(this.vertical){J.height=H;J.top+=A;E.height(this.panel.viewport,H);E.width(this.scrollBar[this.BarScroller.SCROLL_UPLEFT],J.width);E.width(this.scrollBar[this.BarScroller.SCROLL_DOWNRIGHT],J.width);C.css("top",J.top);I.css("top",J.top+H-E.noUnitCss(C[0],"margin-bottom")).css("left",J.left)}else{J.width=H;J.left+=A;E.width(this.panel.viewport,H);E.height(this.scrollBar[this.BarScroller.SCROLL_UPLEFT],J.height);E.height(this.scrollBar[this.BarScroller.SCROLL_DOWNRIGHT],J.height);C.css("left",J.left);I.css("top",J.top).css("left",J.left+H-E.noUnitCss(C[0],"margin-right"))}}this.panel.scrollTo(this.lastPosition,this.vertical);return J},layoutResizeHandler:function(){var A=this.vertical?this.panel.getScrollHeight():this.panel.getScrollWidth();if(this.lastPosition<0||this.lastPosition>A){this.panel.scrollTo(this.lastPosition,this.vertical);return }this.validateScrollBar()}},statics:{SCROLL_UPLEFT:0,SCROLL_DOWNRIGHT:1,NORMAL_CLASS_INDEX:0,HOVER_CLASS_INDEX:1,ACTIVE_CLASS_INDEX:2,HIDE_CLASS_INDEX:3}});uutuu.UI.SliderScroller=uutuu.Class({name:"uutuu.UI.SliderScroller",construct:function(A,B,C){if(!A){return }this.panel=A;this.vertical=B;this.axis;this.slider;this.options={sliderClass:"",scrollStep:10,scrollCycle:50};this.highlightStatus=[true,false,false,false];this.lastPosition=0;this.sliderStatus=false;this.scrollTimerId=0;this.mousedown=false;this.mousedownOffset=0;this.sliding=false;this.initialize(C)},methods:{initialize:function(A){A=A?A:{};var C=this;this.axis=A.axisElement;this.slider=A.sliderElement;this.options.sliderClass=A.sliderClass?A.sliderClass:((!this.slider||!$(this.slider).attr("class"))?"":$(this.slider).attr("class"));if(this.options.sliderClass.constructor==String){this.options.sliderClass=[this.options.sliderClass]}for(var B=this.SliderScroller.HOVER_CLASS_INDEX;B<this.SliderScroller.HIDE_CLASS_INDEX;B++){if(!this.options.sliderClass[B]){this.options.sliderClass[B]=this.options.sliderClass[B-1]}}if(!this.axis){this.axis=document.createElement("div");$(this.axis).attr("class",A.axisClass?A.axisClass:"").appendTo(this.panel.client)}else{if(!this.axis.parentNode||this.axis.parentNode!=this.panel.client){$(this.axis).appendTo(this.panel.client)}}if(!this.slider){this.slider=document.createElement("div");$(this.slider).attr("class",this.options.sliderClass[this.SliderScroller.NORMAL_CLASS_INDEX]).appendTo(this.axis)}else{if(!this.slider.parentNode||this.slider.parentNode!=this.axis){$(this.slider).appendTo(this.axis)}}$(this.axis).css("position","absolute").click(function(E){C.axisClickHandler(E)});$(this.slider).css("position","absolute").mouseover(function(E){C.highlightSlider(C.SliderScroller.HOVER_CLASS_INDEX)}).mouseout(function(E){C.highlightSlider(C.SliderScroller.HOVER_CLASS_INDEX,true)}).mousedown(function(E){C.sliderMouseDownHandler(E)});if(this.vertical){var D=Math.floor(($(this.axis).width()-uutuu.util.width(this.slider))/2);$(this.slider).css("top",0).css("left",D)}else{var D=Math.floor(($(this.axis).height()-uutuu.util.height(this.slider))/2);$(this.slider).css("top",D).css("left",0)}$(document.body).mousemove(function(E){C.sliderMouseMoveHandler(E)}).mouseup(function(E){C.sliderMouseUpHandler(E)});if(A.scrollStep){this.options.scrollStep=A.scrollStep}if(A.scrollCycle){this.options.scrollCycle=A.scrollCycle}this.panel.onScroll(function(F,G,E){C.panelScrollHandler(F,G,E)})},highlightSlider:function(C,B){if(C!=this.SliderScroller.NORMAL_CLASS_INDEX){this.highlightStatus[C]=!B}for(var A=this.highlightStatus.length-1;A>=0;A--){if(this.highlightStatus[A]){$(this.slider).attr("class",this.options.sliderClass[A]);return A}}},toggleScrollBar:function(A){this.sliderStatus=A;if(this.options.sliderClass[this.SliderScroller.HIDE_CLASS_INDEX]){this.highlightSlider(this.SliderScroller.HIDE_CLASS_INDEX,!A)}else{if(A){$(this.slider).css("visibility","")}else{$(this.slider).css("visibility","hidden")}}},validateScrollBar:function(){var A=this.vertical?this.panel.getScrollHeight():this.panel.getScrollWidth();this.toggleScrollBar(A>0)},offsetToPos:function(B){if(this.vertical){var A=this.axis.clientHeight-this.slider.offsetHeight;return Math.round(B*this.panel.getScrollHeight()/(A==0?1:A))}else{var A=this.axis.clientWidth-this.slider.offsetWidth;return Math.round(B*this.panel.getScrollWidth()/(A==0?1:A))}},posToOffset:function(B){if(this.vertical){var A=this.panel.getScrollHeight();return Math.round(B*(this.axis.clientHeight-this.slider.offsetHeight)/(A==0?1:A))}else{var A=this.panel.getScrollWidth();return Math.round(B*(this.axis.clientWidth-this.slider.offsetWidth)/(A==0?1:A))}},scrollToOffset:function(B){var A=0;if(this.vertical){A=this.axis.clientHeight-this.slider.offsetHeight}else{A=this.axis.clientWidth-this.slider.offsetWidth}B=Math.min(A,B);B=Math.max(0,B);$(this.slider).css(this.vertical?"top":"left",B);var C=this.offsetToPos(B);if(C!=this.offsetToPos(A)){C=C-C%this.options.scrollStep}if(C!=this.lastPosition){this.panel.scrollTo(C,this.vertical)}},panelScrollHandler:function(B,C,A){if(A!=this.vertical){return }if(!this.sliding&&this.sliderStatus){$(this.slider).css(A?"top":"left",this.posToOffset(C))}this.lastPosition=C},sliderMouseDownHandler:function(A){A.preventDefault();this.highlightSlider(this.SliderScroller.ACTIVE_CLASS_INDEX);if(this.vertical){this.mousedownOffset=A.clientY-uutuu.util.locate(this.slider)[0]}else{this.mousedownOffset=A.clientX-uutuu.util.locate(this.slider)[1]}this.mousedown=true},sliderMouseUpHandler:function(A){A.preventDefault();this.mousedown=this.sliding=false;this.highlightSlider(this.SliderScroller.ACTIVE_CLASS_INDEX,true)},sliderMouseMoveHandler:function(A){A.preventDefault();if(!this.mousedown||!this.sliderStatus){return }var B=-this.mousedownOffset;if(this.vertical){B+=A.clientY-uutuu.util.locate(this.axis)[0]}else{B+=A.clientX-uutuu.util.locate(this.axis)[1]}this.sliding=true;this.scrollToOffset(B);A.preventDefault()},axisClickHandler:function(A){var B=0;if(this.vertical){B=A.clientY-uutuu.util.locate(this.axis)[0]-Math.floor(this.slider.offsetHeight/2)}else{B=A.clientX-uutuu.util.locate(this.axis)[1]-Math.floor(this.slider.offsetWidth/2)}this.sliding=true;this.scrollToOffset(B)},validateViewport:function(M){var B=$(this.panel.viewport);var E=$(this.axis);var J=$(this.slider);var D=this.vertical?[jQuery.prototype.width,jQuery.prototype.height]:[jQuery.prototype.height,jQuery.prototype.width];var F=uutuu.util;if(!M){var G=B.position();M={top:G.top,left:G.left,width:F.width(B[0]),height:F.height(B[0])}}var C=this.vertical?M.width:M.height;var K=this.vertical?M.height:M.width;var A=this.vertical?F.width(this.axis):F.height(this.axis);var I=this.vertical?F.height(this.slider):F.width(this.slider);var H=C-A;var L=K-I;E.css("display",(H<0)?"none":"block");J.css("display",(L<0)?"none":"block");if(H>0){B.css("position","absolute");if(this.vertical){M.width=H;F.width(this.panel.viewport,H);F.height(this.axis,K);E.css("top",M.top).css("left",M.left+H-F.noUnitCss(B[0],"margin-right"))}else{M.height=H;F.height(this.panel.viewport,H);F.width(this.axis,K);E.css("top",M.top+H-F.noUnitCss(B[0],"margin-bottom")).css("left",M.left)}}this.panel.scrollTo(this.lastPosition,this.vertical);return M},layoutResizeHandler:function(){var A=this.vertical?this.panel.getScrollHeight():this.panel.getScrollWidth();if(this.lastPosition<0||this.lastPosition>A){this.panel.scrollTo(this.lastPosition,this.vertical);return }this.validateScrollBar()}},statics:{SCROLL_UPLEFT:0,SCROLL_DOWNRIGHT:1,NORMAL_CLASS_INDEX:0,HOVER_CLASS_INDEX:1,ACTIVE_CLASS_INDEX:2,HIDE_CLASS_INDEX:3}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.Resource");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("PageSplitter");uutuu.UI.PageSplitter=uutuu.Class({name:"uutuu.UI.PageSplitter",construct:function(B,A){this.elem=B;this.options={total:0,page_size:20,page_num_next:5,show_in_table:false,tplFn:uutuu.UI.PageSplitter.getTemplate,images:[null,null,null,null],gotoFnName:null,gotoFn:null,caller:null};this.initialize(A)},methods:{initialize:function(A){this.options.total=A.total;if(A.page_size){this.options.page_size=A.page_size}if(A.page_num_next){this.options.page_num_next=A.page_num_next}if(typeof A.show_in_table!="undefined"){this.options.show_in_table=A.show_in_table}if(A.tplFn){this.options.tplFn=A.tplFn}this.options.imgages=A.images;if(typeof A.gotoFnName!="undefined"){this.options.gotoFnName=A.gotoFnName}if(typeof A.gotoFn!="undefined"){this.options.gotoFn=A.gotoFn}if(typeof A.caller!="undefined"){this.options.caller=A.caller}},show:function(page){var str="";var t=Math.ceil(this.options.total/this.options.page_size);if(t<=1){$(this.elem).each(function(){$(this).html("")});return }if(page>t){page=t}if(page<=0){page=1}var strTdTxt="";var strTdImg="";var strTdEnd="";if(this.options.show_in_table){str+="<table><tr>";strTdTxt='<td class="pstdtxt">';strTdImg='<td class="pstdimg">';strTdEnd="</td>"}str+=strTdImg;if(page-this.options.page_num_next>1){str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_FIRST_INDEX,1,this.options.imgages[uutuu.UI.PageSplitter.IMAGE_FIRST_INDEX])}str+=strTdEnd;str+=strTdImg;if(page>1){str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_PREV_INDEX,page-1,this.options.imgages[uutuu.UI.PageSplitter.IMAGE_PREV_INDEX])}str+=strTdEnd;var iStart=page-this.options.page_num_next;var iEnd=page+this.options.page_num_next;var start=page-this.options.page_num_next>1?page-this.options.page_num_next:1;var end=page+this.options.page_num_next<t?page+this.options.page_num_next:t;var idx=start;for(var k=iStart;k<=iEnd;k++){str+=strTdTxt;if(k>=start&&k<=end){if(k==page){str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_CURRENT_INDEX,k,"")}else{str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_NORMAL_INDEX,k,"")}}str+=strTdEnd}str+=strTdImg;if(page<t){str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_NEXT_INDEX,page+1,this.options.imgages[uutuu.UI.PageSplitter.IMAGE_NEXT_INDEX])}str+=strTdEnd;str+=strTdImg;if(page+this.options.page_num_next<t){str+=this.options.tplFn(uutuu.UI.PageSplitter.TEMPLATE_LAST_INDEX,t,this.options.imgages[uutuu.UI.PageSplitter.IMAGE_LAST_INDEX])}str+=strTdEnd;if(this.options.show_in_table){str+="</tr></table>"}uutuu.util.debugInfo(str.replace(/</g,"&lt;").replace(/>/g,"&gt;"));$(this.elem).each(function(){$(this).html(str)});var psobj=this;$("[obj='goToPage']").each(function(){$(this).click(function(evt){evt.preventDefault();if(psobj.options.gotoFn){psobj.options.gotoFn($(this).attr("page"),psobj.options.caller)}else{eval(psobj.options.gotoFnName+"("+$(this).attr("page")+");")}})})}},statics:{TEMPLATE_FIRST_INDEX:0,TEMPLATE_PREV_INDEX:1,TEMPLATE_NORMAL_INDEX:2,TEMPLATE_CURRENT_INDEX:3,TEMPLATE_NEXT_INDEX:4,TEMPLATE_LAST_INDEX:5,IMAGE_FIRST_INDEX:0,IMAGE_PREV_INDEX:1,IMAGE_NEXT_INDEX:2,IMAGE_LAST_INDEX:3,getTemplate:function(A,B,C){switch(A){case uutuu.UI.PageSplitter.TEMPLATE_FIRST_INDEX:return'<span class="pager_first"><a href="#" obj="goToPage" page="'+B+'"><img title="第一页" src="'+C+'" /></a></span>';case uutuu.UI.PageSplitter.TEMPLATE_PREV_INDEX:return'<span class="pager_pre"><a href="#" obj="goToPage" page="'+B+'"><img title="第一页" src="'+C+'" /></a></span>';case uutuu.UI.PageSplitter.TEMPLATE_NORMAL_INDEX:return'<span class="pager_unit"><a href="#" obj="goToPage" page="'+B+'"><span>'+B+"</span></a></span>";case uutuu.UI.PageSplitter.TEMPLATE_CURRENT_INDEX:return'<span class="pager_cur">'+B+"</span>";case uutuu.UI.PageSplitter.TEMPLATE_NEXT_INDEX:return'<span class="pager_next"><a href="#" obj="goToPage" page="'+B+'"><img title="下一页" src="'+C+'" /></a></span>';case uutuu.UI.PageSplitter.TEMPLATE_LAST_INDEX:return'<span class="pager_last"><a href="#" obj="goToPage" page="'+B+'"><img title="最后一页" src="'+C+'" /></a></span>'}}}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Dialog");uutuu.Namespace("uutuu.UI");uutuu.UI.Export("Progressable");uutuu.UI.Progressable=uutuu.Class({name:"uutuu.UI.Progressable",construct:function(C,A,B){this.func=C;this.max=A;this.dialog;this.options={cssClass:"progress-ui",nobreak:false,endCallback:null,customProgress:false};this.statistic={total:A,succeeded:0,failed:0,finished:0,laseError:null};this.handlers={container:null,prompt:null,progress:null};if(!B||B.constructor!=Object){return }for(key in this.options){if(B[key]!==undefined){this.options[key]=B[key]}}},methods:{proceed:function(A){if(!A){A=0;this.start()}else{if(A==this.max){this.end();return }}var E=this;for(var D=A;D<this.max;D++){try{this.setProgress(null,this.resource("INFO_ITEM_PROCESSING").replace("@current@",D+1).replace("@total@",this.max),true);var C=this.func(this,D,function(F){if(E._next(D,((F===undefined||F===true)?true:false),F)){E.proceed(D+1)}else{E.end()}});if(C===false){return }this._next(D,true)}catch(B){if(!this._next(D,false,B)){break}}}setTimeout(function(){E.end()},500)},start:function(){this.statistic.succeeded=this.statistic.failed=this.statistic.finished=0;this.handlers.container=document.createElement("div");var B=document.createElement("div");$(B).attr("class",this.options.cssClass).appendTo(this.handlers.container);this.handlers.prompt=document.createElement("div");$(this.handlers.prompt).attr("class","prompt").html(this.resource("INFO_PREPARING")).appendTo(B);var A=document.createElement("div");$(A).attr("class","border").appendTo(B);this.handlers.progress=document.createElement("div");$(this.handlers.progress).attr("class","progress").width("0%").appendTo(A);uutuu.UI.Dialog.message(this.handlers.container,-1)},end:function(){if(this.statistic.finished==this.statistic.total){this.setProgress(null,this.resource("INFO_COMPLETE"),true)}if(this.options.endCallback){this.options.endCallback(this.statistic)}else{uutuu.UI.Dialog.getMessageBox().close();uutuu.UI.Dialog.alert(this.handlers.container)}this.handlers={}},setProgress:function(C,B,A){if(A&&this.customProgress){return }if(this.handlers.prompt&&B){$(this.handlers.prompt).html(B)}if(this.handlers.progress&&C){this.statistic.finished=C;$(this.handlers.progress).width(Math.round(100*C/this.statistic.total).toString()+"%")}},_next:function(A,D,B){if(D){this.statistic.succeeded++;this.setProgress(A+1,null,true);return true}else{this.statistic.failed++;var C=(B&&B.message&&B.message.length!=0)?B.message:this.resource("INFO_ITEM_ERROR");this.statistic.lastError=C;C+=this.options.nobreak?this.resource("INFO_ITEM_OP_SKIP"):this.resource("INFO_ITEM_OP_BREAK");this.setProgress(this.options.nobreak?(A+1):null,C,true);return this.options.nobreak}}},statics:{install:function(D,A,B){var C=new uutuu.UI.Progressable(D,A,B);return function(){C.proceed()}}}});uutuu.util.progressable=uutuu.UI.Progressable.install;uutuu.Require("uutuu.util");uutuu.Namespace("uutuu.Widget");uutuu.Widget.Export("Suggestion");uutuu.Widget.Suggestion=uutuu.Class({name:"uutuu.Widget.Suggestion",construct:function(B,A){this.target=B;this.options=this.Suggestion.options;this.library=null;this.settings={multiple:false,delimiter:";",alternatives:/\uFF1B/g,escape:'"',queryKey:"q",keyField:"name",scrollLimit:0,autoFill:false,suggestOnHit:false,suggestOnFail:true,suggestOnLoad:false,guess:false,maxlength:20,zIndex:"",compatibleMode:false,validate:false,initialData:null,defaultOption:null};this.panelClass="tag_panel";this.highlightClass="selected";this.optionClass="unselected";this.onLoading=null;this.onError=null;this.onComplete=null;this.onSelect=null;this.onSort=null;this.onShow=null;this.onMatch=null;this.onValidateComplete=null;this.targetBlock=jQuery(this.target);this.initialize(A);this.Suggestion.monitorChange()},methods:{initialize:function(D){var G=this;this.targetBlock.keydown(function(H){G.keydownHandler(H)}).keyup(function(H){G.keyupHandler(H)}).focus(function(H){G.focusHandler(H)}).blur(function(H){G.blurHandler(H)}).bind("uutuu.widget.suggestion.keyChanged",function(){G.changeHandler()});if(!this.targetBlock.attr("type")||this.targetBlock.attr("type")=="text"){this.targetBlock.attr("autocomplete","off")}this.library=this.Suggestion.Library.getLibrary(D.source);for(var C in this.settings){if(D[C]!==undefined){this.settings[C]=D[C]}}if(D.alternatives!==undefined){if(D.alternatives.constructor===RegExp){this.settings.alternatives=D.alternatives}else{if(D.alternatives.constructor===String){this.settings.alternatives=new RegExp("\\"+D.alternatives,"g")}else{if(D.alternatives.constructor===Array){this.settings.alternatives=new RegExp("\\"+D.alternatives.join("|\\"),"g")}else{this.settings.alternatives=D.alternatives}}}}if(D.panelClass!==undefined){this.panelClass=D.panelClass}if(D.highlightClass!==undefined){this.highlightClass=D.highlightClass}if(D.optionClass!==undefined){this.optionClass=D.optionClass}this.onError=this.getDefinedHandler(D.onError);this.onLoading=this.getDefinedHandler(D.onLoading);this.onComplete=this.getDefinedHandler(D.onComplete);this.onSelect=this.getDefinedHandler(D.onSelect,this.defaultOnSelectHandler);this.onSort=this.getDefinedHandler(D.onSort,this.defaultOnSortHandler);this.onShow=this.getDefinedHandler(D.onShow,this.defaultOnShowHandler);this.onMatch=this.getDefinedHandler(D.onMatch,this.defaultOnMatchHandler);this.onValidateComplete=this.getDefinedHandler(D.onValidateComplete);if(this.settings.initialData){var F=this.settings.initialData;var A=new Array();for(var B=0;B<F.length;B++){A.push(new this.Suggestion.Entry(F[B][G.settings.keyField],F[B]))}this.library.expand(A)}if(this.settings.suggestOnLoad!==false){var E=typeof this.settings.suggestOnLoad!="string"?"":this.settings.suggestOnLoad;this.suggest(E)}},show:function(options,pattern){var obj=this;if(options!=null&&options.length>0){if(this.options.panel==null){this.options.panel=document.createElement("div");jQuery(this.options.panel).mousedown(function(event){uutuu.util.log("DEBUG","mousedown:suggestion panel");obj.options.lentFocus=obj.Suggestion.LENT_SEQ_ACTION;window.setTimeout(function(){if(obj.options.lentFocus==obj.Suggestion.LENT_SEQ_ACTION){obj.options.lentFocus=obj.Suggestion.LENT_SEQ_RETURN}},10);event.stopPropagation()})}var optionBlock=jQuery(this.options.panel);this.onSort(this,options,pattern);optionBlock.empty();this.options.length=options.length;for(var i=0;i<options.length;i++){this.options[i]=options[i];var innerTxt=this.onShow(this,options[i]);var patternReg=new RegExp("("+pattern.replace(/(\W)/g,"\\$1")+")","gi");innerTxt=innerTxt.replace(/(^|>)((?:.|\n|\r)*?)(<|$)/g,function(match){return(arguments[1]||"")+arguments[2].replace(patternReg,"<b>$1</b>")+(arguments[3]||"")});var option=document.createElement("div");jQuery(option).attr("class",this.optionClass).html(innerTxt).bind("mouseover",i,function(event){obj.highlight(event.data)}).mousemove(function(event){obj.tagMousemoveHandler(event)}).mousedown(function(event){uutuu.util.log("DEBUG","mousedown:suggestion option entry");obj.select();event.preventDefault()}).appendTo(this.options.panel)}optionBlock.attr("class",obj.panelClass).css("display","block").css("position","absolute").css("z-index",this.settings.zIndex).appendTo(document.body);switch(this.settings.compatibleMode){case"thickbox":optionBlock.appendTo($("#TB_ajaxContent"));break}optionBlock.width("auto");var obWidth=uutuu.util.width(optionBlock);obWidth=obWidth>400?400:obWidth;if(this.settings.scrollLimit>0&&options.length>this.settings.scrollLimit){uutuu.util.width(optionBlock,obWidth+20);uutuu.util.height(optionBlock,$(this.getOptionItem(this.settings.scrollLimit)).position().top)}else{uutuu.util.width(optionBlock,obWidth);optionBlock.height("auto")}optionBlock.attr("scrollTop",0);var offsetY=uutuu.util.locate(this.target)[0]-uutuu.util.getPageYOffset();if(offsetY+$(this.target).height()+optionBlock.height()>uutuu.util.getInnerHeight()&&offsetY-optionBlock.height()>0){uutuu.util.locate(optionBlock[0],this.target,"top-left","right-up","1")}else{uutuu.util.locate(optionBlock[0],this.target,"bottom-left","right-down","1")}with(this.options){hotIdx=0;display=true;instance=this;key=pattern;offset=optionBlock.offset()}this.highlight(this.options.hotIdx)}else{this.hide()}},showDefault:function(A){var B=this.settings.defaultOption;B=B instanceof Function?B(A):B;if(B){this.show([new this.Suggestion.Entry(B[this.settings.keyField],B)],A)}},hide:function(){if(this.options.display){this.options.panel.style.display="none";this.options.display=false}},getOptionItem:function(A){if(A<0||A>=this.options.length){return null}return jQuery("div:eq("+A+")",this.options.panel)[0]},getScrollRange:function(){this.options.panel.scrollHeight;return this.options.panel.scrollHeight-this.options.panel.offsetHeight},offsetHighlight:function(A){return this.highlight((this.options.hotIdx+this.options.length+A)%this.options.length)},highlight:function(A){A=A%this.options.length;this.options.hotIdx=A;jQuery("div",this.options.panel).attr("class",this.optionClass);jQuery("div:eq("+A+")",this.options.panel).attr("class",this.highlightClass);return A},fill:function(){var G=this.targetBlock.val();if(this.settings.alternatives){G=G.replace(this.settings.alternatives,this.settings.delimiter)}var F="^(?:[\\;]*\\s*)(\\'(?:[^\\']*)(?:\\'\\'[^\\']*)*\\'|(?:[^\\';]+))";F=F.replace(/;/g,this.settings.delimiter).replace(/'/g,this.settings.escape);var E="(?:[\\;\\s]*)(.*)";E=E.replace(/;/g,this.settings.delimiter);var C=new RegExp(F);var H=null;var B=C.exec(G);while(B!=null){H=B;G=G.substring(H[0].length);B=C.exec(G)}if(G.length>0){G=(G.match(E)[1]).toLowerCase()}else{if(H!=null){G=H[1].toLowerCase()}else{G=""}}var D=this.targetBlock.val();D=D.substring(0,D.length-G.length);var A=this.onSelect(this,this.options[this.options.hotIdx]);this.targetBlock.val(D+A+(this.settings.multiple?this.settings.delimiter:""));if(this.settings.multiple){this.options.key=""}else{this.options.key=A}if(this.settings.validate){this.onValidateComplete(this,this.options[this.options.hotIdx])}},extractPrefix:function(){var E=this.targetBlock.val();if(this.settings.alternatives){E=E.replace(this.settings.alternatives,this.settings.delimiter)}var D="^(?:[\\;]*\\s*)(\\'(?:[^\\']*)(?:\\'\\'[^\\']*)*\\'|(?:[^\\';]+))";D=D.replace(/;/g,this.settings.delimiter).replace(/'/g,this.settings.escape);var C="(?:[\\;\\s\\']*)(.*)";C=C.replace(/;/g,this.settings.delimiter).replace(/'/g,this.settings.escape);var B=new RegExp(D);var F=null;var A=B.exec(E);while(A!=null){F=A;E=E.substring(F[0].length);A=B.exec(E)}if(E.length>0){return(E.match(C)[1]).toLowerCase()}else{if(F!=null){return F[1].toLowerCase()}else{return""}}},extractSubArray:function(B){if(B.length==0){return new Array()}var A=this.library.match(B,this.onMatch,this.settings.validate);if(this.settings.validate){this.onValidateComplete(this,A.entry)}return A},captureFocus:function(){this.target.focus();if(this.target.createTextRange){var A=this.target.createTextRange();A.collapse(false);A.select()}},select:function(){var option=this.options[this.options.hotIdx];if(option.callback){var result=true;if(option.callback instanceof Function){result=option.callback(this,option)}else{if(option.callback instanceof String){result=eval(option.callback+"(this, option);")}}if(!result){this.hide();return }}this.fill();if(this.settings.guess&&this.settings.multiple){this.changeHandler()}else{this.hide()}},tagMousemoveHandler:function(D){var B=this.settings.scrollLimit;if(this.options.length>B){var A=this.options.panel.offsetHeight;var C=D.pageY-this.options.offset.top-(A/2);this.options.panel.scrollTop=this.getScrollRange()*(A/2+C*1.1)/(A)}},blurHandler:function(A){uutuu.util.log("DEBUG","blur:suggestion target");var B=this;if(this.options.lentFocus==this.Suggestion.LENT_SEQ_ACTION){this.options.lentFocus=this.Suggestion.LENT_SEQ_CONFIRM;B.captureFocus();return }this.options.key=this.extractPrefix();if(this.options.key.length>0&&this.settings.autoFill&&this.options.display){this.fill()}else{if(this.settings.validate){this.changeHandler()}}this.hide();this.options.instance=null},keydownHandler:function(C){var D;var B=this.settings.scrollLimit;switch(C.keyCode){case 38:if(this.options.display){this.offsetHighlight(-1);if(this.options.length>B){this.options.panel.scrollTop=this.getScrollRange()*this.options.hotIdx/(this.options.length-1)}C.preventDefault();return }break;case 39:if(!this.options.display&&this.extractPrefix().length==0){var A=this.library.listAll();if(A.length>0){this.show(A,"");C.preventDefault();return }}break;case 40:if(this.options.display){this.offsetHighlight(1);if(this.options.length>B){this.options.panel.scrollTop=this.getScrollRange()*this.options.hotIdx/(this.options.length-1)}C.preventDefault();return }else{this.changeHandler()}break;case 13:if(this.options.display){this.select();C.preventDefault();return }else{return }break}},keyupHandler:function(A){switch(A.keyCode){case 37:case 38:case 39:case 40:return ;break}},focusHandler:function(A){uutuu.util.log("DEBUG","focus:suggestion target");var B=this;if(this.options.lentFocus==this.Suggestion.LENT_SEQ_CONFIRM){this.options.lentFocus=this.Suggestion.LENT_SEQ_RETURN;return }this.options.lentFocus=this.Suggestion.LENT_SEQ_RETURN;this.options.instance=this;window.setTimeout(function(){B.changeHandler()},10)},changeHandler:function(){var B=this.extractPrefix();this.options.key=B;if(B.length==0&&this.settings.guess){this.show(this.library.listAll(),"");return }var A=this.extractSubArray(B);if(A.length>0){this.show(A,B)}else{this.hide()}if(B.length==0||B.match(/^[a-zA-Z0-9 -_']{1,2}$/)){return }else{if((A.bingo&&this.settings.suggestOnHit)||(!A.bingo&&this.settings.suggestOnFail)){this.suggest(B)}else{if(A.length==0&&this.settings.defaultOption){this.showDefault(B)}}}},defaultOnSortHandler:function(C,A,D){if(D&&D!=""){for(var B=0;B<A.length;B++){A[B].idx=A[B].key.indexOf(D)}A.sort(function(G,F){var E=0;if(G.idx<0&&F.idx<0){E=0}else{if(G.idx<0){return -1}else{if(F.idx<0){return 1}else{E=G.idx-F.idx}}}if(E||!G.priority||!F.priority){return E}else{return G.priority-F.priority}})}A.length=Math.min(A.length,this.settings.maxlength)},defaultOnShowHandler:function(A,B){return B.key},defaultOnMatchHandler:function(A,B,C){return B.isMatch(C)},defaultOnSelectHandler:function(A,B){if(B.key.indexOf(this.settings.delimiter)>=0||this.settings.alternatives.exec(B.key)!=null){return this.settings.escape+B.key+this.settings.escape}else{return B.key}},defaultHandler:function(A){},getDefinedHandler:function(B,A){if(B!==undefined&&B instanceof Function){return B}else{if(A!==undefined){return A}else{return this.defaultHandler}}},suggest:function(C){var D=this;var E="GET";var B=null;var A=this.library.source;if(!C){C=""}if(C.length>0){B=(E=="GET")?null:this.settings.queryKey+"="+C;if(E=="GET"){A=A.replace(/\.[a-z]+$/,".").replace(/([^.])\/*$/,"$1/");A+=this.settings.queryKey+"."+uutuu.util.encodeQueryContext(C,true)+".json"}}this.onLoading(this);uutuu.util.jQueryAjaxHelper({url:A,type:E,data:B,dataType:"json",timeout:30000,error:function(H,F,G){throw G;D.onError(D,"服务器没有响应")},success:function(G){var F=new Array();for(var H=0;H<G.length;H++){F.push(new D.Suggestion.Entry(G[H][D.settings.keyField],G[H]))}D.library.expand(F,C);D.onComplete(D);if(C.length>0){F=D.extractSubArray(C)}else{if(!D.settings.guess){F=new Array()}}if(D.options.key==C&&D.options.instance===D){if(F.length>0){D.show(F,C)}else{if(C.length>0&&D.settings.defaultOption){D.showDefault(C)}}}}})},resetLibrary:function(A){this.library=this.Suggestion.Library.getLibrary(A);if(this.settings.suggestOnLoad!==false){this.suggest()}},resetData:function(C){this.library.clear();if(C!=null&&C!=""&&C!=undefined){var A=new Array();for(var B=0;B<C.length;B++){A.push(new this.Suggestion.Entry(C[B][this.settings.keyField],C[B]))}this.library.expand(A)}}},statics:{LENT_SEQ_RETURN:0,LENT_SEQ_ACTION:1,LENT_SEQ_CONFIRM:2,options:{length:0,hotIdx:0,panel:null,offset:[0,0],display:false,lentFocus:0,instance:null,key:""},monitorChange:function(){var B=this;if(this._monitorInstance===undefined){this._monitorInstance=null;window.setInterval(function(){B.monitorChange()},1000);return }else{if(!this.options.instance){return }else{if(this._monitorInstance!=this.options.instance){this._monitorInstance=this.options.instance;return }}}var A=this._monitorInstance.extractPrefix();if(A!=this.options.key){this.options.key=A;$(this._monitorInstance.target).trigger("uutuu.widget.suggestion.keyChanged")}}}});uutuu.Widget.Suggestion.Entry=uutuu.Class({name:"uutuu.Widget.Suggestion.Entry",construct:function(B,A){this.key=B;this.value=null;if(A!==undefined&&A!=null){this.addFields(A)}},methods:{addFields:function(A){if(A.constrctor===String){this.value=A}else{if(A.constructor===Object){for(var B in A){this[B]=A[B]}}}},isMatch:function(A){if(A.constructor===RegExp){var B=this.key.match(A);if(!B){return 0}else{return(B[0]==A)?2:1}}else{if(this.key==A){return 2}else{return(this.key.toLowerCase().indexOf(A.toLowerCase(),0)>=0)?1:0}}}}});uutuu.Widget.Suggestion.History=uutuu.Class({name:"uutuu.Widget.Suggestion.History",construct:function(B,A){this.keys={length:0};this.lastUpdate=null;this.matchKey;this.update(B,A)},methods:{update:function(C,B){for(var A=0;A<C.length;A++){if(this.keys[C[A]]===undefined){this.keys[C[A]]=C[A];this.keys[this.keys.length++]=C[A]}}this.lastUpdate=new Date().getTime();if(B){this.matchKey=B}},isExpired:function(A){return this.lastUpdate<A}}});uutuu.Widget.Suggestion.Library=uutuu.Class({name:"uutuu.Widget.Suggestion.Library",construct:function(){this.source=null;this.entries={};this.histories={};this.lastUpdate=new Date().getTime()},methods:{initialize:function(A){this.source=A},match:function(D,H,E){var J=new Array();J.bingo=false;J.entry=null;var A=this.histories[D];if(A!==undefined&&!A.isExpired(this.lastUpdate)){for(var B=0;B<A.keys.length;B++){J[B]=this.entries[A.keys[B]];if(!E||A.matchKey!==undefined){continue}var C=false;if(H!==undefined){C=H(this,J[B],D)}else{C=J[B].isMatch(D)}if(C==2){A.matchKey=J[B].key}}if(E&&A.matchKey===undefined){A.matchKey=null}J.bingo=true;J.entry=A.matchKey?this.entries[A.matchKey]:null}else{candidates=new Array();for(var F in this.entries){candidates.push(F)}var I=new Array();var G;for(var B=0;B<candidates.length;B++){var F=candidates[B];var C=false;if(H!==undefined){C=H(this,this.entries[F],D)}else{C=this.entries[F].isMatch(D)}if(C){J.push(this.entries[F]);I.push(F);if(C==2){G=F;J.entry=this.entries[F]}}}if(A===undefined){this.histories[D]=new uutuu.Widget.Suggestion.History(I,G)}else{A.update(I,G)}}return J},listAll:function(){var A=new Array();for(var B in this.entries){A.push(this.entries[B])}return A},expand:function(A,E){var D=new Array();var F=0;if(A.length>0){for(var B=0;B<A.length;B++){if(this.entries[A[B].key]===undefined){F++;this.entries[A[B].key]=A[B]}D.push(A[B].key)}if(F>0){this.lastUpdate=new Date().getTime()}}if(F>0&&E&&E!=""){var C=this.histories[E];if(C===undefined){this.histories[E]=new uutuu.Widget.Suggestion.History(D)}else{C.update(D)}}},clear:function(){this.entries={};this.histories={};this.lastUpdate=new Date().getTime()}},statics:{getLibrary:function(A){if(this.manager===undefined){this.manager={}}if(this.manager[A]===undefined){this.manager[A]=new this();this.manager[A].initialize(A)}return this.manager[A]}}});jQuery.fn.ajaxSuggestion=function(A){if(A.source===undefined){return this}return this.each(function(){if(this.tagName.toLowerCase()!="textarea"&&this.tagName.toLowerCase()!="input"&&this.getAttribute("type")!="text"){return }var C={};for(var B in A){C[B]=A[B]}this.ajaxSuggestion=new uutuu.Widget.Suggestion(this,C)})};if(!uutuu){var uutuu={}}var undefined;uutuu.ajaxUpdate=function(B,A){this.target=B;this.activated=false;this.action=null;this.name=null;this.updateFieldName="";this.controlType="text";this.controlDatePicker=false;this.controlAjaxSuggestion=false;this.controlGmenu=false;this.controlTagSelector=false;this.ts=null;this.buttonType="a";this.submitValue="提交";this.cancelValue="取消";this.targetBlock=$(this.target);this.labelBlock=null;this.formBlock=null;this.controlBlock=null;this.headerInfo=null;this.extraInfo=null;this.submitBlock=null;this.cancelBlock=null;this.activeEntry=null;this.normalClass=this.targetBlock.attr("class")===undefined?"":this.targetBlock.attr("class");this.highlightClass=null;this.editicon=null;this.formClass=null;this.controlClass=null;this.submitClass="submit";this.cancelClass="cancel";this.onError=null;this.onShowEditor=null;this.onHideEditor=null;this.onSetEditorValue=null;this.onGetPostValue=null;this.onFormatValue=null;this.initialize=function(C){var D=this;this.action=C.action;this.name=C.name;if(typeof this.name=="string"){this.updateFieldName=this.name}else{this.updateFieldName=this.name[0]}if(C.controlType!==undefined){this.controlType=C.controlType}if(C.controlDatePicker!==undefined){this.controlDatePicker=C.controlDatePicker}if(C.controlAjaxSuggestion!==undefined){this.controlAjaxSuggestion=C.controlAjaxSuggestion}if(C.controlGmenu!==undefined){this.controlGmenu=C.controlGmenu}if(C.controlTagSelector!==undefined){this.controlTagSelector=C.controlTagSelector}if(C.buttonType!==undefined){this.buttonType=C.buttonType}if(C.activeEntry!==undefined){this.activeEntry=C.activeEntry}if(C.submitValue!==undefined){this.submitValue=C.submitValue}if(C.cancelValue!==undefined){this.cancelValue=C.cancelValue}if(C.headerInfo!==undefined){this.headerInfo=C.headerInfo}if(C.extraInfo!==undefined){this.extraInfo=C.extraInfo}if(C.formClass!==undefined){this.formClass=C.formClass}if(C.controlClass!==undefined){this.controlClass=C.controlClass}if(C.submitClass!==undefined){this.submitClass=C.submitClass}if(C.cancelClass!==undefined){this.cancelClass=C.cancelClass}if(C.highlightClass!==undefined){this.highlightClass=C.highlightClass}if(typeof C.editicon!="undefined"){this.editicon=C.editicon}this.onError=this.getDefinedHandler(C.onError,this.defaultErrorHandler);this.onSetEditorValue=this.getDefinedHandler(C.onSetEditorValue,this.defaultSetEditorValueHandler);this.onGetPostValue=this.getDefinedHandler(C.onGetPostValue,this.defaultGetPostValueHandler);this.onSetResult=this.getDefinedHandler(C.onSetResult,this.defaultSetResultHandler);this.onShowEditor=this.getDefinedHandler(C.onShowEditor,function(){});this.onHideEditor=this.getDefinedHandler(C.onHideEditor,function(){});this.generateForm();if(!this.activeEntry){this.activeEntry=this.targetBlock}this.activeEntry.mouseover(function(){D.onActivate()}).mouseout(function(){D.onDeactivate()}).click(function(){D.activate();return false});this.submitBlock.click(function(){D.submit();return false});this.cancelBlock.click(function(){D.deactivate();return false})};this.onActivate=function(){if(!this.activated){this.targetBlock.attr("class",this.highlightClass)}};this.onDeactivate=function(){if(!this.activated){this.targetBlock.attr("class",this.normalClass)}};this.defaultErrorHandler=function(C){alert(C)};this.defaultSetEditorValueHandler=function(E,D,C){var F="";if($(D).attr(C)!==undefined){F=$(D).attr(C)}else{F=$(D).html()}$(E).val(F.replace(/<br[^>]*>\n?/gi,"\n"))};this.defaultGetPostValueHandler=function(C){return $(C).val()};this.defaultSetResultHandler=function(E,D,C){var F=D[this.mame];F=F.replace(/\n\r?/g,"<br/>");if($(E).attr(C)!==undefined){$(E).attr(C,F)}$(E).html(F)};this.defaultHandler=function(C){};this.getDefinedHandler=function(D,C){if(D!==undefined&&D instanceof Function){return D}else{if(C!==undefined){return C}else{return this.defaultHandler}}};this.activate=function(){if(!this.activated){this.onActivate();this.activated=true;this.labelBlock.hide();this.onSetEditorValue(this.controlBlock[0],this.labelBlock[0],this.updateFieldName);this.formBlock.show();this.onShowEditor()}};this.submit=function(){var F=this;this.formBlock.hide();if(this.ts!=null){this.ts.hide()}var D=this.labelBlock.html();this.labelBlock.html("正在保存，请稍候……").show();if(typeof this.name=="string"){var E=this.name+"="+this.onGetPostValue(this.controlBlock[0])}else{var E=this.name[0]+"="+this.onGetPostValue(this.controlBlock[0]);for(var C=1;C<this.name.length;C++){E+="&"+this.name[C]+"="+$("input[name='"+this.name[C]+"']",this.formBlock).val()}}$.ajax({url:this.action,type:"POST",data:E,dataType:"json",timeout:30000,error:function(){F.onError("服务器没有响应。");F.labelBlock.html(D)},success:function(G){if(G.success){F.onSetResult(F.labelBlock[0],G,F.updateFieldName)}else{F.onError(G.errmsg||G.message);F.labelBlock.html(D)}}});this.activated=false;this.onDeactivate();this.onHideEditor()};this.deactivate=function(){this.formBlock.hide();this.labelBlock.show();this.activated=false;this.onDeactivate();this.onHideEditor()};this.generateForm=function(){var G=this.targetBlock.html();this.targetBlock.html("");this.targetBlock.append("<div/>");this.targetBlock.append('<form method="post"/>');this.labelBlock=$("div",this.targetBlock);this.labelBlock.html(G);if(this.editicon!=null){this.labelBlock.append(this.editicon)}if(typeof this.name=="string"){if(this.targetBlock.attr(this.name)!==undefined){this.labelBlock.attr(this.name,this.targetBlock.attr(this.name));this.targetBlock.removeAttr(this.name)}}else{for(var F=0;F<this.name.length;F++){var J=this.name[F];if(F!=0){this.labelBlock.attr(J,this.targetBlock.attr(J))}else{if(this.targetBlock.attr(J)!==undefined){this.labelBlock.attr(J,this.targetBlock.attr(J))}}this.targetBlock.removeAttr(J)}}this.formBlock=$("form",this.targetBlock);this.formBlock.css("display","none");this.formBlock.attr("class",this.formClass);switch(this.controlType){case"textarea":this.formBlock.append("<textarea/>");break;default:this.formBlock.append('<input type="'+this.controlType+'"/>');break}if(typeof this.name=="object"&&this.name.length>1){for(var F=1;F<this.name.length;F++){var J=this.name[F];var H=this.labelBlock.attr(J);this.formBlock.append('<input type="hidden" name="'+J+'" value="'+H+'" />')}}this.controlBlock=$(":input[type='"+this.controlType+"']",this.formBlock);this.controlBlock.attr("name",this.updateFieldName);this.controlBlock.attr("class",this.controlClass);if(this.controlTagSelector){this.controlBlock.after(this.controlTagSelector.entryHtml)}if(this.headerInfo){this.formBlock.prepend(this.headerInfo)}if(this.extraInfo){this.formBlock.append(this.extraInfo)}if(this.controlGmenu){this.formBlock.append(this.controlGmenu.entryHtml)}if(this.controlAjaxSuggestion){this.controlBlock.attr("idx",this.controlAjaxSuggestion.idx);this.formBlock.append(' &nbsp;&nbsp;<img id="suggestion_status_'+this.controlAjaxSuggestion.idx+'" width="16" height="16" src="'+js_context.theme_url.get("image/space.gif")+'" style="vertical-align:middle;" /> ')}if(this.buttonType=="a"){this.formBlock.append('<a class="'+this.submitClass+'">'+this.submitValue+"</a>");this.formBlock.append('<a class="'+this.cancelClass+'">'+this.cancelValue+"</a>");this.submitBlock=$("a[class='"+this.submitClass+"']",this.formBlock);this.cancelBlock=$("a[class='"+this.cancelClass+"']",this.formBlock)}else{this.formBlock.append('<input type="button" value="'+this.submitValue+'" class="'+this.submitClass+'" style="margin:0px 5px 0px 0px;" border="0" />');this.formBlock.append('<input type="button" value="'+this.cancelValue+'" class="'+this.cancelClass+'" border="0" />');this.submitBlock=$("input[class='"+this.submitClass+"']",this.formBlock);this.cancelBlock=$("input[class='"+this.cancelClass+"']",this.formBlock)}if(this.controlDatePicker){this.controlBlock.datepicker(this.controlDatePicker)}if(this.controlAjaxSuggestion){this.controlBlock.ajaxSuggestion(this.controlAjaxSuggestion)}if(this.controlGmenu){var C={};for(var E in this.controlGmenu){C[E]=this.controlGmenu[E]}C.targetItem=this.controlBlock;$(this.controlGmenu.entry).Gmenu(C);var I=this;this.controlBlock.click(function(){var K=$(this).val();if(K==""){$(I.controlGmenu.entry).trigger("click")}}).keyup(function(){var K=$(this).val();if(K.length>0){try{uutuu.App.Gmenu.CURRENT.hide()}catch(L){}}})}if(this.controlTagSelector){var D={};for(var E in this.controlTagSelector){D[E]=this.controlTagSelector[E]}this.ts=new uutuu.Widget.TagSelector(D.id,D.entry,D.target,{type:D.type,data:D.data,location:D.location})}};this.initialize(A)};uutuu.ajaxUpdate.register=function(A){if(A.action===undefined||!A.name===undefined){return }return this.each(function(){var C={};for(var B in A){C[B]=A[B]}if(C.name instanceof Function){C.name=C.name(this);if(C.name==null){return }}if(C.controlType!==undefined&&C.controlType instanceof Function){C.controlType=C.controlType(this);if(C.controlType==null){C.controlType=undefined}}if(C.controlClass!==undefined&&C.controlClass instanceof Function){C.controlClass=C.controlClass(this);if(C.controlClass==null){C.controlClass=undefined}}this.ajaxUpdate=new uutuu.ajaxUpdate(this,C)})};jQuery.fn.ajaxUpdate=uutuu.ajaxUpdate.register;uutuu.Namespace("uutuu.Widget");uutuu.Widget.Export("SimpleMenu");uutuu.Widget.SimpleMenu=uutuu.Class({name:"uutuu.Widget.SimpleMenu",construct:function(B,A){this.element=B;this.toggleButton;this.entry;this.menu;this.options={cssClass:"",imgList:"",showOnHover:false,hideOnOut:false,selectOnClick:false};this.onClickMenuItem=null;this.highlightStatus=[true,false,false,false];this.hover=false;this.onSelect=null;this.onShow=null;this.onHide=null;this.initialize(A)},methods:{initialize:function(A){if(!A){return }this.options.showOnHover=A.showOnHover;this.options.hideOnOut=A.hideOnOut;this.options.selectOnClick=A.selectOnClick;this.onSelect=A.onSelect;this.onShow=A.onShow;this.onHide=A.onHide;this.onClickMenuItem=A.onClickMenuItem||null;this.toggleButton=jQuery(A.toggleButton,this.element)[0];this.entry=jQuery("a",this.element)[0];this.menu=jQuery(A.menu,this.element)[0];if(!this.toggleButton){this.options.showOnHover=true}if(!this.entry){this.options.hideOnOut=true}if(!this.menu){return }this.options.imgList=A.imgList;if(this.options.imgList){if(this.options.imgList.constructor==String){this.options.imgList=[this.options.imgList]}for(var B=1;B<this.highlightStatus.length;B++){if(!this.options.imgList[B]){this.options.imgList[B]=this.options.imgList[B-1]}}this.options.imgList=this.statusMap(this.options.imgList,"imgList")}this.options.cssClass=A.cssClass?A.cssClass:jQuery(this.ul).attr("class");if(!this.options.cssClass){this.options.cssClass=""}if(this.options.cssClass.constructor==String){this.options.cssClass=[this.options.cssClass]}for(var B=1;B<this.highlightStatus.length;B++){if(!this.options.cssClass[B]){this.options.cssClass[B]=this.options.cssClass[B-1]}}this.options.cssClass=this.statusMap(this.options.cssClass,"cssClass");var C=this;jQuery(this.menu).css("display","none").css("position","absolute");if(this.options.showOnHover){jQuery(this.element).mouseover(function(){C.hover=true;C.show()}).mouseout(function(){C.hover=false})}else{jQuery(this.element).mouseover(function(){C.hover=true;C.highlight(C.SimpleMenu.HOVER_CLASS_INDEX)}).mouseout(function(){C.hover=false;C.highlight(C.SimpleMenu.HOVER_CLASS_INDEX,true)});jQuery(this.toggleButton).mouseover(function(D){C.hover=true;C.highlight(C.SimpleMenu.HANDELHOVER_CLASS_INDEX);D.preventDefault();D.stopPropagation()}).mouseout(function(D){C.hover=false;C.highlight(C.SimpleMenu.HANDELHOVER_CLASS_INDEX,true);D.preventDefault();D.stopPropagation()}).mousedown(function(D){C.toggle();D.preventDefault();D.stopPropagation()}).mouseup(function(D){D.preventDefault();D.stopPropagation()}).click(function(D){D.preventDefault();D.stopPropagation()})}if(this.options.hideOnOut){jQuery(this.element).mouseout(function(){C.hover=false;window.setTimeout(function(){if(!C.hover){C.hide(true)}},10)})}else{jQuery(this.entry).blur(function(){if(!C.hover){C.hide(false)}return false})}jQuery("a",this.menu).click(function(D){if(typeof C.onClickMenuItem=="function"&&C.onClickMenuItem(C,this,D)===false){D.preventDefault();return }C.hide(true);if(C.options.selectOnClick){if(!C.onSelect||C.onSelect(C,this)!==false){jQuery(C.entry).html(jQuery(this).html());jQuery(C.entry).attr("href",jQuery(this).attr("href"))}D.preventDefault()}})},toggle:function(){if(jQuery(this.menu).css("display")!="none"){this.hide(true)}else{this.show()}},show:function(){if(this.onShow){if(!this.onShow(this)){return false}}this.highlight(this.SimpleMenu.ACTIVE_CLASS_INDEX);jQuery(this.menu).css("display","block");var A=jQuery(this.menu).css("z-index");if(!A||A==""||A=="auto"){jQuery(this.menu).css("z-index","100")}if(this.entry){this.entry.focus();this.entry.hideFocus=true}return true},hide:function(A){this.highlight(this.SimpleMenu.ACTIVE_CLASS_INDEX,true);jQuery(this.menu).css("display","none");if(this.entry&&A){this.entry.blur()}if(this.onHide){this.onHide(this)}},highlight:function(C,B){for(var A=this.highlightStatus.length-1;A>=0;A--){if(this.highlightStatus[A]){jQuery(this.element).removeClass(this.options.cssClass[A])}}if(C!=this.SimpleMenu.NORMAL_CLASS_INDEX){this.highlightStatus[C]=!B}for(var A=this.highlightStatus.length-1;A>=0;A--){if(this.highlightStatus[A]){jQuery(this.element).addClass(this.options.cssClass[A]);if(this.toggleButton&&this.options.imgList){if(this.toggleButton.tagName.toLowerCase()=="img"){jQuery(this.toggleButton).attr("src",this.options.imgList[A])}else{jQuery("img",this.toggleButton).attr("src",this.options.imgList[A])}}return A}}},statusMap:function(A,C){var B=new Array();switch(C){case"imgList":B.push(A[this.SimpleMenu.OPTION_NORMAL_INDEX]);B.push(A[this.SimpleMenu.OPTION_NORMAL_INDEX]);B.push(A[this.SimpleMenu.OPTION_HOVER_INDEX]);B.push(A[this.SimpleMenu.OPTION_ACTIVE_INDEX]);break;case"cssClass":B.push(A[this.SimpleMenu.OPTION_NORMAL_INDEX]);B.push(A[this.SimpleMenu.OPTION_HOVER_INDEX]);B.push(A[this.SimpleMenu.OPTION_HOVER_INDEX]);B.push(A[this.SimpleMenu.OPTION_ACTIVE_INDEX]);break}return B}},statics:{OPTION_NORMAL_INDEX:0,OPTION_HOVER_INDEX:1,OPTION_ACTIVE_INDEX:2,NORMAL_CLASS_INDEX:0,HOVER_CLASS_INDEX:1,HANDELHOVER_CLASS_INDEX:2,ACTIVE_CLASS_INDEX:3,register:function(A){if(!A||!A.menu){return }return this.each(function(){var C={};for(var B in A){C[B]=A[B]}this.SimpleMenu=new uutuu.Widget.SimpleMenu(this,C)})}}});jQuery.fn.simpleMenu=uutuu.Widget.SimpleMenu.register;uutuu.Namespace("uutuu.Widget");uutuu.Widget.Export("TagSelector");uutuu.Widget.TagSelector=uutuu.Class({name:"uutuu.Widget.TagSelector",construct:function(D,B,C,A){this.id="tagSelector_"+D;this.target=C;this.entry=B;this.cache=[];this.options={type:"dest",aCssClass:"tagSelectorA",data:{"dest":["蜜月","商务","度假","奢华","民俗文化","自驾","温泉","艺术","户外","购物","摄影","自助","修学","时尚","古迹","建筑","宗教","乡村古镇","主题公园","邮轮","节庆","其他"],"guide":["美食","住宿","交通","娱乐","购物","游玩","签证","其他"]},tplFn:uutuu.Widget.TagSelector.tplFn,tplLang:{"selectTag":"选择标签","close":"关闭"},location:["bottom-right","right-down",-260,0],compatibleMode:false,onSelect:null,multi:true,splitter:" ",ajaxDataUrl:"",ajaxDataParam:"",beforeShow:null,maxTagsWithoutScrolling:80,panelWidth:265,inline:false};this.initialize(A)},methods:{initialize:function(A){for(var B in A){this.options[B]=A[B]}var C=this;$(this.entry).click(function(D){C.show();D.preventDefault()})},showPanel:function(B){var A=$("#"+this.id);if(A.length==0){return }if(B||A.css("display")=="none"){A.css("display","block");switch(this.options.compatibleMode){case"thickbox":A.css("z-index",1000);if(!$.browser.msie){A.css("position","fixed")}break}uutuu.util.locate(A[0],$(this.entry)[0],this.options.location[0],this.options.location[1],this.options.location[2],this.options.location[3])}else{A.css("display","none")}},show:function(){if(this.options.beforeShow){this.options.beforeShow(this)}if($("#"+this.id).length>0){if((typeof this.options.data[this.options.type])=="undefined"){this.getData()}else{this.resetPool(this.options.data[this.options.type],false)}}else{this.setPanel()}},hide:function(){var A=$("#"+this.id);if(A.length==0){return }A.css("display","none")},setPanel:function(){if((typeof this.options.data[this.options.type])=="undefined"){this.getData()}var A=this.options.tplFn(this.id,this.options.type,this.options.data,this.options.aCssClass,this.options.tplLang,this.options.maxTagsWithoutScrolling,this.options.inline,this.options.panelWidth);$(A).appendTo($(document.body));$("#"+this.id+"_close").bind("click",(function(B){return function(C){$("#"+B).css("display","none");C.preventDefault()}})(this.id)).css("cursor","pointer");this.bindItem();this.showPanel()},bindItem:function(){var A=this;$("#"+this.id+" a."+this.options.aCssClass).bind("click",function(D){if(A.options.multi){var C=$(A.target).val();var B=$(this).text();if(C.indexOf(B)!=-1){return }if(C.length>0&&C.substring(C.length-1)!=A.options.splitter){C+=A.options.splitter}C=C+B+A.options.splitter;$(A.target).val(C)}else{var B=$(this).text();$(A.target).val(B);$("#"+A.id).css("display","none")}if(A.options.onSelect){A.options.onSelect()}D.preventDefault()}).css("cursor","pointer")},resetPool:function(D,A){var C=$("#"+this.id+"_pool");if(D.length>this.options.maxTagsWithoutScrolling){C.css("height","200px").css("overflow-y","auto").css("overflow-x","hidden")}else{C.css("height","auto").css("overflow-y","auto").css("overflow-x","auto")}var E="";for(var B=0;B<D.length;B++){E+='<a class="'+this.options.aCssClass+'" style="margin:0px 5px;display:inline-block;">'+D[B]+"</a>";if(this.options.inline){E+="<br />"}}C.html(E);this.showPanel(A);this.bindItem()},getData:function(){var A=this.inCache(this.options.ajaxDataParam);if(A.cached){this.resetPool(A.data,false)}else{var B=this;jQuery.ajax({url:B.options.ajaxDataUrl,type:"POST",data:B.options.ajaxDataParam,dataType:"json",timeout:30000,error:function(E,D,C){},success:function(C){B.cache.push({param:B.options.ajaxDataParam,data:C});B.resetPool(C,true)}})}},inCache:function(C){for(var A=0;A<this.cache.length;A++){var B=this.cache[A];if(B.param==C){return{cached:true,data:B.data}}}return{cached:false}}},statics:{tplFn:function(B,I,D,F,E,K,G,A){var H='<div id="'+B+'" class="tagDesSelectPool" style="position:absolute;z-index:999;display:none;width:'+A+'px;height:auto;">';H+='<div class="tagDesSelectPoolInner" style="height:auto;">';H+='<table width="'+(A-20)+'" border="0" cellspacing="0" cellpadding="0">';H+="<tr>";H+='<td><span style="float:left;font-weight:bold;">'+E.selectTag+'</span><span style="float:right;"><a href="#" class="popupclose" id="'+B+'_close"><img src="'+js_context.theme_url+'image/icon_closegray.gif" border="0" title="'+E.close+'" /></a></span></td>';H+="</tr>";H+="<tr>";H+='<td><div class="dottedhline" style="margin-top:5px;">&nbsp;</div></td>';H+="</tr>";H+="<tr>";H+='<td height="30" class="titlenote" style="padding-top:3px;">';var L=false;if(typeof D[I]=="undefined"){var J=[];L=true}else{var J=D[I]}if(J.length<K){H+='<div id="'+B+'_pool" style="line-height:20px;">'}else{H+='<div id="'+B+'_pool" style="line-height:20px;height:'+(A-65)+'px;overflow-y:auto;overflow-x:hidden;">'}for(var C=0;C<J.length;C++){H+='<div style="padding:1px 6px;float:left;"><a class="'+F+'">'+J[C]+"</a></div>";if(G){H+="<br />"}}if(L){H+="正在获取数据，请稍候……"}H+="</div>";H+="</td>";H+="</tr>";H+="</table>";H+="</div>";H+="</div>";return H}}});uutuu.Namespace("uutuu.util");uutuu.util.Export("Validator");uutuu.util.Validator=uutuu.Class({name:"uutuu.util.Validator",construct:function(A){this.settings={};if(A&&A.length){this.addFields(A)}else{if(A){this.addField(A)}}},methods:{addField:function(D,C,A,B){if(D instanceof Object){this.settings[D.name]=D}else{this.settings[D]={name:D,rule:C,prompt:A,func:B}}},addFields:function(A){if(!A.length){return }for(var B=0;B<A.length;B++){this.settings[A[B].name]=A[B]}},validate:function(L){if(!L){L=document.body}var J=/^\s*([_a-zA-Z0-9]+)(\[(.*)\])?\s*$/;for(field in this.settings){var M=$(":input[name='"+field+"'][method!='skip']",L);var C="";for(var G=0;G<M.length;G++){if(M[G].tagName!="INPUT"||(M[G].type!="radio"&&M[G].type!="checkbox")){C=$.trim(M.val());break}else{if(M[G].checked){C=M.val();break}}}var N=this.settings[field].rule.split("|");for(var F=0;F<N.length;F++){var K=this.Validator.Rules[N[F].replace(J,"$1")];if(!K){continue}var E=K.rule;var H=this.resource(K.msg);if(!H){H=K.msg}var I=N[F].replace(J,"$3");I=I.length==0?[]:I.split(",");var A=true;if(E!="custom"){for(var D=0;D<I.length;D++){E=E.replace("@"+D+"@",I[D]);H=H.replace("@"+D+"@",I[D])}A=C.match(E)}else{if(this.settings[field].func&&this.settings[field].func.constructor==Function){I.unshift(C);A=this.settings[field].func.apply(null,I);if(A!=true){H=A==false?H:A;A=false}}}if(!A){var B=this.settings[field].prompt?this.settings[field].prompt:field;H=H.replace("@display@",B);uutuu.UI.Dialog.alert(H,function(){setTimeout(function(){M.focus()},100)});return false}}}return true}},statics:{Rules:{"custom":{rule:"custom",msg:"ERROR_VALIDATE"},"select":{rule:"^.+$",msg:"ERROR_SELECT"},"require":{rule:"^(.|\n|\r)+$",msg:"ERROR_REQUIRE"},"maxlength":{rule:"^(.|\n|\r){0,@0@}$",msg:"ERROR_MAXLENGTH"},"date":{rule:"^[0-9]{4}\\.[0-9]{1,2}\\.[0-9]{1,2}$",msg:"ERROR_DATE"},"url":{rule:"^[a-zA-Z0-9/~%.:_-]*$",msg:"ERROR_URL"},"alphaspace":{rule:"^[a-zA-Z0-9 ]*$",msg:"ERROR_ALPHASPACE"},"numeric":{rule:"^[0-9]*$",msg:"ERROR_NUMERIC"}}}});uutuu.Namespace("uutuu.App");uutuu.App.Export("PhotoElement","PhotoCollection");uutuu.App.PhotoElement=uutuu.Class({name:"uutuu.App.PhotoElement",construct:function(B,A){this.element=null;this.highlightStatus=[true,false,false,false,false];this.photo=B;this.timezone=this.PhotoElement.DEFAULT_TIME_ZONE;this.options={cssClass:"photo_normal"};this.initialize(A);this.PhotoElement.register(this)},methods:{initialize:function(A){if(!A){A={}}this.element=A.element;if(A.cssClass){this.options.cssClass=A.cssClass}if(this.options.cssClass.constructor==String){this.options.cssClass=[this.options.cssClass]}for(var B=this.PhotoElement.GROUP_CLASS_INDEX;B<=this.PhotoElement.HOVER_CLASS_INDEX;B++){if(!this.options.cssClass[B]){this.options.cssClass[B]=this.options.cssClass[B-1]}}if(!this.element){this.element=document.createElement("a");$(this.element).attr("href","javascript:void(0)").html('<img id="pc_img_'+this.photo.nid+'" src="'+this.photo.link+'"/>').attr("class",this.options.cssClass[this.PhotoElement.NORMAL_CLASS_INDEX])}},highlight:function(B,A){return this.setState(B,A)},resetHighlight:function(){return this.resetStatus()},applyHighlight:function(A){return this.applyStatus(A)},generateGroupKey:function(A,C){switch(A){case"timestamp":var D=parseInt(C!==undefined?C:this.photo.datetime);if(D==0){return"D0"}var B=D+this.timezone*60;return"D"+(B-B%86400);default:throw"unsupported field"}},getGroupKey:function(A){switch(A){case"timestamp":if(this.photo.timestamp===undefined){return undefined}if(this.photo.timestamp<86400){return"D0"}var B=parseInt(this.photo.timestamp)+this.timezone*60;return"D"+(B-B%86400);default:return this.photo.nid}},setGroupKey:function(B,A){switch(A){case"timestamp":if(B=="D0"){this.photo.timestamp=0}else{this.photo.timestamp=parseInt(B.substring(1))-this.timezone*60}break;default:throw"unsupported field"}},compareTo:function(B,A){switch(A){case"timestamp":var C=parseInt(this.photo.timestamp);C=(C<86400)?0:(C-(C+this.timezone*60)%86400);var D=parseInt(B.photo.timestamp);D=(D<86400)?0:(D-(D+this.timezone*60)%86400);if(!C||!D){return D-C}else{return C-D}break;default:return this.photo.dsp_order-B.photo.dsp_order}},getSequence:function(){return this.photo.dsp_order},setSequence:function(C,A){switch(A){case"timestamp":var B=parseInt(this.photo.timestamp);B=B-(B+this.timezone*60)%86400;this.photo.dsp_order=(this.photo.timestamp<86400)?C:(B*1000000+C);break;default:this.photo.dsp_order=C;break}},setState:function(B,A){var C=this.getActiveState();if(B!=this.PhotoElement.NORMAL_CLASS_INDEX){this.highlightStatus[B]=!A}B=this.getActiveState();if(B!=this.PhotoElement.NORMAL_CLASS_INDEX){$(this.element).addClass(this.options.cssClass[B])}if(this.options.cssClass[C]!=this.options.cssClass[B]&&C!=this.PhotoElement.NORMAL_CLASS_INDEX){$(this.element).removeClass(this.options.cssClass[C])}return B},isStateSet:function(A){return this.highlightStatus[A]},getActiveState:function(A){if(A==undefined){A=this.highlightStatus.length-1}for(var B=A;B>=0&&!this.highlightStatus[B];B--){}return B},resetStatus:function(){for(var A=this.PhotoElement.NORMAL_CLASS_INDEX+1;A<this.highlightStatus.length;A++){this.highlightStatus[A]=false}},applyStatus:function(A){if(!(A instanceof this.PhotoElement)){return }for(var B=0;B<this.highlightStatus.length;B++){this.highlightStatus[B]=A.highlightStatus[B]}},isSelected:function(){return this.isStateSet(this.PhotoElement.SELECTED_CLASS_INDEX)},destroy:function(){$(this.element).unbind("uutuu.photo.delete");this.PhotoElement.unregister(this)},update:function(A){this.PhotoElement.update(A)},del:function(){this.PhotoElement.del(this.photo)},onDel:function(A){if(A){$(this.element).bind("uutuu.photo.delete",A)}else{$(this.element).trigger("uutuu.photo.delete")}}},statics:{DEFAULT_TIME_ZONE:480,NORMAL_CLASS_INDEX:0,GROUP_CLASS_INDEX:1,HIGHLIGHT_CLASS_INDEX:2,SELECTED_CLASS_INDEX:3,HOVER_CLASS_INDEX:4,registry:{sequence:0,elements:{}},register:function(A){if(A.seq){return }A.seq=++this.registry.sequence;var B=A.photo.nid;if(!this.registry.elements[B]){this.registry.elements[B]={}}this.registry.elements[B][A.seq]=A},unregister:function(A){if(!A.seq){return }delete this.registry.elements[A.photo.nid][A.seq];delete A.seq},update:function(B){var C=this.registry.elements[B.nid];if(!C){return }for(var A in C){for(var D in B){if(C[A].photo.hasOwnProperty(D)){C[A].photo[D]=B[D]}}var E=jQuery("img",C[A].element);(E.length>0?E:jQuery(C[A].element)).attr("src",C[A].photo.link)}},del:function(B){var C=this.registry.elements[B.nid];if(!C){return }for(var A in C){C[A].onDel()}}}});uutuu.App.PhotoCollection=uutuu.Class({name:"uutuu.App.PhotoCollection",construct:function(C,A){this.groupField;this.groups={length:0};this.panel;this.tabFactory;this.length=0;this.keyIndex={};if(C&&C.length){for(var B=0;B<C.length;B++){this[B]=C[B];this.keyIndex[this[B].getGroupKey()]=B}this.length=B}this.onGroupsKeysChange=function(){};this.onChange=function(){};this.uninitialized=true;this.setGroupBy(A);delete this.uninitialized},methods:{setGroupBy:function(E){if(this.groupField==E&&!this.uninitialized){return }this.groupField=E;for(B in this.groups){if(this.groups[B].tab){$(this.groups[B].tab.element).remove();delete this.groups[B].tab}delete this.groups[B]}this.groups.length=0;if(this.groupField&&!this.uninitialized){for(var C=0;C<this.length;C++){if(this[C].getGroupKey(this.groupField)===undefined){this[C].setGroupKey(this[C].generateGroupKey(this.groupField),this.groupField)}}var D=this;Array.prototype.sort.apply(this,[function(H,G){var F=H.compareTo(G,D.groupField);if(F==0){return H.compareTo(G)}else{return F}}])}if(this.groupField){for(var C=0;C<this.length;C++){var B=this[C].getGroupKey(this.groupField);if(this.groups[B]===undefined){var A=this.groups.length;this.groups[this.groups.length++]=this.groups[B]={key:B,start:C,length:1,index:A}}else{this.groups[B].length++}this[C].setSequence(this.groups[B].length-1,this.groupField);this.keyIndex[this[C].getGroupKey()]=C}}else{for(var C=0;C<this.length;C++){this[C].setSequence(C)}}if(this.panel){this.setPanel(this.panel,this.tabFactory)}},setPanel:function(D,A){if(this.panel){$(this.panel).html("")}this.panel=D;this.tabFactory=A;if(this.tabFactory&&this.groups.length>0){for(var C=0;C<this.groups.length;C++){this.groups[C].tab=this.tabFactory.createTab(this.groups[C]);$(this.panel).append(this.groups[C].tab.element);for(var B=0;B<this.groups[C].length;B++){$(this.panel).append(this[this.groups[C].start+B].element)}}}else{for(var C=0;C<this.length;C++){$(this.panel).append(this[C].element)}}},getGroupsKeys:function(){var A=new Array(this.groups.length);for(var B=0;B<this.groups.length;B++){A[B]=this.groups[B].key}return A},getGroupPhotos:function(C){if(this.groups[C]===undefined){return null}var A={length:0};for(var B=this.groups[C].start;B<this.groups[C].start+this.groups[C].length;B++){A[A.length++]=this[B]}if(this.groups[C].tab){A.tab=this.groups[C].tab}return A},add:function(B,A){if(this.groupField){B.setGroupKey(B.generateGroupKey(this.groupField,A),this.groupField);return this.addToGroup(B,B.getGroupKey(this.groupField))}B.setSequence(this.length);this.keyIndex[B.getGroupKey()]=this.length;this[this.length++]=B;if(this.panel){$(this.panel).append(B.element)}this.onChange(this);return this.length-1},addToGroup:function(F,B){if(!this.groupField){return this.add(F)}F.setGroupKey(B,this.groupField);var A=this.length;var E=false;if(!this.groups[B]){var D;for(D=this.groups.length;D>0;D--){if(this[this.groups[D-1].start].compareTo(F,this.groupField)>0){this.groups[D]=this.groups[D-1];for(A=this.groups[D].start+this.groups[D].length;A>this.groups[D].start;A--){this[A]=this[A-1];this.keyIndex[this[A].getGroupKey()]++}this.groups[D].start++;this.groups[D].index++}else{break}}this.groups[D]=this.groups[B]={key:B,start:A,length:1,index:D};this.groups.length++;F.setSequence(0,this.groupField);if(this.panel&&this.tabFactory){var C=this.groups[B].tab=this.tabFactory.createTab(this.groups[B]);if(A==this.length){$(this.panel).append(C.element)}else{$(C.element).insertBefore(this.groups[D+1].tab.element)}$(F.element).insertAfter(C.element)}else{if(this.panel){if(A==this.length){$(this.panel).append(F.element)}else{$(F.element).insertBefore(this[A+1].element)}}}E=true}else{for(A=this.length;A>this.groups[B].start+this.groups[B].length;A--){this[A]=this[A-1];this.keyIndex[this[A].getGroupKey()]++}for(var D=this.groups.length-1;D>this.groups[B].index;D--){this.groups[D].start++}F.setSequence(this.groups[D].length++,this.groupField);if(this.panel){$(F.element).insertAfter(this[A-1].element)}}this[A]=F;this.keyIndex[F.getGroupKey()]=A;this.length++;this.onChange(this);if(E){this.onGroupsKeysChange(this,this.getGroupsKeys())}return A},insertBefore:function(B,A){return this.insert(B,A,false)},insertAfter:function(B,A){return this.insert(B,A,true)},insert:function(F,B,E){var A=this.locate(F);if(A>=0){return A}A=this.locate(B);if(A<0){throw"target "+B.photo.nid+" not found in collection."}if(E){A++}if(this.groupField){var D=B.getGroupKey(this.groupField);F.setGroupKey(D,this.groupField);for(var C=A;C<this.groups[D].start+this.groups[D].length;C++){this[C].setSequence(C-this.groups[D].start+1,this.groupField)}F.setSequence(A-this.groups[D].start,this.groupField);this.groups[D].length++;for(var C=this.groups[D].index+1;C<this.groups.length;C++){this.groups[C].start++}for(var C=this.length;C>A;C--){this[C]=this[C-1];this.keyIndex[this[C].getGroupKey()]++}}else{F.setSequence(A);for(var C=this.length;C>A;C--){this[C]=this[C-1];this.keyIndex[this[C].getGroupKey()]++;this[C].setSequence(C)}}this[A]=F;this.keyIndex[F.getGroupKey()]=A;this.length++;if(this.panel){if(E){$(F.element).insertAfter(B.element)}else{$(F.element).insertBefore(B.element)}}this.onChange(this);return A},remove:function(E,D){var A=this.locate(E);if(A<0){return false}if(this.panel&&!D){$(E.element).remove()}var F=false;if(this.groupField){var C=E.getGroupKey(this.groupField);for(var B=A+1;B<this.groups[C].start+this.groups[C].length;B++){this[B].setSequence(B-this.groups[C].start-1,this.groupField)}for(var B=A+1;B<this.length;B++){this.keyIndex[this[B].getGroupKey()]--;this[B-1]=this[B]}if(--this.groups[C].length==0){if(this.groups[C].tab){$(this.groups[C].tab.element).remove()}for(var B=this.groups[C].index+1;B<this.groups.length;B++){this.groups[B].start--;this.groups[B].index--;this.groups[B-1]=this.groups[B]}delete this.groups[--this.groups.length];delete this.groups[C];F=true}else{for(var B=this.groups[C].index+1;B<this.groups.length;B++){this.groups[B].start--}}}else{for(var B=A+1;B<this.length;B++){this[B].setSequence(B-1);this.keyIndex[this[B].getGroupKey()]--;this[B-1]=this[B]}}delete this.keyIndex[E.getGroupKey()];delete this[--this.length];this.onChange(this);if(F){this.onGroupsKeysChange(this,this.getGroupsKeys())}return true},clear:function(){if(this.panel){$(this.panel).children().remove()}var B=this.groups.length;if(this.groupField){for(var A in this.groups){delete this.groups[A]}this.groups.length=0}for(var A in this.keyIndex){delete this.keyIndex[A]}while(this.length){delete this[--this.length]}this.onChange(this);if(B){this.onGroupsKeysChange(this,this.getGroupsKeys())}return true},locate:function(B){var A=this.keyIndex[B.getGroupKey()];if(A!==undefined){return A}else{return -1}},select:function(E,B){var A=this.locate(E);if(A<0){return }if(B){B.stopPropagation();B.preventDefault()}if(!B||(!B.ctrlKey&&!B.shiftKey)){for(var C=0;C<this.length;C++){this[C].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX,true)}E.highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX)}else{if(B.shiftKey){if(this.lastIndex===undefined){this.lastIndex=0}var D=this.lastIndex<A?-1:1;for(;A>=0&&A<this.length&&A!=this.lastIndex;A+=D){this[A].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX)}this[this.lastIndex].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX)}else{E.highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX,E.isSelected())}}this.lastIndex=A},getSelects:function(){var A=new Array();for(var B=0;B<this.length;B++){if(this[B].isSelected()){A.push(this[B])}}return A},selectAll:function(){for(var A=0;A<this.length;A++){this[A].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX)}},reverseSelect:function(){for(var A=0;A<this.length;A++){this[A].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX,this[A].isSelected())}},deselect:function(){for(var A=0;A<this.length;A++){this[A].highlight(uutuu.App.PhotoElement.SELECTED_CLASS_INDEX,true)}}}});uutuu.App.PhotoCollection.DateTabFactory=uutuu.Class({name:"uutuu.App.PhotoCollection.DateTabFactory",construct:function(A){this.template=null;this.defaultTab=null;this.options={normalClass:"tb_normal",groupClass:null,highlightClass:null,yearPattern:/\{year\}/,datePattern:/\{date\}/};this.intialize(A)},methods:{intialize:function(A){if(A){for(key in this.options){if(A[key]!==undefined){this.options[key]=A[key]}}if(!A.groupClass){this.options.groupClass=this.options.normalClass}if(!A.highlightClass){this.options.highlightClass=this.options.normalClass}}},setTemplate:function(A,B){if(!A){return }this.template=A;this.defaultTab=B;if(A.parentNode){$(A).remove()}if(B&&B.parentNode){$(B).remove()}},createTab:function(B){var D;var C=B;if(B.constructor==Object){C=B.key}var F=parseInt(C.substring(1));parseInt;if(F>86400){D=$(this.template).clone()[0];var A=new Date(F*1000);$(D).html($(D).html().replace(this.options.yearPattern,A.getUTCFullYear()).replace(this.options.datePattern,(A.getUTCMonth()+1)+"."+A.getUTCDate()))}else{if(this.defaultTab){D=$(this.defaultTab).clone()[0]}else{D=document.createElement("div");$(D).attr("class",this.options.normalClass).html("^_^")}}var E=new uutuu.App.PhotoCollection.DateTabElement(C);E.element=D;E.options=this.options;return E}}});uutuu.App.PhotoCollection.DateTabElement=function(A){this.key=A;this.element=null;this.options=null};uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Panel");uutuu.Require("uutuu.App.PhotoCollection");uutuu.Namespace("uutuu.App");uutuu.App.Export("BatchPool");uutuu.App.BatchPool=uutuu.Class({name:"uutuu.App.BatchPool",construct:function(B,A){this.name=B;this.collectionPanel;this.options={photoClass:null,dragAcceptClass:null,collectionPanelAlterClass:null};this.collection;this.removePanel;this.countLabel;this.initialize(A)},methods:{initialize:function(A){if(!A.collectionPanel||!A.removePanel){return }var B=this;this.collectionPanel=A.collectionPanel;this.removePanel=A.removePanel;this.options.collectionPanelAlterClass=A.collectionPanelAlterClass;this.options.photoClass=A.photoClass;this.options.dragAcceptClass=A.photoClass;if(A.photoClass.constructor==Array){this.options.dragAcceptClass=A.photoClass[A.photoClass.length-1]}uutuu.UI.Panel.dragMonitor.dragClass=this.options.dragClass;uutuu.util.bind(this,this.name,"member");this.initializePanel();this.initializeCollection()},initializeCollection:function(D){if(this.collection){return }var C=this;if(!D){D=[]}var B=new Array(D.length);for(var A=0;A<B.length;A++){B[A]=this.initializeElement(D[A])}this.collection=new uutuu.App.PhotoCollection(B);this.collection.setPanel(this.collectionPanel.layout);this.collection.getSelects=function(){var E=this.PhotoCollection.prototype.getSelects.apply(this);return E.length==0?this:E};this.collectionChangeHandler(this);this.collection.onChange=function(E){C.collectionChangeHandler(E)}},initializeElement:function(A){var B=this;var C=new uutuu.App.PhotoElement(A,{cssClass:this.options.photoClass});C.element.photo=C;C.onDel(function(){B.remove(null,C)});$(C.element).mouseover(function(D){if(!uutuu.UI.Panel.dragMonitor.dragging){this.photo.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX)}}).mouseout(function(D){if(!uutuu.UI.Panel.dragMonitor.dragging){this.photo.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX,true)}}).click(function(D){B.collection.select(this.photo,D);D.preventDefault()}).draggable({appendTo:$(document.body),helper:function(){return $("#dragHelper").clone().attr("id","dhInstance").show()},cursorAt:{top:-5,left:-5},start:function(F,E){if($.browser.msie){$(":input",B.removePanel.parentNode).css("visibility","hidden")}if(!C.isSelected()){B.collection.select(C)}var D=B.collection.getSelects();uutuu.UI.Panel.dragMonitor.data=D;uutuu.util.bind("#dhInstance",{imgex:A.link,num:D.length},"eval");$(B.removePanel).show()},stop:function(E,D){uutuu.UI.Panel.dragMonitor.target=null;uutuu.UI.Panel.dragMonitor.data=null;setTimeout(function(){$(B.removePanel).hide();if($.browser.msie){$(":input",B.removePanel.parentNode).css("visibility","")}},10)}}).dblclick(function(){uutuu.UI.Dialog.request({data:{photo:C},dlgid:"dlg_upd_photo_simple",addr:js_context.base_url+"service/ui/dialog/photo_batch"})});return C},initializePanel:function(){var A=this;$(this.collectionPanel.viewport).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,drop:function(C,B){A.dispatchHandler(uutuu.UI.Panel.dragMonitor.data)}}).click(function(){A.deselect()});$(this.removePanel).css("position","absolute").css("top",0).css("left",0).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,drop:function(C,B){setTimeout(function(){A.remove(null,uutuu.UI.Panel.dragMonitor.data)},5)}})},updateCountLabel:function(){if(!this.collection||!this.countLabel){return }$(this.countLabel).html(this.collection.length.toString())},scrollToViewport:function(A){this.collectionPanel.scrollTo(A.offsetTop,true)},dispatchHandler:function(C){var D=this;if(C.length){if(C.length==1){this.dispatchHandler(C[0])}else{uutuu.util.progressable(function(G,F,E){D.dispatchHandler(C[F]);setTimeout(function(){E()},1);return false},C.length,{endCallback:function(E){uutuu.UI.Dialog.getMessageBox().close()}})()}return }var B=C;var A=this.collection.locate(B);if(A<0){B=this.initializeElement(B.photo)}else{B=this.collection[A];this.collection.remove(B,true)}B.resetHighlight();this.collection.add(B);B.highlight(uutuu.App.PhotoElement.NORMAL_CLASS_INDEX);this.scrollToViewport(B.element)},collectionChangeHandler:function(A){this.updateCountLabel();if(this.options.collectionPanelAlterClass&&this.collection.length==0){$(this.collectionPanel.layout).addClass(this.options.collectionPanelAlterClass)}else{if(this.options.collectionPanelAlterClass){$(this.collectionPanel.layout).removeClass(this.options.collectionPanelAlterClass)}}$(this.collectionPanel.layout).trigger("panelResize")},remove:function(C,D){if(C){C.preventDefault()}var B=D;if(!B){B=this.collection.getSelects()}else{if(B instanceof uutuu.App.PhotoElement){B=[B]}else{if(!B.length){return }}}for(var A=0;A<B.length;A++){B[A].destroy();$(B[A].element).draggable("destroy");this.collection.remove(B[A])}},clear:function(B){if(B){B.preventDefault()}for(var A=0;A<this.collection.length;A++){this.collection[A].destroy();$(this.collection[A].element).draggable("destroy")}this.collection.clear()},selectAll:function(){this.collection.selectAll()},deselect:function(){this.collection.deselect()}}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Panel");uutuu.Require("uutuu.UI.Dialog");uutuu.Require("uutuu.App.PhotoCollection");uutuu.Namespace("uutuu.App");uutuu.App.Export("Album");uutuu.App.Album=uutuu.Class({name:"uutuu.App.Album",construct:function(B,A){this.name=B;this.tab;this.collection;this.themeSelector;this.collectionPanel;this.dispatchPanel;this.removePanel;this.albumSelector;this.groupSelector;this.tabFactory;this.indicator;this.geoLabel;this.countLabel;this.cover;this.detailLinks;this.tabTitle;this.options={photoClass:null,dragAcceptClass:null,tabClass:null,collectionPanelAlterClass:null};this.title={name:"title",prompt:this.resource("FIELD_ALBUM_TITLE"),rule:"require|maxlength[100]"};this.body={name:"body",prompt:this.resource("FIELD_ALBUM_BODY"),rule:"maxlength[1000]"};this.tag={name:"tag",prompt:this.resource("FIELD_ALBUM_TAG"),rule:"maxlength[100]"};this.validator=new uutuu.util.Validator([this.title,this.body,this.tag]);this.nid;this.cid;this.lastSelectedGroup;this.lastHighlightGroup;this.outTimeout={id:0,obj:null};this.saving=false;this.loading=false;this.original=null;this.signature=null;this.coverElement=null;this.initialize(A)},methods:{initialize:function(A){if(!A.tab||!A.collectionPanel||!A.dispatchPanel||!A.removePanel){return }var C=this;this.tab=A.tab;this.themeSelector=A.themeSelector;this.collectionPanel=A.collectionPanel;this.dispatchPanel=A.dispatchPanel;this.removePanel=A.removePanel;this.tabFactory=A.tabFactory;this.options.collectionPanelAlterClass=A.collectionPanelAlterClass;this.options.photoClass=A.photoClass;this.options.dragAcceptClass=A.photoClass;if(A.photoClass.constructor==Array){this.options.dragAcceptClass=A.photoClass[A.photoClass.length-1]}uutuu.UI.Panel.dragMonitor.dragClass=this.options.dragClass;this.options.tabClass=A.tabClass;if(this.options.tabClass){if(this.options.tabClass.constructor==String){this.options.tabClass=[this.options.tabClass]}for(var B=uutuu.App.PhotoElement.GROUP_CLASS_INDEX;B<=uutuu.App.PhotoElement.HOVER_CLASS_INDEX;B++){if(!this.options.tabClass[B]){this.options.tabClass[B]=this.options.tabClass[B-1]}}}this.options.delAddress=A.delAddress;this.options.saveAddress=A.saveAddress;this.options.loadAddress=A.loadAddress;this.options.listAddress=A.listAddress;this.options.returnAddress=A.returnAddress||"#";uutuu.util.bind(this,this.name,"member");this.initializePanel();this.initializeCover();this.initializeAlbumSelector();$(document).bind("drag",function(G){var D=uutuu.UI.Panel.dragMonitor;if(!C.indicator){return }else{if(!D.target||D.data==null){$(C.indicator).css("display","none");return }}var H=D.target;$(C.indicator).css("display","block").appendTo(H);var E=uutuu.util.locate(H);var F=uutuu.util.width(H);if(G.clientX-E[1]>F/2){uutuu.util.locate(C.indicator,H,"top-right","right-down",0,-(C.indicator.offsetWidth/2))}else{uutuu.util.locate(C.indicator,H,"top-left","left-down",0,-(C.indicator.offsetWidth/2))}}).bind("dragstop",function(D){if(C.indicator){$(C.indicator).css("display","none")}})},initializePanel:function(){var A=this;$(this.collectionPanel.viewport).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,tolerance:"pointer",drop:function(C,B){A.dispatchHandler(uutuu.UI.Panel.dragMonitor.data)}}).click(function(){A.deselect()});$(this.dispatchPanel.layout).mouseover(function(B){if(uutuu.UI.Panel.dragMonitor.dragging&&uutuu.UI.Panel.dragMonitor.data){$(this).addClass("PHdraginfonotehover")}}).mouseout(function(B){if(uutuu.UI.Panel.dragMonitor.dragging&&uutuu.UI.Panel.dragMonitor.data){$(this).removeClass("PHdraginfonotehover")}}).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,hoverClass:"PHdraginfonotehover",tolerance:"pointer",drop:function(C,B){$(this).removeClass("PHdraginfonotehover");A.dispatchHandler(uutuu.UI.Panel.dragMonitor.data)}});$(this.removePanel).css("position","absolute").css("top",0).css("left",0).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,tolerance:"pointer",drop:function(C,B){setTimeout(function(){A.remove(null,uutuu.UI.Panel.dragMonitor.data)},5)}})},initializeCover:function(){if(!this.cover){return }var A=this;$(this.cover).mouseover(function(B){if(uutuu.UI.Panel.dragMonitor.dragging&&uutuu.UI.Panel.dragMonitor.data){$(this).addClass("albumoutlinehover")}}).mouseout(function(B){if(uutuu.UI.Panel.dragMonitor.dragging&&uutuu.UI.Panel.dragMonitor.data){$(this).removeClass("albumoutlinehover")}}).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,hoverclass:"albumoutlinehover",tolerance:"pointer",drop:function(D,C){var B=$(C.draggable)[0];if(A.collection.locate(B.photo)<0){A.dispatchHandler(B.photo)}A.setCover(B.photo.photo);$(A.cover).removeClass("albumoutlinehover")}})},initializeCollection:function(D){var C=this;if(!D){D=[]}var B=new Array(D.length);for(var A=0;A<B.length;A++){B[A]=this.initializeElement(D[A])}if(!this.collection){this.collection=new uutuu.App.PhotoCollection(B,"timestamp");this.collection.setPanel(this.collectionPanel.layout,this.tabFactory)}else{for(var A=0;A<this.collection.length;A++){this.collection[A].destroy();$(this.collection[A].element).draggable("destroy").droppable("destroy")}this.collection.clear();this.collection=new uutuu.App.PhotoCollection(B,"timestamp");this.collection.setPanel(this.collectionPanel.layout,this.tabFactory)}this.collectionChangeHandler(this);this.collection.onChange=function(E){C.collectionChangeHandler(E)};this.initializeGroupSelector();this.collection.onGroupsKeysChange=function(F,E){C.initializeGroupSelector(E)}},initializeElement:function(A){var B=this;var C=new uutuu.App.PhotoElement(A,{cssClass:this.options.photoClass});C.element.photo=C;C.onDel(function(){B.remove(null,C)});$(C.element).mouseover(function(D){B.photoMouseOverHandler(this.photo,uutuu.UI.Panel.dragMonitor.dragging)}).mouseout(function(D){B.photoMouseOutHandler(this.photo,uutuu.UI.Panel.dragMonitor.dragging)}).click(function(D){B.collection.select(this.photo,D);D.preventDefault()}).draggable({appendTo:$(document.body),helper:function(){return $("#dragHelper").clone().attr("id","dhInstance").show()},cursorAt:{top:-5,left:-5},start:function(F,E){if($.browser.msie){$(":input",B.removePanel.parentNode).css("visibility","hidden")}if(!C.isSelected()){B.collection.select(C)}var D=B.collection.getSelects();uutuu.UI.Panel.dragMonitor.data=D;uutuu.util.bind("#dhInstance",{imgex:A.link,num:D.length},"eval");$(B.removePanel).show();F.stopPropagation()},stop:function(E,D){uutuu.UI.Panel.dragMonitor.target=null;uutuu.UI.Panel.dragMonitor.data=null;setTimeout(function(){$(B.removePanel).hide();if($.browser.msie){$(":input",B.removePanel.parentNode).css("visibility","")}},10)}}).droppable({accept:function(){return uutuu.UI.Panel.dragMonitor.data!=null},greedy:true,tolerance:"pointer",drop:function(J,I){var F=uutuu.UI.Panel.dragMonitor.data;if(F.length){for(var E=0;E<F.length;E++){if(F[E]===C||F[E].photo.nid==C.photo.nid){return }}}else{if(F===C||F.photo.nid==C.photo.nid){return }}var D=uutuu.util.locate(this);var G=uutuu.util.width(this);var H=(uutuu.UI.Panel.dragMonitor.x-D[1])>(G/2);B.dispatchHandler(F,{mode:B.Album.DISPATCH_MODE_RELATIVE,base:this.photo,direction:H?"after":"before"})},over:function(E,D){uutuu.UI.Panel.dragMonitor.target=this},out:function(E,D){if(uutuu.UI.Panel.dragMonitor.target==this){uutuu.UI.Panel.dragMonitor.target=null}}}).dblclick(function(){uutuu.UI.Dialog.request({data:{photo:C,successCallback:function(D){uutuu.UI.Dialog.getMessageBox().close();B.updateOriginalPhotoInfo(D.photo)}},dlgid:"dlg_upd_photo_simple",addr:js_context.base_url+"service/ui/dialog/photo_batch"})});return C},initializeGroupSelector:function(B){if(!this.collection||!this.groupSelector){return }var E=this;var K=$(this.groupSelector);var J=K.val();var D=this.groupSelector.selectedIndex;var A=false;K.unbind("change").children().remove();if(!B){B=this.collection.getGroupsKeys()}for(var F=0;F<B.length;F++){var G=document.createElement("option");var I=this.resource("LABEL_DEFAULT_DATE");var H=parseInt(B[F].substring(1));if(H>0){var C=new Date(H*1000);I=C.getFullYear()+"."+(C.getMonth()+1)+"."+C.getDate()}$(G).attr("value",B[F]).html(I).appendTo(this.groupSelector);if(B[F]==J){D=F;A=true}}if(!A){D--;D=Math.max(0,D);D=Math.min(B.length-1,D)}if(B.length>0){this.groupSelector.selectedIndex=D;this.lastSelectedGroup=B[D];this.highlightGroup(this.lastSelectedGroup,uutuu.App.PhotoElement.HIGHLIGHT_CLASS_INDEX)}$(this.groupSelector).change(function(){E.groupSelectorChangeHandler()})},initializeAlbumSelector:function(){if(!this.albumSelector){return }var A=this;$(this.albumSelector).change(function(){A.albumSelectorChangeHandler()})},reloadAlbumList:function(C){var F=this.options.listAddress;if(C){C.preventDefault();F=$(C.currentTarget).attr("href")||F}if(!this.albumSelector||!F){return }var E=this;var B=$(this.albumSelector);var D=B.val();var A=B.children().remove();B.html('<option selected="true">'+this.resource("INFO_LOADING")+"</option>");uutuu.util.jQueryAjaxHelper({url:this.options.listAddress,type:"POST",data:"uid="+js_context.uid,dataType:"json",timeout:30000,error:function(I,H,G){B.html("").append(A).val(D).change(function(){E.albumSelectorChangeHandler()})},success:function(G){if(!G){throw new Error(E.resource("ERROR_INVALID_RESPONSE"))}B.html('<option value="-1">'+E.resource("LABEL_ALBUM_SELECTION")+'</option><option value="0">'+E.resource("LABEL_ALBUM_NEW")+"</option>");for(var H=0;H<G.length;H++){var I=$(document.createElement("option"));I.attr("value",G[H].nid).html(G[H].title).appendTo(B);if(D==G[H].nid){I.attr("selected","true")}}B.css("display","inline")}})},loadAlbum:function(D,A,B){if(this.loading){return }if(!this.options.loadAddress){uutuu.UI.Dialog.alert(this.resource("ERROR_LOADADDRESS_NOT_SET"));return }var C=this;if(!B&&D!=this.nid&&this.nid!==undefined){this.unloadHandler(function(){C.loadAlbum(D,A,true)});return }if(D==0){this.original={};this.resetData();uutuu.UI.Dialog.getMessageBox().close();if(A!=null){A()}return }this.loading=true;uutuu.UI.Dialog.message(this.resource("INFO_LOADING"));uutuu.util.jQueryAjaxHelper({url:this.options.loadAddress,type:"POST",data:"nid="+D,dataType:"json",timeout:30000,error:function(G,F,E){if(E&&E.message){uutuu.UI.Dialog.alert(E.message)}else{uutuu.UI.Dialog.alert(C.resource("ERROR_LOAD_FAILED"))}C.loading=false},success:function(E){if(!E){throw new Error(C.resource("ERROR_INVALID_RESPONSE"))}C.original=E;C.resetData();uutuu.UI.Dialog.getMessageBox().close();C.loading=false;if(A!=null){A()}}})},reloadAlbum:function(A){this.loadAlbum(this.nid,A)},resetData:function(E){if(E){E.preventDefault();if(!this.isModified()){return false}}var G=this.nid;this.nid=this.original.nid||0;this.cid=this.original.cid||0;uutuu.util.context(this.Album.VARIABLE_ALBUMID,this.nid);if(this.original.tag&&this.original.tag[this.original.tag.length-1]!=" "){this.original.tag+=" "}var A=[this.title,this.body,this.tag];for(var D=0;D<A.length;D++){var B=$(":input[name='"+A[D].name+"']");if(B.length==0){continue}B.val(this.original[A[D].name]||"")}if(this.albumSelector){if($("option[value="+this.nid+"]",this.albumSelector).length==0){$(document.createElement("option")).attr("value",this.nid).attr("selected","true").appendTo(this.albumSelector)}else{$(this.albumSelector).val(this.nid)}if(this.nid){$(this.albumSelector[this.albumSelector.selectedIndex]).text(this.original.title)}}if(this.tabTitle){$(this.tabTitle).text(this.original.title||this.resource("LABEL_ALBUM_NEW"))}if(this.detailLinks){$(this.detailLinks)[this.nid?"show":"hide"]()}var H=new Array();if(this.original.photos){for(var D=0;D<this.original.photos.length;D++){var C={};for(var F in this.original.photos[D]){C[F]=this.original.photos[D][F]}H.push(C)}}if(this.themeSelector){this.themeSelector.setData(this.original.meta)}this.initializeCollection(H);this.setCover();this.signature=this.getPostData()},registerUnloadMonitor:function(){var A=this;uutuu.util.registerUnloadMonitor(function(B){A.unloadHandler(B.data);B.preventDefault()})},save:function(B){var E=this.options.saveAddress;var D;if(B&&B.constructor==Function){D=B}else{if(B){B.preventDefault();E=$(B.currentTarget).attr("href")||E}}if(this.saving||!this.collection||!E){return false}this.saving=true;if(!this.validate()){this.saving=false;return false}var C=this;var A=this.getPostData();uutuu.UI.Dialog.message(this.resource("INFO_SAVING"));uutuu.util.jQueryAjaxHelper({url:E,type:"POST",data:A,dataType:"json",timeout:30000,error:function(H,G,F){if(F&&F.message){uutuu.UI.Dialog.alert(F.message)}else{uutuu.UI.Dialog.alert(C.resource("ERROR_SAVE_FAILED"))}C.saving=false},success:function(F){if(!F){throw new Error(C.resource("ERROR_INVALID_RESPONSE"))}if(!F.success&&F.message){throw new Error(F.message)}else{if(!F.success){throw new Error(C.resource("ERROR_INVALID_RESPONSE"))}}C.original=F.fotolog;C.resetData();C.saving=false;uutuu.UI.Dialog.getMessageBox().close();if(D){D()}}})},del:function(A){var C=this.options.delAddress;if(A){A.preventDefault();C=$(A.currentTarget).attr("href")||C}if(!this.nid||!C){return false}var B=this;uutuu.UI.Dialog.confirm(B.resource("INFO_DELETE_CONFIRM"),function(){uutuu.UI.Dialog.message(B.resource("INFO_DELETING"));uutuu.util.jQueryAjaxHelper({url:C,type:"POST",data:"nid="+B.nid,dataType:"html",timeout:30000,error:function(F,E,D){if(D&&D.message){uutuu.UI.Dialog.alert(D.message)}else{uutuu.UI.Dialog.alert(B.resource("ERROR_DELETE_FAILED"))}},success:function(D){if(D=="0"){throw new Error(B.resource("ERROR_DELETE_FAILED"))}else{if(D!="1"){throw new Error(B.resource("ERROR_INVALID_RESPONSE"))}}uutuu.UI.Dialog.alert(B.resource("INFO_DELETE_SUCCEEDED"),function(){window.location=B.options.returnAddress})}})});return false},isModified:function(){return this.signature!=this.getPostData()},validate:function(){return this.validator.validate()},getPostData:function(){if(!this.collection){return }var A=[this.title,this.body,this.tag];var D="cover="+(!this.cover?0:this.cover.photo?this.cover.photo.nid:$(this.cover).attr("src"));for(var C=0;C<A.length;C++){var B=$(":input[name='"+A[C].name+"']");if(B.length==0){continue}D+="&"+A[C].name+"="+encodeURIComponent($.trim(B.val()))}if(this.nid){D+="&nid="+this.nid}if(this.cid){D+="&cid="+this.cid}for(var C=0;C<this.collection.length;C++){D+="&photos[]="+this.collection[C].photo.nid+","+this.collection[C].photo.timestamp+","+this.collection[C].photo.dsp_order}if(this.themeSelector){D+="&"+this.themeSelector.getPostData()}return D},setCover:function(A){if(!this.cover){return }if(this.coverElement&&this.cover.photo){uutuu.App.PhotoElement.unregister(this.coverElement)}if(!A){A=this.original.cover?this.original.cover:this.collection.length>0?this.collection[0].photo:js_context.theme_url+"image/space.gif"}var B=this;if(A.constructor==String){this.cover.photo=undefined;$(this.cover).attr("src",A)}else{this.cover.photo=A;if(!this.coverElement){this.coverElement=new uutuu.App.PhotoElement(A,{element:this.cover})}else{this.coverElement.photo=A}uutuu.App.PhotoElement.register(this.coverElement);$(this.cover).attr("src",A.link)}},updateGeoLabel:function(){if(!this.collection||!this.geoLabel){return }var H={meta:{}};var J=/^([^(),\s]+)(?:\(([^(),\s]+)(?:,([^(),\s]+))?\))?$/;for(var E=0;E<this.collection.length;E++){if(!this.collection[E].photo.geotag){continue}var B=this.collection[E].photo.geotag.match(J);if(!B){continue}for(var D=B.length-1;D>=0;D--){if(B[D]){break}else{B.pop()}}B.shift();B.push(B.shift());var C=H;for(var D=0;D<B.length;D++){if(!C[B[D]]){C.meta.single=(C.meta.single||0)+1;C.meta.last=B[D];C[B[D]]={meta:{count:1}}}else{C[B[D]].meta.count++}C=C[B[D]]}}var F="";var I="";if(!H.meta.single){}else{if(H.meta.single==1){var C=H;var G=H[H.meta.last].meta.count;do{F=C.meta.last;C=C[F];I=F+"("+G+")"}while(C.meta.single==1&&C[C.meta.last].meta.count==G)}else{delete H.meta;var G=0;for(var A in H){if(H[A].meta.count>G){F=A;G=H[A].meta.count}I+=(I==""?"":",")+A+"("+H[A].meta.count+")"}}}$(this.geoLabel).html(F).attr("title",I)},updateCountLabel:function(){if(!this.collection||!this.countLabel){return }$(this.countLabel).html(this.collection.length.toString())},updateOriginalPhotoInfo:function(A){if(!this.original||!this.original.photos){return }for(var B=0;B<this.original.photos.length;B++){if(this.original.photos[B].nid==A.nid){this.original.photos[B].title=A.title;this.original.photos[B].body=A.body}}},highlightGroup:function(C,D,F){if(!this.collection){return }var E=this.collection.getGroupPhotos(C);if(!E){return }for(var B=0;B<E.length;B++){E[B].highlight(D,F)}if(E.tab&&this.options.tabClass){var A=E[0].getActiveState(uutuu.App.PhotoElement.HIGHLIGHT_CLASS_INDEX);$(E.tab.element).attr("class",this.options.tabClass[A])}return E},scrollToViewport:function(A){this.collectionPanel.scrollTo(A.offsetTop,true)},groupSelectorChangeHandler:function(){if(this.lastSelectedGroup){this.highlightGroup(this.lastSelectedGroup,uutuu.App.PhotoElement.HIGHLIGHT_CLASS_INDEX,true)}var A=$(this.groupSelector).val();this.lastSelectedGroup=A;var B=this.highlightGroup(A,uutuu.App.PhotoElement.HIGHLIGHT_CLASS_INDEX);this.scrollToViewport(B.tab?B.tab.element:B[0].element)},albumSelectorChangeHandler:function(){var A=$(this.albumSelector).val();$(this.albumSelector).val(this.nid);if(A>=0&&A!=this.nid){this.loadAlbum(A)}},dispatchHandler:function(D,G){var F=(G&&G.mode)?G.mode:this.Album.DISPATCH_MODE_ABSOLUTE;var E=this;if(D.length){if(D.length==1){this.dispatchHandler(D[0],G)}else{uutuu.util.progressable(function(J,I,H){if(F==E.Album.DISPATCH_MODE_RELATIVE&&G.base.photo.nid==D[I].photo.nid){G.direction="after";setTimeout(function(){H()},1);return false}E.dispatchHandler(D[I],G);setTimeout(function(){H()},1);return false},D.length,{endCallback:function(H){uutuu.UI.Dialog.getMessageBox().close()}})()}return }var C=D;var A=this.collection.locate(C);if(A<0){C=this.initializeElement(C.photo)}else{C=this.collection[A];this.collection.remove(C,true)}if(F==this.Album.DISPATCH_MODE_ABSOLUTE){C.resetHighlight();var B=G?G.date:undefined;var A=this.collection.add(C,B);if(A>0&&this.collection[A-1].getGroupKey("timestamp")==C.getGroupKey("timestamp")){C.applyHighlight(this.collection[A-1])}}else{if(G.direction=="before"){this.collection.insertBefore(C,G.base)}else{this.collection.insertAfter(C,G.base);G.base=C}C.applyHighlight(G.base)}C.highlight(uutuu.App.PhotoElement.NORMAL_CLASS_INDEX);this.scrollToViewport(C.element)},collectionChangeHandler:function(A){this.updateGeoLabel();this.updateCountLabel();if(this.options.collectionPanelAlterClass&&this.collection.length==0){$(this.collectionPanel.layout).addClass(this.options.collectionPanelAlterClass)}else{if(this.options.collectionPanelAlterClass){$(this.collectionPanel.layout).removeClass(this.options.collectionPanelAlterClass)}}$(this.collectionPanel.layout).trigger("panelResize")},photoMouseOverHandler:function(B,A){if(this.outTimeout.id!=0&&this.outTimeout.key==B.getGroupKey("timestamp")){window.clearTimeout(this.outTimeout.id);this.outTimeout.id=0;this.outTimeout.key=null}this.highlightGroup(B.getGroupKey("timestamp"),uutuu.App.PhotoElement.GROUP_CLASS_INDEX);if(!A||!this.indicator){B.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX)}},photoMouseOutHandler:function(C,A){if(!A||!this.indicator){C.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX,true)}if(this.outTimeout.id!=0){return }var B=this;this.outTimeout.key=C.getGroupKey("timestamp");this.outTimeout.id=window.setTimeout(function(){B.outTimeout.id=0;B.outTimeout.key=null;B.highlightGroup(C.getGroupKey("timestamp"),uutuu.App.PhotoElement.GROUP_CLASS_INDEX,true)},10)},unloadHandler:function(C,A){var B=this;if(this.isModified()){uutuu.UI.Dialog.confirm(B.resource("INFO_UNLOAD_CONFIRM"),uutuu.UI.Dialog.TYPE_YESNOCANCEL,function(){B.save(C)},function(){B.resetData();C()},A);return false}else{C();return true}},shareHandler:function(A){A.preventDefault();var B=$(A.currentTarget).attr("href");if(!B){uutuu.UI.Dialog.alert("无法获取请求地址。");return }if(this.collection.length==0){uutuu.UI.Dialog.alert("相册中没有照片，不能分享。");return }uutuu.UI.Dialog.message("正在提交请求，请稍等……");uutuu.util.jQueryAjaxHelper({url:B,type:"POST",data:"nid="+this.nid,dataType:"json"})},setDateHandler:function(D){D.preventDefault();var C=this.collection.getSelects();if(C.length==0){uutuu.UI.Dialog.alert("请先选择照片！");return }if(!this.dateEditor){var F=$(D.currentTarget).attr("id");if(!F){return }var A="#dlg_"+F;if($(A).length==0){return }var E=this;var B=new uutuu.util.Validator({name:"date",rule:"require|date",prompt:this.resource("FIELD_DATE")});this.dateEditor=new uutuu.UI.Dialog();this.dateEditor.applyMessageBoxTemplate(A);$(":input[name='date']",this.dateEditor.element).datepicker({dateFormat:"yy.mm.dd",maxDate:0});this.dateEditor.useDialogType(function(){if(!B.validate(E.dateEditor.element)){return false}var I=E.collection.getSelects();var G=Date.parse($(":input[name='date']",E.dateEditor.element).val().replace(/\./g,"/"))/1000;for(var H=0;H<I.length;H++){E.dispatchHandler(I[H],{date:G})}return true})}this.dateEditor.show()},changeTheme:function(A){if(A){A.preventDefault()}if(this.themeSelector){this.themeSelector.show()}},remove:function(C,D){if(C){C.preventDefault()}var B=D;if(!B){B=this.collection.getSelects()}else{if(B instanceof uutuu.App.PhotoElement){B=[B]}else{if(!B.length){return }}}for(var A=0;A<B.length;A++){B[A].destroy();$(B[A].element).draggable("destroy").droppable("destroy");this.collection.remove(B[A])}},selectAll:function(){if(this.collection){this.collection.selectAll()}},deselect:function(){if(this.collection){this.collection.deselect()}},addToNew:function(A){this.addToAlbum(A,0)},addToAlbum:function(B,F){var E=B;if(B.preventDefault){B.preventDefault();E=B.data||[]}if(E instanceof uutuu.App.PhotoCollection){E=E.getSelects()}if(E.length==0){uutuu.UI.Dialog.alert(this.resource("ERROR_PHOTO_REQUIRED"));return }var C=this;if(F===undefined){var A=this.albumSelector&&$(this.albumSelector).clone();var D=A?$(document.createElement("div")).append(A):"";uutuu.UI.Dialog.confirm(D,function(){if(A&&A.val()>=0){C.addToAlbum(E,A.val())}});return }$(this.tab).trigger("activate");if(this.nid!=F){this.loadAlbum(F,function(){C.addToAlbum(E,F)});return }this.dispatchHandler(E)}},statics:{VARIABLE_ALBUMID:"albumid",DISPATCH_MODE_ABSOLUTE:1,DISPATCH_MODE_RELATIVE:2}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Panel");uutuu.Require("uutuu.App.PhotoCollection");uutuu.Namespace("uutuu.App");uutuu.App.Export("PhotoLibrary");uutuu.App.PhotoLibrary=uutuu.Class({name:"uutuu.App.PhotoLibrary",construct:function(B,A){this.useAPI=false;this.filterSelector;this.collectionPanel;this.keywordInput;this.keywordPrompt;this.tagHidden;this.options={photoClass:"",promptClass:"titlenote",loadAddress:js_context.base_url+"service/photo/filter/",rows:1,multiselect:false,draggable:false};this.uid=B;this.countLabel;this.searchButton;this.form;this.onLoading;this.onLoaded;this.layout;this.collection;this.columns;this.initialize(A);this.filter()},methods:{initialize:function(A){if(!A.collectionPanel||!A.filterSelector||!A.keywordInput||!A.tagHidden){return }var B=this;this.useAPI=A.useAPI;this.filterSelector=A.filterSelector;this.collectionPanel=A.collectionPanel;this.keywordInput=A.keywordInput;this.keywordPrompt=$(this.keywordInput).attr("title");if(!this.keywordPrompt){this.keywordPrompt=""}this.tagHidden=A.tagHidden;this.countLabel=A.countLabel;this.searchButton=A.searchButton;this.form=A.form;this.onLoading=A.onLoading?A.onLoading:function(){};this.onLoaded=A.onLoaded?A.onLoaded:function(){};this.photoClicked=A.photoClicked?A.photoClicked:function(){};this.photoDblClicked=A.photoDblClicked?A.photoDblClicked:function(){};for(key in this.options){if(A[key]!=undefined){this.options[key]=A[key]}}if(this.searchButton){$(this.searchButton).click(function(){B.filter();return false})}if(this.form){$(this.form).submit(function(){B.filter();return false})}this.filterSelector.selectedIndex=0;$(this.filterSelector).change(function(){$(B.keywordInput).attr("disabled",B.filterSelector.selectedIndex==0?"":"true");B.filter()});if(this.keywordPrompt.length>0){$(this.keywordInput).focus(function(){if($(this).val()==B.keywordPrompt){$(this).val("")}$(this).removeClass(B.options.promptClass)}).blur(function(){if($.trim($(this).val())==""){$(this).val(B.keywordPrompt).addClass(B.options.promptClass)}})}this.layout=document.createElement("div");$(this.layout).appendTo(this.collectionPanel.layout)},initializeCollection:function(D){var C=this;if(!D){D=[]}var B=new Array(D.length);for(var A=0;A<B.length;A++){B[A]=this.initializeElement(D[A])}if(!this.collection){this.collection=new uutuu.App.PhotoCollection(B);this.collection.setPanel(this.layout)}else{for(var A=0;A<this.collection.length;A++){this.collection[A].destroy();if(this.options.draggable){$(this.collection[A].element).draggable("destroy")}}this.collection.clear();this.collection=new uutuu.App.PhotoCollection(B);this.collection.setPanel(this.layout)}this.collectionChangeHandler(this);this.collection.onChange=function(E){C.collectionChangeHandler(E)}},initializeElement:function(A){var B=this;var C=new uutuu.App.PhotoElement(A,{cssClass:this.options.photoClass});C.element.photo=C;C.onDel(function(){C.destroy();if(B.options.draggable){$(C.element).draggable("destroy")}B.collection.remove(C)});$(C.element).mouseover(function(D){this.photo.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX)}).mouseout(function(D){this.photo.highlight(uutuu.App.PhotoElement.HOVER_CLASS_INDEX,true)}).click(function(D){B.collection.select(this.photo,B.options.multiselect?D:null);B.photoClicked(D);D.preventDefault()}).dblclick(function(D){B.photoDblClicked(D);D.preventDefault()});if(B.options.draggable){$(C.element).draggable({appendTo:$(document.body),helper:function(){return $("#dragHelper").clone().attr("id","dhInstance").show()},cursorAt:{top:-5,left:-5},start:function(F,E){if(!C.isSelected()){B.collection.select(C)}var D=B.collection.getSelects();uutuu.UI.Panel.dragMonitor.data=D;uutuu.util.bind("#dhInstance",{imgex:A.link,num:D.length},"eval")},stop:function(E,D){uutuu.UI.Panel.dragMonitor.target=null;uutuu.UI.Panel.dragMonitor.data=null}})}return C},getPostData:function(){var F=$(this.filterSelector).val();F=F.split(":");var E={};E.filter_geo_uri="filter_geo_uri:";E.created_month="created_month:";E.uploaddate="uploaddate:";E.filter_keywords="filter_keywords:";E.fotolog_nid="fotolog_nid:";E.filter_tag="filter_tag:";E.groupuser="groupuser:";if(this.filterSelector.selectedIndex!=0){E[F[0]]=E[F[0]]+F[1]}else{var B=$(this.keywordInput).val();if(B==this.keywordPrompt){B=""}E.filter_keywords="filter_keywords:"+B;var A=$(this.tagHidden).val();E.filter_tag="filter_tag:"+A}var D="";var C=0;for(k in E){if(C>0){D=D+"||"+E[k]}else{D=E[k]}C++}return{url:this.options.loadAddress,data:"filter_post="+D}},getFilterCondition:function(){if(!this.form){return null}var C=$("select",this.form).val();if(!C){return null}C=C.split(":");var A=$("#condition",this.form);if(A.length==0){A=$(document.createElement("input"));A.attr({id:"condition",type:"hidden",method:"context"}).appendTo(this.form)}var D=C[0];switch(D){case"fotolog_nid":this.form.action=js_context.base_url+"api/fotolog/get_photos/";A.attr({name:"nid",value:C[1],method:"context"});break;case"filter_geo_uri":this.form.action=js_context.base_url+"api/photo/search/";A.attr({name:"geouri",value:C[1],method:"context"});break;case"uploaddate":this.form.action=js_context.base_url+"api/photo/search/";A.attr({name:"createddate",value:C[1].replace(/\-/g,""),method:"context"});break;case"all":this.form.action=js_context.base_url+"api/photo/search/";var B=$(this.keywordInput).val();if(B!=this.keywordPrompt){A.attr({name:"text",value:B,method:"context"})}else{A.attr({method:"skip"})}break;default:this.form.action=""}return uutuu.util.buildFormData(this.form)},normalizeResult:function(B){var D=[];if(this.useAPI){if(B.fotolog){B=B.fotolog}if(B.photos.photo){D=B.photos.photo}for(var A=0;A<D.length;A++){D[A].link=D[A].link.replace(/@size@/,"thumbnail")}}else{if(B.photos_out&&B.photos_out.length!==undefined){return B.photos_out}else{if(B.photos_out){for(var C in B.photos_out){D.push(B.photos_out[C])}}}}return D},updateCountLabel:function(){if(!this.collection||!this.countLabel){return }$(this.countLabel).html(this.collection.length.toString())},filter:function(option){var obj=this;var postdata=option||this.useAPI?this.getFilterCondition():this.getPostData();this.onLoading();uutuu.util.jQueryAjaxHelper({url:postdata.url,type:(!postdata.data||postdata.data.length==0)?"GET":"POST",data:postdata.data,dataType:"html",timeout:30000,error:function(request,type,ex){obj.onLoaded()},success:function(data){var r=null;eval("r = ("+data+");");var photos=obj.normalizeResult(r);obj.initializeCollection(photos);obj.onLoaded()}})},collectionChangeHandler:function(){this.updateCountLabel();var A=0;if(this.collection.length>0){A=uutuu.util.width(this.collection[0].element)}if(this.options.rows&&this.options.rows>1){if(!this.columns){this.columns=Array()}var B,C=-1;for(B=0;B<this.collection.length;B++){if(B%this.options.rows==0){if(++C==this.columns.length){this.columns.push(document.createElement("div"));$(this.columns[C]).css("float","left").width(A)}$(this.columns[C]).empty().appendTo(this.layout).show()}$(this.columns[C]).append(this.collection[B].element)}$(this.layout).width(A*(C+1));while(++C<this.columns.length){$(this.columns[C]).hide()}}else{if(this.options.rows){$(this.layout).width(A*this.collection.length)}}$(this.collectionPanel.layout).trigger("panelResize")},selectAll:function(){if(this.collection){this.collection.selectAll()}},deselect:function(){if(this.collection){this.collection.deselect()}},getSelectsOut:function(){if(this.collection){return this.collection.getSelects()}},scrollTo:function(A){this.collectionPanel.scrollTo(A,false)},scrollToBegin:function(){this.collectionPanel.scrollToBegin(false)},scrollToEnd:function(){this.collectionPanel.scrollToEnd(false)}}});uutuu.Require("uutuu.util");uutuu.Require("uutuu.UI.Panel");uutuu.Namespace("uutuu.App");uutuu.App.Export("ThemeSelector");uutuu.App.ThemeSelector=uutuu.Class({name:"uutuu.App.ThemeSelector",construct:function(A){this.template;this.data={};this.options={};this.dialog;this.bgmusic={name:"bgmusic",prompt:this.resource("FIELD_BG_MUSIC_ADDR"),rule:"url|maxlength[100]"};this.validator=new uutuu.util.Validator([this.bgmusic]);this.initialize(A)},methods:{initialize:function(B){if(!B||!B.template||!B.fields){return }var D=this;var A=B.fields.constructor==String?[B.fields]:B.fields;for(var C=0;C<A.length;C++){this.data[A[C]]=null}this.template=B.template;this.dialog=new uutuu.UI.Dialog();this.dialog.applyMessageBoxTemplate(this.template);this.dialog.useDialogType(function(){return D.save()})},show:function(){var A={};for(key in this.data){A[key]=this.data[key]}this.setData(A);this.dialog.show()},save:function(){if(!this.validator.validate()){return false}for(key in this.data){var A=$(":input[name='"+key+"']",this.dialog.getHandler());if(A.length==0){continue}switch(A[0].type){case"radio":for(var B=0;B<A.length;B++){if(A[B].checked){this.data[key]=A[B].value;break}}break;case"text":this.data[key]=A.val();break;default:break}}},setData:function(C){if(!C){C={}}for(key in this.data){var A=$(":input[name='"+key+"']",this.dialog.getHandler());if(A.length==0){continue}switch(A[0].type){case"radio":this.data[key]=A[0].value;A[0].checked=true;if(C[key]===undefined){break}for(var B=0;B<A.length;B++){if(A[B].value==C[key]){this.data[key]=C[key];A[B].checked=true;break}}break;case"text":if(C[key]!==undefined){A[0].value=this.data[key]=C[key]}break;default:break}}},getPostData:function(){var A=new Array();for(key in this.data){if(this.data[key]!=null){A.push(key+"="+encodeURIComponent($.trim(this.data[key])))}}return A.join("&")}}});uutuu.Namespace("uutuu.App");uutuu.App.Export("User");uutuu.App.User=uutuu.Class({name:"uutuu.App.User",construct:function(A){this.noLoginId=null;this.loginId=null;this.headernav=null;this.passport_forward="";this.options={};this.user={};this.initialize(A)},methods:{initialize:function(A){if(!A){A={}}this.noLoginId=A.noLoginId;this.loginId=A.loginId;if(A.headernav){this.headernav=A.headernav}if(A.passport_forward){this.passport_forward=A.passport_forward}this.user=A.user;uutuu.App.User.instance=this},showpanel:function(){if(this.user!=undefined){$("#"+this.noLoginId).css("display","none");$("#"+this.loginId).css("display","");$("#"+this.loginId+" .picoutline").attr("src",this.user.avatar);$("#"+this.loginId+" .usernamelink").html(this.user.nickname);if(this.user.city!=""){$("#"+this.loginId+" #liveplace").html("("+this.user.city+")")}$("#"+this.loginId+" #userrank").html(this.user.rank.rankimg);$("#"+this.loginId+" #userrank").attr("title",this.user.rank.title+" "+this.user.rank.rank+"级)");$("#"+this.loginId+" .txtorange").html("U币："+this.user.rank.U);$("#"+this.loginId+" .txtcredit").html("积分："+this.user.rank.credits+" | 威望："+this.user.rank.prestige);$("#"+this.loginId+" #pmessage").html(this.user.pm_count);if(this.user.pm_message!=""){$("#"+this.loginId+" #new_message").html('<span style="color:gray;">:</span>'+this.user.pm_message+' <span style="color:black;font-size:8px;">NEW</span></a>')}}else{$("#"+this.loginId).css("display","none");$("#"+this.noLoginId).css("display","");$("#"+this.noLoginId+" form").attr("action",js_context.base_url+"member/account/login/"+this.passport_forward)}},shownav:function(){$("#headerRightNav").html(this.headernav.view);var A=escape(document.referrer);$("#liveChatLi").unbind("click").click(function(B){B.preventDefault();window.open("http://webchat.tq.cn/sendmain.jsp?uin=8263466&ltype=0&ispaymoney=1&page=&localurl="+A,"","width=597,height=437,location=no,resizable=0,scrollbars=0,status=no,toolbar=no,location=no,menu=no,top=100,left=200")});$("#login_entry").attr("href",js_context.base_url+"member/account/login/"+this.passport_forward);$("#register_entry").attr("href",js_context.base_url+"member/account/register/"+this.passport_forward);$("#logout_entry").attr("href",js_context.base_url+"member/account/logout/"+this.passport_forward)},renewnav:function(B){var A=this;$.getJSON(js_context.base_url+"service/login/headernavview/"+(B?"1":"0"),function(C){if(C.success){A.user=C.user;A.headernav.view=C.view;A.shownav();$(".loginMenuEntry").simpleMenu({toggleButton:"img",menu:".mySpaceQitemlist",cssClass:["mySpaceQMenu","mySpaceQMenuover","mySpaceQMenuactive"],imgList:[js_context.theme_url.get("image/icon_spminemenunormal.gif","common"),js_context.theme_url.get("image/icon_spminemenuover.gif","common")]})}})},showspacenav:function(){if(this.user!=undefined){$("#"+this.noLoginId).css("display","none");$("#"+this.loginId).css("display","");$("#"+this.loginId+" #user_name").html(this.user.nickname);if(this.user.pm_count>0){$("#"+this.loginId+" #pmessage").html('<span style="color:#BBBBBB;">(</span>'+this.user.pm_count+'<span style="color:#BBBBBB;">)</span>');$("#"+this.loginId+" #pmimgnew").show();$("#"+this.loginId+" #pmimg").hide()}else{$("#"+this.loginId+" #pmimgnew").hide();$("#"+this.loginId+" #pmimg").show()}}else{$("#"+this.LoginId).css("display","none");$("#"+this.noLoginId).css("display","")}}}});uutuu.Require("uutuu.util");uutuu.Namespace("uutuu.App");uutuu.App.Export("Gmenu");uutuu.App.Gmenu=uutuu.Class({name:"uutuu.App.Gmenu",construct:function(A){this.id="gmenu";this.index=0;this.pool="#tagDesSelectPool_0";this.title="#tagDesTitle_0";this.body="#tagDesBody_0";this.closeBtn="#closeGmenuBtn_0";this.entry=null;this.titleData=[];this.bodyData=[];this.poolInitialized=false;this.options={loadAddress:"",scale:0,theme_url:js_context.theme_url,location:["bottom-right","right-down",0,0],onSelect:null,selectType:"location",targetItem:"",expandImg:"image/icon_itemexpand.gif",closeImg:"image/icon_closegray.gif",initAddress:"",geo_uri:"AS/CN",menutype:"world",urltype:0,context:[],container:null,zindex:90,add:0,multi:false,getbytag:false,tagname:"",ifEmptyTagShow:false,beforeEntryClick:null};this.initialize(A)},methods:{initialize:function(A){this.id="gmenu_"+uutuu.App.Gmenu.GMENU_SEQUENCE;if(A.index){this.index=A.index}else{this.index=uutuu.App.Gmenu.GMENU_SEQUENCE}uutuu.App.Gmenu.GMENU_SEQUENCE++;uutuu.App.Gmenu.GMENU_MANAGER[this.id]=this;if(A.entry){this.entry=A.entry}if(A.theme_url){this.options.theme_url=A.theme_url}else{if(typeof js_context.theme_url!="undefined"){this.options.theme_url=js_context.theme_url}}this.options.loadAddress=A.loadAddress;if(typeof A.scale!="undefined"){this.options.scale=A.scale}if(A.selectType){this.options.selectType=A.selectType}if(A.targetItem){this.options.targetItem=A.targetItem}if(A.onSelect){this.options.onSelect=A.onSelect}if(A.location){this.options.location=A.location}if(A.expandImg){this.options.expandImg=A.expandImg}if(A.closeImg){this.options.closeImg=A.closeImg}if(A.titleData){this.titleData=A.titleData}if(A.bodyData){this.bodyData=A.bodyData}if(A.geo_uri){this.options.geo_uri=A.geo_uri}if(A.menutype){this.options.menutype=A.menutype}if(A.initAddress){this.options.initAddress=A.initAddress}if(A.urltype){this.options.urltype=A.urltype}if(A.context){this.options.context=A.context}if(A.container){this.options.container=A.container}if(A.zindex){this.options.zindex=A.zindex}if(A.add){this.options.add=A.add}if(A.multi){this.options.multi=A.multi}if(A.getbytag){this.options.getbytag=A.getbytag}if(A.tagname){this.options.tagname=A.tagname}if(A.ifEmptyTagShow){this.options.ifEmptyTagShow=A.ifEmptyTagShow}if(A.beforeEntryClick){this.options.beforeEntryClick=A.beforeEntryClick}if(this.options.expandImg.substring(0,1)!="/"&&this.options.expandImg.substring(0,4)!="http"){this.options.expandImg=js_context.theme_url.get(this.options.expandImg)}if(this.options.closeImg.substring(0,1)!="/"&&this.options.closeImg.substring(0,4)!="http"){this.options.closeImg=js_context.theme_url.get(this.options.closeImg)}if(this.titleData.length>0){uutuu.App.Gmenu.BODY_CACHE[this.titleData[this.titleData.length-1].geo_uri]=uutuu.util.clone(this.bodyData)}this.pool="#tagDesSelectPool_"+this.index;this.title="#tagDesTitle_"+this.index;this.body="#tagDesBody_"+this.index;this.closeBtn="#closeGmenuBtn_"+this.index;if(jQuery(this.pool).length>0){this.initPanel();this.poolInitialized=true}else{var B=this;if(this.entry!=null){jQuery(this.entry).click(function(C){if(!B.poolInitialized){B.initPool();B.poolInitialized=true}if(B.options.beforeEntryClick){B.options.beforeEntryClick(B)}if(B.options.getbytag&&B.options.tagname==""&&!B.options.ifEmptyTagShow){B.hide();C.preventDefault();return }else{B.toggle()}if(B.titleData.length==0){if(typeof uutuu.App.Gmenu.TITLE_CACHE[B.options.geo_uri]!="undefined"&&typeof uutuu.App.Gmenu.BODY_CACHE[B.options.geo_uri]!="undefined"){B.titleData=uutuu.util.clone(uutuu.App.Gmenu.TITLE_CACHE[B.options.geo_uri]);B.setTitle();B.resetBody(B.options.geo_uri,uutuu.App.Gmenu.BODY_CACHE[B.options.geo_uri])}else{try{jQuery.ajax({url:B.options.initAddress,type:"POST",data:"geo_uri="+B.options.geo_uri+"&menutype="+B.options.menutype+"&urltype="+B.options.urltype+"&context="+B.options.context+"&tagname="+B.options.tagname,dataType:"json",timeout:30000,error:function(G,F,E){uutuu.UI.Dialog.alert("初始化地理标签时产生了一个错误，请刷新页面后重新尝试。")},success:function(E){B.titleData=uutuu.util.clone(E.title);uutuu.App.Gmenu.TITLE_CACHE[B.options.geo_uri]=uutuu.util.clone(E.title);B.setTitle();B.resetBody(B.options.geo_uri,E.body.length>0?E.body:false)}})}catch(D){uutuu.UI.Dialog.alert("初始化地理标签时产生了一个错误，请刷新页面后重新尝试。")}}}C.preventDefault()})}}},initPool:function(){var A=uutuu.App.Gmenu.TPL;A=A.replace(/\{\$theme_url\}/g,this.options.theme_url);A=A.replace(/\{\$index\}/g,this.index);A=A.replace(/\{\$zindex\}/g,this.options.zindex);A=A.replace(/\{\$expand_image\}/g,this.options.expandImg);A=A.replace(/\{\$close_image\}/g,this.options.closeImg);jQuery(document.body).append(A);var B=this;jQuery(this.closeBtn).click(function(C){B.toggle();C.preventDefault()});this.initPanel()},initPanel:function(){if(this.options.container!=null&&jQuery(this.options.container).length>0){jQuery(this.options.container).append(jQuery(this.pool))}this.setTitle();this.setBody();var A=this;if(this.options.add){jQuery("#titleSpan_"+this.index).append('&nbsp;&nbsp;&nbsp;&nbsp;<span class="titlenote" style="padding-left:65px;">未找到？<a href="'+js_context.base_url+'service/gtag/new_geotag" id="new_geotag" obj="dialog_'+this.index+'" op="request"><span>添加</span></a></span>');uutuu.util.bind(uutuu.UI.Dialog,"dialog_"+this.index,"click",function(){return{"targetId":A.options.targetItem,"gmenuId":A.pool}})}},itemOnSelect:function(B,D,C,A){if(this.options.selectType=="location"){location.href=A}else{if(this.options.selectType=="name"){$(this.options.targetItem).val(B)}else{if(this.options.selectType=="tagname"){$(this.options.targetItem).val(D)}else{if(this.options.selectType=="geo_uri"){$(this.options.targetItem).val(C)}}}}},setTitle:function(){var D="";for(var B=0;B<this.titleData.length;B++){if(B!=0){D+=" &gt; "}D+="<span>";var C=this.titleData[B];if(C.children>0&&B!=this.titleData.length-1){D+='<a id="gmenuExpand_t_'+B+'" href="#" class="gmenuExpand"><img src="'+this.options.expandImg+'" title="展开" class="imgMid" /></a> '}if((typeof C.selectable)=="undefined"||C.selectable==1){D+='<a id="gmenuSelect_t_'+B+'" href="'+C.url+'" title="'+C.name+'" class="titlenotelink">'+C.name+"</a>"}else{D+=C.name}D+="</span>"}jQuery(this.title).html(D);var A=this;jQuery(this.title+" .gmenuExpand").click(function(G){var E=this.id.split("_");var F=A.titleData[E[2]];A.expand("title",F,E[2]);G.preventDefault()});jQuery(this.title+" .titlenotelink").click(function(H){if(!A.options.multi){A.hide()}var F=this.id.split("_");var G=A.titleData[F[2]];var E="";if(typeof G.url!="undefined"){E=G.url}if(A.options.onSelect){A.options.onSelect(G.name,G.tagname,G.geo_uri,E)}else{A.itemOnSelect(G.name,G.tagname,G.geo_uri,E)}H.preventDefault()})},countWidth:function(B){var A=0;if(B.children>0){A+=18}B.name=$.trim(B.name);A+=B.name.length*12+2;return A},setBody:function(){var D="";if(this.bodyData===false){D="该目的地（景点）还没有子目的地（子景点）"}else{if(this.bodyData.length==0){D="正在获取数据，请稍候……"}else{for(var B=0;B<this.bodyData.length;B++){var C=this.bodyData[B];D+='<div style="_width:'+this.countWidth(C)+'px;"><table><tr>';if(C.children>0){D+='<td><a id="gmenuExpand_b_'+B+'" href="#" class="gmenuExpand"><img src="'+this.options.expandImg+'" title="展开" class="imgMid" /></a></td>'}if((typeof C.selectable)=="undefined"||C.selectable==1){D+='<td style="margin-left:3px;"><a id="gmenuSelect_b_'+B+'" href="'+C.url+'" title="'+C.name+'" class="titlenotelink">'+C.name+"</a></td>"}else{D+='<td class="titlenote">'+C.name+"</td>"}D+="</tr></table></div>"}}}jQuery(this.body).html(D);var A=this;jQuery(this.body+" .gmenuExpand").click(function(G){var E=this.id.split("_");var F=A.bodyData[E[2]];A.expand("body",F,E[2]);G.preventDefault()});jQuery(this.body+" .titlenotelink").click(function(H){if(!A.options.multi){A.hide()}var F=this.id.split("_");var G=A.bodyData[F[2]];var E="";if(typeof G.url!="undefined"){E=G.url}if(A.options.onSelect){A.options.onSelect(G.name,G.tagname,G.geo_uri,E)}else{A.itemOnSelect(G.name,G.tagname,G.geo_uri,E)}H.preventDefault()})},toggle:function(){if(jQuery(this.pool).css("display")=="none"){for(var A in uutuu.App.Gmenu.GMENU_MANAGER){if(A!=this.id){uutuu.App.Gmenu.GMENU_MANAGER[A].hide()}}jQuery(this.pool).show();uutuu.App.Gmenu.CURRENT=this;if(this.entry!=null&&(this.options.container==null||jQuery(this.options.container).length==0)){uutuu.util.locate(jQuery(this.pool)[0],jQuery(this.entry)[0],this.options.location[0],this.options.location[1],this.options.location[2],this.options.location[3])}}else{jQuery(this.pool).hide()}},show:function(){for(var A in uutuu.App.Gmenu.GMENU_MANAGER){if(A!=this.id){uutuu.App.Gmenu.GMENU_MANAGER[A].hide()}}uutuu.App.Gmenu.CURRENT=this;jQuery(this.pool).show();if(this.entry!=null&&(this.options.container==null||jQuery(this.options.container).length==0)){uutuu.util.locate(jQuery(this.pool)[0],jQuery(this.entry)[0],this.options.location[0],this.options.location[1],this.options.location[2],this.options.location[3])}},hide:function(){jQuery(this.pool).hide()},expand:function(D,F,B){if(D=="title"){var A=parseInt(B)+1;this.titleData=this.titleData.slice(0,A);this.setTitle()}else{this.titleData.push(F);this.setTitle()}if(this.inCache(F.geo_uri)){this.bodyData=uutuu.util.clone(uutuu.App.Gmenu.BODY_CACHE[F.geo_uri]);this.setBody()}else{jQuery(this.body).html("正在获取数据，请稍候……");var C=this;try{jQuery.ajax({url:C.options.loadAddress,type:"POST",data:"geouri="+F.geo_uri+"&geotype="+F.geo_type+"&scale="+C.options.scale,dataType:"json",timeout:30000,error:function(I,H,G){jQuery(C.body).html()},success:function(G){C.resetBody(F.geo_uri,G)}})}catch(E){jQuery(C.body).html()}}},inCache:function(A){if(typeof uutuu.App.Gmenu.BODY_CACHE[A]=="undefined"){return false}return true},resetBody:function(A,B){this.bodyData=B;uutuu.App.Gmenu.BODY_CACHE[A]=uutuu.util.clone(B);this.setBody()},changeTag:function(A){this.options.tagname=A;this.titleData=[];this.bodyData=[];this.setTitle();this.setBody()}},statics:{GMENU_SEQUENCE:0,GMENU_MANAGER:{},CURRENT:null,TITLE_CACHE:{},BODY_CACHE:{},TPL:'<div id="tagDesSelectPool_{$index}" class="tagDesSelectPool" style="position:absolute;z-index:{$zindex};display:none;"><div class="tagDesSelectPoolInner"><table width="496" border="0" cellspacing="0" cellpadding="0"><tr><td><span class="titleL" id="titleSpan_{$index}"><span class="titleSTbold">选择目的地</span><span class="titlenote">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;提示：点击图标 “<img src="{$expand_image}" style="vertical-align:middle;" />” 可展开下级目的地</span></span><span class="titleR"><a href="#" class="popupclose" id="closeGmenuBtn_{$index}"><img src="{$close_image}" title="关闭" /></a></span></td></tr><tr><td><div class="dottedhline">&nbsp;</div></td></tr><tr><td height="30" class="titlenote" style="padding-left:6px;" id="tagDesTitle_{$index}"></td></tr><tr><td><div class="dottedhline">&nbsp;</div></td></tr><tr><td class="tagDesContent"><div id="tagDesBody_{$index}" class="tagDesBodyPool"></div></td></tr></table></div></div>',register:function(A){if(!A||!A.loadAddress){return }return this.each(function(){var C={};for(var B in A){C[B]=A[B]}C["entry"]=this;this.Gmenu=new uutuu.App.Gmenu(C)})}}});jQuery.fn.Gmenu=uutuu.App.Gmenu.register;uutuu.Namespace("uutuu.App");uutuu.App.Export("Group");uutuu.App.Group=uutuu.Class({name:"uutuu.App.Group",construct:function(A){},methods:{topicList:function(A){$(A+" tr").mouseover(function(){$(this).addClass("over")}).mouseout(function(){$(this).removeClass("over")})}},statics:{setTabs:function(menuTag,bodyTag,action,parentTag){if(typeof (action)=="undefined"){action="click"}if(typeof (parentTag)=="undefined"){parentTag=""}else{parentTag="#"+parentTag+" "}var toggleTabs=function(idx){$(parentTag+"."+menuTag).removeClass("active");$(parentTag+"."+menuTag).eq(idx).addClass("active");$(parentTag+"."+bodyTag).css("display","none");var jBody=$(parentTag+"."+bodyTag).eq(idx);jBody.css("display","block");var initFunc=jBody.attr("onInit");if(jBody.html()==""&&typeof (initFunc)!="undefined"&&initFunc!=""){eval(initFunc+"()")}};var showIdx=0;toggleTabs(showIdx);$(parentTag+"."+menuTag).bind(action,function(){showIdx=$(parentTag+"."+menuTag).index(this);toggleTabs(showIdx)})},inArray:function(B,A){for(var C=0;C<A.length;C++){if(B==A[C]){return true}}return false}}});uutuu.Namespace("uutuu.App");uutuu.Namespace("uutuu.App.Dialog");uutuu.App.Dialog.GroupAdminDialog=uutuu.Class({name:"uutuu.App.Dialog.GroupAdminDialog",extend:uutuu.UI.Dialog,construct:function(B){if(!B||$("#"+B).length==0){return }this.callback=null;var A=this;this.Dialog();this.Dialog.prototype.applyMessageBoxTemplate.apply(this,["#"+B]);this.Dialog.prototype.useDialogType.apply(this,[function(){return A.ok()}])},methods:{bind:function(A){if(A&&"function"==typeof A){A=A()}if(A&&"object"==typeof A){this.callback=A.callback;uutuu.util.bind(this.element,A,"eval")}},ok:function(){var C="";$(".listcheckBox").each(function(){var F=$(this)[0]["id"].split("_")[1];if($(this).attr("checked")){C=C+","+F}});if(C.length==0){var E=$("#nid").val();if(E.length==0){uutuu.UI.Dialog.alert("获取参数错误，请刷新页面再试！");return }else{C=E}}var A=null;$("#ajaxvavbform input[name=square_id]").each(function(){if($(this).attr("checked")){A=$(this).val()}});if(A.length==0){uutuu.UI.Dialog.alert("你还没有选择目标版块！");return }var B=$("#gid").val();if(A==B){uutuu.UI.Dialog.alert("你要转移的区域跟当前区域一致，操作取消！");return }uutuu.UI.Dialog.message("正在保存信息，请稍候……");var D=this;uutuu.util.jQueryAjaxHelper({url:js_context.base_url+"group/opadmin/do_move",type:"POST",dataType:"json",data:{"idstring":C,"tnid":A,"gid":B},success:function(F){uutuu.UI.Dialog.alert(F.error);if(F.success){uutuu.UI.Dialog.message("正在重新导入页面，请稍候……");document.location.reload(true)}}})},onSuccess:function(A){uutuu.UI.Dialog.getMessageBox().close()}}});uutuu.Namespace("uutuu.App");uutuu.App.Export("UserMenu");uutuu.App.UserMenu=uutuu.Class({name:"uutuu.App.UserMenu",construct:function(B,A){this.target=$(B);this.options={type:"avatarNormal"};this.initialize(A)},methods:{initialize:function(B){var E=B.type||"avatarNormal";var A=uutuu.App.UserMenu.getDefaultOptions(E);for(var D in A){this.options[D]=A[D]}for(var D in B){this.options[D]=B[D]}var F=this;var C=uutuu.App.UserMenu.PANEL_ID+"_"+this.options.type;$(this.target).mouseover(function(){var G=null;if($("#"+C).length==0){G=document.createElement("div");G.id=C;$(G).css("position","absolute").css("top","0px").css("left","0px").css("display","none");var K=document.createElement("div");K.id=uutuu.App.UserMenu.PANEL_ID+"_"+F.options.type+"_menu";$(K).addClass(F.options.menuClass[0]);var M=document.createElement("div");$(M).addClass(F.options.txtClass).appendTo(K);for(var L=0;L<F.options.txtContent.length;L++){var U=F.options.txtContent[L];if(typeof U=="string"){$(U).appendTo(M)}else{if(typeof U=="object"){switch(U.type){case"btnimg":var S=document.createElement("img");$(S).attr("src",js_context.theme_url.get("image/pic_SPA/arrowdownmoreBKhover.gif","site_v3")).addClass(F.options.btnClass).appendTo(M);break;case"avatar_with_a":$("<a><img /></a>").appendTo(M);if(typeof U.imgClass!="undefined"){$("a img",$(M)).addClass(U.imgClass)}break}}}}var Q=document.createElement("div");$(Q).addClass(F.options.listClass).appendTo(K);for(var L=0;L<F.options.listContent.length;L++){var U=F.options.listContent[L];if(typeof U=="string"){$(U).appendTo(Q)}else{if(typeof U=="object"){switch(U.type){case"menuitems":var O=document.createElement("div");O.id=uutuu.App.UserMenu.LIST_ITEMS_PANEL;$(O).appendTo(Q);break}}}}$(K).appendTo(G);$(G).appendTo(document.body);G=$(G);$("."+F.options.menuClass[0],G).simpleMenu({toggleButton:"."+F.options.btnClass,menu:"."+F.options.listClass,cssClass:F.options.menuClass,imgList:F.options.imgList});uutuu.App.UserMenu.MENU_OBJECTS[E]=$("."+F.options.menuClass[0],G)[0].SimpleMenu}else{G=$("#"+C);uutuu.App.UserMenu.MENU_OBJECTS[E].hide()}var P=$("."+F.options.txtClass+" a",G);P.attr("href",$("a",this).attr("href")).attr("target",$("a",this).attr("target")||"_self");$("img",P).attr("src",js_context.theme_url.get("image/transparent.gif","common"));var J=this;var I=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;if(!I){setTimeout(function(){$("img",P).attr("src",$("img",J).attr("src"))},1)}else{$("img",P).attr("src",$("img",J).attr("src"))}var T=$("#"+uutuu.App.UserMenu.LIST_ITEMS_PANEL,G);$("a",T).remove();var N=$(this).attr("uid");for(var L=0;L<F.options.links.length;L++){var R=F.options.links[L];var H=R.url.replace(/#=uid#/g,N);$('<a href="'+H+'" target="'+R.target+'">'+R.name+"</a>").appendTo(T)}uutuu.util.locate(G[0],$(this)[0],"top-left","right-down",F.options.locateOffset.Y,F.options.locateOffset.X);G.show()})}},statics:{MENU_OBJECTS:{},PANEL_ID:"UserMenuPanel",LIST_ITEMS_PANEL:"listitems",_defaultOptions:{},getDefaultOptions:function(A){if(!this._defaultOptions[A]){if(A=="avatarNormal"){this._defaultOptions[A]={menuClass:["AnybodyQmenu","AnybodyQmenuover","AnybodyQmenuactive"],txtClass:"AnybodyQitemtxt",btnClass:"arrowdownmoreBK",listClass:"AnybodyQitemlist",imgList:[js_context.theme_url.get("image/pic_SPA/arrowdownmoreBKhover.gif","site_v3"),js_context.theme_url.get("image/pic_SPA/arrowdownmoreBKhover.gif","site_v3"),js_context.theme_url.get("image/pic_SPA/arrowdownmoreBKactive.gif","site_v3")],txtContent:[{type:"btnimg"},{type:"avatar_with_a",imgClass:"imgthumbspace"}],listContent:['<div class="wline"></div><div class="wblock"></div>',{type:"menuitems"}],links:[{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_SPACE"),url:js_context.base_url+"member/#=uid#/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_FOOTPRINT"),url:js_context.base_url+"member/#=uid#/footprint/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_FOTOLOG"),url:js_context.base_url+"member/#=uid#/fotolog/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_ARTICLE"),url:js_context.base_url+"member/#=uid#/article/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_GROUP"),url:js_context.base_url+"member/#=uid#/group/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_FRIEND"),url:js_context.base_url+"member/#=uid#/friend/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_BROADCAST"),url:js_context.base_url+"member/#=uid#/broadcast/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_FAVORITE"),url:js_context.base_url+"member/#=uid#/favorite/",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_SEND_MESSAGE"),url:js_context.base_url+"member/pm/send/touid.#=uid#.htm",target:"_blank"},{name:uutuu.Resource.getResource().entry(this.classname,"ITEM_LEAVEWORDS"),url:js_context.base_url+"member/#=uid#/message/",target:"_blank"}],locateOffset:{X:0,Y:0}}}}return this._defaultOptions[A]},register:function(A){return this.each(function(){var D={};for(var C in A){D[C]=A[C]}var B=new uutuu.App.UserMenu(this,D)})}}});jQuery.fn.UserMenu=uutuu.App.UserMenu.register;var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion(){var A;var B;var C;try{B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");A=B.GetVariable("$version")}catch(C){}if(!A){try{B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");A="WIN 6,0,21,0";B.AllowScriptAccess="always";A=B.GetVariable("$version")}catch(C){}}if(!A){try{B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");A=B.GetVariable("$version")}catch(C){}}if(!A){try{B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");A="WIN 3,0,18,0"}catch(C){}}if(!A){try{B=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");A="WIN 2,0,0,11"}catch(C){A=-1}}return A}function GetSwfVer(){var G=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var F=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var A=navigator.plugins["Shockwave Flash"+F].description;var E=A.split(" ");var C=E[2].split(".");var H=C[0];var B=C[1];var D=E[3];if(D==""){D=E[4]}if(D[0]=="d"){D=D.substring(1)}else{if(D[0]=="r"){D=D.substring(1);if(D.indexOf("d")>0){D=D.substring(0,D.indexOf("d"))}}}var G=H+"."+B+"."+D}}else{if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1){G=4}else{if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1){G=3}else{if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1){G=2}else{if(isIE&&isWin&&!isOpera){G=ControlVersion()}}}}}return G}function DetectFlashVer(F,D,C){versionStr=GetSwfVer();if(versionStr==-1){return false}else{if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",")}else{versionArray=versionStr.split(".")}var E=versionArray[0];var A=versionArray[1];var B=versionArray[2];if(E>parseFloat(F)){return true}else{if(E==parseFloat(F)){if(A>parseFloat(D)){return true}else{if(A==parseFloat(D)){if(B>=parseFloat(C)){return true}}}}}return false}}}function AC_AddExtension(B,A){if(B.indexOf("?")!=-1){return B.replace(/\?/,A+"?")}else{return B+A}}function AC_Generateobj(E,D,A){var C="";if(isIE&&isWin&&!isOpera){C+="<object ";for(var B in E){C+=B+'="'+E[B]+'" '}C+=">";for(var B in D){C+='<param name="'+B+'" value="'+D[B]+'" /> '}C+="</object>"}else{C+="<embed ";for(var B in A){C+=B+'="'+A[B]+'" '}C+="> </embed>"}if(D.container){jQuery(D.container).append(C)}else{document.write(C)}}function AC_FL_RunContent(){var A=AC_GetArgs(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(A.objAttrs,A.params,A.embedAttrs)}function AC_SW_RunContent(){var A=AC_GetArgs(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(A.objAttrs,A.params,A.embedAttrs)}function AC_GetArgs(B,E,G,D,H){var A=new Object();A.embedAttrs=new Object();A.params=new Object();A.objAttrs=new Object();for(var C=0;C<B.length;C=C+2){var F=B[C].toLowerCase();switch(F){case"classid":break;case"pluginspage":A.embedAttrs[B[C]]=B[C+1];break;case"src":case"movie":B[C+1]=AC_AddExtension(B[C+1],E);A.embedAttrs["src"]=B[C+1];A.params[G]=B[C+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":case"id":A.objAttrs[B[C]]=B[C+1];break;case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":A.embedAttrs[B[C]]=A.objAttrs[B[C]]=B[C+1];break;default:A.embedAttrs[B[C]]=A.params[B[C]]=B[C+1]}}A.objAttrs["classid"]=D;if(H){A.embedAttrs["type"]=H}return A}if(typeof deconcept=="undefined"){var deconcept={}}if(typeof deconcept.util=="undefined"){deconcept.util={}}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil={}}deconcept.SWFObject=function(E,C,K,F,H,J,L,G,A,D){if(!document.getElementById){return }this.DETECT_KEY=D?D:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params={};this.variables={};this.attributes=[];if(E){this.setAttribute("swf",E)}if(C){this.setAttribute("id",C)}if(K){this.setAttribute("width",K)}if(F){this.setAttribute("height",F)}if(H){this.setAttribute("version",new deconcept.PlayerVersion(H.toString().split(".")))}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs)};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true}}if(J){this.addParam("bgcolor",J)}var B=L?L:"high";this.addParam("quality",B);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var I=(G)?G:window.location;this.setAttribute("xiRedirectUrl",I);this.setAttribute("redirectUrl","");if(A){this.setAttribute("redirectUrl",A)}};deconcept.SWFObject.prototype={useExpressInstall:function(A){this.xiSWFPath=!A?"expressinstall.swf":A;this.setAttribute("useExpressInstall",true)},setAttribute:function(A,B){this.attributes[A]=B},getAttribute:function(A){return this.attributes[A]||""},addParam:function(A,B){this.params[A]=B},getParams:function(){return this.params},addVariable:function(A,B){this.variables[A]=B},getVariable:function(A){return this.variables[A]||""},getVariables:function(){return this.variables},getVariablePairs:function(){var A=[];var B;var C=this.getVariables();for(B in C){A[A.length]=B+"="+C[B]}return A},getSWFHTML:function(){var D="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath)}D='<embed type="application/x-shockwave-flash" src="'+this.getAttribute("swf")+'" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+(this.getAttribute("style")||"")+'"';D+=' id="'+this.getAttribute("id")+'" name="'+this.getAttribute("id")+'" ';var C=this.getParams();for(var A in C){D+=[A]+'="'+C[A]+'" '}var B=this.getVariablePairs().join("&");if(B.length>0){D+='flashvars="'+B+'"'}D+="/>"}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath)}D='<object id="'+this.getAttribute("id")+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+(this.getAttribute("style")||"")+'">';D+='<param name="movie" value="'+this.getAttribute("swf")+'" />';var C=this.getParams();for(var A in C){D+='<param name="'+A+'" value="'+C[A]+'" />'}var B=this.getVariablePairs().join("&");if(B.length>0){D+='<param name="flashvars" value="'+B+'" />'}D+="</object>"}return D},write:function(A){if(this.getAttribute("useExpressInstall")){var B=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(B)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title)}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var C=(typeof A=="string")?document.getElementById(A):A;C.innerHTML=this.getSWFHTML();return true}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"))}}return false}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var C=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var A=navigator.plugins["Shockwave Flash"];if(A&&A.description){C=new deconcept.PlayerVersion(A.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var D=1;var B=3;while(D){try{B++;D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+B);C=new deconcept.PlayerVersion([B,0,0])}catch(E){D=null}}}else{try{var D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(E){try{var D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");C=new deconcept.PlayerVersion([6,0,21]);D.AllowScriptAccess="always"}catch(E){if(C.major==6){return C}}try{D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(E){}}if(D!=null){C=new deconcept.PlayerVersion(D.GetVariable("$version").split(" ")[1].split(","))}}}return C};deconcept.PlayerVersion=function(A){this.major=A[0]!=null?parseInt(A[0]):0;this.minor=A[1]!=null?parseInt(A[1]):0;this.rev=A[2]!=null?parseInt(A[2]):0};deconcept.PlayerVersion.prototype.versionIsValid=function(A){if(this.major<A.major){return false}if(this.major>A.major){return true}if(this.minor<A.minor){return false}if(this.minor>A.minor){return true}if(this.rev<A.rev){return false}return true};deconcept.util={getRequestParameter:function(D){var C=document.location.search||document.location.hash;if(D==null){return C}if(C){var B=C.substring(1).split("&");for(var A=0;A<B.length;A++){if(B[A].substring(0,B[A].indexOf("="))==D){return B[A].substring((B[A].indexOf("=")+1))}}}return""}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var C=document.getElementsByTagName("OBJECT");for(var B=C.length-1;B>=0;B--){C[B].style.display="none";for(var A in C[B]){if(typeof C[B][A]=="function"){C[B][A]=function(){}}}}};if(!document.getElementById&&document.all){document.getElementById=function(A){return document.all[A]}}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;function Marquee(){this.ID=document.getElementById(arguments[0]);if(!this.ID){alert('您要设置的"'+arguments[0]+'"初始化错误\r\n请检查标签ID设置是否正确!');this.ID=-1;return }this.Direction=this.Width=this.Height=this.DelayTime=this.WaitTime=this.Correct=this.CTL=this.StartID=this.Stop=this.MouseOver=0;this.Step=1;this.Timer=30;this.DirectionArray={"top":0,"bottom":1,"left":2,"right":3};if(typeof arguments[1]=="number"||typeof arguments[1]=="string"){this.Direction=arguments[1]}if(typeof arguments[2]=="number"){this.Step=arguments[2]}if(typeof arguments[3]=="number"){this.Width=arguments[3]}if(typeof arguments[4]=="number"){this.Height=arguments[4]}if(typeof arguments[5]=="number"){this.Timer=arguments[5]}if(typeof arguments[6]=="number"){this.DelayTime=arguments[6]}if(typeof arguments[7]=="number"){this.WaitTime=arguments[7]}if(typeof arguments[8]=="number"){this.ScrollStep=arguments[8]}this.ID.style.overflow=this.ID.style.overflowX=this.ID.style.overflowY="hidden";this.ID.noWrap=true;this.IsNotOpera=(navigator.userAgent.toLowerCase().indexOf("opera")==-1);if(arguments.length>=7){this.Start()}}Marquee.prototype.Start=function(){if(this.ID==-1){return }if(this.WaitTime<800){this.WaitTime=800}if(this.Timer<20){this.Timer=20}if(this.Width==0){this.Width=parseInt(this.ID.style.width)}if(this.Height==0){this.Height=parseInt(this.ID.style.height)}if(typeof this.Direction=="string"){this.Direction=this.DirectionArray[this.Direction.toString().toLowerCase()]}this.HalfWidth=Math.round(this.Width/2);this.HalfHeight=Math.round(this.Height/2);this.BakStep=this.Step;this.ID.style.width=this.Width+"px";this.ID.style.height=this.Height+"px";if(typeof this.ScrollStep!="number"){this.ScrollStep=this.Direction>1?this.Width:this.Height}var C=this;var D=this.Timer;var A=this.DelayTime;var B=this.WaitTime;C.StartID=function(){C.Scroll()};C.Continue=function(){if(C.MouseOver==1){setTimeout(C.Continue,A)}else{clearInterval(C.TimerID);C.CTL=C.Stop=0;C.TimerID=setInterval(C.StartID,D)}};C.Pause=function(){C.Stop=1;clearInterval(C.TimerID);setTimeout(C.Continue,A)};C.Begin=function(){C.ClientScroll=C.Direction>1?C.ID.scrollWidth:C.ID.scrollHeight;if((C.Direction<=1&&C.ClientScroll<=C.Height+C.Step)||(C.Direction>1&&C.ClientScroll<=C.Width+C.Step)){return }jQuery(C.ID).children().clone().appendTo(C.ID);C.TimerID=setInterval(C.StartID,D);if(C.ScrollStep<0){return }C.ID.onmousemove=function(E){if(C.ScrollStep==0&&C.Direction>1){var E=E||window.event;if(window.event){if(C.IsNotOpera){C.EventLeft=E.srcElement.id==C.ID.id?E.offsetX-C.ID.scrollLeft:E.srcElement.offsetLeft-C.ID.scrollLeft+E.offsetX}else{C.ScrollStep=null;return }}else{C.EventLeft=E.layerX-C.ID.scrollLeft}C.Direction=C.EventLeft>C.HalfWidth?3:2;C.AbsCenter=Math.abs(C.HalfWidth-C.EventLeft);C.Step=Math.round(C.AbsCenter*(C.BakStep*2)/C.HalfWidth)}};C.ID.onmouseover=function(){if(C.ScrollStep==0){return }C.MouseOver=1;clearInterval(C.TimerID)};C.ID.onmouseout=function(){if(C.ScrollStep==0){if(C.Step==0){C.Step=1}return }C.MouseOver=0;if(C.Stop==0){clearInterval(C.TimerID);C.TimerID=setInterval(C.StartID,D)}}};setTimeout(C.Begin,B)};Marquee.prototype.Scroll=function(){switch(this.Direction){case 0:this.CTL+=this.Step;if(this.CTL>=this.ScrollStep&&this.DelayTime>0){this.ID.scrollTop+=this.ScrollStep+this.Step-this.CTL;this.Pause();return }else{if(this.ID.scrollTop>=this.ClientScroll){this.ID.scrollTop-=this.ClientScroll}this.ID.scrollTop+=this.Step}break;case 1:this.CTL+=this.Step;if(this.CTL>=this.ScrollStep&&this.DelayTime>0){this.ID.scrollTop-=this.ScrollStep+this.Step-this.CTL;this.Pause();return }else{if(this.ID.scrollTop<=0){this.ID.scrollTop+=this.ClientScroll}this.ID.scrollTop-=this.Step}break;case 2:this.CTL+=this.Step;if(this.CTL>=this.ScrollStep&&this.DelayTime>0){this.ID.scrollLeft+=this.ScrollStep+this.Step-this.CTL;this.Pause();return }else{if(this.ID.scrollLeft>=this.ClientScroll){this.ID.scrollLeft-=this.ClientScroll}this.ID.scrollLeft+=this.Step}break;case 3:this.CTL+=this.Step;if(this.CTL>=this.ScrollStep&&this.DelayTime>0){this.ID.scrollLeft-=this.ScrollStep+this.Step-this.CTL;this.Pause();return }else{if(this.ID.scrollLeft<=0){this.ID.scrollLeft+=this.ClientScroll}this.ID.scrollLeft-=this.Step}break}};tb_pathToImage=js_context.theme_url+"image/loading.gif";var pageTracker;if(!uutuu.Defined("uutuu.UI.Panel")){uutuu.UI.Panel={}}uutuu.UI.Panel.messageBox={TYPE_OKCANCEL:"TYPE_OKCANCEL",TYPE_YESNO:"TYPE_YESNO",TYPE_YESNOCANCEL:"TYPE_YESNOCANCEL",resetTimeout:function(B,A){return uutuu.UI.Dialog.getMessageBox().resetTimeout(B,A)},close:function(){return uutuu.UI.Dialog.getMessageBox().close()}};uutuu.UI.Panel.message=function(C,B,A){return uutuu.UI.Dialog.message.apply(uutuu.UI.Dialog,arguments)};uutuu.UI.Panel.alert=function(B,A){return uutuu.UI.Dialog.alert.apply(uutuu.UI.Dialog,arguments)};uutuu.UI.Panel.confirm=function(C,A,B){return uutuu.UI.Dialog.confirm.apply(uutuu.UI.Dialog,arguments)};if(uutuu.Defined("uutuu.MQ.AMQ")&&js_context.mq){var amq=new uutuu.MQ.AMQ(js_context.mq.uri,js_context.mq)}uutuu.callbacks={suggestion:{onGeotagMatch:function(A,B,C){C=C.toLowerCase();if(B.key.toLowerCase()==C){return 2}else{return B.key.toLowerCase().indexOf(C,0)>=0||B.en.substring(0,C.length).toLowerCase()==C||B.py.substring(0,C.length).toLowerCase()==C||B.py_ac.substring(0,C.length).toLowerCase()==C}},onGeotagShow:function(A,B){if(B.en&&B.en.length>0){return'<span style="float:right;margin-left:10px;">'+B.en+"</span>"+B.key}else{return B.key}},newGeotagDefaultOption:function(A){return{name:'未找到该地点，回车或点击添加"'+A+'"。',value:A,callback:function(B,C){var E=C.value.match(/^[a-zA-Z0-9 -_\']+$/)?"asciiname":"newgeotag";var D={"targetId":B.target.id};D[E]=C.value;uutuu.UI.Dialog.request({dlgid:"new_geotag",addr:js_context.base_url+"service/gtag/new_geotag",data:D});return false}}}}};if(js_context&&js_context.theme_url){js_context.theme_url=new (function(){var A=js_context.theme_url;this.toString=function(){return A};this.get=function(E,D){var B=A;if(D){B=B.split("/");for(var C=B.length;C>0;C--){if(B.pop().length>0){break}}B.push(D);B=B.join("/")+"/"}E=!E?"":E.replace(/(.+?)\.(js|css|jpg|gif|png|cur)$/i,"$1"+(js_context.jsrevision||"")+".$2");return B+E}})()}var popUpCal;$(document.body).ready(function(){var A=$(document.createElement("div"));A.css({display:"none",minWidth:200}).html('<div id="dlg_body"></div><div style="text-align:center;padding:5px 0px;">	<input id="dlg_ok"  type="button" class="btn_script btn_msgok"  value="" border="0" />	<input id="dlg_deny"  type="button" class="btn_script btn_msgcancel"  value="" border="0" />	<input id="dlg_cancel"  type="button" class="btn_script btn_msgcancel"  value="" border="0" /></div>').appendTo(document.body);uutuu.UI.Dialog.initializeMessageBox(A[0]);uutuu.util.buttonInit();if(popUpCal){popUpCal.regional["zh-cn"]={dateFormat:"YMD.",closeText:"关闭",clearText:"清除",prevText:"上一月",nextText:"下一月",currentText:"今天",dayNames:["日","一","二","三","四","五","六"],monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],maxDate:new Date()};popUpCal.setDefaults(popUpCal.regional["zh-cn"])}if(uutuu.Defined("uutuu.App.Proxy")){$("#commentProxyDiv").commentProxy();if(js_context&&js_context.voteproxy&&js_context.voteproxy.open){$("[obj='voteProxy']").voteProxy();$("[obj='voteListProxy']").voteList()}if(js_context&&js_context.lineproxy&&js_context.lineproxy.open){$("[obj='lineProxy']").lineProxy()}}if(amq){amq.startPolling()}$(".uutuu_init").removeClass("uutuu_init")})