/* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * namespace define */ IFX = {} IFX.model = {} IFX.util = {} IFX.app = {} /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ if(typeof YAHOO=="undefined"){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var C={},A=arguments,B;for(B=0;B=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.3.1",build:"541"}); /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B0){B=H[0];}try{G=L.fn.call(K,B,L.obj);}catch(F){this.lastError=F;}}else{try{G=L.fn.call(K,this.type,H,L.obj);}catch(F){this.lastError=F;}}if(false===G){if(!this.silent){}return false;}}}if(I){var J=[],C=this.subscribers;for(D=0,E=C.length;D=0){Q=I[R];}if(!M||!Q){return false;}if(this.useLegacyEvent(M,L)){var O=this.getLegacyIndex(M,L);var N=E[O];if(N){for(P=0,S=N.length;P0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var M,L,O,N;for(M=0,L=F.length;M0){for(var R=0,S=T.length;R0){O=I.length;while(O){N=O-1;M=I[N];if(M){R.removeListener(M[R.EL],M[R.TYPE],M[R.FN],N);}O=O-1;}M=null;R.clearCache();}for(P=0,L=G.length;P");B=document.getElementById("_yui_eu_dr");}if(B){B.onreadystatechange=function(){if("complete"===this.readyState){this.parentNode.removeChild(this);YAHOO.util.Event._ready();}};}else{}B=null;}else{if(D.webkit){D._drwatch=setInterval(function(){var F=document.readyState;if("loaded"==F||"complete"==F){clearInterval(D._drwatch);D._drwatch=null;D._ready();}},D.POLL_INTERVAL);}else{D._simpleAdd(document,"DOMContentLoaded",D._ready);}}D._simpleAdd(window,"load",D._load);D._simpleAdd(window,"unload",D._unload);D._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{}; var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C=200&&R<300||R===1223){q=this.createResponseObject(w,(V&&V.argument)?V.argument:undefined);if(V){if(V.success){if(!V.scope){V.success(q);}else{V.success.apply(V.scope,[q]);}}}this.successEvent.fire(q);if(w.successEvent){w.successEvent.fire(q);}}else{switch(R){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:q=this.createExceptionObject(w.tId,(V&&V.argument)?V.argument:undefined,(S?S:false));if(V){if(V.failure){if(!V.scope){V.failure(q);}else{V.failure.apply(V.scope,[q]);}}}break;default:q=this.createResponseObject(w,(V&&V.argument)?V.argument:undefined);if(V){if(V.failure){if(!V.scope){V.failure(q);}else{V.failure.apply(V.scope,[q]);}}}}this.failureEvent.fire(q);if(w.failureEvent){w.failureEvent.fire(q);}}this.releaseObject(w);q=null;},createResponseObject:function(S,d){var m={};var T={};try{var R=S.conn.getAllResponseHeaders();var V=R.split("\n");for(var w=0;w");if(typeof S=="boolean"){R.src="javascript:false";}else{if(typeof secureURI=="string"){R.src=S;}}}else{R=document.createElement("iframe");R.id=q;R.name=q;}R.style.position="absolute";R.style.top="-1000px";R.style.left="-1000px";document.body.appendChild(R);},appendPostData:function(S){var m=[];var q=S.split("&");for(var R=0;R0){for(var d=0;dthis.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){B.b4Drag(E);if(B){B.onDrag(E);}if(B){this.fireEvents(E,false);}}this.stopEvent(E);}},fireEvents:function(Q,H){var S=this.dragCurrent;if(!S||S.isLocked()){return ;}var J=YAHOO.util.Event.getPageX(Q),I=YAHOO.util.Event.getPageY(Q),K=new YAHOO.util.Point(J,I),F=S.getTargetCoord(K.x,K.y),C=S.getDragEl(),P=new YAHOO.util.Region(F.y,F.x+C.offsetWidth,F.y+C.offsetHeight,F.x),E=[],G=[],B=[],R=[],O=[];for(var M in this.dragOvers){var T=this.dragOvers[M];if(!this.isTypeOfDD(T)){continue;}if(!this.isOverTarget(K,T,this.mode,P)){G.push(T);}E[M]=true;delete this.dragOvers[M];}for(var L in S.groups){if("string"!=typeof L){continue;}for(M in this.ids[L]){var D=this.ids[L][M];if(!this.isTypeOfDD(D)){continue;}if(D.isTarget&&!D.isLocked()&&D!=S){if(this.isOverTarget(K,D,this.mode,P)){if(H){R.push(D);}else{if(!E[D.id]){O.push(D);}else{B.push(D);}this.dragOvers[D.id]=D;}}}}}this.interactionInfo={out:G,enter:O,over:B,drop:R,point:K,draggedRegion:P,sourceRegion:this.locationCache[S.id],validDrop:H};if(H&&!R.length){this.interactionInfo.validDrop=false;S.onInvalidDrop(Q);}if(this.mode){if(G.length){S.b4DragOut(Q,G);if(S){S.onDragOut(Q,G);}}if(O.length){if(S){S.onDragEnter(Q,O);}}if(B.length){if(S){S.b4DragOver(Q,B);}if(S){S.onDragOver(Q,B);}}if(R.length){if(S){S.b4DragDrop(Q,R);}if(S){S.onDragDrop(Q,R);}}}else{var N=0;for(M=0,N=G.length;M2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1;}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true;}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true;}else{C=C.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(E,C,D){this.initTarget(E,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(E,C,D){this.config=D||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){return ;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(F,E){var C=F.which||F.button; if(this.primaryButtonOnly&&C>1){return ;}if(this.isLocked()){return ;}this.b4MouseDown(F);this.onMouseDown(F);this.DDM.refreshCache(this.groups);var D=new YAHOO.util.Point(A.getPageX(F),A.getPageY(F));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(D,this)){}else{if(this.clickValidator(F)){this.setStartPosition();this.DDM.handleMouseDown(F,this);this.DDM.stopEvent(F);}else{}}},clickValidator:function(D){var C=A.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(Cthis.maxX){C=this.maxX;}}if(this.constrainY){if(Fthis.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(B,F,E){var D=this.getTargetCoord(F,E);if(!this.deltaSetXY){var G=[D.x,D.y];YAHOO.util.Dom.setXY(B,G);var C=parseInt(YAHOO.util.Dom.getStyle(B,"left"),10);var A=parseInt(YAHOO.util.Dom.getStyle(B,"top"),10);this.deltaSetXY=[C-D.x,A-D.y];}else{YAHOO.util.Dom.setStyle(B,"left",(D.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(B,"top",(D.y+this.deltaSetXY[1])+"px");}this.cachePosition(D.x,D.y);this.autoScroll(D.x,D.y,B.offsetHeight,B.offsetWidth);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G0&&I-NB&&F0&&J-D0){T.label=P;}}}function A(O){var N=O.attributes,M=N.srcelement,Q=M.nodeName.toUpperCase(),P=this;if(Q==this.NODE_NAME){O.element=M;O.id=M.id;G.getElementsBy(function(R){switch(R.nodeName.toUpperCase()){case"BUTTON":case"A":case"INPUT":H.call(P,R,N);break;}},"*",M);}else{switch(Q){case"BUTTON":case"A":case"INPUT":H.call(this,M,N);break;}}}YAHOO.widget.Button=function(Q,N){var P=YAHOO.widget.Button.superclass.constructor,O,M;if(arguments.length==1&&!I.isString(Q)&&!Q.nodeName){if(!Q.id){Q.id=G.generateId();}P.call(this,(this.createButtonElement(Q.type)),Q);}else{O={element:null,attributes:(N||{})};if(I.isString(Q)){M=G.get(Q);if(M){if(!O.attributes.id){O.attributes.id=Q;}O.attributes.srcelement=M;A.call(this,O);if(!O.element){O.element=this.createButtonElement(O.attributes.type);}P.call(this,O.element,O.attributes);}}else{if(Q.nodeName){if(!O.attributes.id){if(Q.id){O.attributes.id=Q.id;}else{O.attributes.id=G.generateId();}}O.attributes.srcelement=Q;A.call(this,O);if(!O.element){O.element=this.createButtonElement(O.attributes.type);}P.call(this,O.element,O.attributes);}}}};YAHOO.extend(YAHOO.widget.Button,YAHOO.util.Element,{_button:null,_menu:null,_hiddenFields:null,_onclickAttributeValue:null,_activationKeyPressed:false,_activationButtonPressed:false,_hasKeyEventHandlers:false,_hasMouseEventHandlers:false,NODE_NAME:"SPAN",CHECK_ACTIVATION_KEYS:[32],ACTIVATION_KEYS:[13,32],OPTION_AREA_WIDTH:20,CSS_CLASS_NAME:"yui-button",RADIO_DEFAULT_TITLE:"Unchecked. Click to check.",RADIO_CHECKED_TITLE:"Checked. Click to uncheck.",CHECKBOX_DEFAULT_TITLE:"Unchecked. Click to check.",CHECKBOX_CHECKED_TITLE:"Checked. Click to uncheck.",MENUBUTTON_DEFAULT_TITLE:"Menu collapsed. Click to expand.",MENUBUTTON_MENU_VISIBLE_TITLE:"Menu expanded. Click or press Esc to collapse.",SPLITBUTTON_DEFAULT_TITLE:("Menu collapsed. Click inside option region or press Ctrl + Shift + M to show the menu."),SPLITBUTTON_OPTION_VISIBLE_TITLE:"Menu expanded. Press Esc or Ctrl + Shift + M to hide the menu.",SUBMIT_TITLE:"Click to submit form.",_setType:function(M){if(M=="split"){this.on("option",this._onOption);}},_setLabel:function(M){this._button.innerHTML=M;var O,N;if(YAHOO.env.ua.gecko&&G.inDocument(this.get("element"))){N=this;O=this.CSS_CLASS_NAME;this.removeClass(O);window.setTimeout(function(){N.addClass(O);},0);}},_setTabIndex:function(M){this._button.tabIndex=M;},_setTitle:function(N){var M=N;if(this.get("type")!="link"){if(!M){switch(this.get("type")){case"radio":M=this.RADIO_DEFAULT_TITLE;break;case"checkbox":M=this.CHECKBOX_DEFAULT_TITLE;break;case"menu":M=this.MENUBUTTON_DEFAULT_TITLE;break;case"split":M=this.SPLITBUTTON_DEFAULT_TITLE;break;case"submit":M=this.SUBMIT_TITLE;break;}}this._button.title=M;}},_setDisabled:function(M){if(this.get("type")!="link"){if(M){if(this._menu){this._menu.hide();}if(this.hasFocus()){this.blur();}this._button.setAttribute("disabled","disabled");this.addStateCSSClasses("disabled");this.removeStateCSSClasses("hover");this.removeStateCSSClasses("active");this.removeStateCSSClasses("focus");}else{this._button.removeAttribute("disabled");this.removeStateCSSClasses("disabled");}}},_setHref:function(M){if(this.get("type")=="link"){this._button.href=M;}},_setTarget:function(M){if(this.get("type")=="link"){this._button.setAttribute("target",M);}},_setChecked:function(N){var O=this.get("type"),M;if(O=="checkbox"||O=="radio"){if(N){this.addStateCSSClasses("checked");M=(O=="radio")?this.RADIO_CHECKED_TITLE:this.CHECKBOX_CHECKED_TITLE;}else{this.removeStateCSSClasses("checked");M=(O=="radio")?this.RADIO_DEFAULT_TITLE:this.CHECKBOX_DEFAULT_TITLE;}this.set("title",M);}},_setMenu:function(W){var Q=this.get("lazyloadmenu"),T=this.get("element"),M=J.prototype.CSS_CLASS_NAME,Y=false,Z,P,S,O,N,V,R;if(!B){return false;}if(!J){return false;}function X(){Z.render(T.parentNode);this.removeListener("appendTo",X);}function U(){if(Z){G.addClass(Z.element,this.get("menuclassname"));G.addClass(Z.element,"yui-"+this.get("type")+"-button-menu");Z.showEvent.subscribe(this._onMenuShow,null,this);Z.hideEvent.subscribe(this._onMenuHide,null,this);Z.renderEvent.subscribe(this._onMenuRender,null,this);if(Z instanceof J){Z.keyDownEvent.subscribe(this._onMenuKeyDown,this,true);Z.subscribe("click",this._onMenuClick,this,true);Z.itemAddedEvent.subscribe(this._onMenuItemAdded,this,true);S=Z.srcElement;if(S&&S.nodeName.toUpperCase()=="SELECT"){S.style.display="none";S.parentNode.removeChild(S);}}else{if(Z instanceof B){if(!K){K=new YAHOO.widget.OverlayManager();}K.register(Z);}}this._menu=Z;if(!Y){if(Q&&!(Z instanceof J)){Z.beforeShowEvent.subscribe(this._onOverlayBeforeShow,null,this);}else{if(!Q){if(G.inDocument(T)){Z.render(T.parentNode);}else{this.on("appendTo",X);}}}}}}if(W&&(W instanceof J)){Z=W;O=Z.getItems(); N=O.length;Y=true;if(N>0){R=N-1;do{V=O[R];if(V){V.cfg.subscribeToConfigEvent("selected",this._onMenuItemSelected,V,this);}}while(R--);}U.call(this);}else{if(W&&(W instanceof B)){Z=W;Y=true;Z.cfg.setProperty("visible",false);Z.cfg.setProperty("context",[T,"tl","bl"]);U.call(this);}else{if(I.isArray(W)){this.on("appendTo",function(){Z=new J(G.generateId(),{lazyload:Q,itemdata:W});U.call(this);});}else{if(I.isString(W)){P=G.get(W);if(P){if(G.hasClass(P,M)||P.nodeName.toUpperCase()=="SELECT"){Z=new J(W,{lazyload:Q});U.call(this);}else{Z=new B(W,{visible:false,context:[T,"tl","bl"]});U.call(this);}}}else{if(W&&W.nodeName){if(G.hasClass(W,M)||W.nodeName.toUpperCase()=="SELECT"){Z=new J(W,{lazyload:Q});U.call(this);}else{if(!W.id){G.generateId(W);}Z=new B(W,{visible:false,context:[T,"tl","bl"]});U.call(this);}}}}}}},_setOnClick:function(M){if(this._onclickAttributeValue&&(this._onclickAttributeValue!=M)){this.removeListener("click",this._onclickAttributeValue.fn);this._onclickAttributeValue=null;}if(!this._onclickAttributeValue&&I.isObject(M)&&I.isFunction(M.fn)){this.on("click",M.fn,M.obj,M.scope);this._onclickAttributeValue=M;}},_setSelectedMenuItem:function(N){var M=this._menu,O;if(M&&M instanceof J){O=M.getItem(N);if(O&&!O.cfg.getProperty("selected")){O.cfg.setProperty("selected",true);}}},_isActivationKey:function(M){var Q=this.get("type"),N=(Q=="checkbox"||Q=="radio")?this.CHECK_ACTIVATION_KEYS:this.ACTIVATION_KEYS,P=N.length,O;if(P>0){O=P-1;do{if(M==N[O]){return true;}}while(O--);}},_isSplitButtonOptionKey:function(M){return(M.ctrlKey&&M.shiftKey&&L.getCharCode(M)==77);},_addListenersToForm:function(){var S=this.getForm(),R=YAHOO.widget.Button.onFormKeyPress,Q,M,P,O,N;if(S){L.on(S,"reset",this._onFormReset,null,this);L.on(S,"submit",this.createHiddenFields,null,this);M=this.get("srcelement");if(this.get("type")=="submit"||(M&&M.type=="submit")){P=L.getListeners(S,"keypress");Q=false;if(P){O=P.length;if(O>0){N=O-1;do{if(P[N].fn==R){Q=true;break;}}while(N--);}}if(!Q){L.on(S,"keypress",R);}}}},_originalMaxHeight:-1,_showMenu:function(O){YAHOO.widget.MenuManager.hideVisible();if(K){K.hideAll();}var M=this._menu,N=G.getViewportHeight(),Q,R,P;if(M&&(M instanceof J)){M.cfg.applyConfig({context:[this.get("id"),"tl","bl"],constraintoviewport:false,clicktohide:false,visible:true});M.cfg.fireQueue();M.align("tl","bl");if(O.type=="mousedown"){L.stopPropagation(O);}if(this.get("focusmenu")){this._menu.focus();}Q=M.element.offsetHeight;if((M.cfg.getProperty("y")+Q)>N){M.align("bl","tl");P=M.cfg.getProperty("y");R=G.getDocumentScrollTop();if(R>=P){if(this._originalMaxHeight==-1){this._originalMaxHeight=M.cfg.getProperty("maxheight");}M.cfg.setProperty("maxheight",(Q-((R-P)+20)));M.align("bl","tl");}}}else{if(M&&(M instanceof B)){M.show();M.align("tl","bl");Q=M.element.offsetHeight;if((M.cfg.getProperty("y")+Q)>N){M.align("bl","tl");}}}},_hideMenu:function(){var M=this._menu;if(M){M.hide();}},_onMouseOver:function(M){if(!this._hasMouseEventHandlers){this.on("mouseout",this._onMouseOut);this.on("mousedown",this._onMouseDown);this.on("mouseup",this._onMouseUp);this._hasMouseEventHandlers=true;}this.addStateCSSClasses("hover");if(this._activationButtonPressed){this.addStateCSSClasses("active");}if(this._bOptionPressed){this.addStateCSSClasses("activeoption");}},_onMouseOut:function(M){this.removeStateCSSClasses("hover");if(this.get("type")!="menu"){this.removeStateCSSClasses("active");}if(this._activationButtonPressed||this._bOptionPressed){L.on(document,"mouseup",this._onDocumentMouseUp,null,this);}},_onDocumentMouseUp:function(M){this._activationButtonPressed=false;this._bOptionPressed=false;var N=this.get("type");if(N=="menu"||N=="split"){this.removeStateCSSClasses((N=="menu"?"active":"activeoption"));this._hideMenu();}L.removeListener(document,"mouseup",this._onDocumentMouseUp);},_onMouseDown:function(P){var R,N,Q,O;function M(){this._hideMenu();this.removeListener("mouseup",M);}if((P.which||P.button)==1){if(!this.hasFocus()){this.focus();}R=this.get("type");if(R=="split"){N=this.get("element");Q=L.getPageX(P)-G.getX(N);if((N.offsetWidth-this.OPTION_AREA_WIDTH)"+(M=="link"?"":"")+"";return N;},addStateCSSClasses:function(M){var N=this.get("type");if(I.isString(M)){if(M!="activeoption"){this.addClass(this.CSS_CLASS_NAME+("-"+M));}this.addClass("yui-"+N+("-button-"+M));}},removeStateCSSClasses:function(M){var N=this.get("type");if(I.isString(M)){this.removeClass(this.CSS_CLASS_NAME+("-"+M));this.removeClass("yui-"+N+("-button-"+M));}},createHiddenFields:function(){this.removeHiddenFields();var R=this.getForm(),U,N,P,S,T,O,Q,M;if(R&&!this.get("disabled")){N=this.get("type");P=(N=="checkbox"||N=="radio");if(P||(E==this)){U=F((P?N:"hidden"),this.get("name"),this.get("value"),this.get("checked"));if(U){if(P){U.style.display="none";}R.appendChild(U);}}S=this._menu;if(S&&(S instanceof J)){M=S.srcElement;T=S.getItem(this.get("selectedMenuItem"));if(T){if(M&&M.nodeName.toUpperCase()=="SELECT"){R.appendChild(M);M.selectedIndex=T.index;}else{Q=(T.value===null||T.value==="")?T.cfg.getProperty("text"):T.value;O=this.get("name");if(Q&&O){M=F("hidden",(O+"_options"),Q);R.appendChild(M);}}}}if(U&&M){this._hiddenFields=[U,M];}else{if(!U&&M){this._hiddenFields=M;}else{if(U&&!M){this._hiddenFields=U;}}}return this._hiddenFields;}},removeHiddenFields:function(){var P=this._hiddenFields,N,O;function M(Q){if(G.inDocument(Q)){Q.parentNode.removeChild(Q);}}if(P){if(I.isArray(P)){N=P.length;if(N>0){O=N-1;do{M(P[O]);}while(O--);}}else{M(P);}this._hiddenFields=null;}},submitForm:function(){var P=this.getForm(),O=this.get("srcelement"),N=false,M;if(P){if(this.get("type")=="submit"||(O&&O.type=="submit")){E=this;}if(YAHOO.env.ua.ie){N=P.fireEvent("onsubmit");}else{M=document.createEvent("HTMLEvents");M.initEvent("submit",true,true);N=P.dispatchEvent(M);}if((YAHOO.env.ua.ie||YAHOO.env.ua.webkit)&&N){P.submit();}}return N;},init:function(M,T){var O=T.type=="link"?"a":"button",Q=T.srcelement,S=M.getElementsByTagName(O)[0],R;if(!S){R=M.getElementsByTagName("input")[0];if(R){S=document.createElement("button");S.setAttribute("type","button");R.parentNode.replaceChild(S,R);}}this._button=S;YAHOO.widget.Button.superclass.init.call(this,M,T);D[this.get("id")]=this;this.addClass(this.CSS_CLASS_NAME);this.addClass("yui-"+this.get("type")+"-button");L.on(this._button,"focus",this._onFocus,null,this);this.on("mouseover",this._onMouseOver);this.on("click",this._onClick);this.on("appendTo",this._onAppendTo);var V=this.get("container"),N=this.get("element"),U=G.inDocument(N),P;if(V){if(Q&&Q!=N){P=Q.parentNode;if(P){P.removeChild(Q);}}if(I.isString(V)){L.onContentReady(V,function(){this.appendTo(V); },null,this);}else{this.appendTo(V);}}else{if(!U&&Q&&Q!=N){P=Q.parentNode;if(P){this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:P});P.replaceChild(N,Q);this.fireEvent("appendTo",{type:"appendTo",target:P});}}else{if(this.get("type")!="link"&&U&&Q&&Q==N){this._addListenersToForm();}}}},initAttributes:function(N){var M=N||{};YAHOO.widget.Button.superclass.initAttributes.call(this,M);this.setAttributeConfig("type",{value:(M.type||"push"),validator:I.isString,writeOnce:true,method:this._setType});this.setAttributeConfig("label",{value:M.label,validator:I.isString,method:this._setLabel});this.setAttributeConfig("value",{value:M.value});this.setAttributeConfig("name",{value:M.name,validator:I.isString});this.setAttributeConfig("tabindex",{value:M.tabindex,validator:I.isNumber,method:this._setTabIndex});this.configureAttribute("title",{value:M.title,validator:I.isString,method:this._setTitle});this.setAttributeConfig("disabled",{value:(M.disabled||false),validator:I.isBoolean,method:this._setDisabled});this.setAttributeConfig("href",{value:M.href,validator:I.isString,method:this._setHref});this.setAttributeConfig("target",{value:M.target,validator:I.isString,method:this._setTarget});this.setAttributeConfig("checked",{value:(M.checked||false),validator:I.isBoolean,method:this._setChecked});this.setAttributeConfig("container",{value:M.container,writeOnce:true});this.setAttributeConfig("srcelement",{value:M.srcelement,writeOnce:true});this.setAttributeConfig("menu",{value:null,method:this._setMenu,writeOnce:true});this.setAttributeConfig("lazyloadmenu",{value:(M.lazyloadmenu===false?false:true),validator:I.isBoolean,writeOnce:true});this.setAttributeConfig("menuclassname",{value:(M.menuclassname||"yui-button-menu"),validator:I.isString,method:this._setMenuClassName,writeOnce:true});this.setAttributeConfig("selectedMenuItem",{value:0,validator:I.isNumber,method:this._setSelectedMenuItem});this.setAttributeConfig("onclick",{value:M.onclick,method:this._setOnClick});this.setAttributeConfig("focusmenu",{value:(M.focusmenu===false?false:true),validator:I.isBoolean});},focus:function(){if(!this.get("disabled")){this._button.focus();}},blur:function(){if(!this.get("disabled")){this._button.blur();}},hasFocus:function(){return(C==this);},isActive:function(){return this.hasClass(this.CSS_CLASS_NAME+"-active");},getMenu:function(){return this._menu;},getForm:function(){return this._button.form;},getHiddenFields:function(){return this._hiddenFields;},destroy:function(){var O=this.get("element"),N=O.parentNode,M=this._menu,Q;if(M){if(K.find(M)){K.remove(M);}M.destroy();}L.purgeElement(O);L.purgeElement(this._button);L.removeListener(document,"mouseup",this._onDocumentMouseUp);L.removeListener(document,"keyup",this._onDocumentKeyUp);L.removeListener(document,"mousedown",this._onDocumentMouseDown);var P=this.getForm();if(P){L.removeListener(P,"reset",this._onFormReset);L.removeListener(P,"submit",this.createHiddenFields);}this.unsubscribeAll();if(N){N.removeChild(O);}delete D[this.get("id")];Q=G.getElementsByClassName(this.CSS_CLASS_NAME,this.NODE_NAME,P);if(I.isArray(Q)&&Q.length===0){L.removeListener(P,"keypress",YAHOO.widget.Button.onFormKeyPress);}},fireEvent:function(N,M){if(this.DOM_EVENTS[N]&&this.get("disabled")){return ;}YAHOO.widget.Button.superclass.fireEvent.call(this,N,M);},toString:function(){return("Button "+this.get("id"));}});YAHOO.widget.Button.onFormKeyPress=function(Q){var O=L.getTarget(Q),R=L.getCharCode(Q),P=O.nodeName&&O.nodeName.toUpperCase(),M=O.type,S=false,U,V,N,W;function T(Z){var Y,X;switch(Z.nodeName.toUpperCase()){case"INPUT":case"BUTTON":if(Z.type=="submit"&&!Z.disabled){if(!S&&!N){N=Z;}if(V&&!W){W=Z;}}break;default:Y=Z.id;if(Y){U=D[Y];if(U){S=true;if(!U.get("disabled")){X=U.get("srcelement");if(!V&&(U.get("type")=="submit"||(X&&X.type=="submit"))){V=U;}}}}break;}}if(R==13&&((P=="INPUT"&&(M=="text"||M=="password"||M=="checkbox"||M=="radio"||M=="file"))||P=="SELECT")){G.getElementsBy(T,"*",this);if(N){N.focus();}else{if(!N&&V){if(W){L.preventDefault(Q);}V.submitForm();}}}};YAHOO.widget.Button.addHiddenFieldsToForm=function(M){var R=G.getElementsByClassName(YAHOO.widget.Button.prototype.CSS_CLASS_NAME,"*",M),P=R.length,Q,N,O;if(P>0){for(O=0;O0){F=H-1;do{this._buttons[F].set("disabled",G);}while(F--);}},_onKeyDown:function(K){var G=B.getTarget(K),I=B.getCharCode(K),H=G.parentNode.parentNode.id,J=E[H],F=-1;if(I==37||I==38){F=(J.index===0)?(this._buttons.length-1):(J.index-1);}else{if(I==39||I==40){F=(J.index===(this._buttons.length-1))?0:(J.index+1);}}if(F>-1){this.check(F);this.getButton(F).focus();}},_onAppendTo:function(H){var I=this._buttons,G=I.length,F;for(F=0;F0){this.addButtons(J);}function F(K){return(K.type=="radio");}J=C.getElementsBy(F,"input",this.get("element"));if(J.length>0){this.addButtons(J);}this.on("keydown",this._onKeyDown);this.on("appendTo",this._onAppendTo);var G=this.get("container");if(G){if(D.isString(G)){B.onContentReady(G,function(){this.appendTo(G);},null,this);}else{this.appendTo(G);}}},initAttributes:function(G){var F=G||{};YAHOO.widget.ButtonGroup.superclass.initAttributes.call(this,F);this.setAttributeConfig("name",{value:F.name,validator:D.isString});this.setAttributeConfig("disabled",{value:(F.disabled||false),validator:D.isBoolean,method:this._setDisabled});this.setAttributeConfig("value",{value:F.value});this.setAttributeConfig("container",{value:F.container,writeOnce:true});this.setAttributeConfig("checkedButton",{value:null});},addButton:function(J){var L,K,G,F,H,I;if(J instanceof A&&J.get("type")=="radio"){L=J;}else{if(!D.isString(J)&&!J.nodeName){J.type="radio";L=new A(J);}else{L=new A(J,{type:"radio"});}}if(L){F=this._buttons.length;H=L.get("name");I=this.get("name");L.index=F;this._buttons[F]=L;E[L.get("id")]=L;if(H!=I){L.set("name",I);}if(this.get("disabled")){L.set("disabled",true);}if(L.get("checked")){this.set("checkedButton",L);}K=L.get("element");G=this.get("element");if(K.parentNode!=G){G.appendChild(K);}L.on("checkedChange",this._onButtonCheckedChange,L,this);return L;}},addButtons:function(G){var H,I,J,F;if(D.isArray(G)){H=G.length;J=[];if(H>0){for(F=0;F0){return J;}}}},removeButton:function(H){var I=this.getButton(H),G,F;if(I){this._buttons.splice(H,1);delete E[I.get("id")];I.removeListener("checkedChange",this._onButtonCheckedChange);I.destroy();G=this._buttons.length;if(G>0){F=this._buttons.length-1;do{this._buttons[F].index=F;}while(F--);}}},getButton:function(F){if(D.isNumber(F)){return this._buttons[F];}},getButtons:function(){return this._buttons;},getCount:function(){return this._buttons.length;},focus:function(H){var I,G,F;if(D.isNumber(H)){I=this._buttons[H];if(I){I.focus();}}else{G=this.getCount();for(F=0;F0){G=this._buttons.length-1;do{this._buttons[G].destroy();}while(G--);}B.purgeElement(H);F.removeChild(H);},toString:function(){return("ButtonGroup "+this.get("id"));}});})();YAHOO.register("button",YAHOO.widget.Button,{version:"2.3.1",build:"541"}); /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ (function(){YAHOO.util.Config=function(D){if(D){this.init(D);}if(!D){}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());YAHOO.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:F.setDate(A.getDate()+C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:F.setDate(A.getDate()+(C*7));break;}return F;},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return new Date(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(C,F){C=this.clearTime(C);var E=new Date(C.getTime()+(4*this.ONE_DAY_MS)-((C.getDay())*this.ONE_DAY_MS));var B=new Date(E.getFullYear(),0,1);var A=((E.getTime()-B.getTime())/this.ONE_DAY_MS)-1;var D=Math.ceil((A)/7);return D;},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=new Date(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0); return A;}};YAHOO.widget.Calendar=function(C,A,B){this.init(C,A,B);};YAHOO.widget.Calendar.IMG_ROOT=null;YAHOO.widget.Calendar.DATE="D";YAHOO.widget.Calendar.MONTH_DAY="MD";YAHOO.widget.Calendar.WEEKDAY="WD";YAHOO.widget.Calendar.RANGE="R";YAHOO.widget.Calendar.MONTH="M";YAHOO.widget.Calendar.DISPLAY_DAYS=42;YAHOO.widget.Calendar.STOP_RENDER="S";YAHOO.widget.Calendar.SHORT="short";YAHOO.widget.Calendar.LONG="long";YAHOO.widget.Calendar.MEDIUM="medium";YAHOO.widget.Calendar.ONE_CHAR="1char";YAHOO.widget.Calendar._DEFAULT_CONFIG={PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:null},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},MONTHS_LONG:{key:"months_long",value:["January","February","March","April","May","June","July","August","September","October","November","December"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["S","M","T","W","T","F","S"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""}};YAHOO.widget.Calendar._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",RESET:"reset",CLEAR:"clear"};YAHOO.widget.Calendar._STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4"};YAHOO.widget.Calendar.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,_selectedDates:null,domEventMap:null};YAHOO.widget.Calendar.prototype.init=function(C,A,B){this.initEvents();this.today=new Date();YAHOO.widget.DateMath.clearTime(this.today);this.id=C;this.oDomContainer=document.getElementById(A);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.initStyles();YAHOO.util.Dom.addClass(this.oDomContainer,this.Style.CSS_CONTAINER);YAHOO.util.Dom.addClass(this.oDomContainer,this.Style.CSS_SINGLE);this.cellDates=[];this.cells=[];this.renderStack=[];this._renderStack=[];this.setupConfig();if(B){this.cfg.applyConfig(B,true);}this.cfg.fireQueue();};YAHOO.widget.Calendar.prototype.configIframe=function(C,B,D){var A=B[0];if(!this.parent){if(YAHOO.util.Dom.inDocument(this.oDomContainer)){if(A){var E=YAHOO.util.Dom.getStyle(this.oDomContainer,"position");if(E=="absolute"||E=="relative"){if(!YAHOO.util.Dom.inDocument(this.iframe)){this.iframe=document.createElement("iframe");this.iframe.src="javascript:false;";YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6){YAHOO.util.Dom.addClass(this.iframe,"fixedsize");}this.oDomContainer.insertBefore(this.iframe,this.oDomContainer.firstChild);}}}else{if(this.iframe){if(this.iframe.parentNode){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;}}}}};YAHOO.widget.Calendar.prototype.configTitle=function(B,A,C){var E=A[0],F;if(E){this.createTitleBar(E);}else{var D=this.cfg.getProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.CLOSE.key);if(!D){this.removeTitleBar();}else{this.createTitleBar(" ");}}};YAHOO.widget.Calendar.prototype.configClose=function(B,A,C){var E=A[0],D=this.cfg.getProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.TITLE.key);if(E){if(!D){this.createTitleBar(" ");}this.createCloseButton();}else{this.removeCloseButton();if(!D){this.removeTitleBar();}}};YAHOO.widget.Calendar.prototype.initEvents=function(){var A=YAHOO.widget.Calendar._EVENT_TYPES;this.beforeSelectEvent=new YAHOO.util.CustomEvent(A.BEFORE_SELECT);this.selectEvent=new YAHOO.util.CustomEvent(A.SELECT); this.beforeDeselectEvent=new YAHOO.util.CustomEvent(A.BEFORE_DESELECT);this.deselectEvent=new YAHOO.util.CustomEvent(A.DESELECT);this.changePageEvent=new YAHOO.util.CustomEvent(A.CHANGE_PAGE);this.beforeRenderEvent=new YAHOO.util.CustomEvent(A.BEFORE_RENDER);this.renderEvent=new YAHOO.util.CustomEvent(A.RENDER);this.resetEvent=new YAHOO.util.CustomEvent(A.RESET);this.clearEvent=new YAHOO.util.CustomEvent(A.CLEAR);this.beforeSelectEvent.subscribe(this.onBeforeSelect,this,true);this.selectEvent.subscribe(this.onSelect,this,true);this.beforeDeselectEvent.subscribe(this.onBeforeDeselect,this,true);this.deselectEvent.subscribe(this.onDeselect,this,true);this.changePageEvent.subscribe(this.onChangePage,this,true);this.renderEvent.subscribe(this.onRender,this,true);this.resetEvent.subscribe(this.onReset,this,true);this.clearEvent.subscribe(this.onClear,this,true);};YAHOO.widget.Calendar.prototype.doSelectCell=function(G,A){var L,F,I,C;var H=YAHOO.util.Event.getTarget(G);var B=H.tagName.toLowerCase();var E=false;while(B!="td"&&!YAHOO.util.Dom.hasClass(H,A.Style.CSS_CELL_SELECTABLE)){if(!E&&B=="a"&&YAHOO.util.Dom.hasClass(H,A.Style.CSS_CELL_SELECTOR)){E=true;}H=H.parentNode;B=H.tagName.toLowerCase();if(B=="html"){return ;}}if(E){YAHOO.util.Event.preventDefault(G);}L=H;if(YAHOO.util.Dom.hasClass(L,A.Style.CSS_CELL_SELECTABLE)){F=L.id.split("cell")[1];I=A.cellDates[F];C=new Date(I[0],I[1]-1,I[2]);var K;if(A.Options.MULTI_SELECT){K=L.getElementsByTagName("a")[0];if(K){K.blur();}var D=A.cellDates[F];var J=A._indexOfSelectedFieldArray(D);if(J>-1){A.deselectCell(F);}else{A.selectCell(F);}}else{K=L.getElementsByTagName("a")[0];if(K){K.blur();}A.selectCell(F);}}};YAHOO.widget.Calendar.prototype.doCellMouseOver=function(C,B){var A;if(C){A=YAHOO.util.Event.getTarget(C);}else{A=this;}while(A.tagName.toLowerCase()!="td"){A=A.parentNode;if(A.tagName.toLowerCase()=="html"){return ;}}if(YAHOO.util.Dom.hasClass(A,B.Style.CSS_CELL_SELECTABLE)){YAHOO.util.Dom.addClass(A,B.Style.CSS_CELL_HOVER);}};YAHOO.widget.Calendar.prototype.doCellMouseOut=function(C,B){var A;if(C){A=YAHOO.util.Event.getTarget(C);}else{A=this;}while(A.tagName.toLowerCase()!="td"){A=A.parentNode;if(A.tagName.toLowerCase()=="html"){return ;}}if(YAHOO.util.Dom.hasClass(A,B.Style.CSS_CELL_SELECTABLE)){YAHOO.util.Dom.removeClass(A,B.Style.CSS_CELL_HOVER);}};YAHOO.widget.Calendar.prototype.setupConfig=function(){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;this.cfg.addProperty(A.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});this.cfg.addProperty(A.SELECTED.key,{value:[],handler:this.configSelected});this.cfg.addProperty(A.TITLE.key,{value:A.TITLE.value,handler:this.configTitle});this.cfg.addProperty(A.CLOSE.key,{value:A.CLOSE.value,handler:this.configClose});this.cfg.addProperty(A.IFRAME.key,{value:A.IFRAME.value,handler:this.configIframe,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.MINDATE.key,{value:A.MINDATE.value,handler:this.configMinDate});this.cfg.addProperty(A.MAXDATE.key,{value:A.MAXDATE.value,handler:this.configMaxDate});this.cfg.addProperty(A.MULTI_SELECT.key,{value:A.MULTI_SELECT.value,handler:this.configOptions,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.START_WEEKDAY.key,{value:A.START_WEEKDAY.value,handler:this.configOptions,validator:this.cfg.checkNumber});this.cfg.addProperty(A.SHOW_WEEKDAYS.key,{value:A.SHOW_WEEKDAYS.value,handler:this.configOptions,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.SHOW_WEEK_HEADER.key,{value:A.SHOW_WEEK_HEADER.value,handler:this.configOptions,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.SHOW_WEEK_FOOTER.key,{value:A.SHOW_WEEK_FOOTER.value,handler:this.configOptions,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.HIDE_BLANK_WEEKS.key,{value:A.HIDE_BLANK_WEEKS.value,handler:this.configOptions,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.NAV_ARROW_LEFT.key,{value:A.NAV_ARROW_LEFT.value,handler:this.configOptions});this.cfg.addProperty(A.NAV_ARROW_RIGHT.key,{value:A.NAV_ARROW_RIGHT.value,handler:this.configOptions});this.cfg.addProperty(A.MONTHS_SHORT.key,{value:A.MONTHS_SHORT.value,handler:this.configLocale});this.cfg.addProperty(A.MONTHS_LONG.key,{value:A.MONTHS_LONG.value,handler:this.configLocale});this.cfg.addProperty(A.WEEKDAYS_1CHAR.key,{value:A.WEEKDAYS_1CHAR.value,handler:this.configLocale});this.cfg.addProperty(A.WEEKDAYS_SHORT.key,{value:A.WEEKDAYS_SHORT.value,handler:this.configLocale});this.cfg.addProperty(A.WEEKDAYS_MEDIUM.key,{value:A.WEEKDAYS_MEDIUM.value,handler:this.configLocale});this.cfg.addProperty(A.WEEKDAYS_LONG.key,{value:A.WEEKDAYS_LONG.value,handler:this.configLocale});var B=function(){this.cfg.refireEvent(A.LOCALE_MONTHS.key);this.cfg.refireEvent(A.LOCALE_WEEKDAYS.key);};this.cfg.subscribeToConfigEvent(A.START_WEEKDAY.key,B,this,true);this.cfg.subscribeToConfigEvent(A.MONTHS_SHORT.key,B,this,true);this.cfg.subscribeToConfigEvent(A.MONTHS_LONG.key,B,this,true);this.cfg.subscribeToConfigEvent(A.WEEKDAYS_1CHAR.key,B,this,true);this.cfg.subscribeToConfigEvent(A.WEEKDAYS_SHORT.key,B,this,true);this.cfg.subscribeToConfigEvent(A.WEEKDAYS_MEDIUM.key,B,this,true);this.cfg.subscribeToConfigEvent(A.WEEKDAYS_LONG.key,B,this,true);this.cfg.addProperty(A.LOCALE_MONTHS.key,{value:A.LOCALE_MONTHS.value,handler:this.configLocaleValues});this.cfg.addProperty(A.LOCALE_WEEKDAYS.key,{value:A.LOCALE_WEEKDAYS.value,handler:this.configLocaleValues});this.cfg.addProperty(A.DATE_DELIMITER.key,{value:A.DATE_DELIMITER.value,handler:this.configLocale});this.cfg.addProperty(A.DATE_FIELD_DELIMITER.key,{value:A.DATE_FIELD_DELIMITER.value,handler:this.configLocale});this.cfg.addProperty(A.DATE_RANGE_DELIMITER.key,{value:A.DATE_RANGE_DELIMITER.value,handler:this.configLocale});this.cfg.addProperty(A.MY_MONTH_POSITION.key,{value:A.MY_MONTH_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_YEAR_POSITION.key,{value:A.MY_YEAR_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber}); this.cfg.addProperty(A.MD_MONTH_POSITION.key,{value:A.MD_MONTH_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MD_DAY_POSITION.key,{value:A.MD_DAY_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_MONTH_POSITION.key,{value:A.MDY_MONTH_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_DAY_POSITION.key,{value:A.MDY_DAY_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_YEAR_POSITION.key,{value:A.MDY_YEAR_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_MONTH_POSITION.key,{value:A.MY_LABEL_MONTH_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_YEAR_POSITION.key,{value:A.MY_LABEL_YEAR_POSITION.value,handler:this.configLocale,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_MONTH_SUFFIX.key,{value:A.MY_LABEL_MONTH_SUFFIX.value,handler:this.configLocale});this.cfg.addProperty(A.MY_LABEL_YEAR_SUFFIX.key,{value:A.MY_LABEL_YEAR_SUFFIX.value,handler:this.configLocale});};YAHOO.widget.Calendar.prototype.configPageDate=function(B,A,C){this.cfg.setProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key,this._parsePageDate(A[0]),true);};YAHOO.widget.Calendar.prototype.configMinDate=function(B,A,C){var D=A[0];if(YAHOO.lang.isString(D)){D=this._parseDate(D);this.cfg.setProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.MINDATE.key,new Date(D[0],(D[1]-1),D[2]));}};YAHOO.widget.Calendar.prototype.configMaxDate=function(B,A,C){var D=A[0];if(YAHOO.lang.isString(D)){D=this._parseDate(D);this.cfg.setProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.MAXDATE.key,new Date(D[0],(D[1]-1),D[2]));}};YAHOO.widget.Calendar.prototype.configSelected=function(C,A,E){var B=A[0];var D=YAHOO.widget.Calendar._DEFAULT_CONFIG.SELECTED.key;if(B){if(YAHOO.lang.isString(B)){this.cfg.setProperty(D,this._parseDates(B),true);}}if(!this._selectedDates){this._selectedDates=this.cfg.getProperty(D);}};YAHOO.widget.Calendar.prototype.configOptions=function(B,A,C){this.Options[B.toUpperCase()]=A[0];};YAHOO.widget.Calendar.prototype.configLocale=function(C,B,D){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;this.Locale[C.toUpperCase()]=B[0];this.cfg.refireEvent(A.LOCALE_MONTHS.key);this.cfg.refireEvent(A.LOCALE_WEEKDAYS.key);};YAHOO.widget.Calendar.prototype.configLocaleValues=function(D,C,E){var B=YAHOO.widget.Calendar._DEFAULT_CONFIG;D=D.toLowerCase();var G=C[0];switch(D){case B.LOCALE_MONTHS.key:switch(G){case YAHOO.widget.Calendar.SHORT:this.Locale.LOCALE_MONTHS=this.cfg.getProperty(B.MONTHS_SHORT.key).concat();break;case YAHOO.widget.Calendar.LONG:this.Locale.LOCALE_MONTHS=this.cfg.getProperty(B.MONTHS_LONG.key).concat();break;}break;case B.LOCALE_WEEKDAYS.key:switch(G){case YAHOO.widget.Calendar.ONE_CHAR:this.Locale.LOCALE_WEEKDAYS=this.cfg.getProperty(B.WEEKDAYS_1CHAR.key).concat();break;case YAHOO.widget.Calendar.SHORT:this.Locale.LOCALE_WEEKDAYS=this.cfg.getProperty(B.WEEKDAYS_SHORT.key).concat();break;case YAHOO.widget.Calendar.MEDIUM:this.Locale.LOCALE_WEEKDAYS=this.cfg.getProperty(B.WEEKDAYS_MEDIUM.key).concat();break;case YAHOO.widget.Calendar.LONG:this.Locale.LOCALE_WEEKDAYS=this.cfg.getProperty(B.WEEKDAYS_LONG.key).concat();break;}var F=this.cfg.getProperty(B.START_WEEKDAY.key);if(F>0){for(var A=0;A";}this.oDomContainer.appendChild(E);return E;};YAHOO.widget.Calendar.prototype.removeCloseButton=function(){var A=YAHOO.util.Dom.getElementsByClassName("link-close","a",this.oDomContainer)[0]||null;if(A){YAHOO.util.Event.purgeElement(A);this.oDomContainer.removeChild(A);}};YAHOO.widget.Calendar.prototype.renderHeader=function(E){var H=7;var F="us/tr/callt.gif";var G="us/tr/calrt.gif";var L=YAHOO.widget.Calendar._DEFAULT_CONFIG;if(this.cfg.getProperty(L.SHOW_WEEK_HEADER.key)){H+=1;}if(this.cfg.getProperty(L.SHOW_WEEK_FOOTER.key)){H+=1;}E[E.length]="";E[E.length]="";E[E.length]="";E[E.length]="
";var J,K=false;if(this.parent){if(this.index===0){J=true;}if(this.index==(this.parent.cfg.getProperty("pages")-1)){K=true;}}else{J=true;K=true;}var B=this.parent||this;if(J){var A=this.cfg.getProperty(L.NAV_ARROW_LEFT.key);if(A===null&&YAHOO.widget.Calendar.IMG_ROOT!==null){A=YAHOO.widget.Calendar.IMG_ROOT+F;}var C=(A===null)?"":" style=\"background-image:url("+A+")\"";E[E.length]=" ";}E[E.length]=this.buildMonthLabel();if(K){var D=this.cfg.getProperty(L.NAV_ARROW_RIGHT.key);if(D===null&&YAHOO.widget.Calendar.IMG_ROOT!==null){D=YAHOO.widget.Calendar.IMG_ROOT+G;}var I=(D===null)?"":" style=\"background-image:url("+D+")\"";E[E.length]=" ";}E[E.length]="
\n\n";if(this.cfg.getProperty(L.SHOW_WEEKDAYS.key)){E=this.buildWeekdays(E);}E[E.length]="";return E;};YAHOO.widget.Calendar.prototype.buildWeekdays=function(C){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;C[C.length]="";if(this.cfg.getProperty(A.SHOW_WEEK_HEADER.key)){C[C.length]=" ";}for(var B=0;B"+this.Locale.LOCALE_WEEKDAYS[B]+"";}if(this.cfg.getProperty(A.SHOW_WEEK_FOOTER.key)){C[C.length]=" ";}C[C.length]="";return C;};YAHOO.widget.Calendar.prototype.renderBody=function(c,a){var m=YAHOO.widget.Calendar._DEFAULT_CONFIG;var AC=this.cfg.getProperty(m.START_WEEKDAY.key);this.preMonthDays=c.getDay();if(AC>0){this.preMonthDays-=AC;}if(this.preMonthDays<0){this.preMonthDays+=7;}this.monthDays=YAHOO.widget.DateMath.findMonthEnd(c).getDate();this.postMonthDays=YAHOO.widget.Calendar.DISPLAY_DAYS-this.preMonthDays-this.monthDays;c=YAHOO.widget.DateMath.subtract(c,YAHOO.widget.DateMath.DAY,this.preMonthDays);var Q,H;var G="w";var W="_cell";var U="wd";var k="d";var I;var h;var O=this.today.getFullYear();var j=this.today.getMonth();var D=this.today.getDate();var q=this.cfg.getProperty(m.PAGEDATE.key);var C=this.cfg.getProperty(m.HIDE_BLANK_WEEKS.key);var Z=this.cfg.getProperty(m.SHOW_WEEK_FOOTER.key);var T=this.cfg.getProperty(m.SHOW_WEEK_HEADER.key);var M=this.cfg.getProperty(m.MINDATE.key);var S=this.cfg.getProperty(m.MAXDATE.key);if(M){M=YAHOO.widget.DateMath.clearTime(M);}if(S){S=YAHOO.widget.DateMath.clearTime(S);}a[a.length]="";var AA=0;var J=document.createElement("div");var b=document.createElement("td");J.appendChild(b);var z=new Date(q.getFullYear(),0,1);var o=this.parent||this;for(var u=0;u<6;u++){Q=YAHOO.widget.DateMath.getWeekNumber(c,q.getFullYear(),AC);H=G+Q;if(u!==0&&C===true&&c.getMonth()!=q.getMonth()){break;}else{a[a.length]="";if(T){a=this.renderRowHeader(Q,a);}for(var AB=0;AB<7;AB++){I=[];h=null;this.clearElement(b);b.className=this.Style.CSS_CELL;b.id=this.id+W+AA;if(c.getDate()==D&&c.getMonth()==j&&c.getFullYear()==O){I[I.length]=o.renderCellStyleToday;}var R=[c.getFullYear(),c.getMonth()+1,c.getDate()];this.cellDates[this.cellDates.length]=R;if(c.getMonth()!=q.getMonth()){I[I.length]=o.renderCellNotThisMonth;}else{YAHOO.util.Dom.addClass(b,U+c.getDay());YAHOO.util.Dom.addClass(b,k+c.getDate());for(var t=0;t=y.getTime()&&c.getTime()<=w.getTime()){h=l[2];if(c.getTime()==w.getTime()){this.renderStack.splice(t,1);}}break;case YAHOO.widget.Calendar.WEEKDAY:var K=l[1][0];if(c.getDay()+1==K){h=l[2];}break;case YAHOO.widget.Calendar.MONTH:B=l[1][0];if(c.getMonth()+1==B){h=l[2];}break;}if(h){I[I.length]=h;}}}if(this._indexOfSelectedFieldArray(R)>-1){I[I.length]=o.renderCellStyleSelected;}if((M&&(c.getTime()S.getTime()))){I[I.length]=o.renderOutOfBoundsDate;}else{I[I.length]=o.styleCellDefault;I[I.length]=o.renderCellDefault;}for(var n=0;n=0&&AA<=6){YAHOO.util.Dom.addClass(b,this.Style.CSS_CELL_TOP);}if((AA%7)===0){YAHOO.util.Dom.addClass(b,this.Style.CSS_CELL_LEFT);}if(((AA+1)%7)===0){YAHOO.util.Dom.addClass(b,this.Style.CSS_CELL_RIGHT);}var f=this.postMonthDays;if(C&&f>=7){var N=Math.floor(f/7);for(var v=0; v=((this.preMonthDays+f+this.monthDays)-7)){YAHOO.util.Dom.addClass(b,this.Style.CSS_CELL_BOTTOM);}a[a.length]=J.innerHTML;AA++;}if(Z){a=this.renderRowFooter(Q,a);}a[a.length]="";}}a[a.length]="";return a;};YAHOO.widget.Calendar.prototype.renderFooter=function(A){return A;};YAHOO.widget.Calendar.prototype.render=function(){this.beforeRenderEvent.fire();var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;var C=YAHOO.widget.DateMath.findMonthStart(this.cfg.getProperty(A.PAGEDATE.key));this.resetRenderers();this.cellDates.length=0;YAHOO.util.Event.purgeElement(this.oDomContainer,true);var B=[];B[B.length]="";B=this.renderHeader(B);B=this.renderBody(C,B);B=this.renderFooter(B);B[B.length]="
";this.oDomContainer.innerHTML=B.join("\n");this.applyListeners();this.cells=this.oDomContainer.getElementsByTagName("td");this.cfg.refireEvent(A.TITLE.key);this.cfg.refireEvent(A.CLOSE.key);this.cfg.refireEvent(A.IFRAME.key);this.renderEvent.fire();};YAHOO.widget.Calendar.prototype.applyListeners=function(){var K=this.oDomContainer;var B=this.parent||this;var G="a";var D="mousedown";var H=YAHOO.util.Dom.getElementsByClassName(this.Style.CSS_NAV_LEFT,G,K);var C=YAHOO.util.Dom.getElementsByClassName(this.Style.CSS_NAV_RIGHT,G,K);if(H&&H.length>0){this.linkLeft=H[0];YAHOO.util.Event.addListener(this.linkLeft,D,B.previousMonth,B,true);}if(C&&C.length>0){this.linkRight=C[0];YAHOO.util.Event.addListener(this.linkRight,D,B.nextMonth,B,true);}if(this.domEventMap){var E,A;for(var M in this.domEventMap){if(YAHOO.lang.hasOwnProperty(this.domEventMap,M)){var I=this.domEventMap[M];if(!(I instanceof Array)){I=[I];}for(var F=0;F"+B+"";return A;};YAHOO.widget.Calendar.prototype.renderRowFooter=function(B,A){A[A.length]=""+B+"";return A;};YAHOO.widget.Calendar.prototype.renderCellDefault=function(B,A){A.innerHTML=""+this.buildDayLabel(B)+"";};YAHOO.widget.Calendar.prototype.styleCellDefault=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_SELECTABLE);};YAHOO.widget.Calendar.prototype.renderCellStyleHighlight1=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_HIGHLIGHT1);};YAHOO.widget.Calendar.prototype.renderCellStyleHighlight2=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_HIGHLIGHT2);};YAHOO.widget.Calendar.prototype.renderCellStyleHighlight3=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_HIGHLIGHT3);};YAHOO.widget.Calendar.prototype.renderCellStyleHighlight4=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_HIGHLIGHT4);};YAHOO.widget.Calendar.prototype.renderCellStyleToday=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_TODAY);};YAHOO.widget.Calendar.prototype.renderCellStyleSelected=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_SELECTED);};YAHOO.widget.Calendar.prototype.renderCellNotThisMonth=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_OOM);A.innerHTML=B.getDate();return YAHOO.widget.Calendar.STOP_RENDER;};YAHOO.widget.Calendar.prototype.renderBodyCellRestricted=function(B,A){YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL);YAHOO.util.Dom.addClass(A,this.Style.CSS_CELL_RESTRICTED);A.innerHTML=B.getDate();return YAHOO.widget.Calendar.STOP_RENDER;};YAHOO.widget.Calendar.prototype.addMonths=function(B){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key;this.cfg.setProperty(A,YAHOO.widget.DateMath.add(this.cfg.getProperty(A),YAHOO.widget.DateMath.MONTH,B));this.resetRenderers();this.changePageEvent.fire();};YAHOO.widget.Calendar.prototype.subtractMonths=function(B){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key;this.cfg.setProperty(A,YAHOO.widget.DateMath.subtract(this.cfg.getProperty(A),YAHOO.widget.DateMath.MONTH,B));this.resetRenderers();this.changePageEvent.fire();};YAHOO.widget.Calendar.prototype.addYears=function(B){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key;this.cfg.setProperty(A,YAHOO.widget.DateMath.add(this.cfg.getProperty(A),YAHOO.widget.DateMath.YEAR,B));this.resetRenderers();this.changePageEvent.fire();};YAHOO.widget.Calendar.prototype.subtractYears=function(B){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG.PAGEDATE.key;this.cfg.setProperty(A,YAHOO.widget.DateMath.subtract(this.cfg.getProperty(A),YAHOO.widget.DateMath.YEAR,B));this.resetRenderers();this.changePageEvent.fire();};YAHOO.widget.Calendar.prototype.nextMonth=function(){this.addMonths(1);};YAHOO.widget.Calendar.prototype.previousMonth=function(){this.subtractMonths(1);};YAHOO.widget.Calendar.prototype.nextYear=function(){this.addYears(1);};YAHOO.widget.Calendar.prototype.previousYear=function(){this.subtractYears(1);};YAHOO.widget.Calendar.prototype.reset=function(){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;this.cfg.resetProperty(A.SELECTED.key);this.cfg.resetProperty(A.PAGEDATE.key);this.resetEvent.fire(); };YAHOO.widget.Calendar.prototype.clear=function(){var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;this.cfg.setProperty(A.SELECTED.key,[]);this.cfg.setProperty(A.PAGEDATE.key,new Date(this.today.getTime()));this.clearEvent.fire();};YAHOO.widget.Calendar.prototype.select=function(C){var F=this._toFieldArray(C);var B=[];var E=[];var G=YAHOO.widget.Calendar._DEFAULT_CONFIG.SELECTED.key;for(var A=0;A0){if(this.parent){this.parent.cfg.setProperty(G,E);}else{this.cfg.setProperty(G,E);}this.selectEvent.fire(B);}return this.getSelectedDates();};YAHOO.widget.Calendar.prototype.selectCell=function(D){var B=this.cells[D];var H=this.cellDates[D];var G=this._toDate(H);var C=YAHOO.util.Dom.hasClass(B,this.Style.CSS_CELL_SELECTABLE);if(C){this.beforeSelectEvent.fire();var F=YAHOO.widget.Calendar._DEFAULT_CONFIG.SELECTED.key;var E=this.cfg.getProperty(F);var A=H.concat();if(this._indexOfSelectedFieldArray(A)==-1){E[E.length]=A;}if(this.parent){this.parent.cfg.setProperty(F,E);}else{this.cfg.setProperty(F,E);}this.renderCellStyleSelected(G,B);this.selectEvent.fire([A]);this.doCellMouseOut.call(B,null,this);}return this.getSelectedDates();};YAHOO.widget.Calendar.prototype.deselect=function(E){var A=this._toFieldArray(E);var D=[];var G=[];var H=YAHOO.widget.Calendar._DEFAULT_CONFIG.SELECTED.key;for(var B=0;B0){if(this.parent){this.parent.cfg.setProperty(H,G);}else{this.cfg.setProperty(H,G);}this.deselectEvent.fire(D);}return this.getSelectedDates();};YAHOO.widget.Calendar.prototype.deselectCell=function(E){var H=this.cells[E];var B=this.cellDates[E];var F=this._indexOfSelectedFieldArray(B);var G=YAHOO.util.Dom.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(G){this.beforeDeselectEvent.fire();var I=YAHOO.widget.Calendar._DEFAULT_CONFIG;var D=this.cfg.getProperty(I.SELECTED.key);var C=this._toDate(B);var A=B.concat();if(F>-1){if(this.cfg.getProperty(I.PAGEDATE.key).getMonth()==C.getMonth()&&this.cfg.getProperty(I.PAGEDATE.key).getFullYear()==C.getFullYear()){YAHOO.util.Dom.removeClass(H,this.Style.CSS_CELL_SELECTED);}D.splice(F,1);}if(this.parent){this.parent.cfg.setProperty(I.SELECTED.key,D);}else{this.cfg.setProperty(I.SELECTED.key,D);}this.deselectEvent.fire(A);}return this.getSelectedDates();};YAHOO.widget.Calendar.prototype.deselectAll=function(){this.beforeDeselectEvent.fire();var D=YAHOO.widget.Calendar._DEFAULT_CONFIG.SELECTED.key;var A=this.cfg.getProperty(D);var B=A.length;var C=A.concat();if(this.parent){this.parent.cfg.setProperty(D,[]);}else{this.cfg.setProperty(D,[]);}if(B>0){this.deselectEvent.fire(C);}return this.getSelectedDates();};YAHOO.widget.Calendar.prototype._toFieldArray=function(B){var A=[];if(B instanceof Date){A=[[B.getFullYear(),B.getMonth()+1,B.getDate()]];}else{if(YAHOO.lang.isString(B)){A=this._parseDates(B);}else{if(YAHOO.lang.isArray(B)){for(var C=0;CF.getTime()));};YAHOO.widget.Calendar.prototype._parsePageDate=function(B){var E;var A=YAHOO.widget.Calendar._DEFAULT_CONFIG;if(B){if(B instanceof Date){E=YAHOO.widget.DateMath.findMonthStart(B);}else{var F,D,C;C=B.split(this.cfg.getProperty(A.DATE_FIELD_DELIMITER.key));F=parseInt(C[this.cfg.getProperty(A.MY_MONTH_POSITION.key)-1],10)-1;D=parseInt(C[this.cfg.getProperty(A.MY_YEAR_POSITION.key)-1],10);E=new Date(D,F,1);}}else{E=new Date(this.today.getFullYear(),this.today.getMonth(),1);}return E;};YAHOO.widget.Calendar.prototype.onBeforeSelect=function(){if(this.cfg.getProperty(YAHOO.widget.Calendar._DEFAULT_CONFIG.MULTI_SELECT.key)===false){if(this.parent){this.parent.callChildFunction("clearAllBodyCellStyles",this.Style.CSS_CELL_SELECTED);this.parent.deselectAll();}else{this.clearAllBodyCellStyles(this.Style.CSS_CELL_SELECTED);this.deselectAll();}}};YAHOO.widget.Calendar.prototype.onSelect=function(A){};YAHOO.widget.Calendar.prototype.onBeforeDeselect=function(){};YAHOO.widget.Calendar.prototype.onDeselect=function(A){};YAHOO.widget.Calendar.prototype.onChangePage=function(){this.render();};YAHOO.widget.Calendar.prototype.onRender=function(){};YAHOO.widget.Calendar.prototype.onReset=function(){this.render();};YAHOO.widget.Calendar.prototype.onClear=function(){this.render();};YAHOO.widget.Calendar.prototype.validate=function(){return true;};YAHOO.widget.Calendar.prototype._parseDate=function(C){var D=C.split(this.Locale.DATE_FIELD_DELIMITER);var A;if(D.length==2){A=[D[this.Locale.MD_MONTH_POSITION-1],D[this.Locale.MD_DAY_POSITION-1]];A.type=YAHOO.widget.Calendar.MONTH_DAY;}else{A=[D[this.Locale.MDY_YEAR_POSITION-1],D[this.Locale.MDY_MONTH_POSITION-1],D[this.Locale.MDY_DAY_POSITION-1]]; A.type=YAHOO.widget.Calendar.DATE;}for(var B=0;B0){this.init(C,A,B);}};YAHOO.widget.CalendarGroup.prototype.init=function(C,A,B){this.initEvents();this.initStyles();this.pages=[];this.id=C;this.containerId=A;this.oDomContainer=document.getElementById(A);YAHOO.util.Dom.addClass(this.oDomContainer,YAHOO.widget.CalendarGroup.CSS_CONTAINER);YAHOO.util.Dom.addClass(this.oDomContainer,YAHOO.widget.CalendarGroup.CSS_MULTI_UP);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.setupConfig();if(B){this.cfg.applyConfig(B,true);}this.cfg.fireQueue();if(YAHOO.env.ua.opera){this.renderEvent.subscribe(this._fixWidth,this,true);}};YAHOO.widget.CalendarGroup.prototype.setupConfig=function(){var A=YAHOO.widget.CalendarGroup._DEFAULT_CONFIG;this.cfg.addProperty(A.PAGES.key,{value:A.PAGES.value,validator:this.cfg.checkNumber,handler:this.configPages});this.cfg.addProperty(A.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});this.cfg.addProperty(A.SELECTED.key,{value:[],handler:this.configSelected});this.cfg.addProperty(A.TITLE.key,{value:A.TITLE.value,handler:this.configTitle});this.cfg.addProperty(A.CLOSE.key,{value:A.CLOSE.value,handler:this.configClose});this.cfg.addProperty(A.IFRAME.key,{value:A.IFRAME.value,handler:this.configIframe,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.MINDATE.key,{value:A.MINDATE.value,handler:this.delegateConfig});this.cfg.addProperty(A.MAXDATE.key,{value:A.MAXDATE.value,handler:this.delegateConfig});this.cfg.addProperty(A.MULTI_SELECT.key,{value:A.MULTI_SELECT.value,handler:this.delegateConfig,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.START_WEEKDAY.key,{value:A.START_WEEKDAY.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.SHOW_WEEKDAYS.key,{value:A.SHOW_WEEKDAYS.value,handler:this.delegateConfig,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.SHOW_WEEK_HEADER.key,{value:A.SHOW_WEEK_HEADER.value,handler:this.delegateConfig,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.SHOW_WEEK_FOOTER.key,{value:A.SHOW_WEEK_FOOTER.value,handler:this.delegateConfig,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.HIDE_BLANK_WEEKS.key,{value:A.HIDE_BLANK_WEEKS.value,handler:this.delegateConfig,validator:this.cfg.checkBoolean});this.cfg.addProperty(A.NAV_ARROW_LEFT.key,{value:A.NAV_ARROW_LEFT.value,handler:this.delegateConfig});this.cfg.addProperty(A.NAV_ARROW_RIGHT.key,{value:A.NAV_ARROW_RIGHT.value,handler:this.delegateConfig});this.cfg.addProperty(A.MONTHS_SHORT.key,{value:A.MONTHS_SHORT.value,handler:this.delegateConfig});this.cfg.addProperty(A.MONTHS_LONG.key,{value:A.MONTHS_LONG.value,handler:this.delegateConfig}); this.cfg.addProperty(A.WEEKDAYS_1CHAR.key,{value:A.WEEKDAYS_1CHAR.value,handler:this.delegateConfig});this.cfg.addProperty(A.WEEKDAYS_SHORT.key,{value:A.WEEKDAYS_SHORT.value,handler:this.delegateConfig});this.cfg.addProperty(A.WEEKDAYS_MEDIUM.key,{value:A.WEEKDAYS_MEDIUM.value,handler:this.delegateConfig});this.cfg.addProperty(A.WEEKDAYS_LONG.key,{value:A.WEEKDAYS_LONG.value,handler:this.delegateConfig});this.cfg.addProperty(A.LOCALE_MONTHS.key,{value:A.LOCALE_MONTHS.value,handler:this.delegateConfig});this.cfg.addProperty(A.LOCALE_WEEKDAYS.key,{value:A.LOCALE_WEEKDAYS.value,handler:this.delegateConfig});this.cfg.addProperty(A.DATE_DELIMITER.key,{value:A.DATE_DELIMITER.value,handler:this.delegateConfig});this.cfg.addProperty(A.DATE_FIELD_DELIMITER.key,{value:A.DATE_FIELD_DELIMITER.value,handler:this.delegateConfig});this.cfg.addProperty(A.DATE_RANGE_DELIMITER.key,{value:A.DATE_RANGE_DELIMITER.value,handler:this.delegateConfig});this.cfg.addProperty(A.MY_MONTH_POSITION.key,{value:A.MY_MONTH_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_YEAR_POSITION.key,{value:A.MY_YEAR_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MD_MONTH_POSITION.key,{value:A.MD_MONTH_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MD_DAY_POSITION.key,{value:A.MD_DAY_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_MONTH_POSITION.key,{value:A.MDY_MONTH_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_DAY_POSITION.key,{value:A.MDY_DAY_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MDY_YEAR_POSITION.key,{value:A.MDY_YEAR_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_MONTH_POSITION.key,{value:A.MY_LABEL_MONTH_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_YEAR_POSITION.key,{value:A.MY_LABEL_YEAR_POSITION.value,handler:this.delegateConfig,validator:this.cfg.checkNumber});this.cfg.addProperty(A.MY_LABEL_MONTH_SUFFIX.key,{value:A.MY_LABEL_MONTH_SUFFIX.value,handler:this.delegateConfig});this.cfg.addProperty(A.MY_LABEL_YEAR_SUFFIX.key,{value:A.MY_LABEL_YEAR_SUFFIX.value,handler:this.delegateConfig});};YAHOO.widget.CalendarGroup.prototype.initEvents=function(){var C=this;var E="Event";var B=function(G,J,F){for(var I=0;I0)?this.pages[0].cfg.getProperty(D):[];this.cfg.setProperty(D,B,true);};YAHOO.widget.CalendarGroup.prototype.delegateConfig=function(B,A,E){var F=A[0];var D;for(var C=0;C0){C+=1;}D.setYear(C);}};YAHOO.widget.CalendarGroup.prototype.render=function(){this.renderHeader();for(var B=0;B=0;--B){var A=this.pages[B];A.previousMonth();}};YAHOO.widget.CalendarGroup.prototype.nextYear=function(){for(var B=0;B11)){var B=YAHOO.widget.DateMath;var A=B.add(C,B.MONTH,D-C.getMonth());C.setTime(A.getTime());}else{C.setMonth(D);}};YAHOO.widget.CalendarGroup.prototype._fixWidth=function(){var B=this.oDomContainer.offsetWidth;var A=0;for(var D=0;D0){this.oDomContainer.style.width=A+"px";}};YAHOO.widget.CalendarGroup.CSS_CONTAINER="yui-calcontainer";YAHOO.widget.CalendarGroup.CSS_MULTI_UP="multi";YAHOO.widget.CalendarGroup.CSS_2UPTITLE="title";YAHOO.widget.CalendarGroup.CSS_2UPCLOSE="close-icon";YAHOO.lang.augmentProto(YAHOO.widget.CalendarGroup,YAHOO.widget.Calendar,"buildDayLabel","buildMonthLabel","renderOutOfBoundsDate","renderRowHeader","renderRowFooter","renderCellDefault","styleCellDefault","renderCellStyleHighlight1","renderCellStyleHighlight2","renderCellStyleHighlight3","renderCellStyleHighlight4","renderCellStyleToday","renderCellStyleSelected","renderCellNotThisMonth","renderBodyCellRestricted","initStyles","configTitle","configClose","configIframe","createTitleBar","createCloseButton","removeTitleBar","removeCloseButton","hide","browser");YAHOO.widget.CalendarGroup._DEFAULT_CONFIG=YAHOO.widget.Calendar._DEFAULT_CONFIG;YAHOO.widget.CalendarGroup._DEFAULT_CONFIG.PAGES={key:"pages",value:2};YAHOO.widget.CalendarGroup.prototype.toString=function(){return"CalendarGroup "+this.id;};YAHOO.widget.CalGrp=YAHOO.widget.CalendarGroup;YAHOO.widget.Calendar2up=function(C,A,B){this.init(C,A,B);};YAHOO.extend(YAHOO.widget.Calendar2up,YAHOO.widget.CalendarGroup);YAHOO.widget.Cal2up=YAHOO.widget.Calendar2up;YAHOO.register("calendar",YAHOO.widget.Calendar,{version:"2.3.1",build:"541"}); /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ if(typeof YAHOO=="undefined"){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var C={},A=arguments,B;for(B=0;B=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.3.1",build:"541"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B0){B=H[0];}try{G=L.fn.call(K,B,L.obj);}catch(F){this.lastError=F;}}else{try{G=L.fn.call(K,this.type,H,L.obj);}catch(F){this.lastError=F;}}if(false===G){if(!this.silent){}return false;}}}if(I){var J=[],C=this.subscribers;for(D=0,E=C.length;D=0){Q=I[R];}if(!M||!Q){return false;}if(this.useLegacyEvent(M,L)){var O=this.getLegacyIndex(M,L);var N=E[O];if(N){for(P=0,S=N.length;P0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var M,L,O,N;for(M=0,L=F.length;M0){for(var R=0,S=T.length;R0){O=I.length;while(O){N=O-1;M=I[N];if(M){R.removeListener(M[R.EL],M[R.TYPE],M[R.FN],N);}O=O-1;}M=null;R.clearCache();}for(P=0,L=G.length;P");B=document.getElementById("_yui_eu_dr");}if(B){B.onreadystatechange=function(){if("complete"===this.readyState){this.parentNode.removeChild(this);YAHOO.util.Event._ready();}};}else{}B=null;}else{if(D.webkit){D._drwatch=setInterval(function(){var F=document.readyState;if("loaded"==F||"complete"==F){clearInterval(D._drwatch);D._drwatch=null;D._ready();}},D.POLL_INTERVAL);}else{D._simpleAdd(document,"DOMContentLoaded",D._ready);}}D._simpleAdd(window,"load",D._load);D._simpleAdd(window,"unload",D._unload);D._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{}; var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C=200&&R<300||R===1223){q=this.createResponseObject(w,(V&&V.argument)?V.argument:undefined);if(V){if(V.success){if(!V.scope){V.success(q);}else{V.success.apply(V.scope,[q]);}}}this.successEvent.fire(q);if(w.successEvent){w.successEvent.fire(q);}}else{switch(R){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:q=this.createExceptionObject(w.tId,(V&&V.argument)?V.argument:undefined,(S?S:false));if(V){if(V.failure){if(!V.scope){V.failure(q);}else{V.failure.apply(V.scope,[q]);}}}break;default:q=this.createResponseObject(w,(V&&V.argument)?V.argument:undefined);if(V){if(V.failure){if(!V.scope){V.failure(q);}else{V.failure.apply(V.scope,[q]);}}}}this.failureEvent.fire(q);if(w.failureEvent){w.failureEvent.fire(q);}}this.releaseObject(w);q=null;},createResponseObject:function(S,d){var m={};var T={};try{var R=S.conn.getAllResponseHeaders();var V=R.split("\n");for(var w=0;w");if(typeof S=="boolean"){R.src="javascript:false";}else{if(typeof secureURI=="string"){R.src=S;}}}else{R=document.createElement("iframe");R.id=q;R.name=q;}R.style.position="absolute";R.style.top="-1000px";R.style.left="-1000px";document.body.appendChild(R);},appendPostData:function(S){var m=[];var q=S.split("&");for(var R=0;R0){for(var d=0;d0)?C:0;}YAHOO.util.Dom.setStyle(this.getEl(),A,C+B);},getAttribute:function(A){var C=this.getEl();var E=YAHOO.util.Dom.getStyle(C,A);if(E!=="auto"&&!this.patterns.offsetUnit.test(E)){return parseFloat(E);}var B=this.patterns.offsetAttribute.exec(A)||[];var F=!!(B[3]);var D=!!(B[2]);if(D||(YAHOO.util.Dom.getStyle(C,"position")=="absolute"&&F)){E=C["offset"+B[0].charAt(0).toUpperCase()+B[0].substr(1)];}else{E=0;}return E;},getDefaultUnit:function(A){if(this.patterns.defaultUnit.test(A)){return"px";}return"";},setRuntimeAttribute:function(B){var G;var C;var D=this.attributes;this.runtimeAttributes[B]={};var F=function(H){return(typeof H!=="undefined");};if(!F(D[B]["to"])&&!F(D[B]["by"])){return false;}G=(F(D[B]["from"]))?D[B]["from"]:this.getAttribute(B);if(F(D[B]["to"])){C=D[B]["to"];}else{if(F(D[B]["by"])){if(G.constructor==Array){C=[];for(var E=0,A=G.length;E0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B0&&!(K[0] instanceof Array)){K=[K];}else{var J=[];for(L=0,N=K.length;L0){this.runtimeAttributes[O]=this.runtimeAttributes[O].concat(K);}this.runtimeAttributes[O][this.runtimeAttributes[O].length]=H;}else{E.setRuntimeAttribute.call(this,O);}};var A=function(F,H){var G=D.Dom.getXY(this.getEl());F=[F[0]-G[0]+H[0],F[1]-G[1]+H[1]];return F;};var C=function(F){return(typeof F!=="undefined");};})();(function(){YAHOO.util.Scroll=function(E,D,F,G){if(E){YAHOO.util.Scroll.superclass.constructor.call(this,E,D,F,G);}};YAHOO.extend(YAHOO.util.Scroll,YAHOO.util.ColorAnim);var B=YAHOO.util;var C=B.Scroll.superclass;var A=B.Scroll.prototype;A.toString=function(){var D=this.getEl();var E=D.id||D.tagName;return("Scroll "+E);};A.doMethod=function(D,G,E){var F=null;if(D=="scroll"){F=[this.method(this.currentFrame,G[0],E[0]-G[0],this.totalFrames),this.method(this.currentFrame,G[1],E[1]-G[1],this.totalFrames)]; }else{F=C.doMethod.call(this,D,G,E);}return F;};A.getAttribute=function(D){var F=null;var E=this.getEl();if(D=="scroll"){F=[E.scrollLeft,E.scrollTop];}else{F=C.getAttribute.call(this,D);}return F;};A.setAttribute=function(D,G,F){var E=this.getEl();if(D=="scroll"){E.scrollLeft=G[0];E.scrollTop=G[1];}else{C.setAttribute.call(this,D,G,F);}};})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.3.1",build:"541"});if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(D,C){for(var E in this.ids){for(var B in this.ids[E]){var F=this.ids[E][B];if(!this.isTypeOfDD(F)){continue;}F[D].apply(F,C);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(B){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(C,B){if(!this.initialized){this.init();}if(!this.ids[B]){this.ids[B]={};}this.ids[B][C.id]=C;},removeDDFromGroup:function(D,B){if(!this.ids[B]){this.ids[B]={};}var C=this.ids[B];if(C&&C[D.id]){delete C[D.id];}},_remove:function(C){for(var B in C.groups){if(B&&this.ids[B][C.id]){delete this.ids[B][C.id];}}delete this.handleIds[C.id];},regHandle:function(C,B){if(!this.handleIds[C]){this.handleIds[C]={};}this.handleIds[C][B]=B;},isDragDrop:function(B){return(this.getDDById(B))?true:false;},getRelated:function(G,C){var F=[];for(var E in G.groups){for(var D in this.ids[E]){var B=this.ids[E][D];if(!this.isTypeOfDD(B)){continue;}if(!C||B.isTarget){F[F.length]=B;}}}return F;},isLegalTarget:function(F,E){var C=this.getRelated(F,true);for(var D=0,B=C.length;Dthis.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){B.b4Drag(E);if(B){B.onDrag(E);}if(B){this.fireEvents(E,false);}}this.stopEvent(E);}},fireEvents:function(Q,H){var S=this.dragCurrent;if(!S||S.isLocked()){return ;}var J=YAHOO.util.Event.getPageX(Q),I=YAHOO.util.Event.getPageY(Q),K=new YAHOO.util.Point(J,I),F=S.getTargetCoord(K.x,K.y),C=S.getDragEl(),P=new YAHOO.util.Region(F.y,F.x+C.offsetWidth,F.y+C.offsetHeight,F.x),E=[],G=[],B=[],R=[],O=[];for(var M in this.dragOvers){var T=this.dragOvers[M];if(!this.isTypeOfDD(T)){continue;}if(!this.isOverTarget(K,T,this.mode,P)){G.push(T);}E[M]=true;delete this.dragOvers[M];}for(var L in S.groups){if("string"!=typeof L){continue;}for(M in this.ids[L]){var D=this.ids[L][M];if(!this.isTypeOfDD(D)){continue;}if(D.isTarget&&!D.isLocked()&&D!=S){if(this.isOverTarget(K,D,this.mode,P)){if(H){R.push(D);}else{if(!E[D.id]){O.push(D);}else{B.push(D);}this.dragOvers[D.id]=D;}}}}}this.interactionInfo={out:G,enter:O,over:B,drop:R,point:K,draggedRegion:P,sourceRegion:this.locationCache[S.id],validDrop:H};if(H&&!R.length){this.interactionInfo.validDrop=false;S.onInvalidDrop(Q);}if(this.mode){if(G.length){S.b4DragOut(Q,G);if(S){S.onDragOut(Q,G);}}if(O.length){if(S){S.onDragEnter(Q,O);}}if(B.length){if(S){S.b4DragOver(Q,B);}if(S){S.onDragOver(Q,B);}}if(R.length){if(S){S.b4DragDrop(Q,R);}if(S){S.onDragDrop(Q,R);}}}else{var N=0;for(M=0,N=G.length;M2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1;}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true;}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true;}else{C=C.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(E,C,D){this.initTarget(E,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(E,C,D){this.config=D||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){return ;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(F,E){var C=F.which||F.button; if(this.primaryButtonOnly&&C>1){return ;}if(this.isLocked()){return ;}this.b4MouseDown(F);this.onMouseDown(F);this.DDM.refreshCache(this.groups);var D=new YAHOO.util.Point(A.getPageX(F),A.getPageY(F));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(D,this)){}else{if(this.clickValidator(F)){this.setStartPosition();this.DDM.handleMouseDown(F,this);this.DDM.stopEvent(F);}else{}}},clickValidator:function(D){var C=A.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(Cthis.maxX){C=this.maxX;}}if(this.constrainY){if(Fthis.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(B,F,E){var D=this.getTargetCoord(F,E);if(!this.deltaSetXY){var G=[D.x,D.y];YAHOO.util.Dom.setXY(B,G);var C=parseInt(YAHOO.util.Dom.getStyle(B,"left"),10);var A=parseInt(YAHOO.util.Dom.getStyle(B,"top"),10);this.deltaSetXY=[C-D.x,A-D.y];}else{YAHOO.util.Dom.setStyle(B,"left",(D.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(B,"top",(D.y+this.deltaSetXY[1])+"px");}this.cachePosition(D.x,D.y);this.autoScroll(D.x,D.y,B.offsetHeight,B.offsetWidth);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G0&&I-NB&&F0&&J-D0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=("
");O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND); this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(V,U){var R,T,W;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof V=="string"){R=V;V=document.getElementById(V);if(!V){V=(K()).cloneNode(false);V.id=R;}}this.element=V;if(V.id){this.id=V.id;}W=this.element.firstChild;if(W){var Q=false,P=false,S=false;do{if(1==W.nodeType){if(!Q&&F.hasClass(W,G.CSS_HEADER)){this.header=W;Q=true;}else{if(!P&&F.hasClass(W,G.CSS_BODY)){this.body=W;P=true;}else{if(!S&&F.hasClass(W,G.CSS_FOOTER)){this.footer=W;S=true;}}}}}while((W=W.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(U){this.cfg.applyConfig(U,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var P,Q,S;function T(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){Q=F.get("_yuiResizeMonitor");if(!Q){Q=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){Q.src=G.RESIZE_MONITOR_SECURE_URL;}if(YAHOO.env.ua.gecko){S="";Q.src="data:text/html;charset=utf-8,"+encodeURIComponent(S);}Q.id="_yuiResizeMonitor";Q.style.position="absolute";Q.style.visibility="hidden";var R=document.body.firstChild;if(R){document.body.insertBefore(Q,R);}else{document.body.appendChild(Q);}Q.style.width="10em";Q.style.height="10em";Q.style.top=(-1*Q.offsetHeight)+"px";Q.style.left=(-1*Q.offsetWidth)+"px";Q.style.borderWidth="0";Q.style.visibility="visible";if(YAHOO.env.ua.webkit){P=Q.contentWindow.document;P.open();P.close();}}if(Q&&Q.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(!M.on(Q.contentWindow,"resize",T)){M.on(Q,"resize",T);}G.textResizeInitialized=true;}this.resizeMonitor=Q;}}},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true); P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length; for(Y=0;YY){W=Y;}}if(VK){V=K;}}this.cfg.setProperty("x",W,true);this.cfg.setProperty("y",V,true);this.cfg.setProperty("xy",[W,V],true);},center:function(){var Q=D.getDocumentScrollLeft(),O=D.getDocumentScrollTop(),L=D.getClientWidth(),P=D.getClientHeight(),N=this.element.offsetWidth,M=this.element.offsetHeight,K=(L/2)-(N/2)+Q,R=(P/2)-(M/2)+O;this.cfg.setProperty("xy",[parseInt(K,10),parseInt(R,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var N=[],M=this.element;function P(T,S){var V=D.getStyle(T,"zIndex"),U=D.getStyle(S,"zIndex"),R=(!V||isNaN(V))?0:parseInt(V,10),Q=(!U||isNaN(U))?0:parseInt(U,10);if(R>Q){return -1;}else{if(R0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H0){return true;}}else{return false;}}},bringToTop:function(K){var H=this.find(K),J,G,I;if(H){I=this.overlays;I.sort(this.compareZIndexDesc);G=I[0];if(G){J=E.getStyle(G.element,"zIndex");if(!isNaN(J)&&G!=H){H.cfg.setProperty("zIndex",(parseInt(J,10)+2));}I.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(L,K){YAHOO.widget.Tooltip.superclass.constructor.call(this,L,K);};var D=YAHOO.lang,J=YAHOO.util.Event,B=YAHOO.util.Dom,F=YAHOO.widget.Tooltip,E,G={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:D.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:D.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:D.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:D.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"}}; F.CSS_TOOLTIP="yui-tt";function H(L,K,M){var P=M[0],N=M[1],O=this.cfg,Q=O.getProperty("width");if(Q==N){O.setProperty("width",P);}this.unsubscribe("hide",this._onHide,M);}function C(L,K){var M=document.body,Q=this.cfg,P=Q.getProperty("width"),N,O;if((!P||P=="auto")&&(Q.getProperty("container")!=M||Q.getProperty("x")>=B.getViewportWidth()||Q.getProperty("y")>=B.getViewportHeight())){O=this.element.cloneNode(true);O.style.visibility="hidden";O.style.top="0px";O.style.left="0px";M.appendChild(O);N=(O.offsetWidth+"px");M.removeChild(O);O=null;Q.setProperty("width",N);Q.refireEvent("xy");this.subscribe("hide",H,[(P||""),N]);}}function A(L,K,M){this.render(M);}function I(){J.onDOMReady(A,this.cfg.getProperty("container"),this);}YAHOO.extend(F,YAHOO.widget.Overlay,{init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);B.addClass(this.element,F.CSS_TOOLTIP);if(K){this.cfg.applyConfig(K,true);}this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("beforeShow",C);this.subscribe("init",I);this.subscribe("render",this.onRender);this.initEvent.fire(F);},initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.cfg.addProperty(G.PREVENT_OVERLAP.key,{value:G.PREVENT_OVERLAP.value,validator:G.PREVENT_OVERLAP.validator,supercedes:G.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(G.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:G.SHOW_DELAY.validator});this.cfg.addProperty(G.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:G.AUTO_DISMISS_DELAY.value,validator:G.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(G.HIDE_DELAY.key,{handler:this.configHideDelay,value:G.HIDE_DELAY.value,validator:G.HIDE_DELAY.validator});this.cfg.addProperty(G.TEXT.key,{handler:this.configText,suppressEvent:G.TEXT.suppressEvent});this.cfg.addProperty(G.CONTAINER.key,{handler:this.configContainer,value:document.body});},configText:function(L,K,M){var N=K[0];if(N){this.setBody(N);}},configContainer:function(M,L,N){var K=L[0];if(typeof K=="string"){this.cfg.setProperty("container",document.getElementById(K),true);}},_removeEventListeners:function(){var N=this._context,K,M,L;if(N){K=N.length;if(K>0){L=K-1;do{M=N[L];J.removeListener(M,"mouseover",this.onContextMouseOver);J.removeListener(M,"mousemove",this.onContextMouseMove);J.removeListener(M,"mouseout",this.onContextMouseOut);}while(L--);}}},configContext:function(P,L,Q){var O=L[0],R,K,N,M;if(O){if(!(O instanceof Array)){if(typeof O=="string"){this.cfg.setProperty("context",[document.getElementById(O)],true);}else{this.cfg.setProperty("context",[O],true);}O=this.cfg.getProperty("context");}this._removeEventListeners();this._context=O;R=this._context;if(R){K=R.length;if(K>0){M=K-1;do{N=R[M];J.on(N,"mouseover",this.onContextMouseOver,this);J.on(N,"mousemove",this.onContextMouseMove,this);J.on(N,"mouseout",this.onContextMouseOut,this);}while(M--);}}}},onContextMouseMove:function(L,K){K.pageX=J.getPageX(L);K.pageY=J.getPageY(L);},onContextMouseOver:function(M,L){var K=this;if(L.hideProcId){clearTimeout(L.hideProcId);L.hideProcId=null;}J.on(K,"mousemove",L.onContextMouseMove,L);if(K.title){L._tempTitle=K.title;K.title="";}L.showProcId=L.doShow(M,K);},onContextMouseOut:function(M,L){var K=this;if(L._tempTitle){K.title=L._tempTitle;L._tempTitle=null;}if(L.showProcId){clearTimeout(L.showProcId);L.showProcId=null;}if(L.hideProcId){clearTimeout(L.hideProcId);L.hideProcId=null;}L.hideProcId=setTimeout(function(){L.hide();},L.cfg.getProperty("hidedelay"));},doShow:function(M,K){var N=25,L=this;if(YAHOO.env.ua.opera&&K.tagName&&K.tagName.toUpperCase()=="A"){N+=12;}return setTimeout(function(){if(L._tempTitle){L.setBody(L._tempTitle);}else{L.cfg.refireEvent("text");}L.moveTo(L.pageX,L.pageY+N);if(L.cfg.getProperty("preventoverlap")){L.preventOverlap(L.pageX,L.pageY);}J.removeListener(K,"mousemove",L.onContextMouseMove);L.show();L.hideProcId=L.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var K=this;return setTimeout(function(){K.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(O,N){var K=this.element.offsetHeight,M=new YAHOO.util.Point(O,N),L=B.getRegion(this.element);L.top-=5;L.left-=5;L.right+=5;L.bottom+=5;if(L.contains(M)){this.cfg.setProperty("y",(N-K-5));}},onRender:function(O,N){function P(){var S=this.element,R=this._shadow;if(R){R.style.width=(S.offsetWidth+6)+"px";R.style.height=(S.offsetHeight+1)+"px";}}function L(){B.addClass(this._shadow,"yui-tt-shadow-visible");}function K(){B.removeClass(this._shadow,"yui-tt-shadow-visible");}function Q(){var T=this._shadow,S,R,V,U;if(!T){S=this.element;R=YAHOO.widget.Module;V=YAHOO.env.ua.ie;U=this;if(!E){E=document.createElement("div");E.className="yui-tt-shadow";}T=E.cloneNode(false);S.appendChild(T);this._shadow=T;L.call(this);this.subscribe("beforeShow",L);this.subscribe("beforeHide",K);if(V==6||(V==7&&document.compatMode=="BackCompat")){window.setTimeout(function(){P.call(U);},0);this.cfg.subscribeToConfigEvent("width",P);this.cfg.subscribeToConfigEvent("height",P);this.subscribe("changeContent",P);R.textResizeEvent.subscribe(P,this,true);this.subscribe("destroy",function(){R.textResizeEvent.unsubscribe(P,this);});}}}function M(){Q.call(this);this.unsubscribe("beforeShow",M);}if(this.cfg.getProperty("visible")){Q.call(this);}else{this.subscribe("beforeShow",M);}},destroy:function(){this._removeEventListeners();F.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(U,T){YAHOO.widget.Panel.superclass.constructor.call(this,U,T);};var G=YAHOO.lang,N=YAHOO.util.DD,A=YAHOO.util.Dom,S=YAHOO.util.Event,I=YAHOO.widget.Overlay,L=YAHOO.util.CustomEvent,J=YAHOO.util.Config,O=YAHOO.widget.Panel,H,Q,D,E={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},M={"CLOSE":{key:"close",value:true,validator:G.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(N?true:false),validator:G.isBoolean,supercedes:["visible"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:G.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]}}; O.CSS_PANEL="yui-panel";O.CSS_PANEL_CONTAINER="yui-panel-container";function K(U,T){if(!this.header){this.setHeader(" ");}}function R(U,T,V){var Y=V[0],W=V[1],X=this.cfg,Z=X.getProperty("width");if(Z==W){X.setProperty("width",Y);}this.unsubscribe("hide",R,V);}function C(U,T){var Y=YAHOO.env.ua.ie,X,W,V;if(Y==6||(Y==7&&document.compatMode=="BackCompat")){X=this.cfg;W=X.getProperty("width");if(!W||W=="auto"){V=(this.element.offsetWidth+"px");X.setProperty("width",V);this.subscribe("hide",R,[(W||""),V]);}}}function F(){this.blur();}function P(V,U){var W=this;function T(Z){var Y=Z.tagName.toUpperCase(),X=false;switch(Y){case"A":case"BUTTON":case"SELECT":case"TEXTAREA":if(!A.isAncestor(W.element,Z)){S.on(Z,"focus",F,Z,true);X=true;}break;case"INPUT":if(Z.type!="hidden"&&!A.isAncestor(W.element,Z)){S.on(Z,"focus",F,Z,true);X=true;}break;}return X;}this.focusableElements=A.getElementsBy(T);}function B(V,U){var Y=this.focusableElements,T=Y.length,W,X;for(X=0;X0){K=L-1;do{M=N[K];if(YAHOO.widget.Button&&M instanceof YAHOO.widget.Button){M.destroy();}else{if(M.tagName.toUpperCase()=="BUTTON"){J.purgeElement(M);J.purgeElement(M,false);}}}while(K--);}}}YAHOO.extend(F,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty(G.POST_METHOD.key,{handler:this.configPostMethod,value:G.POST_METHOD.value,validator:function(K){if(K!="form"&&K!="async"&&K!="none"&&K!="manual"){return false;}else{return true;}}});this.cfg.addProperty(G.BUTTONS.key,{handler:this.configButtons,value:G.BUTTONS.value});},initEvents:function(){F.superclass.initEvents.call(this);var K=I.LIST;this.beforeSubmitEvent=this.createEvent(A.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=K;this.submitEvent=this.createEvent(A.SUBMIT);this.submitEvent.signature=K;this.manualSubmitEvent=this.createEvent(A.MANUAL_SUBMIT);this.manualSubmitEvent.signature=K;this.asyncSubmitEvent=this.createEvent(A.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=K;this.formSubmitEvent=this.createEvent(A.FORM_SUBMIT);this.formSubmitEvent.signature=K;this.cancelEvent=this.createEvent(A.CANCEL);this.cancelEvent.signature=K;},init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);D.addClass(this.element,F.CSS_DIALOG);this.cfg.setProperty("visible",false);if(K){this.cfg.applyConfig(K,true);}this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(F);},doSubmit:function(){var Q=this.form,O=false,N=false,P,K,M,L;switch(this.cfg.getProperty("postmethod")){case"async":P=Q.elements;K=P.length;if(K>0){M=K-1;do{if(P[M].type=="file"){O=true;break;}}while(M--);}if(O&&YAHOO.env.ua.ie&&this.isSecure){N=true;}L=(Q.getAttribute("method")||"POST").toUpperCase(); H.setForm(Q,O,N);H.asyncRequest(L,Q.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":Q.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},registerForm:function(){var M=this.element.getElementsByTagName("form")[0],L=this,K,N;if(this.form){if(this.form==M&&D.isAncestor(this.element,this.form)){return ;}else{J.purgeElement(this.form);this.form=null;}}if(!M){M=document.createElement("form");M.name="frm_"+this.id;this.body.appendChild(M);}if(M){this.form=M;J.on(M,"submit",function(O){J.stopEvent(O);this.submit();this.form.blur();},this,true);this.firstFormElement=function(){var Q,P,O=M.elements.length;for(Q=0;Q=0;Q--){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();if(this.cfg.getProperty("modal")){K=this.firstFormElement||this.firstButton;if(K){this.preventBackTab=new B(K,{shift:true,keys:9},{fn:L.focusLast,scope:L,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}N=this.lastButton||this.lastFormElement;if(N){this.preventTabOut=new B(N,{shift:false,keys:9},{fn:L.focusFirst,scope:L,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}}},configClose:function(M,K,N){var O=K[0];function L(Q,P){P.cancel();}if(O){if(!this.close){this.close=document.createElement("div");D.addClass(this.close,"container-close");this.close.innerHTML=" ";this.innerElement.appendChild(this.close);J.on(this.close,"click",L,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}},configButtons:function(U,T,O){var P=YAHOO.widget.Button,W=T[0],M=this.innerElement,V,R,L,S,Q,K,N;C.call(this);this._aButtons=null;if(E.isArray(W)){Q=document.createElement("span");Q.className="button-group";S=W.length;this._aButtons=[];for(N=0;N0){K=(M-1);do{O=P[K];if(O){L=O.htmlButton;if(L){try{L.blur();}catch(N){}}}}while(K--);}}},focusFirstButton:function(){var N=this.cfg.getProperty("buttons"),M,K;if(N&&E.isArray(N)){M=N[0];if(M){K=M.htmlButton;if(K){try{K.focus();}catch(L){}}}}},focusLastButton:function(){var O=this.cfg.getProperty("buttons"),L,N,K;if(O&&E.isArray(O)){L=O.length;if(L>0){N=O[(L-1)];if(N){K=N.htmlButton;if(K){try{K.focus();}catch(M){}}}}}},configPostMethod:function(M,L,N){var K=L[0];this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var a=this.form,M,T,W,O,U,R,Q,L,X,N,Y,b,K,P,c,Z,V;function S(e){var d=e.tagName.toUpperCase();return((d=="INPUT"||d=="TEXTAREA"||d=="SELECT")&&e.name==O);}if(a){M=a.elements;T=M.length;W={};for(Z=0;Z0){if(R==1){U=U[0];Q=U.type;L=U.tagName.toUpperCase();switch(L){case"INPUT":if(Q=="checkbox"){W[O]=U.checked;}else{if(Q!="radio"){W[O]=U.value;}}break;case"TEXTAREA":W[O]=U.value;break;case"SELECT":X=U.options;N=X.length;Y=[];for(V=0;V0){L=K[0];if(L){J.purgeElement(L);if(L.parentNode){L.parentNode.removeChild(L);}this.form=null;}}F.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}()); (function(){YAHOO.widget.SimpleDialog=function(E,D){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,E,D);};var C=YAHOO.util.Dom,B=YAHOO.widget.SimpleDialog,A={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};B.ICON_BLOCK="blckicon";B.ICON_ALARM="alrticon";B.ICON_HELP="hlpicon";B.ICON_INFO="infoicon";B.ICON_WARN="warnicon";B.ICON_TIP="tipicon";B.ICON_CSS_CLASSNAME="yui-icon";B.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(B,YAHOO.widget.Dialog,{initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(A.ICON.key,{handler:this.configIcon,value:A.ICON.value,suppressEvent:A.ICON.suppressEvent});this.cfg.addProperty(A.TEXT.key,{handler:this.configText,value:A.TEXT.value,suppressEvent:A.TEXT.suppressEvent,supercedes:A.TEXT.supercedes});},init:function(E,D){B.superclass.init.call(this,E);this.beforeInitEvent.fire(B);C.addClass(this.element,B.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(D){this.cfg.applyConfig(D,true);}this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(B);},registerForm:function(){B.superclass.registerForm.call(this);this.form.innerHTML+="";},configIcon:function(F,E,J){var K=E[0],D=this.body,I=B.ICON_CSS_CLASSNAME,H,G;if(K&&K!="none"){H=C.getElementsByClassName(I,"*",D);if(H){G=H.parentNode;if(G){G.removeChild(H);H=null;}}if(K.indexOf(".")==-1){H=document.createElement("span");H.className=(I+" "+K);H.innerHTML=" ";}else{H=document.createElement("img");H.src=(this.imageRoot+K);H.className=I;}if(H){D.insertBefore(H,D.firstChild);}}},configText:function(E,D,F){var G=D[0];if(G){this.setBody(G);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,F){var G=new A(E,{attributes:{opacity:{from:0,to:1}},duration:F,method:C.easeIn},{attributes:{opacity:{to:0}},duration:F,method:C.easeOut},E.element);G.handleStartAnimateIn=function(I,H,J){B.addClass(J.overlay.element,"hide-select");if(!J.overlay.underlay){J.overlay.cfg.refireEvent("underlay");}if(J.overlay.underlay){J.initialUnderlayOpacity=B.getStyle(J.overlay.underlay,"opacity");J.overlay.underlay.style.filter=null;}B.setStyle(J.overlay.element,"visibility","visible");B.setStyle(J.overlay.element,"opacity",0);};G.handleCompleteAnimateIn=function(I,H,J){B.removeClass(J.overlay.element,"hide-select");if(J.overlay.element.style.filter){J.overlay.element.style.filter=null;}if(J.overlay.underlay){B.setStyle(J.overlay.underlay,"opacity",J.initialUnderlayOpacity);}J.overlay.cfg.refireEvent("iframe");J.animateInCompleteEvent.fire();};G.handleStartAnimateOut=function(I,H,J){B.addClass(J.overlay.element,"hide-select");if(J.overlay.underlay){J.overlay.underlay.style.filter=null;}};G.handleCompleteAnimateOut=function(I,H,J){B.removeClass(J.overlay.element,"hide-select");if(J.overlay.element.style.filter){J.overlay.element.style.filter=null;}B.setStyle(J.overlay.element,"visibility","hidden");B.setStyle(J.overlay.element,"opacity",1);J.overlay.cfg.refireEvent("iframe");J.animateOutCompleteEvent.fire();};G.init();return G;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M0&&!this._aCache){this._aCache=[];}this._sName="DataSource instance"+YAHOO.util.DataSource._nIndex;YAHOO.util.DataSource._nIndex++;this.createEvent("cacheRequestEvent");this.createEvent("cacheResponseEvent");this.createEvent("requestEvent");this.createEvent("responseEvent");this.createEvent("responseParseEvent");this.createEvent("responseCacheEvent");this.createEvent("dataErrorEvent");this.createEvent("cacheFlushEvent");};YAHOO.augment(YAHOO.util.DataSource,YAHOO.util.EventProvider);YAHOO.util.DataSource.TYPE_UNKNOWN=-1;YAHOO.util.DataSource.TYPE_JSARRAY=0;YAHOO.util.DataSource.TYPE_JSFUNCTION=1;YAHOO.util.DataSource.TYPE_XHR=2;YAHOO.util.DataSource.TYPE_JSON=3;YAHOO.util.DataSource.TYPE_XML=4;YAHOO.util.DataSource.TYPE_TEXT=5;YAHOO.util.DataSource.TYPE_HTMLTABLE=6;YAHOO.util.DataSource.ERROR_DATAINVALID="Invalid data";YAHOO.util.DataSource.ERROR_DATANULL="Null data";YAHOO.util.DataSource._nIndex=0;YAHOO.util.DataSource._nTransactionId=0;YAHOO.util.DataSource.prototype._sName=null;YAHOO.util.DataSource.prototype._aCache=null;YAHOO.util.DataSource.prototype._oQueue=null;YAHOO.util.DataSource.prototype.maxCacheEntries=0;YAHOO.util.DataSource.prototype.liveData=null;YAHOO.util.DataSource.prototype.dataType=YAHOO.util.DataSource.TYPE_UNKNOWN;YAHOO.util.DataSource.prototype.responseType=YAHOO.util.DataSource.TYPE_UNKNOWN;YAHOO.util.DataSource.prototype.responseSchema=null;YAHOO.util.DataSource.prototype.connMgr=null;YAHOO.util.DataSource.prototype.connXhrMode="allowAll";YAHOO.util.DataSource.prototype.connMethodPost=false;YAHOO.util.DataSource.prototype.connTimeout=0;YAHOO.util.DataSource.parseString=function(B){if(!YAHOO.lang.isValue(B)){return null;}var A=B+"";if(YAHOO.lang.isString(A)){return A;}else{return null;}};YAHOO.util.DataSource.parseNumber=function(B){var A=B*1;if(YAHOO.lang.isNumber(A)){return A;}else{return null;}};YAHOO.util.DataSource.convertNumber=function(A){return YAHOO.util.DataSource.parseNumber(A);};YAHOO.util.DataSource.parseDate=function(B){var A=null;if(!(B instanceof Date)){A=new Date(B);}else{return B;}if(A instanceof Date){return A;}else{return null;}};YAHOO.util.DataSource.convertDate=function(A){return YAHOO.util.DataSource.parseDate(A);};YAHOO.util.DataSource.prototype.toString=function(){return this._sName;};YAHOO.util.DataSource.prototype.getCachedResponse=function(H,B,G){var A=this._aCache;var D=(A)?A.length:0;var F=null;if((this.maxCacheEntries>0)&&A&&(D>0)){this.fireEvent("cacheRequestEvent",{request:H,callback:B,caller:G});for(var E=D-1;E>=0;E--){var C=A[E];if(this.isCacheHit(H,C.request)){F=C.response;A.splice(E,1);this.addToCache(H,F);this.fireEvent("cacheResponseEvent",{request:H,response:F,callback:B,caller:G});break;}}}return F;};YAHOO.util.DataSource.prototype.isCacheHit=function(A,B){return(A===B);};YAHOO.util.DataSource.prototype.addToCache=function(D,C){var A=this._aCache;if(!A){return ;}while(A.length>=this.maxCacheEntries){A.shift();}var B={request:D,response:C};A.push(B);this.fireEvent("responseCacheEvent",{request:D,response:C});};YAHOO.util.DataSource.prototype.flushCache=function(){if(this._aCache){this._aCache=[];this.fireEvent("cacheFlushEvent");}};YAHOO.util.DataSource.prototype.sendRequest=function(D,A,C){var B=this.getCachedResponse(D,A,C);if(B){A.call(C,D,B);return null;}return this.makeConnection(D,A,C);};YAHOO.util.DataSource.prototype.makeConnection=function(A,P,K){this.fireEvent("requestEvent",{request:A,callback:P,caller:K});var D=null;var L=YAHOO.util.DataSource._nTransactionId++;switch(this.dataType){case YAHOO.util.DataSource.TYPE_JSFUNCTION:D=this.liveData(A);this.handleResponse(A,D,P,K,L);break;case YAHOO.util.DataSource.TYPE_XHR:var N=this;var C=this.connMgr||YAHOO.util.Connect;var G=this._oQueue;var J=function(Q){if(Q&&(this.connXhrMode=="ignoreStaleResponses")&&(Q.tId!=G.conn.tId)){return null;}else{if(!Q){this.fireEvent("dataErrorEvent",{request:A,callback:P,caller:K,message:YAHOO.util.DataSource.ERROR_DATANULL});P.call(K,A,Q,true);return null;}else{this.handleResponse(A,Q,P,K,L);}}};var O=function(Q){this.fireEvent("dataErrorEvent",{request:A,callback:P,caller:K,message:YAHOO.util.DataSource.ERROR_DATAINVALID});if((this.liveData.lastIndexOf("?")!==this.liveData.length-1)&&(A.indexOf("?")!==0)){}P.call(K,A,Q,true);return null;};var I={success:J,failure:O,scope:this};if(YAHOO.lang.isNumber(this.connTimeout)){I.timeout=this.connTimeout;}if(this.connXhrMode=="cancelStaleRequests"){if(G.conn){if(C.abort){C.abort(G.conn);G.conn=null;}else{}}}if(C&&C.asyncRequest){var B=this.liveData;var H=this.connMethodPost;var M=(H)?"POST":"GET";var E=(H)?B:B+A;var F=(H)?A:null;if(this.connXhrMode!="queueRequests"){G.conn=C.asyncRequest(M,E,I,F);}else{if(G.conn){G.requests.push({request:A,callback:I});if(!G.interval){G.interval=setInterval(function(){if(C.isCallInProgress(G.conn)){return ;}else{if(G.requests.length>0){E=(H)?B:B+G.requests[0].request;F=(H)?G.requests[0].request:null;G.conn=C.asyncRequest(M,E,G.requests[0].callback,F);G.requests.shift();}else{clearInterval(G.interval);G.interval=null;}}},50);}}else{G.conn=C.asyncRequest(M,E,I,F);}}}else{P.call(K,A,null,true);}break;default:D=this.liveData;this.handleResponse(A,D,P,K,L); break;}return L;};YAHOO.util.DataSource.prototype.handleResponse=function(E,C,B,D,H){this.fireEvent("responseEvent",{request:E,response:C,callback:B,caller:D,tId:H});var G=(this.dataType==YAHOO.util.DataSource.TYPE_XHR)?true:false;var F=null;var A=false;C=this.doBeforeParseData(E,C);switch(this.responseType){case YAHOO.util.DataSource.TYPE_JSARRAY:if(G&&C.responseText){C=C.responseText;}F=this.parseArrayData(E,C);break;case YAHOO.util.DataSource.TYPE_JSON:if(G&&C.responseText){C=C.responseText;}F=this.parseJSONData(E,C);break;case YAHOO.util.DataSource.TYPE_HTMLTABLE:if(G&&C.responseText){C=C.responseText;}F=this.parseHTMLTableData(E,C);break;case YAHOO.util.DataSource.TYPE_XML:if(G&&C.responseXML){C=C.responseXML;}F=this.parseXMLData(E,C);break;case YAHOO.util.DataSource.TYPE_TEXT:if(G&&C.responseText){C=C.responseText;}F=this.parseTextData(E,C);break;default:break;}if(F){F.tId=H;F=this.doBeforeCallback(E,C,F);this.fireEvent("responseParseEvent",{request:E,response:F,callback:B,caller:D});this.addToCache(E,F);}else{this.fireEvent("dataErrorEvent",{request:E,callback:B,caller:D,message:YAHOO.util.DataSource.ERROR_DATANULL});F={error:true};}B.call(D,E,F);};YAHOO.util.DataSource.prototype.doBeforeParseData=function(B,A){return A;};YAHOO.util.DataSource.prototype.doBeforeCallback=function(B,A,C){return C;};YAHOO.util.DataSource.prototype.parseArrayData=function(A,B){if(YAHOO.lang.isArray(B)&&YAHOO.lang.isArray(this.responseSchema.fields)){var J={results:[]};var G=this.responseSchema.fields;for(var E=B.length-1;E>-1;E--){var F={};for(var C=G.length-1;C>-1;C--){var H=G[C];var I=(YAHOO.lang.isValue(H.key))?H.key:H;var D=(YAHOO.lang.isValue(B[E][C]))?B[E][C]:B[E][I];if(!H.parser&&H.converter){H.parser=H.converter;}if(H.parser){D=H.parser.call(this,D);}if(D===undefined){D=null;}F[I]=D;}J.results.unshift(F);}return J;}else{return null;}};YAHOO.util.DataSource.prototype.parseTextData=function(A,B){var N={};if(YAHOO.lang.isString(B)&&YAHOO.lang.isArray(this.responseSchema.fields)&&YAHOO.lang.isString(this.responseSchema.recordDelim)&&YAHOO.lang.isString(this.responseSchema.fieldDelim)){N.results=[];var K=this.responseSchema.recordDelim;var G=this.responseSchema.fieldDelim;var J=this.responseSchema.fields;if(B.length>0){var C=B.length-K.length;if(B.substr(C)==K){B=B.substr(0,C);}var O=B.split(K);for(var F=O.length-1;F>-1;F--){var I={};for(var D=J.length-1;D>-1;D--){var H=O[F].split(G);var E=H[D];if(E.charAt(0)=="\""){E=E.substr(1);}if(E.charAt(E.length-1)=="\""){E=E.substr(0,E.length-1);}var L=J[D];var M=(YAHOO.lang.isValue(L.key))?L.key:L;if(!L.parser&&L.converter){L.parser=L.converter;}if(L.parser){E=L.parser.call(this,E);}if(E===undefined){E=null;}I[M]=E;}N.results.unshift(I);}}}else{N.error=true;}return N;};YAHOO.util.DataSource.prototype.parseXMLData=function(A,C){var I=false;var M={};var D=(this.responseSchema.resultNode)?C.getElementsByTagName(this.responseSchema.resultNode):null;if(!D||!YAHOO.lang.isArray(this.responseSchema.fields)){I=true;}else{M.results=[];for(var F=D.length-1;F>=0;F--){var N=D.item(F);var H={};for(var E=this.responseSchema.fields.length-1;E>=0;E--){var J=this.responseSchema.fields[E];var L=(YAHOO.lang.isValue(J.key))?J.key:J;var G=null;var B=N.attributes.getNamedItem(L);if(B){G=B.value;}else{var K=N.getElementsByTagName(L);if(K&&K.item(0)&&K.item(0).firstChild){G=K.item(0).firstChild.nodeValue;}else{G="";}}if(!J.parser&&J.converter){J.parser=J.converter;}if(J.parser){G=J.parser.call(this,G);}if(G===undefined){G=null;}H[L]=G;}M.results.unshift(H);}}if(I){M.error=true;}else{}return M;};YAHOO.util.DataSource.prototype.parseJSONData=function(oRequest,oRawResponse){var oParsedResponse={};if(oRawResponse&&YAHOO.lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;var bError=false;oParsedResponse.results=[];var jsonObj,jsonList;if(YAHOO.lang.isString(oRawResponse)){var isNotMac=(navigator.userAgent.toLowerCase().indexOf("khtml")==-1);if(oRawResponse.parseJSON&&isNotMac){jsonObj=oRawResponse.parseJSON();if(!jsonObj){bError=true;}}else{if(window.JSON&&JSON.parse&&isNotMac){jsonObj=JSON.parse(oRawResponse);if(!jsonObj){bError=true;}}else{try{while(oRawResponse.length>0&&(oRawResponse.charAt(0)!="{")&&(oRawResponse.charAt(0)!="[")){oRawResponse=oRawResponse.substring(1,oRawResponse.length);}if(oRawResponse.length>0){var objEnd=Math.max(oRawResponse.lastIndexOf("]"),oRawResponse.lastIndexOf("}"));oRawResponse=oRawResponse.substring(0,objEnd+1);jsonObj=eval("("+oRawResponse+")");if(!jsonObj){bError=true;}}else{jsonObj=null;bError=true;}}catch(e){bError=true;}}}}else{if(oRawResponse.constructor==Object){jsonObj=oRawResponse;}else{bError=true;}}if(jsonObj&&jsonObj.constructor==Object){try{jsonList=eval("jsonObj."+this.responseSchema.resultsList);}catch(e){bError=true;}}if(bError||!jsonList){oParsedResponse.error=true;}if(jsonList&&!YAHOO.lang.isArray(jsonList)){jsonList=[jsonList];}else{if(!jsonList){jsonList=[];}}for(var i=jsonList.length-1;i>=0;i--){var oResult={};var jsonResult=jsonList[i];for(var j=fields.length-1;j>=0;j--){var field=fields[j];var key=(YAHOO.lang.isValue(field.key))?field.key:field;var data=eval("jsonResult."+key);if(!field.parser&&field.converter){field.parser=field.converter;}if(field.parser){data=field.parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}oParsedResponse.results.unshift(oResult);}}else{oParsedResponse.error=true;}return oParsedResponse;};YAHOO.util.DataSource.prototype.parseHTMLTableData=function(B,C){var K=false;var L=C;var J=this.responseSchema.fields;var O={};O.results=[];for(var H=0;H-1;F--){var A=D.rows[F];var I={};for(var E=J.length-1;E>-1;E--){var M=J[E];var N=(YAHOO.lang.isValue(M.key))?M.key:M;var G=A.cells[E].innerHTML;if(!M.parser&&M.converter){M.parser=M.converter;}if(M.parser){G=M.parser.call(this,G);}if(G===undefined){G=null;}I[N]=G;}O.results.unshift(I);}}if(K){O.error=true;}else{}return O;};YAHOO.register("datasource",YAHOO.util.DataSource,{version:"2.3.1",build:"541"}); /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ YAHOO.widget.DataTable=function(D,C,A,B){this._nIndex=YAHOO.widget.DataTable._nCount;this._sName="instance"+this._nIndex;this.id="yui-dt"+this._nIndex;this._initContainerEl(D);if(!this._elContainer){return ;}this._initConfigs(B);this._initColumnSet(C);if(!this._oColumnSet){return ;}this._initRecordSet();if(!this._oRecordSet){return ;}this._initDataSource(A);if(!this._oDataSource){return ;}if(this._oDataSource.dataType==YAHOO.util.DataSource.TYPE_HTMLTABLE){this._oDataSource.sendRequest(this.get("initialRequest"),this._onDataReturnEnhanceTable,this);}else{this._initTableEl();if(!this._elTable||!this._elThead||!this._elTbody){return ;}YAHOO.widget.DataTable.superclass.constructor.call(this,this._elContainer,this._oConfigs);if(this._oConfigs&&this._oConfigs.paginator){this.updatePaginator(this._oConfigs.paginator);}this._oDataSource.sendRequest(this.get("initialRequest"),this.onDataReturnInitializeTable,this);}this._initCellEditorEl();this._initColumnSort();this._initDomEvents();YAHOO.widget.DataTable._nCount++;};if(YAHOO.util.Element){YAHOO.lang.extend(YAHOO.widget.DataTable,YAHOO.util.Element);}else{}YAHOO.widget.DataTable.prototype.initAttributes=function(A){A=A||{};YAHOO.widget.DataTable.superclass.initAttributes.call(this,A);this.setAttributeConfig("summary",{value:null,validator:YAHOO.lang.isString,method:function(B){this._elTable.summary=B;}});this.setAttributeConfig("selectionMode",{value:"standard",validator:YAHOO.lang.isString});this.setAttributeConfig("initialRequest",{value:"",validator:YAHOO.lang.isString});this.setAttributeConfig("sortedBy",{value:null,validator:function(B){return(B&&(B.constructor==Object)&&B.key);},method:function(B){var C=this.get("sortedBy");if(C&&(C.constructor==Object)&&C.key){var E=this._oColumnSet.getColumn(C.key);var D=this.getThEl(E);YAHOO.util.Dom.removeClass(D,YAHOO.widget.DataTable.CLASS_ASC);YAHOO.util.Dom.removeClass(D,YAHOO.widget.DataTable.CLASS_DESC);}var F=(B.column)?B.column:this._oColumnSet.getColumn(B.key);if(F){var G=(B.dir&&(B.dir!="asc"))?YAHOO.widget.DataTable.CLASS_DESC:YAHOO.widget.DataTable.CLASS_ASC;YAHOO.util.Dom.addClass(this.id+"-col"+F.getId(),G);}}});this.setAttributeConfig("paginator",{value:{rowsPerPage:500,currentPage:1,startRecordIndex:0,totalRecords:0,totalPages:0,rowsThisPage:0,pageLinks:0,pageLinksStart:1,dropdownOptions:null,containers:[],dropdowns:[],links:[]},validator:function(B){if(B&&(B.constructor==Object)){if((B.rowsPerPage!==undefined)&&(B.currentPage!==undefined)&&(B.startRecordIndex!==undefined)&&(B.totalRecords!==undefined)&&(B.totalPages!==undefined)&&(B.rowsThisPage!==undefined)&&(B.pageLinks!==undefined)&&(B.pageLinksStart!==undefined)&&(B.dropdownOptions!==undefined)&&(B.containers!==undefined)&&(B.dropdowns!==undefined)&&(B.links!==undefined)){if(YAHOO.lang.isNumber(B.rowsPerPage)&&YAHOO.lang.isNumber(B.currentPage)&&YAHOO.lang.isNumber(B.startRecordIndex)&&YAHOO.lang.isNumber(B.totalRecords)&&YAHOO.lang.isNumber(B.totalPages)&&YAHOO.lang.isNumber(B.rowsThisPage)&&YAHOO.lang.isNumber(B.pageLinks)&&YAHOO.lang.isNumber(B.pageLinksStart)&&YAHOO.lang.isArray(B.dropdownOptions)&&YAHOO.lang.isArray(B.containers)&&YAHOO.lang.isArray(B.dropdowns)&&YAHOO.lang.isArray(B.links)){return true;}}}return false;}});this.setAttributeConfig("paginated",{value:false,validator:YAHOO.lang.isBoolean,method:function(B){var F=this.get("paginator");var E=F.containers;var D;if(B){if(E.length===0){var J=document.createElement("span");J.id=this.id+"-paginator0";YAHOO.util.Dom.addClass(J,YAHOO.widget.DataTable.CLASS_PAGINATOR);J=this._elContainer.insertBefore(J,this._elTable);E.push(J);var H=document.createElement("span");H.id=this.id+"-paginator1";YAHOO.util.Dom.addClass(H,YAHOO.widget.DataTable.CLASS_PAGINATOR);H=this._elContainer.insertBefore(H,this._elTable.nextSibling);E.push(H);this._configs.paginator.value.containers=[J,H];}else{for(D=0;D-1){var I=F.links;if(I.length===0){for(D=0;D0){for(D=0;D"+M+"";if(!this._sFirstLabelLinkId){this._sFirstLabelLinkId=H;}}else{D.innerHTML=M;}};YAHOO.widget.DataTable.prototype._initCellEditorEl=function(){var A=document.createElement("div");A.id=this.id+"-celleditor";A.style.display="none";YAHOO.util.Dom.addClass(A,YAHOO.widget.DataTable.CLASS_EDITOR);A=document.body.appendChild(A);var B={};B.container=A;B.value=null;B.isActive=false;this._oCellEditor=B;this.subscribe("editorKeydownEvent",function(C){var D=C.event;var E=YAHOO.util.Event.getTarget(D);if((D.keyCode==27)){this.cancelCellEditor();}});};YAHOO.widget.DataTable.prototype._initColumnSort=function(){this.subscribe("headerCellClickEvent",this.onEventSortColumn);};YAHOO.widget.DataTable.prototype._initDomEvents=function(){var B=this._elTable;var C=this._elThead;var A=this._elTbody;var D=this._elContainer;YAHOO.util.Event.addListener(document,"click",this._onDocumentClick,this);YAHOO.util.Event.addListener(document,"keydown",this._onDocumentKeydown,this);YAHOO.util.Event.addListener(B,"focus",this._onTableFocus,this);YAHOO.util.Event.addListener(B,"mouseover",this._onTableMouseover,this);YAHOO.util.Event.addListener(B,"mouseout",this._onTableMouseout,this);YAHOO.util.Event.addListener(B,"mousedown",this._onTableMousedown,this);YAHOO.util.Event.addListener(B,"keydown",this._onTableKeydown,this);YAHOO.util.Event.addListener(B,"keypress",this._onTableKeypress,this);YAHOO.util.Event.addListener(B,"dblclick",this._onTableDblclick,this);YAHOO.util.Event.addListener(C,"click",this._onTheadClick,this);YAHOO.util.Event.addListener(A,"click",this._onTbodyClick,this);YAHOO.util.Event.addListener(D,"scroll",this._onScroll,this);YAHOO.util.Event.addListener(A,"scroll",this._onScroll,this);};YAHOO.widget.DataTable.prototype._addTrEl=function(N,H){this.hideTableMessage();var B=(!YAHOO.lang.isNumber(H)||(H<0)||(H>=(this._elTbody.rows.length)))?true:false;var K=this._oColumnSet;var J=this._oRecordSet;var C=this.get("sortedBy");var L=null;var G,I;if(C){L=(C.column)?C.column.getKeyIndex():this._oColumnSet.getColumn(C.key).getKeyIndex();G=C.dir;I=(G==="desc")?YAHOO.widget.DataTable.CLASS_DESC:YAHOO.widget.DataTable.CLASS_ASC;}var A=(B)?this._elTbody.appendChild(document.createElement("tr")):this._elTbody.insertBefore(document.createElement("tr"),this._elTbody.rows[H]);A.id=this.id+"-bdrow"+this._nTrCount;this._nTrCount++;A.yuiRecordId=N.getId();for(var E=0;E-2)&&(B1)){A=F+C;}}}for(var D=F;D36)&&(O<41)){YAHOO.util.Event.stopEvent(W);var F=H._elTbody.rows;var P=H.get("selectionMode");var S,T,K,Q,R,I,Y,U,D,J,L,C,A,N,E,B,M,V;if((P=="standard")||(P=="single")){D=H.getLastSelectedRecord();if(!D){return ;}else{D=H.getRecord(D);J=H.getRecordIndex(D);N=H.getTrEl(D);L=H.getTrIndex(N);if(L===null){return ;}}K=H._oAnchorRecord;if(!K){K=H._oAnchorRecord=D;}Q=H.getRecordIndex(K);R=H.getTrIndex(K);if(R===null){if(QL){M=1;}else{if(Q=0){if(L>0){H.selectRow(F[L-1]);}}else{H.unselectRow(F[L]);}}else{if(O==39){}else{if(O==37){}}}}}else{if(O==40){H.unselectAllRows(); if(L0){V=F[L-1];H.selectRow(V);}else{V=F[L];H.selectRow(V);}H._oAnchorRecord=H.getRecord(V);}else{if(O==39){}else{if(O==37){}}}}}}else{U=H.getLastSelectedCell();if(!U){return ;}else{D=H.getRecord(U.recordId);J=H.getRecordIndex(D);N=H.getTrEl(D);L=H.getTrIndex(N);if(L===null){return ;}else{C=H.getColumnById(U.columnId);A=C.getKeyIndex();}}T=H._oAnchorCell;if(!T){T=H._oAnchorCell=U;}K=H._oAnchorCell.record;Q=H._oRecordSet.getRecordIndex(K);R=H.getTrIndex(K);if(R===null){if(QJ){M=1;}else{if(QB){for(S=E;S>=B;S--){V=F[L+1].cells[S];H.selectCell(V);}}else{for(S=E;S<=B;S++){V=F[L+1].cells[S];H.selectCell(V);}}}}else{E=Math.min(Y,A);B=Math.max(Y,A);for(S=E;S<=B;S++){H.unselectCell(F[L].cells[S]);}}}else{if(O==38){if(Q>J){M=1;}else{if(Q=0){if(L>0){E=Y;B=A;if(E>B){for(S=E;S>=B;S--){V=F[L-1].cells[S];H.selectCell(V);}}else{for(S=E;S<=B;S++){V=F[L-1].cells[S];H.selectCell(V);}}}}else{E=Math.min(Y,A);B=Math.max(Y,A);for(S=E;S<=B;S++){H.unselectCell(F[L].cells[S]);}}}else{if(O==39){if(Y>A){M=1;}else{if(YB){for(S=E;S>=B;S--){V=F[S].cells[A+1];H.selectCell(V);}}else{for(S=E;S<=B;S++){V=F[S].cells[A+1];H.selectCell(V);}}}}else{E=Math.min(R,L);B=Math.max(R,L);for(S=E;S<=B;S++){H.unselectCell(F[S].cells[A]);}}}else{if(O==37){if(Y>A){M=1;}else{if(Y=0){if(A>0){E=R;B=L;if(E>B){for(S=E;S>=B;S--){V=F[S].cells[A-1];H.selectCell(V);}}else{for(S=E;S<=B;S++){V=F[S].cells[A-1];H.selectCell(V);}}}}else{E=Math.min(R,L);B=Math.max(R,L);for(S=E;S<=B;S++){H.unselectCell(F[S].cells[A]);}}}}}}}else{if(G&&(P=="cellrange")){if(Q>J){M=1;}else{if(Q=0){for(S=A-1;S>-1;S--){V=F[L].cells[S];H.selectCell(V);}if(L>0){for(S=F[L].cells.length-1;S>=A;S--){V=F[L-1].cells[S];H.selectCell(V);}}}else{for(S=A;S>-1;S--){H.unselectCell(F[L].cells[S]);}for(S=F[L].cells.length-1;S>A;S--){H.unselectCell(F[L-1].cells[S]);}}}else{if(O==39){if(M<0){if(A0){H.unselectCell(F[L].cells[A]);if(A0){}else{}}else{if(M>0){if(A>0){V=F[L].cells[A-1];H.selectCell(V);}else{if(L>0){V=F[L-1].cells[F[L-1].cells.length-1];H.selectCell(V);}}}else{if(Y>=A){if(A>0){V=F[L].cells[A-1];H.selectCell(V);}else{if(L>0){V=F[L-1].cells[F[L-1].cells.length-1];H.selectCell(V);}}}else{H.unselectCell(F[L].cells[A]);if(A>0){}else{}}}}}}}}}else{if((P=="cellblock")||(P=="cellrange")||(P=="singlecell")){if(O==40){H.unselectAllCells();if(L0){V=F[L-1].cells[A];H.selectCell(V);}else{V=F[L].cells[A];H.selectCell(V);}H._oAnchorCell={record:H.getRecord(V),column:H.getColumn(V)};}else{if(O==39){H.unselectAllCells();if(A0){V=F[L].cells[A-1];H.selectCell(V);}else{V=F[L].cells[A];H.selectCell(V);}H._oAnchorCell={record:H.getRecord(V),column:H.getColumn(V)};}}}}}}}}}else{return ;}};YAHOO.widget.DataTable.prototype._onTableKeypress=function(D,C){var B=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(B){var A=YAHOO.util.Event.getCharCode(D);if(A==40){YAHOO.util.Event.stopEvent(D);}else{if(A==38){YAHOO.util.Event.stopEvent(D);}}}};YAHOO.widget.DataTable.prototype._onTheadClick=function(C,B){var D=YAHOO.util.Event.getTarget(C);var A=D.tagName.toLowerCase();if(B._oCellEditor&&B._oCellEditor.isActive){B.fireEvent("editorBlurEvent",{editor:B._oCellEditor});}while(D&&(A!="thead")){switch(A){case"body":break;case"span":if(YAHOO.util.Dom.hasClass(D,YAHOO.widget.DataTable.CLASS_LABEL)){B.fireEvent("headerLabelClickEvent",{target:D,event:C});}break;case"th":B.fireEvent("headerCellClickEvent",{target:D,event:C});break;case"tr":B.fireEvent("headerRowClickEvent",{target:D,event:C});break;default:break;}D=D.parentNode;if(D){A=D.tagName.toLowerCase();}}B.fireEvent("tableClickEvent",{target:(D||B._elTable),event:C});};YAHOO.widget.DataTable.prototype._onTbodyClick=function(C,B){var D=YAHOO.util.Event.getTarget(C);var A=D.tagName.toLowerCase();if(B._oCellEditor&&B._oCellEditor.isActive){B.fireEvent("editorBlurEvent",{editor:B._oCellEditor});}while(D&&(A!="table")){switch(A){case"body":break;case"input":if(D.type.toLowerCase()=="checkbox"){B.fireEvent("checkboxClickEvent",{target:D,event:C});}else{if(D.type.toLowerCase()=="radio"){B.fireEvent("radioClickEvent",{target:D,event:C});}}B.fireEvent("tableClickEvent",{target:(D||B._elTable),event:C});return ;case"a":B.fireEvent("linkClickEvent",{target:D,event:C});B.fireEvent("tableClickEvent",{target:(D||B._elTable),event:C});return ;case"button":B.fireEvent("buttonClickEvent",{target:D,event:C});B.fireEvent("tableClickEvent",{target:(D||B._elTable),event:C});return ;case"td":B.fireEvent("cellClickEvent",{target:D,event:C}); break;case"tr":B.fireEvent("rowClickEvent",{target:D,event:C});break;default:break;}D=D.parentNode;if(D){A=D.tagName.toLowerCase();}}B.fireEvent("tableClickEvent",{target:(D||B._elTable),event:C});};YAHOO.widget.DataTable.prototype._onPaginatorLinkClick=function(C,B){var D=YAHOO.util.Event.getTarget(C);var A=D.tagName.toLowerCase();if(B._oCellEditor&&B._oCellEditor.isActive){B.fireEvent("editorBlurEvent",{editor:B._oCellEditor});}while(D&&(A!="table")){switch(A){case"body":return ;case"a":YAHOO.util.Event.stopEvent(C);switch(D.className){case YAHOO.widget.DataTable.CLASS_PAGE:B.showPage(parseInt(D.innerHTML,10));return ;case YAHOO.widget.DataTable.CLASS_FIRST:B.showPage(1);return ;case YAHOO.widget.DataTable.CLASS_LAST:B.showPage(B.get("paginator").totalPages);return ;case YAHOO.widget.DataTable.CLASS_PREVIOUS:B.showPage(B.get("paginator").currentPage-1);return ;case YAHOO.widget.DataTable.CLASS_NEXT:B.showPage(B.get("paginator").currentPage+1);return ;}break;default:return ;}D=D.parentNode;if(D){A=D.tagName.toLowerCase();}else{return ;}}};YAHOO.widget.DataTable.prototype._onPaginatorDropdownChange=function(E,B){var F=YAHOO.util.Event.getTarget(E);var D=F[F.selectedIndex].value;var A=YAHOO.lang.isValue(parseInt(D,10))?parseInt(D,10):null;if(A!==null){var C=(B.get("paginator").currentPage-1)*A;B.updatePaginator({rowsPerPage:A,startRecordIndex:C});B.refreshView();}else{}};YAHOO.widget.DataTable.prototype._onDropdownChange=function(B,A){var C=YAHOO.util.Event.getTarget(B);A.fireEvent("dropdownChangeEvent",{event:B,target:C});};YAHOO.widget.DataTable.prototype.toString=function(){return"DataTable "+this._sName;};YAHOO.widget.DataTable.prototype.getDataSource=function(){return this._oDataSource;};YAHOO.widget.DataTable.prototype.getColumnSet=function(){return this._oColumnSet;};YAHOO.widget.DataTable.prototype.getRecordSet=function(){return this._oRecordSet;};YAHOO.widget.DataTable.prototype.getCellEditor=function(){return this._oCellEditor;};YAHOO.widget.DataTable.prototype.getTableEl=function(){return this._elTable;};YAHOO.widget.DataTable.prototype.getTheadEl=function(){return this._elThead;};YAHOO.widget.DataTable.prototype.getTbodyEl=function(){return this._elTbody;};YAHOO.widget.DataTable.prototype.getBody=function(){return this.getTbodyEl();};YAHOO.widget.DataTable.prototype.getMsgTbodyEl=function(){return this._elMsgTbody;};YAHOO.widget.DataTable.prototype.getMsgTdEl=function(){return this._elMsgTd;};YAHOO.widget.DataTable.prototype.getTrEl=function(E){var D=this._elTbody.rows;if(E instanceof YAHOO.widget.Record){var C=this.getTrIndex(E);if(C!==null){return D[C];}else{return null;}}else{if(YAHOO.lang.isNumber(E)&&(E>-1)&&(E0){return A[A.length-1]||null;}};YAHOO.widget.DataTable.prototype.getTdEl=function(A){var E;var C=YAHOO.util.Dom.get(A);if(C&&(C.ownerDocument==document)){if(C.tagName.toLowerCase()!="td"){E=YAHOO.util.Dom.getAncestorByTagName(C,"td");}else{E=C;}if(E&&(E.parentNode.parentNode==this._elTbody)){return E;}}else{if(A.record&&A.column&&A.column.getKeyIndex){var D=A.record;var B=this.getTrEl(D);if(B&&B.cells&&B.cells.length>0){return B.cells[A.column.getKeyIndex()]||null;}}}return null;};YAHOO.widget.DataTable.prototype.getThEl=function(D){var A;if(D instanceof YAHOO.widget.Column){var C=D;A=YAHOO.util.Dom.get(this.id+"-col"+C.getId());if(A){return A;}}else{var B=YAHOO.util.Dom.get(D);if(B&&(B.ownerDocument==document)){if(B.tagName.toLowerCase()!="th"){A=YAHOO.util.Dom.getAncestorByTagName(B,"th");}else{A=B;}if(A&&(A.parentNode.parentNode==this._elThead)){return A;}}}return null;};YAHOO.widget.DataTable.prototype.getTrIndex=function(D){var C;if(D instanceof YAHOO.widget.Record){C=this._oRecordSet.getRecordIndex(D);if(C===null){return null;}}else{if(YAHOO.lang.isNumber(D)){C=D;}}if(YAHOO.lang.isNumber(C)){if((C>-1)&&(C=B)&&(C<=E)){return C-B;}else{return null;}}else{return C;}}else{return null;}}else{var A=this.getTrEl(D);if(A&&(A.ownerDocument==document)&&(A.parentNode==this._elTbody)){return A.sectionRowIndex;}}return null;};YAHOO.widget.DataTable.prototype.initializeTable=function(B){this._oRecordSet.reset();var A=this._oRecordSet.addRecords(B);this._unselectAllTrEls();this._unselectAllTdEls();this._aSelections=null;this._oAnchorRecord=null;this._oAnchorCell=null;this.refreshView();this.fireEvent("initEvent");};YAHOO.widget.DataTable.prototype.refreshView=function(){var H,G,F,E,J;var K=this.updatePaginator();if(this.get("paginated")){var A=K.rowsPerPage;var D=(K.currentPage-1)*A;J=this._oRecordSet.getRecords(D,A);this.formatPaginators();}else{J=this._oRecordSet.getRecords();}var B=this._elTbody;var O=B.rows;if(YAHOO.lang.isArray(J)&&(J.length>0)){this.hideTableMessage();var N=this.getSelectedRows();var I=this.getSelectedCells();var C=(N.length>0)||(I.length>0);while(B.hasChildNodes()&&(O.length>J.length)){B.deleteRow(-1);}if(C){this._unselectAllTrEls();this._unselectAllTdEls();}for(H=0;H-1;C--){this.addRow(B[C],A);}}else{for(C=0;C-1;F--){if((YAHOO.lang.isNumber(I[F])&&(I[F]===H))||((I[F].constructor==Object)&&(I[F].recordId===H))){I.splice(F,1);}}var A=this.getRecordIndex(L);var J=L.getData();var D={};for(var E in J){D[E]=J[E];}var C=this.getTrIndex(L);this._oRecordSet.deleteRecord(A);if(YAHOO.lang.isNumber(C)){var G=(C==this.getLastTrEl().sectionRowIndex)?true:false;this._deleteTrEl(C);if(this._elTbody.rows.length===0){this.showTableMessage(YAHOO.widget.DataTable.MSG_EMPTY,YAHOO.widget.DataTable.CLASS_EMPTY);}else{if(C===0){this._setFirstRow();}if(G){this._setLastRow();}if(C!=this._elTbody.rows.length){this._setRowStripes(C);}}}this.fireEvent("rowDeleteEvent",{recordIndex:A,oldData:D,trElIndex:C});}else{}};YAHOO.widget.DataTable.prototype.deleteRows=function(G,C){var E=null;if(YAHOO.lang.isNumber(G)){E=G;}else{var A=YAHOO.util.Dom.get(G);A=this.getTrEl(A);if(A){E=this.getRecordIndex(A);}}if(E!==null){if(C&&YAHOO.lang.isNumber(C)){var F=(C>0)?E+C-1:E;var D=(C>0)?E:E+C+1; for(var B=F;B>D-1;B--){this.deleteRow(B);}}else{this.deleteRow(E);}}else{}};YAHOO.widget.DataTable.prototype.formatCell=function(F,D,G){if(!(D instanceof YAHOO.widget.Record)){D=this.getRecord(F);}if(!(G instanceof YAHOO.widget.Column)){G=this._oColumnSet.getColumn(F.yuiColumnKey);}if(D&&G){var E=G.key;var H=D.getData(E);var B;if(YAHOO.lang.isString(G.formatter)){switch(G.formatter){case"button":B=YAHOO.widget.DataTable.formatButton;break;case"checkbox":B=YAHOO.widget.DataTable.formatCheckbox;break;case"currency":B=YAHOO.widget.DataTable.formatCurrency;break;case"date":B=YAHOO.widget.DataTable.formatDate;break;case"dropdown":B=YAHOO.widget.DataTable.formatDropdown;break;case"email":B=YAHOO.widget.DataTable.formatEmail;break;case"link":B=YAHOO.widget.DataTable.formatLink;break;case"number":B=YAHOO.widget.DataTable.formatNumber;break;case"radio":B=YAHOO.widget.DataTable.formatRadio;break;case"text":B=YAHOO.widget.DataTable.formatText;break;case"textarea":B=YAHOO.widget.DataTable.formatTextarea;break;case"textbox":B=YAHOO.widget.DataTable.formatTextbox;break;case"html":break;default:B=null;}}else{if(YAHOO.lang.isFunction(G.formatter)){B=G.formatter;}}if(B){B.call(this,F,D,G,H);}else{F.innerHTML=(YAHOO.lang.isValue(H))?H.toString():"";}var C=null;if(YAHOO.lang.isString(G.className)){C=[G.className];}else{if(YAHOO.lang.isArray(G.className)){C=G.className;}}if(C){for(var A=0;A"+D+"";};YAHOO.widget.DataTable.formatCheckbox=function(A,B,C,E){var D=E;D=(D)?" checked":"";A.innerHTML="";};YAHOO.widget.DataTable.formatCurrency=function(C,E,F,G){if(YAHOO.lang.isNumber(G)){var B=G;var A;B=Math.round(B*100)/100;A="$"+B;var D=A.indexOf(".");if(D<0){A+=".00";}else{while(D>A.length-3){A+="0";}}C.innerHTML=A;}else{C.innerHTML=YAHOO.lang.isValue(G)?G:"";}};YAHOO.widget.DataTable.formatDate=function(A,C,D,E){var B=E;if(B instanceof Date){A.innerHTML=(B.getMonth()+1)+"/"+B.getDate()+"/"+B.getFullYear();}else{A.innerHTML=YAHOO.lang.isValue(E)?E:"";}};YAHOO.widget.DataTable.formatDropdown=function(C,J,H,A){var I=(YAHOO.lang.isValue(A))?A:J.getData(H.key);var K=(YAHOO.lang.isArray(H.dropdownOptions))?H.dropdownOptions:null;var B;var G=C.getElementsByTagName("select");if(G.length===0){B=document.createElement("select");YAHOO.util.Dom.addClass(B,YAHOO.widget.DataTable.CLASS_DROPDOWN);B=C.appendChild(B);YAHOO.util.Event.addListener(B,"change",this._onDropdownChange,this);}B=G[0];if(B){B.innerHTML="";if(K){for(var E=0;E"+I+"";}}else{C.innerHTML=YAHOO.lang.isValue(A)?A:"";}};YAHOO.widget.DataTable.formatEmail=function(A,B,C,D){if(YAHOO.lang.isString(D)){A.innerHTML=""+D+"";}else{A.innerHTML=YAHOO.lang.isValue(D)?D:"";}};YAHOO.widget.DataTable.formatLink=function(A,B,C,D){if(YAHOO.lang.isString(D)){A.innerHTML=""+D+"";}else{A.innerHTML=YAHOO.lang.isValue(D)?D:"";}};YAHOO.widget.DataTable.formatNumber=function(A,B,C,D){if(YAHOO.lang.isNumber(D)){A.innerHTML=D;}else{A.innerHTML=YAHOO.lang.isValue(D)?D:"";}};YAHOO.widget.DataTable.formatRadio=function(A,B,C,E){var D=E;D=(D)?" checked":"";A.innerHTML="";};YAHOO.widget.DataTable.formatText=function(A,B,D,E){var C=(YAHOO.lang.isValue(B.getData(D.key)))?B.getData(D.key):"";A.innerHTML=C.toString().replace(/&/g,"&").replace(//g,">");};YAHOO.widget.DataTable.formatTextarea=function(B,C,E,F){var D=(YAHOO.lang.isValue(C.getData(E.key)))?C.getData(E.key):"";var A="";B.innerHTML=A;};YAHOO.widget.DataTable.formatTextbox=function(B,C,E,F){var D=(YAHOO.lang.isValue(C.getData(E.key)))?C.getData(E.key):"";var A="";B.innerHTML=A;};YAHOO.widget.DataTable.prototype.updatePaginator=function(B){var D=this.get("paginator");var A=D.currentPage;for(var C in B){if(YAHOO.lang.hasOwnProperty(D,C)){D[C]=B[C];}}D.totalRecords=this._oRecordSet.getLength();D.rowsThisPage=Math.min(D.rowsPerPage,D.totalRecords);D.totalPages=Math.ceil(D.totalRecords/D.rowsThisPage);if(isNaN(D.totalPages)){D.totalPages=0;}if(D.currentPage>D.totalPages){if(D.totalPages<1){D.currentPage=1;}else{D.currentPage=D.totalPages;}}if(D.currentPage!==A){D.startRecordIndex=(D.currentPage-1)*D.rowsPerPage;}this.set("paginator",D);return this.get("paginator");};YAHOO.widget.DataTable.prototype.showPage=function(A){if(!YAHOO.lang.isNumber(A)||(A<1)||(A>this.get("paginator").totalPages)){A=1;}this.updatePaginator({currentPage:A});this.refreshView();};YAHOO.widget.DataTable.prototype.formatPaginators=function(){var B=this.get("paginator");var A;var C=false;if(B.pageLinks>-1){for(A=0;A-1;D--){if((this.get("paginator").rowsPerPage+"")===B[D].value){B[D].selected=true;}}}F.style.display="";return ;}};YAHOO.widget.DataTable.prototype.formatPaginatorLinks=function(E,A,N,D,K){if(E&&(E.ownerDocument==document)&&YAHOO.lang.isNumber(A)&&YAHOO.lang.isNumber(N)&&YAHOO.lang.isNumber(K)){var G=(A==1)?true:false;var B=(A==K)?true:false;var I=(G)?" << ":" << ";var L=(G)?" < ":" < ";var O=(B)?" > ":" > ";var C=(B)?" >> ":" >> ";var H=I+L;var P=K;var J=1;var M=K;if(D>0){P=(N+D0)?A-Math.floor(P/2):1;M=(A+Math.floor(P/2)<=K)?A+Math.floor(P/2):K;if(J===1){M=P;}else{if(M===K){J=K-P+1;}}if(M-J===P){M--;}}for(var F=J;F<=M;F++){if(F!=A){H+=" "+F+" ";}else{H+=" "+F+"";}}H+=O+C;E.innerHTML=H;return ;}};YAHOO.widget.DataTable.prototype._sLastHighlightedTdElId=null;YAHOO.widget.DataTable.prototype._sLastHighlightedTrElId=null;YAHOO.widget.DataTable.prototype._aSelections=null;YAHOO.widget.DataTable.prototype._oAnchorRecord=null;YAHOO.widget.DataTable.prototype._oAnchorCell=null;YAHOO.widget.DataTable.prototype._unselectAllTrEls=function(){var A=YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_SELECTED,"tr",this._elTbody);YAHOO.util.Dom.removeClass(A,YAHOO.widget.DataTable.CLASS_SELECTED);};YAHOO.widget.DataTable.prototype.getSelectedTrEls=function(){return YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_SELECTED,"tr",this._elTbody);};YAHOO.widget.DataTable.prototype.selectRow=function(F){var E,A;if(F instanceof YAHOO.widget.Record){E=this._oRecordSet.getRecord(F);A=this.getTrEl(E);}else{if(YAHOO.lang.isNumber(F)){E=this.getRecord(F);A=this.getTrEl(E);}else{A=this.getTrEl(F);E=this.getRecord(A);}}if(E){var D=this._aSelections||[];var C=E.getId();if(D.indexOf&&(D.indexOf(C)>-1)){D.splice(D.indexOf(C),1);}else{for(var B=D.length-1;B>-1;B--){if(D[B]===C){D.splice(B,1);break;}}}D.push(C);this._aSelections=D;if(!this._oAnchorRecord){this._oAnchorRecord=E;}if(A){YAHOO.util.Dom.addClass(A,YAHOO.widget.DataTable.CLASS_SELECTED);}this.fireEvent("rowSelectEvent",{record:E,el:A});}};YAHOO.widget.DataTable.prototype.select=function(B){if(!YAHOO.lang.isArray(B)){B=[B];}for(var A=0;A-1)){E.splice(E.indexOf(C),1);}else{for(var B=E.length-1;B>-1;B--){if(E[B]===C){E.splice(B,1);break;}}}if(D){this._aSelections=E;YAHOO.util.Dom.removeClass(A,YAHOO.widget.DataTable.CLASS_SELECTED);this.fireEvent("rowUnselectEvent",{record:F,el:A});return ;}YAHOO.util.Dom.removeClass(A,YAHOO.widget.DataTable.CLASS_SELECTED);this.fireEvent("rowUnselectEvent",{record:F,el:A});}};YAHOO.widget.DataTable.prototype.unselectAllRows=function(){var B=this._aSelections||[];for(var A=B.length-1;A>-1;A--){if(YAHOO.lang.isString(B[A])){B.splice(A,1);}}this._aSelections=B;this._unselectAllTrEls();this.fireEvent("unselectAllRowsEvent");};YAHOO.widget.DataTable.prototype._unselectAllTdEls=function(){var A=YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_SELECTED,"td",this._elTbody);YAHOO.util.Dom.removeClass(A,YAHOO.widget.DataTable.CLASS_SELECTED);};YAHOO.widget.DataTable.prototype.getSelectedTdEls=function(){return YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_SELECTED,"td",this._elTbody);};YAHOO.widget.DataTable.prototype.selectCell=function(A){var G=this.getTdEl(A);if(G){var F=this.getRecord(G);var E=G.yuiColumnId;if(F&&E){var D=this._aSelections||[];var C=F.getId();for(var B=D.length-1;B>-1;B--){if((D[B].recordId===C)&&(D[B].columnId===E)){D.splice(B,1);break;}}D.push({recordId:C,columnId:E});this._aSelections=D;if(!this._oAnchorCell){this._oAnchorCell={record:F,column:this.getColumnById(E)};}YAHOO.util.Dom.addClass(G,YAHOO.widget.DataTable.CLASS_SELECTED);this.fireEvent("cellSelectEvent",{record:F,column:this.getColumnById(E),key:G.yuiColumnKey,el:G});return ;}}};YAHOO.widget.DataTable.prototype.unselectCell=function(A){var F=this.getTdEl(A);if(F){var E=this.getRecord(F);var D=F.yuiColumnId;if(E&&D){var C=this._aSelections||[];var G=E.getId();for(var B=C.length-1;B>-1;B--){if((C[B].recordId===G)&&(C[B].columnId===D)){C.splice(B,1);this._aSelections=C;YAHOO.util.Dom.removeClass(F,YAHOO.widget.DataTable.CLASS_SELECTED);this.fireEvent("cellUnselectEvent",{record:E,column:this.getColumnById(D),key:F.yuiColumnKey,el:F});return ;}}}}};YAHOO.widget.DataTable.prototype.unselectAllCells=function(){var B=this._aSelections||[];for(var A=B.length-1;A>-1;A--){if(B[A].constructor==Object){B.splice(A,1);}}this._aSelections=B;this._unselectAllTdEls();this.fireEvent("unselectAllCellsEvent");};YAHOO.widget.DataTable.prototype.isSelected=function(G){var F,B,A;var C=this.getTrEl(G)||this.getTdEl(G); if(C){return YAHOO.util.Dom.hasClass(C,YAHOO.widget.DataTable.CLASS_SELECTED);}else{var E=this._aSelections;if(E&&E.length>1){if(G instanceof YAHOO.widget.Record){F=G;}else{if(YAHOO.lang.isNumber(G)){F=this.getRecord(G);}}if(F){B=F.getId();if(E.indexOf&&(E.indexOf(B)>-1)){return true;}else{for(A=E.length-1;A>-1;A--){if(E[A]===B){return true;}}}}else{if(G.record&&G.column){B=G.record.getId();var D=G.column.getId();for(A=E.length-1;A>-1;A--){if((E[A].recordId===B)&&(E[A].columnId===D)){return true;}}}}}}return false;};YAHOO.widget.DataTable.prototype.getSelectedRows=function(){var A=[];var C=this._aSelections||[];for(var B=0;B0){for(var A=B.length-1;A>-1;A--){if(YAHOO.lang.isString(B[A])){return B[A];}}}};YAHOO.widget.DataTable.prototype.getLastSelectedCell=function(){var B=this._aSelections;if(B.length>0){for(var A=B.length-1;A>-1;A--){if(B[A].recordId&&B[A].columnId){return B[A];}}}};YAHOO.widget.DataTable.prototype.highlightRow=function(C){var A=this.getTrEl(C);if(A){if(this._sLastHighlightedTrElId){YAHOO.util.Dom.removeClass(this._sLastHighlightedTrElId,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);}var B=this.getRecord(A);YAHOO.util.Dom.addClass(A,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);this._sLastHighlightedTrElId=A.id;this.fireEvent("rowHighlightEvent",{record:B,el:A});return ;}};YAHOO.widget.DataTable.prototype.unhighlightRow=function(C){var A=this.getTrEl(C);if(A){var B=this.getRecord(A);YAHOO.util.Dom.removeClass(A,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);this.fireEvent("rowUnhighlightEvent",{record:B,el:A});return ;}};YAHOO.widget.DataTable.prototype.highlightCell=function(A){var D=this.getTdEl(A);if(D){if(this._sLastHighlightedTdElId){YAHOO.util.Dom.removeClass(this._sLastHighlightedTdElId,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);}var C=this.getRecord(D);var B=D.yuiColumnId;YAHOO.util.Dom.addClass(D,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);this._sLastHighlightedTdElId=D.id;this.fireEvent("cellHighlightEvent",{record:C,column:this.getColumnById(B),key:D.yuiColumnKey,el:D});return ;}};YAHOO.widget.DataTable.prototype.unhighlightCell=function(A){var C=this.getTdEl(A);if(C){var B=this.getRecord(C);YAHOO.util.Dom.removeClass(C,YAHOO.widget.DataTable.CLASS_HIGHLIGHTED);this.fireEvent("cellUnhighlightEvent",{record:B,column:this.getColumnById(C.yuiColumnId),key:C.yuiColumnKey,el:C});return ;}};YAHOO.widget.DataTable.prototype.showCellEditor=function(E,C,G){E=YAHOO.util.Dom.get(E);if(E&&(E.ownerDocument===document)){if(!C||!(C instanceof YAHOO.widget.Record)){C=this.getRecord(E);}if(!G||!(G instanceof YAHOO.widget.Column)){G=this.getColumn(E);}if(C&&G){var D=this._oCellEditor;if(D.isActive){this.cancelCellEditor();}if(!G.editor){return ;}D.cell=E;D.record=C;D.column=G;D.validator=(G.editorOptions&&YAHOO.lang.isFunction(G.editorOptions.validator))?G.editorOptions.validator:null;D.value=C.getData(G.key);var F=D.container;var A=YAHOO.util.Dom.getX(E);var H=YAHOO.util.Dom.getY(E);if(isNaN(A)||isNaN(H)){A=E.offsetLeft+YAHOO.util.Dom.getX(this._elTable)-this._elTbody.scrollLeft;H=E.offsetTop+YAHOO.util.Dom.getY(this._elTable)-this._elTbody.scrollTop+this._elThead.offsetHeight;}F.style.left=A+"px";F.style.top=H+"px";F.style.display="";var B;if(YAHOO.lang.isString(G.editor)){switch(G.editor){case"checkbox":B=YAHOO.widget.DataTable.editCheckbox;break;case"date":B=YAHOO.widget.DataTable.editDate;break;case"dropdown":B=YAHOO.widget.DataTable.editDropdown;break;case"radio":B=YAHOO.widget.DataTable.editRadio;break;case"textarea":B=YAHOO.widget.DataTable.editTextarea;break;case"textbox":B=YAHOO.widget.DataTable.editTextbox;break;default:B=null;}}else{if(YAHOO.lang.isFunction(G.editor)){B=G.editor;}}if(B){B(this._oCellEditor,this);if(!G.editorOptions||!G.editorOptions.disableBtns){this.showCellEditorBtns(F);}this.doBeforeShowCellEditor(this._oCellEditor);D.isActive=true;this.fireEvent("editorShowEvent",{editor:D});return ;}}}};YAHOO.widget.DataTable.prototype.doBeforeShowCellEditor=function(A){};YAHOO.widget.DataTable.prototype.showCellEditorBtns=function(C){var D=C.appendChild(document.createElement("div"));YAHOO.util.Dom.addClass(D,YAHOO.widget.DataTable.CLASS_BUTTON);var B=D.appendChild(document.createElement("button"));YAHOO.util.Dom.addClass(B,YAHOO.widget.DataTable.CLASS_DEFAULT);B.innerHTML="OK";YAHOO.util.Event.addListener(B,"click",this.saveCellEditor,this,true);var A=D.appendChild(document.createElement("button"));A.innerHTML="Cancel";YAHOO.util.Event.addListener(A,"click",this.cancelCellEditor,this,true);};YAHOO.widget.DataTable.prototype.resetCellEditor=function(){var A=this._oCellEditor.container;A.style.display="none";YAHOO.util.Event.purgeElement(A,true);A.innerHTML="";this._oCellEditor.value=null;this._oCellEditor.isActive=false;};YAHOO.widget.DataTable.prototype.saveCellEditor=function(){if(this._oCellEditor.isActive){var A=this._oCellEditor.value;var B=this._oCellEditor.record.getData(this._oCellEditor.column.key);if(this._oCellEditor.validator){this._oCellEditor.value=this._oCellEditor.validator.call(this,A,B,this._oCellEditor);if(this._oCellEditor.value===null){this.resetCellEditor();this.fireEvent("editorRevertEvent",{editor:this._oCellEditor,oldData:B,newData:A});return ;}}this._oRecordSet.updateKey(this._oCellEditor.record,this._oCellEditor.column.key,this._oCellEditor.value);this.formatCell(this._oCellEditor.cell);this.resetCellEditor();this.fireEvent("editorSaveEvent",{editor:this._oCellEditor,oldData:B,newData:A});}else{}};YAHOO.widget.DataTable.prototype.cancelCellEditor=function(){if(this._oCellEditor.isActive){this.resetCellEditor();this.fireEvent("editorCancelEvent",{editor:this._oCellEditor});}else{}};YAHOO.widget.DataTable.editCheckbox=function(J,I){var K=J.cell; var O=J.record;var G=J.column;var A=J.container;var D=O.getData(G.key);if(!YAHOO.lang.isArray(D)){D=[D];}if(G.editorOptions&&YAHOO.lang.isArray(G.editorOptions.checkboxOptions)){var N=G.editorOptions.checkboxOptions;var F,L,E,C,B;for(C=0;C";E=A.appendChild(document.createElement("label"));E.htmlFor=L;E.innerHTML=F;}var H=[];var M;for(C=0;C";D=A.appendChild(document.createElement("label"));D.htmlFor=K;D.innerHTML=B;}for(C=0;C=E;H--){if(!this.isSelected(H)){this.selectRow(H);}}}}else{if(L=E;H--){this.selectRow(H);}}}else{this._oAnchorRecord=O;this.selectRow(O);}}else{if((M!="single")&&G){this._oAnchorRecord=O;if(this.isSelected(O)){this.unselectRow(O);}else{this.selectRow(O);}}else{if(M=="single"){this.unselectAllRows();this.selectRow(O);}else{this._oAnchorRecord=O;this.unselectAllRows();this.selectRow(O); }}}}var B;if(window.getSelection){B=window.getSelection();}else{if(document.getSelection){B=document.getSelection();}else{if(document.selection){B=document.selection;}}}if(B){if(B.empty){B.empty();}else{if(B.removeAllRanges){B.removeAllRanges();}else{if(B.collapse){B.collapse();}}}}}else{}};YAHOO.widget.DataTable.prototype.onEventSelectCell=function(W){var Q=this.get("selectionMode");if((Q=="standard")||(Q=="single")){return ;}var L=W.event;var X=W.target;var G=L.shiftKey;var C=L.ctrlKey||((navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&L.metaKey);var U,T,Z,D,A;var B=this.getTdEl(X);if(B){var R,S,I,Y;var K=this.getTrEl(B);var E=this._elTbody.rows;var N=this.getRecord(K);var a=this._oRecordSet.getRecordIndex(N);var M=this.getColumn(B);var P=M.getKeyIndex();var J=this.getTrIndex(K);var F={record:N,column:M};var H=(this._oAnchorCell)?this._oAnchorCell.record:null;if(H){R=this._oRecordSet.getRecordIndex(H);I=this._oAnchorCell.column;Y=I.getKeyIndex();S=this.getTrIndex(H);if(S===null){if(R=J;U--){for(T=A;T>=D;T--){this.selectCell(E[U].cells[T]);}}}}}}}else{if(R===a){if(YY){this.unselectCell(Z.cells[T]);}}else{if(Z.sectionRowIndex===J){if(TP){this.unselectCell(Z.cells[T]);}}else{if(Z.sectionRowIndex==S){if(T=Y){this.selectCell(Z.cells[T]);}}else{if(Z.sectionRowIndex==J){if(T<=P){this.selectCell(Z.cells[T]);}}else{this.selectCell(Z.cells[T]);}}}}}else{if(Q=="cellblock"){D=Math.min(Y,P);A=Math.max(Y,P);for(U=S;U<=J;U++){for(T=D;T<=A;T++){this.selectCell(E[U].cells[T]);}}}}}else{if(Q=="cellrange"){for(U=J;U<=S;U++){Z=E[U];for(T=0;T=P){this.selectCell(Z.cells[T]);}}else{if(Z.sectionRowIndex==S){if(T<=Y){this.selectCell(Z.cells[T]);}}else{this.selectCell(Z.cells[T]);}}}}}else{if(Q=="cellblock"){D=Math.min(Y,P);A=Math.max(Y,P);for(U=J;U<=S;U++){for(T=D;T<=A;T++){this.selectCell(E[U].cells[T]);}}}}}}}else{this._oAnchorCell=F;this.selectCell(F);}}else{if((Q!="singlecell")&&C){this._oAnchorCell=F;if(this.isSelected(F)){this.unselectCell(F);}else{this.selectCell(F);}}else{this._oAnchorCell=F;this.unselectAllCells();this.selectCell(F);}}}var O;if(window.getSelection){O=window.getSelection();}else{if(document.getSelection){O=document.getSelection();}else{if(document.selection){O=document.selection;}}}if(O){if(O.empty){O.empty();}else{if(O.removeAllRanges){O.removeAllRanges();}else{if(O.collapse){O.collapse();}}}}}else{}};YAHOO.widget.DataTable.prototype.onEventHighlightRow=function(B){var A=B.event;var C=B.target;this.highlightRow(C);};YAHOO.widget.DataTable.prototype.onEventUnhighlightRow=function(B){var A=B.event;var C=B.target;this.unhighlightRow(C);};YAHOO.widget.DataTable.prototype.onEventHighlightCell=function(B){var A=B.event;var C=B.target;this.highlightCell(C);};YAHOO.widget.DataTable.prototype.onEventUnhighlightCell=function(B){var A=B.event;var C=B.target;this.unhighlightCell(C);};YAHOO.widget.DataTable.prototype.onEventFormatCell=function(C){var A=C.event;var F=C.target;var B=F.tagName.toLowerCase();var D=this.getTdEl(F);if(D&&D.yuiColumnKey){var E=this.getColumn(D.yuiColumnKey);this.formatCell(D,this.getRecord(D),E);}else{}};YAHOO.widget.DataTable.prototype.onEventShowCellEditor=function(C){var A=C.event;var E=C.target;var B=E.tagName.toLowerCase();var D=this.getTdEl(E);if(D){this.showCellEditor(D);}else{}};YAHOO.widget.DataTable.prototype.onEventEditCell=function(A){this.onEventShowCellEditor(A);};YAHOO.widget.DataTable.prototype.onEventSaveCellEditor=function(A){this.saveCellEditor();};YAHOO.widget.DataTable.prototype._onDataReturnEnhanceTable=function(B,C){var A=this.doBeforeLoadData(B,C);if(A&&C&&!C.error&&YAHOO.lang.isArray(C.results)){this._oRecordSet.addRecords(C.results);this._initTableEl();if(!this._elTable||!this._elThead||!this._elTbody){return ;}YAHOO.widget.DataTable.superclass.constructor.call(this,this._elContainer,this._oConfigs);if(this._oConfigs.paginator){this.updatePaginator(this._oConfigs.paginator);}this.refreshView();}else{if(A&&C.error){this.showTableMessage(YAHOO.widget.DataTable.MSG_ERROR,YAHOO.widget.DataTable.CLASS_ERROR);}else{if(A){this.showTableMessage(YAHOO.widget.DataTable.MSG_EMPTY,YAHOO.widget.DataTable.CLASS_EMPTY); }}}};YAHOO.widget.DataTable.prototype.onDataReturnInitializeTable=function(B,C){this.fireEvent("dataReturnEvent",{request:B,response:C});var A=this.doBeforeLoadData(B,C);if(A&&C&&!C.error&&YAHOO.lang.isArray(C.results)){this.initializeTable(C.results);}else{if(A&&C.error){this.showTableMessage(YAHOO.widget.DataTable.MSG_ERROR,YAHOO.widget.DataTable.CLASS_ERROR);}else{if(A){this.showTableMessage(YAHOO.widget.DataTable.MSG_EMPTY,YAHOO.widget.DataTable.CLASS_EMPTY);}}}};YAHOO.widget.DataTable.prototype.onDataReturnReplaceRows=function(A,B){this.onDataReturnInitializeTable(A,B);};YAHOO.widget.DataTable.prototype.onDataReturnAppendRows=function(B,C){this.fireEvent("dataReturnEvent",{request:B,response:C});var A=this.doBeforeLoadData(B,C);if(A&&C&&!C.error&&YAHOO.lang.isArray(C.results)){this.addRows(C.results);}else{if(A&&C.error){this.showTableMessage(YAHOO.widget.DataTable.MSG_ERROR,YAHOO.widget.DataTable.CLASS_ERROR);}}};YAHOO.widget.DataTable.prototype.onDataReturnInsertRows=function(B,C){this.fireEvent("dataReturnEvent",{request:B,response:C});var A=this.doBeforeLoadData(B,C);if(A&&C&&!C.error&&YAHOO.lang.isArray(C.results)){this.addRows(C.results,0);}else{if(A&&C.error){this.showTableMessage(YAHOO.widget.DataTable.MSG_ERROR,YAHOO.widget.DataTable.CLASS_ERROR);}}};YAHOO.widget.ColumnSet=function(F){this._sName="instance"+YAHOO.widget.ColumnSet._nCount;var K=[];var A=[];var I=[];var E=[];var C=-1;var H=this;var B=function(N,T){C++;if(!K[C]){K[C]=[];}for(var P=0;PN){N=T;}}}};for(var L=0;L-1;B--){if(A[B]._sId===C){return A[B];}}}return null;};YAHOO.widget.ColumnSet.prototype.getColumn=function(C){if(YAHOO.lang.isNumber(C)&&this.keys[C]){return this.keys[C];}else{if(YAHOO.lang.isString(C)){var A=this.flat;var D=[];for(var B=0;B1){return D;}}}}return null;};YAHOO.widget.Column=function(B){if(B&&(B.constructor==Object)){for(var A in B){if(A){this[A]=B[A];}}}};YAHOO.widget.Column._nCount=0;YAHOO.widget.Column.prototype._sName=null;YAHOO.widget.Column.prototype._sId=null;YAHOO.widget.Column.prototype._nKeyIndex=null;YAHOO.widget.Column.prototype._colspan=1;YAHOO.widget.Column.prototype._rowspan=1;YAHOO.widget.Column.prototype._parent=null;YAHOO.widget.Column.prototype._width=null;YAHOO.widget.Column.prototype._minWidth=null;YAHOO.widget.Column.prototype.key=null;YAHOO.widget.Column.prototype.label=null;YAHOO.widget.Column.prototype.abbr=null;YAHOO.widget.Column.prototype.children=null;YAHOO.widget.Column.prototype.width=null;YAHOO.widget.Column.prototype.className=null;YAHOO.widget.Column.prototype.formatter=null;YAHOO.widget.Column.prototype.editor=null;YAHOO.widget.Column.prototype.editorOptions=null;YAHOO.widget.Column.prototype.resizeable=false;YAHOO.widget.Column.prototype.sortable=false;YAHOO.widget.Column.prototype.sortOptions=null;YAHOO.widget.Column.prototype.toString=function(){return this._sName;};YAHOO.widget.Column.prototype.getId=function(){return this._sId;};YAHOO.widget.Column.prototype.getKey=function(){return this.key;};YAHOO.widget.Column.prototype.getKeyIndex=function(){return this._nKeyIndex;};YAHOO.widget.Column.prototype.getParent=function(){return this._parent;};YAHOO.widget.Column.prototype.getColspan=function(){return this._colspan;};YAHOO.widget.Column.prototype.getColSpan=function(){return this.getColspan();};YAHOO.widget.Column.prototype.getRowspan=function(){return this._rowspan;};YAHOO.widget.Column.prototype.getIndex=function(){return this.getKeyIndex();};YAHOO.widget.Column.prototype.format=function(){};YAHOO.widget.Column.formatCheckbox=function(B,A,C,D){YAHOO.widget.DataTable.formatCheckbox(B,A,C,D); };YAHOO.widget.Column.formatCurrency=function(B,A,C,D){YAHOO.widget.DataTable.formatCurrency(B,A,C,D);};YAHOO.widget.Column.formatDate=function(B,A,C,D){YAHOO.widget.DataTable.formatDate(B,A,C,D);};YAHOO.widget.Column.formatEmail=function(B,A,C,D){YAHOO.widget.DataTable.formatEmail(B,A,C,D);};YAHOO.widget.Column.formatLink=function(B,A,C,D){YAHOO.widget.DataTable.formatLink(B,A,C,D);};YAHOO.widget.Column.formatNumber=function(B,A,C,D){YAHOO.widget.DataTable.formatNumber(B,A,C,D);};YAHOO.widget.Column.formatSelect=function(B,A,C,D){YAHOO.widget.DataTable.formatDropdown(B,A,C,D);};YAHOO.util.Sort={compare:function(B,A,C){if((B===null)||(typeof B=="undefined")){if((A===null)||(typeof A=="undefined")){return 0;}else{return 1;}}else{if((A===null)||(typeof A=="undefined")){return -1;}}if(B.constructor==String){B=B.toLowerCase();}if(A.constructor==String){A=A.toLowerCase();}if(BA){return(C)?-1:1;}else{return 0;}}}};YAHOO.util.ColumnResizer=function(F,E,D,B,A,C){if(F&&E&&D&&B){this.datatable=F;this.column=E;this.cell=D;this.init(B,A,C);this.setYConstraint(0,0);}else{}};if(YAHOO.util.DD){YAHOO.extend(YAHOO.util.ColumnResizer,YAHOO.util.DD);}YAHOO.util.ColumnResizer.prototype.onMouseDown=function(F){this.startWidth=this.cell.offsetWidth;this.startPos=YAHOO.util.Dom.getX(this.getDragEl());if(this.datatable.fixedWidth){var B=YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_LABEL,"span",this.cell)[0];this.minWidth=B.offsetWidth+6;var A=this.cell.nextSibling;var D=YAHOO.util.Dom.getElementsByClassName(YAHOO.widget.DataTable.CLASS_LABEL,"span",A)[0];this.sibMinWidth=D.offsetWidth+6;var E=((this.startWidth-this.minWidth)<0)?0:(this.startWidth-this.minWidth);var C=((A.offsetWidth-this.sibMinWidth)<0)?0:(A.offsetWidth-this.sibMinWidth);this.setXConstraint(E,C);}};YAHOO.util.ColumnResizer.prototype.onMouseUp=function(B){var A=YAHOO.util.Dom.get(this.handleElId).style;A.left="auto";A.right=0;A.marginRight="-6px";A.width="6px";this.datatable.fireEvent("columnResizeEvent",{column:this.column,target:this.cell});};YAHOO.util.ColumnResizer.prototype.onDrag=function(F){try{var G=YAHOO.util.Dom.getX(this.getDragEl());var E=G-this.startPos;var D=this.startWidth+E;if(D-1)){this._records.splice(A,0,B);}else{A=this.getLength();this._records.push(B);}this._length++;return B;};YAHOO.widget.RecordSet.prototype._deleteRecord=function(B,A){if(!YAHOO.lang.isNumber(A)||(A<0)){A=1;}this._records.splice(B,A);this._length=this._length-A;};YAHOO.widget.RecordSet.prototype.toString=function(){return this._sName;};YAHOO.widget.RecordSet.prototype.getLength=function(){return this._length;};YAHOO.widget.RecordSet.prototype.getRecord=function(A){var B;if(A instanceof YAHOO.widget.Record){for(B=0;B-1)&&(A-1;A--){if(B.getId()===this._records[A].getId()){return A;}}}return null;};YAHOO.widget.RecordSet.prototype.addRecord=function(C,A){if(C&&(C.constructor==Object)){var B=this._addRecord(C,A);this.fireEvent("recordAddEvent",{record:B,data:C});return B;}else{return null;}};YAHOO.widget.RecordSet.prototype.addRecords=function(C,B){if(YAHOO.lang.isArray(C)){var F=[];for(var D=0;D-1)&&(B-1)&&(C0)?C:0;}YAHOO.util.Dom.setStyle(this.getEl(),A,C+B);},getAttribute:function(A){var C=this.getEl();var E=YAHOO.util.Dom.getStyle(C,A);if(E!=="auto"&&!this.patterns.offsetUnit.test(E)){return parseFloat(E);}var B=this.patterns.offsetAttribute.exec(A)||[];var F=!!(B[3]);var D=!!(B[2]);if(D||(YAHOO.util.Dom.getStyle(C,"position")=="absolute"&&F)){E=C["offset"+B[0].charAt(0).toUpperCase()+B[0].substr(1)];}else{E=0;}return E;},getDefaultUnit:function(A){if(this.patterns.defaultUnit.test(A)){return"px";}return"";},setRuntimeAttribute:function(B){var G;var C;var D=this.attributes;this.runtimeAttributes[B]={};var F=function(H){return(typeof H!=="undefined");};if(!F(D[B]["to"])&&!F(D[B]["by"])){return false;}G=(F(D[B]["from"]))?D[B]["from"]:this.getAttribute(B);if(F(D[B]["to"])){C=D[B]["to"];}else{if(F(D[B]["by"])){if(G.constructor==Array){C=[];for(var E=0,A=G.length;E0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B0&&!(K[0] instanceof Array)){K=[K];}else{var J=[];for(L=0,N=K.length;L0){this.runtimeAttributes[O]=this.runtimeAttributes[O].concat(K);}this.runtimeAttributes[O][this.runtimeAttributes[O].length]=H;}else{E.setRuntimeAttribute.call(this,O);}};var A=function(F,H){var G=D.Dom.getXY(this.getEl());F=[F[0]-G[0]+H[0],F[1]-G[1]+H[1]];return F;};var C=function(F){return(typeof F!=="undefined");};})();(function(){YAHOO.util.Scroll=function(E,D,F,G){if(E){YAHOO.util.Scroll.superclass.constructor.call(this,E,D,F,G);}};YAHOO.extend(YAHOO.util.Scroll,YAHOO.util.ColorAnim);var B=YAHOO.util;var C=B.Scroll.superclass;var A=B.Scroll.prototype;A.toString=function(){var D=this.getEl();var E=D.id||D.tagName;return("Scroll "+E);};A.doMethod=function(D,G,E){var F=null;if(D=="scroll"){F=[this.method(this.currentFrame,G[0],E[0]-G[0],this.totalFrames),this.method(this.currentFrame,G[1],E[1]-G[1],this.totalFrames)]; }else{F=C.doMethod.call(this,D,G,E);}return F;};A.getAttribute=function(D){var F=null;var E=this.getEl();if(D=="scroll"){F=[E.scrollLeft,E.scrollTop];}else{F=C.getAttribute.call(this,D);}return F;};A.setAttribute=function(D,G,F){var E=this.getEl();if(D=="scroll"){E.scrollLeft=G[0];E.scrollTop=G[1];}else{C.setAttribute.call(this,D,G,F);}};})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.3.1",build:"541"}); /* Copyright (c) 2007, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 2.3.1 */ (function(){YAHOO.util.Config=function(D){if(D){this.init(D);}if(!D){}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=("
");O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND); this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(V,U){var R,T,W;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof V=="string"){R=V;V=document.getElementById(V);if(!V){V=(K()).cloneNode(false);V.id=R;}}this.element=V;if(V.id){this.id=V.id;}W=this.element.firstChild;if(W){var Q=false,P=false,S=false;do{if(1==W.nodeType){if(!Q&&F.hasClass(W,G.CSS_HEADER)){this.header=W;Q=true;}else{if(!P&&F.hasClass(W,G.CSS_BODY)){this.body=W;P=true;}else{if(!S&&F.hasClass(W,G.CSS_FOOTER)){this.footer=W;S=true;}}}}}while((W=W.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(U){this.cfg.applyConfig(U,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var P,Q,S;function T(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){Q=F.get("_yuiResizeMonitor");if(!Q){Q=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){Q.src=G.RESIZE_MONITOR_SECURE_URL;}if(YAHOO.env.ua.gecko){S="";Q.src="data:text/html;charset=utf-8,"+encodeURIComponent(S);}Q.id="_yuiResizeMonitor";Q.style.position="absolute";Q.style.visibility="hidden";var R=document.body.firstChild;if(R){document.body.insertBefore(Q,R);}else{document.body.appendChild(Q);}Q.style.width="10em";Q.style.height="10em";Q.style.top=(-1*Q.offsetHeight)+"px";Q.style.left=(-1*Q.offsetWidth)+"px";Q.style.borderWidth="0";Q.style.visibility="visible";if(YAHOO.env.ua.webkit){P=Q.contentWindow.document;P.open();P.close();}}if(Q&&Q.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(!M.on(Q.contentWindow,"resize",T)){M.on(Q,"resize",T);}G.textResizeInitialized=true;}this.resizeMonitor=Q;}}},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(typeof Q=="string"){P.innerHTML=Q;}else{P.innerHTML="";P.appendChild(Q);}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true); P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length; for(Y=0;YY){W=Y;}}if(VK){V=K;}}this.cfg.setProperty("x",W,true);this.cfg.setProperty("y",V,true);this.cfg.setProperty("xy",[W,V],true);},center:function(){var Q=D.getDocumentScrollLeft(),O=D.getDocumentScrollTop(),L=D.getClientWidth(),P=D.getClientHeight(),N=this.element.offsetWidth,M=this.element.offsetHeight,K=(L/2)-(N/2)+Q,R=(P/2)-(M/2)+O;this.cfg.setProperty("xy",[parseInt(K,10),parseInt(R,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var N=[],M=this.element;function P(T,S){var V=D.getStyle(T,"zIndex"),U=D.getStyle(S,"zIndex"),R=(!V||isNaN(V))?0:parseInt(V,10),Q=(!U||isNaN(U))?0:parseInt(U,10);if(R>Q){return -1;}else{if(R0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H0){return true;}}else{return false;}}},bringToTop:function(K){var H=this.find(K),J,G,I;if(H){I=this.overlays;I.sort(this.compareZIndexDesc);G=I[0];if(G){J=E.getStyle(G.element,"zIndex");if(!isNaN(J)&&G!=H){H.cfg.setProperty("zIndex",(parseInt(J,10)+2));}I.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(L,K){YAHOO.widget.Tooltip.superclass.constructor.call(this,L,K);};var D=YAHOO.lang,J=YAHOO.util.Event,B=YAHOO.util.Dom,F=YAHOO.widget.Tooltip,E,G={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:D.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:D.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:D.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:D.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"}}; F.CSS_TOOLTIP="yui-tt";function H(L,K,M){var P=M[0],N=M[1],O=this.cfg,Q=O.getProperty("width");if(Q==N){O.setProperty("width",P);}this.unsubscribe("hide",this._onHide,M);}function C(L,K){var M=document.body,Q=this.cfg,P=Q.getProperty("width"),N,O;if((!P||P=="auto")&&(Q.getProperty("container")!=M||Q.getProperty("x")>=B.getViewportWidth()||Q.getProperty("y")>=B.getViewportHeight())){O=this.element.cloneNode(true);O.style.visibility="hidden";O.style.top="0px";O.style.left="0px";M.appendChild(O);N=(O.offsetWidth+"px");M.removeChild(O);O=null;Q.setProperty("width",N);Q.refireEvent("xy");this.subscribe("hide",H,[(P||""),N]);}}function A(L,K,M){this.render(M);}function I(){J.onDOMReady(A,this.cfg.getProperty("container"),this);}YAHOO.extend(F,YAHOO.widget.Overlay,{init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);B.addClass(this.element,F.CSS_TOOLTIP);if(K){this.cfg.applyConfig(K,true);}this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("beforeShow",C);this.subscribe("init",I);this.subscribe("render",this.onRender);this.initEvent.fire(F);},initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.cfg.addProperty(G.PREVENT_OVERLAP.key,{value:G.PREVENT_OVERLAP.value,validator:G.PREVENT_OVERLAP.validator,supercedes:G.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(G.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:G.SHOW_DELAY.validator});this.cfg.addProperty(G.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:G.AUTO_DISMISS_DELAY.value,validator:G.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(G.HIDE_DELAY.key,{handler:this.configHideDelay,value:G.HIDE_DELAY.value,validator:G.HIDE_DELAY.validator});this.cfg.addProperty(G.TEXT.key,{handler:this.configText,suppressEvent:G.TEXT.suppressEvent});this.cfg.addProperty(G.CONTAINER.key,{handler:this.configContainer,value:document.body});},configText:function(L,K,M){var N=K[0];if(N){this.setBody(N);}},configContainer:function(M,L,N){var K=L[0];if(typeof K=="string"){this.cfg.setProperty("container",document.getElementById(K),true);}},_removeEventListeners:function(){var N=this._context,K,M,L;if(N){K=N.length;if(K>0){L=K-1;do{M=N[L];J.removeListener(M,"mouseover",this.onContextMouseOver);J.removeListener(M,"mousemove",this.onContextMouseMove);J.removeListener(M,"mouseout",this.onContextMouseOut);}while(L--);}}},configContext:function(P,L,Q){var O=L[0],R,K,N,M;if(O){if(!(O instanceof Array)){if(typeof O=="string"){this.cfg.setProperty("context",[document.getElementById(O)],true);}else{this.cfg.setProperty("context",[O],true);}O=this.cfg.getProperty("context");}this._removeEventListeners();this._context=O;R=this._context;if(R){K=R.length;if(K>0){M=K-1;do{N=R[M];J.on(N,"mouseover",this.onContextMouseOver,this);J.on(N,"mousemove",this.onContextMouseMove,this);J.on(N,"mouseout",this.onContextMouseOut,this);}while(M--);}}}},onContextMouseMove:function(L,K){K.pageX=J.getPageX(L);K.pageY=J.getPageY(L);},onContextMouseOver:function(M,L){var K=this;if(L.hideProcId){clearTimeout(L.hideProcId);L.hideProcId=null;}J.on(K,"mousemove",L.onContextMouseMove,L);if(K.title){L._tempTitle=K.title;K.title="";}L.showProcId=L.doShow(M,K);},onContextMouseOut:function(M,L){var K=this;if(L._tempTitle){K.title=L._tempTitle;L._tempTitle=null;}if(L.showProcId){clearTimeout(L.showProcId);L.showProcId=null;}if(L.hideProcId){clearTimeout(L.hideProcId);L.hideProcId=null;}L.hideProcId=setTimeout(function(){L.hide();},L.cfg.getProperty("hidedelay"));},doShow:function(M,K){var N=25,L=this;if(YAHOO.env.ua.opera&&K.tagName&&K.tagName.toUpperCase()=="A"){N+=12;}return setTimeout(function(){if(L._tempTitle){L.setBody(L._tempTitle);}else{L.cfg.refireEvent("text");}L.moveTo(L.pageX,L.pageY+N);if(L.cfg.getProperty("preventoverlap")){L.preventOverlap(L.pageX,L.pageY);}J.removeListener(K,"mousemove",L.onContextMouseMove);L.show();L.hideProcId=L.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var K=this;return setTimeout(function(){K.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(O,N){var K=this.element.offsetHeight,M=new YAHOO.util.Point(O,N),L=B.getRegion(this.element);L.top-=5;L.left-=5;L.right+=5;L.bottom+=5;if(L.contains(M)){this.cfg.setProperty("y",(N-K-5));}},onRender:function(O,N){function P(){var S=this.element,R=this._shadow;if(R){R.style.width=(S.offsetWidth+6)+"px";R.style.height=(S.offsetHeight+1)+"px";}}function L(){B.addClass(this._shadow,"yui-tt-shadow-visible");}function K(){B.removeClass(this._shadow,"yui-tt-shadow-visible");}function Q(){var T=this._shadow,S,R,V,U;if(!T){S=this.element;R=YAHOO.widget.Module;V=YAHOO.env.ua.ie;U=this;if(!E){E=document.createElement("div");E.className="yui-tt-shadow";}T=E.cloneNode(false);S.appendChild(T);this._shadow=T;L.call(this);this.subscribe("beforeShow",L);this.subscribe("beforeHide",K);if(V==6||(V==7&&document.compatMode=="BackCompat")){window.setTimeout(function(){P.call(U);},0);this.cfg.subscribeToConfigEvent("width",P);this.cfg.subscribeToConfigEvent("height",P);this.subscribe("changeContent",P);R.textResizeEvent.subscribe(P,this,true);this.subscribe("destroy",function(){R.textResizeEvent.unsubscribe(P,this);});}}}function M(){Q.call(this);this.unsubscribe("beforeShow",M);}if(this.cfg.getProperty("visible")){Q.call(this);}else{this.subscribe("beforeShow",M);}},destroy:function(){this._removeEventListeners();F.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(U,T){YAHOO.widget.Panel.superclass.constructor.call(this,U,T);};var G=YAHOO.lang,N=YAHOO.util.DD,A=YAHOO.util.Dom,S=YAHOO.util.Event,I=YAHOO.widget.Overlay,L=YAHOO.util.CustomEvent,J=YAHOO.util.Config,O=YAHOO.widget.Panel,H,Q,D,E={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},M={"CLOSE":{key:"close",value:true,validator:G.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(N?true:false),validator:G.isBoolean,supercedes:["visible"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:G.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]}}; O.CSS_PANEL="yui-panel";O.CSS_PANEL_CONTAINER="yui-panel-container";function K(U,T){if(!this.header){this.setHeader(" ");}}function R(U,T,V){var Y=V[0],W=V[1],X=this.cfg,Z=X.getProperty("width");if(Z==W){X.setProperty("width",Y);}this.unsubscribe("hide",R,V);}function C(U,T){var Y=YAHOO.env.ua.ie,X,W,V;if(Y==6||(Y==7&&document.compatMode=="BackCompat")){X=this.cfg;W=X.getProperty("width");if(!W||W=="auto"){V=(this.element.offsetWidth+"px");X.setProperty("width",V);this.subscribe("hide",R,[(W||""),V]);}}}function F(){this.blur();}function P(V,U){var W=this;function T(Z){var Y=Z.tagName.toUpperCase(),X=false;switch(Y){case"A":case"BUTTON":case"SELECT":case"TEXTAREA":if(!A.isAncestor(W.element,Z)){S.on(Z,"focus",F,Z,true);X=true;}break;case"INPUT":if(Z.type!="hidden"&&!A.isAncestor(W.element,Z)){S.on(Z,"focus",F,Z,true);X=true;}break;}return X;}this.focusableElements=A.getElementsBy(T);}function B(V,U){var Y=this.focusableElements,T=Y.length,W,X;for(X=0;X0){K=L-1;do{M=N[K];if(YAHOO.widget.Button&&M instanceof YAHOO.widget.Button){M.destroy();}else{if(M.tagName.toUpperCase()=="BUTTON"){J.purgeElement(M);J.purgeElement(M,false);}}}while(K--);}}}YAHOO.extend(F,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty(G.POST_METHOD.key,{handler:this.configPostMethod,value:G.POST_METHOD.value,validator:function(K){if(K!="form"&&K!="async"&&K!="none"&&K!="manual"){return false;}else{return true;}}});this.cfg.addProperty(G.BUTTONS.key,{handler:this.configButtons,value:G.BUTTONS.value});},initEvents:function(){F.superclass.initEvents.call(this);var K=I.LIST;this.beforeSubmitEvent=this.createEvent(A.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=K;this.submitEvent=this.createEvent(A.SUBMIT);this.submitEvent.signature=K;this.manualSubmitEvent=this.createEvent(A.MANUAL_SUBMIT);this.manualSubmitEvent.signature=K;this.asyncSubmitEvent=this.createEvent(A.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=K;this.formSubmitEvent=this.createEvent(A.FORM_SUBMIT);this.formSubmitEvent.signature=K;this.cancelEvent=this.createEvent(A.CANCEL);this.cancelEvent.signature=K;},init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);D.addClass(this.element,F.CSS_DIALOG);this.cfg.setProperty("visible",false);if(K){this.cfg.applyConfig(K,true);}this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(F);},doSubmit:function(){var Q=this.form,O=false,N=false,P,K,M,L;switch(this.cfg.getProperty("postmethod")){case"async":P=Q.elements;K=P.length;if(K>0){M=K-1;do{if(P[M].type=="file"){O=true;break;}}while(M--);}if(O&&YAHOO.env.ua.ie&&this.isSecure){N=true;}L=(Q.getAttribute("method")||"POST").toUpperCase(); H.setForm(Q,O,N);H.asyncRequest(L,Q.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":Q.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},registerForm:function(){var M=this.element.getElementsByTagName("form")[0],L=this,K,N;if(this.form){if(this.form==M&&D.isAncestor(this.element,this.form)){return ;}else{J.purgeElement(this.form);this.form=null;}}if(!M){M=document.createElement("form");M.name="frm_"+this.id;this.body.appendChild(M);}if(M){this.form=M;J.on(M,"submit",function(O){J.stopEvent(O);this.submit();this.form.blur();},this,true);this.firstFormElement=function(){var Q,P,O=M.elements.length;for(Q=0;Q=0;Q--){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();if(this.cfg.getProperty("modal")){K=this.firstFormElement||this.firstButton;if(K){this.preventBackTab=new B(K,{shift:true,keys:9},{fn:L.focusLast,scope:L,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}N=this.lastButton||this.lastFormElement;if(N){this.preventTabOut=new B(N,{shift:false,keys:9},{fn:L.focusFirst,scope:L,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}}},configClose:function(M,K,N){var O=K[0];function L(Q,P){P.cancel();}if(O){if(!this.close){this.close=document.createElement("div");D.addClass(this.close,"container-close");this.close.innerHTML=" ";this.innerElement.appendChild(this.close);J.on(this.close,"click",L,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}},configButtons:function(U,T,O){var P=YAHOO.widget.Button,W=T[0],M=this.innerElement,V,R,L,S,Q,K,N;C.call(this);this._aButtons=null;if(E.isArray(W)){Q=document.createElement("span");Q.className="button-group";S=W.length;this._aButtons=[];for(N=0;N0){K=(M-1);do{O=P[K];if(O){L=O.htmlButton;if(L){try{L.blur();}catch(N){}}}}while(K--);}}},focusFirstButton:function(){var N=this.cfg.getProperty("buttons"),M,K;if(N&&E.isArray(N)){M=N[0];if(M){K=M.htmlButton;if(K){try{K.focus();}catch(L){}}}}},focusLastButton:function(){var O=this.cfg.getProperty("buttons"),L,N,K;if(O&&E.isArray(O)){L=O.length;if(L>0){N=O[(L-1)];if(N){K=N.htmlButton;if(K){try{K.focus();}catch(M){}}}}}},configPostMethod:function(M,L,N){var K=L[0];this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var a=this.form,M,T,W,O,U,R,Q,L,X,N,Y,b,K,P,c,Z,V;function S(e){var d=e.tagName.toUpperCase();return((d=="INPUT"||d=="TEXTAREA"||d=="SELECT")&&e.name==O);}if(a){M=a.elements;T=M.length;W={};for(Z=0;Z0){if(R==1){U=U[0];Q=U.type;L=U.tagName.toUpperCase();switch(L){case"INPUT":if(Q=="checkbox"){W[O]=U.checked;}else{if(Q!="radio"){W[O]=U.value;}}break;case"TEXTAREA":W[O]=U.value;break;case"SELECT":X=U.options;N=X.length;Y=[];for(V=0;V0){L=K[0];if(L){J.purgeElement(L);if(L.parentNode){L.parentNode.removeChild(L);}this.form=null;}}F.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}()); (function(){YAHOO.widget.SimpleDialog=function(E,D){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,E,D);};var C=YAHOO.util.Dom,B=YAHOO.widget.SimpleDialog,A={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};B.ICON_BLOCK="blckicon";B.ICON_ALARM="alrticon";B.ICON_HELP="hlpicon";B.ICON_INFO="infoicon";B.ICON_WARN="warnicon";B.ICON_TIP="tipicon";B.ICON_CSS_CLASSNAME="yui-icon";B.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(B,YAHOO.widget.Dialog,{initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(A.ICON.key,{handler:this.configIcon,value:A.ICON.value,suppressEvent:A.ICON.suppressEvent});this.cfg.addProperty(A.TEXT.key,{handler:this.configText,value:A.TEXT.value,suppressEvent:A.TEXT.suppressEvent,supercedes:A.TEXT.supercedes});},init:function(E,D){B.superclass.init.call(this,E);this.beforeInitEvent.fire(B);C.addClass(this.element,B.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(D){this.cfg.applyConfig(D,true);}this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(B);},registerForm:function(){B.superclass.registerForm.call(this);this.form.innerHTML+="";},configIcon:function(F,E,J){var K=E[0],D=this.body,I=B.ICON_CSS_CLASSNAME,H,G;if(K&&K!="none"){H=C.getElementsByClassName(I,"*",D);if(H){G=H.parentNode;if(G){G.removeChild(H);H=null;}}if(K.indexOf(".")==-1){H=document.createElement("span");H.className=(I+" "+K);H.innerHTML=" ";}else{H=document.createElement("img");H.src=(this.imageRoot+K);H.className=I;}if(H){D.insertBefore(H,D.firstChild);}}},configText:function(E,D,F){var G=D[0];if(G){this.setBody(G);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,F){var G=new A(E,{attributes:{opacity:{from:0,to:1}},duration:F,method:C.easeIn},{attributes:{opacity:{to:0}},duration:F,method:C.easeOut},E.element);G.handleStartAnimateIn=function(I,H,J){B.addClass(J.overlay.element,"hide-select");if(!J.overlay.underlay){J.overlay.cfg.refireEvent("underlay");}if(J.overlay.underlay){J.initialUnderlayOpacity=B.getStyle(J.overlay.underlay,"opacity");J.overlay.underlay.style.filter=null;}B.setStyle(J.overlay.element,"visibility","visible");B.setStyle(J.overlay.element,"opacity",0);};G.handleCompleteAnimateIn=function(I,H,J){B.removeClass(J.overlay.element,"hide-select");if(J.overlay.element.style.filter){J.overlay.element.style.filter=null;}if(J.overlay.underlay){B.setStyle(J.overlay.underlay,"opacity",J.initialUnderlayOpacity);}J.overlay.cfg.refireEvent("iframe");J.animateInCompleteEvent.fire();};G.handleStartAnimateOut=function(I,H,J){B.addClass(J.overlay.element,"hide-select");if(J.overlay.underlay){J.overlay.underlay.style.filter=null;}};G.handleCompleteAnimateOut=function(I,H,J){B.removeClass(J.overlay.element,"hide-select");if(J.overlay.element.style.filter){J.overlay.element.style.filter=null;}B.setStyle(J.overlay.element,"visibility","hidden");B.setStyle(J.overlay.element,"opacity",1);J.overlay.cfg.refireEvent("iframe");J.animateOutCompleteEvent.fire();};G.init();return G;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M ";}var D=document.createElement("div");var B=D.style;B.className=E+C[0];B.position="absolute";B.height="1px";B.width="1px";B.top="-1000px";B.left="-1000px";D.innerHTML=G.join("");document.body.appendChild(D);YAHOO.widget.TreeView.removeHandler(window,"load",YAHOO.widget.TreeView.preload);};YAHOO.widget.TreeView.addHandler(window,"load",YAHOO.widget.TreeView.preload);YAHOO.widget.Node=function(C,B,A){if(C){this.init(C,B,A);}};YAHOO.widget.Node.prototype={index:0,children:null,tree:null,data:null,parent:null,depth:-1,href:null,target:"_self",expanded:false,multiExpand:true,renderHidden:false,childrenRendered:false,dynamicLoadComplete:false,previousSibling:null,nextSibling:null,_dynLoad:false,dataLoader:null,isLoading:false,hasIcon:true,iconMode:0,nowrap:false,_type:"Node",init:function(C,B,A){this.data=C;this.children=[];this.index=YAHOO.widget.TreeView.nodeCount;++YAHOO.widget.TreeView.nodeCount;this.expanded=A;this.createEvent("parentChange",this);if(B){B.appendChild(this);}},applyParent:function(B){if(!B){return false;}this.tree=B.tree;this.parent=B;this.depth=B.depth+1;if(!this.href){this.href="javascript:"+this.getToggleLink();}this.tree.regNode(this);B.childrenRendered=false;for(var C=0,A=this.children.length;C0||(A&&this.isDynamic()&&!this.dynamicLoadComplete));},toggle:function(){if(!this.tree.locked&&(this.hasChildren(true)||this.isDynamic())){if(this.expanded){this.collapse();}else{this.expand();}}},getHtml:function(){this.childrenRendered=false;var A=[];A[A.length]="
";A[A.length]=this.getNodeHtml();A[A.length]=this.getChildrenHtml();A[A.length]="
";return A.join("");},getChildrenHtml:function(){var A=[];A[A.length]="
";if((this.hasChildren(true)&&this.expanded)||(this.renderHidden&&!this.isDynamic())){A[A.length]=this.renderChildren();}A[A.length]="
";return A.join("");},renderChildren:function(){var A=this;if(this.isDynamic()&&!this.dynamicLoadComplete){this.isLoading=true;this.tree.locked=true;if(this.dataLoader){setTimeout(function(){A.dataLoader(A,function(){A.loadComplete();});},10);}else{if(this.tree.root.dataLoader){setTimeout(function(){A.tree.root.dataLoader(A,function(){A.loadComplete();});},10);}else{return"Error: data loader not found or not specified.";}}return"";}else{return this.completeRender();}},completeRender:function(){var B=[];for(var A=0;A=this.depth||B<0){return null;}var A=this.parent;while(A.depth>B){A=A.parent;}return A;},getDepthStyle:function(A){return(this.getAncestor(A).nextSibling)?"ygtvdepthcell":"ygtvblankdepthcell";},getNodeHtml:function(){return"";},refresh:function(){this.getChildrenEl().innerHTML=this.completeRender();if(this.hasIcon){var A=this.getToggleEl();if(A){A.className=this.getStyle();}}},toString:function(){return"Node ("+this.index+")"; }};YAHOO.augment(YAHOO.widget.Node,YAHOO.util.EventProvider);YAHOO.widget.TextNode=function(C,B,A){if(C){this.init(C,B,A);this.setUpLabel(C);}};YAHOO.extend(YAHOO.widget.TextNode,YAHOO.widget.Node,{labelStyle:"ygtvlabel",labelElId:null,label:null,textNodeParentChange:function(){if(this.tree&&!this.tree.hasEvent("labelClick")){this.tree.createEvent("labelClick",this.tree);}},setUpLabel:function(A){this.textNodeParentChange();this.subscribe("parentChange",this.textNodeParentChange);if(typeof A=="string"){A={label:A};}this.label=A.label;this.data.label=A.label;if(A.href){this.href=A.href;}if(A.target){this.target=A.target;}if(A.style){this.labelStyle=A.style;}this.labelElId="ygtvlabelel"+this.index;},getLabelEl:function(){return document.getElementById(this.labelElId);},getNodeHtml:function(){var C=[];C[C.length]="";C[C.length]="";for(var A=0;A
";}var B="YAHOO.widget.TreeView.getNode('"+this.tree.id+"',"+this.index+")";C[C.length]="";C[C.length]="
";C[C.length]="
";C[C.length]="";C[C.length]="
";C[C.length]="";C[C.length]="
";C[C.length]=this.label;C[C.length]="";C[C.length]="
";return C.join("");},onLabelClick:function(A){return A.tree.fireEvent("labelClick",A);},toString:function(){return"TextNode ("+this.index+") "+this.label;}});YAHOO.widget.RootNode=function(A){this.init(null,null,true);this.tree=A;};YAHOO.extend(YAHOO.widget.RootNode,YAHOO.widget.Node,{getNodeHtml:function(){return"";},toString:function(){return"RootNode";},loadComplete:function(){this.tree.draw();},collapse:function(){},expand:function(){}});YAHOO.widget.HTMLNode=function(D,C,B,A){if(D){this.init(D,C,B);this.initContent(D,A);}};YAHOO.extend(YAHOO.widget.HTMLNode,YAHOO.widget.Node,{contentStyle:"ygtvhtml",contentElId:null,content:null,initContent:function(B,A){this.setHtml(B);this.contentElId="ygtvcontentel"+this.index;this.hasIcon=A;},setHtml:function(B){this.data=B;this.html=(typeof B==="string")?B:B.html;var A=this.getContentEl();if(A){A.innerHTML=this.html;}},getContentEl:function(){return document.getElementById(this.contentElId);},getNodeHtml:function(){var B=[];B[B.length]="";B[B.length]="";for(var A=0;A
";}if(this.hasIcon){B[B.length]="
";}B[B.length]="";B[B.length]="
";B[B.length]="
";return B.join("");},toString:function(){return"HTMLNode ("+this.index+")";}});YAHOO.widget.MenuNode=function(C,B,A){if(C){this.init(C,B,A);this.setUpLabel(C);}this.multiExpand=false;};YAHOO.extend(YAHOO.widget.MenuNode,YAHOO.widget.TextNode,{toString:function(){return"MenuNode ("+this.index+") "+this.label;}});YAHOO.widget.TVAnim=function(){return{FADE_IN:"TVFadeIn",FADE_OUT:"TVFadeOut",getAnim:function(B,A,C){if(YAHOO.widget[B]){return new YAHOO.widget[B](A,C);}else{return null;}},isValid:function(A){return(YAHOO.widget[A]);}};}();YAHOO.widget.TVFadeIn=function(A,B){this.el=A;this.callback=B;};YAHOO.widget.TVFadeIn.prototype={animate:function(){var D=this;var C=this.el.style;C.opacity=0.1;C.filter="alpha(opacity=10)";C.display="";var B=0.4;var A=new YAHOO.util.Anim(this.el,{opacity:{from:0.1,to:1,unit:""}},B);A.onComplete.subscribe(function(){D.onComplete();});A.animate();},onComplete:function(){this.callback();},toString:function(){return"TVFadeIn";}};YAHOO.widget.TVFadeOut=function(A,B){this.el=A;this.callback=B;};YAHOO.widget.TVFadeOut.prototype={animate:function(){var C=this;var B=0.4;var A=new YAHOO.util.Anim(this.el,{opacity:{from:1,to:0.1,unit:""}},B);A.onComplete.subscribe(function(){C.onComplete();});A.animate();},onComplete:function(){var A=this.el.style;A.display="none";A.filter="alpha(opacity=100)";this.callback();},toString:function(){return"TVFadeOut";}};YAHOO.register("treeview",YAHOO.widget.TreeView,{version:"2.3.1",build:"541"}); IFX.gui = {}; IFX.gui.datatable = {}; IFX.gui.util = {}; IFX.gui.dialog = {}; IFX.gui.datatable.Pagination = function(){ var listener = new Array(); var page = 0; var me = this; var firePageChanged = function(){ for(var i = 0;i < listener.length; i++){ listener[i].pageChanged(); } } this.setPage = function(dest){ page = dest; } this.changePage = function(){ page = 0; firePageChanged(); } this.getPage = function(){ return page; } this.getCount = function(){ return 20; } this.next = function(){ if(page < (me.dataTable.getMaxRowCount() / me.getCount()) - 1){ page = page + 1; firePageChanged(); YAHOO.util.Event.preventDefault( evt ); } } this.prev = function(){ if(page > 0){ page = page - 1; firePageChanged(); } YAHOO.util.Event.preventDefault( evt ); } this.addListener = function(l){ listener.push(l); } } IFX.gui.datatable.DataTable = function(tableDiv,urlProvider,myColumnDefs,responseSchema,jsonListName){ var listeners = new Array(); var notice = function(){ for(var i = 0;i < listeners.length;i++){ listeners[i](); } } var maxRows = 0; var myDataTable; var myDataSource = new YAHOO.util.DataSource(); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; myDataSource.responseSchema = responseSchema; var prepareDataTable = function(o) { (function(){ var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ myDataSource.liveData = obj[0].Command[jsonListName]; if(myDataTable){ myDataTable.destroy(); myDataTable = null; } maxRows = obj[0].Command.count; myDataTable = new YAHOO.widget.DataTable(tableDiv.id, myColumnDefs, myDataSource); notice(); //ウィンドウにあわせて表をリサイズする。 { var conditionResizer = function(conditionDiv){ var conditionDiv = conditionDiv; this.getWidth = function(w){ return w-178; } this.getHeight = function(h){ return h; } this.setSize = function(x,y){ if(x < 800){ x = 800; } conditionDiv.style.width = x + "px"; } } } var divResizer2 = new IFX.gui.util.DivResizer(tableDiv,new conditionResizer(tableDiv)); YAHOO.util.Event.addListener(window, "resize",divResizer2.fireWindowSizeChanged); divResizer2.fireWindowSizeChanged(); } })(); } var failPrepareDataTable = function(o) { alert(o); } var callback = { success: prepareDataTable, failure: failPrepareDataTable, argument: [ "foo", "bar" ] } this.getMaxRowCount = function(){ return maxRows; } this.pageChanged = function(){ this.showDataTable(); } this.showDataTable = function(){ var url = urlProvider.getUrl(); var transaction = YAHOO.util.Connect.asyncRequest('GET',url , callback, null); } this.addListener = function(listener){ listeners.push(listener); } } IFX.gui.datatable.ClickableCellRenderer = function(callback,defaultValue){ var callback = callback; var cb = function(){ callback(this.data); } this.Render = function(elCell, oRecord, oColumn, oData) { var div = document.createElement("div"); var a = document.createElement("a"); if(oData.length == 0){ oData = defaultValue; }else{ var sa = oData.split("\r\n"); var rval = ""; for(var i = 0;i 0 && h > 0){ logic.setSize(w, h); }else{ var a; } } } } } IFX.gui.util.DateParser = {}; IFX.gui.util.DateParser.toDate = function(strDate){ return new Date(strDate.substring(0,4),strDate.substring(5,7)-1,strDate.substring(8,10),strDate.substring(11,13),strDate.substring(14,16),strDate.substring(17,19)); } IFX.gui.util.DateParser.toStrDate = function(date){ var str = IFX.gui.util.DateParser.toStrDateYYYYMMDDHHMI(date); var second = IFX.gui.util.Text.Left("00"+ date.getSeconds(),2); return str + ":" + second; } IFX.gui.util.DateParser.toStrDateYYYYMMDDHHMI = function(date){ // 2013/06/26 e.ohno modify //var year = date.getYear(); var year = date.getFullYear(); var month = IFX.gui.util.Text.Left("00"+ (date.getMonth() + 1),2); var day = IFX.gui.util.Text.Left("00"+ date.getDate(),2); var hour = IFX.gui.util.Text.Left("00"+ date.getHours(),2); var minute = IFX.gui.util.Text.Left("00"+ date.getMinutes(),2); return year + "-" + month + "-" + day + " " + hour + ":" + minute; } IFX.gui.util.DateParser.toStrDateForDisplay = function(srcDateStr){ var dateObj = IFX.gui.util.DateParser.toDate(srcDateStr); // 2013/06/26 e.ohno modify //var date = dateObj.getYear() + "年" + (dateObj.getMonth() + 1) + "月" + dateObj.getDate() + "日"; var date = dateObj.getFullYear() + "年" + (dateObj.getMonth() + 1) + "月" + dateObj.getDate() + "日"; var time = srcDateStr.substring(11,16); return date + " " + time; } IFX.gui.util.Text = {}; IFX.gui.util.Text.Left = function(str,length){ var sl = str.length; return (str).substring(sl - length,sl); } IFX.gui.util.FormValidator = function(validateLogic){ this.validateLogic = validateLogic; } IFX.gui.util.FormValidator.prototype.check = function(form){ var checkForm = function(validateLogic,inputs){ var rval = new Array(); for(var i = 0; i < inputs.length;i++){ var checkFun = validateLogic[inputs[i].name]; if(checkFun){ if(checkFun.check(inputs[i])){ }else{ rval.push(new IFX.gui.util.FormValidationError(inputs[i],checkFun,checkFun.message(inputs[i]))); } } } return rval; } var errors = new Array(); errors = errors.concat(checkForm(this.validateLogic,form.getElementsByTagName("input"))); errors = errors.concat(checkForm(this.validateLogic,form.getElementsByTagName("select"))); errors = errors.concat(checkForm(this.validateLogic,form.getElementsByTagName("textarea"))); return errors; } IFX.gui.util.FormValidationError = function(input,func,message){ this.input = input; this.validationRule = func; this.message = message; } IFX.gui.dialog.DataDialog = function(width,modal,draggable,closable,fixedCenter){ this.w = width; this.m = modal; this.c = closable; this.draggable = draggable; this.fixedCenter = fixedCenter; var me = this; this.hide= function(){ if(me.dialog){ me.dialog.hide(); } } } IFX.gui.dialog.DataDialog.prototype.appendGUIElement = function(disasterMenu,zIndex){ this.container = document.createElement("div"); this.container.style.position = "absolute"; this.container.style.top = "10px"; this.container.style.left = "30px"; // 2013.2.6 kuroiwa modify if (zIndex) { this.container.style.zIndex = zIndex; } this.dialogDiv = document.createElement("div"); this.container.appendChild(this.dialogDiv); disasterMenu.appendChild(this.container); var dialogTitleDiv = document.createElement("div"); this.dialogDiv.appendChild(dialogTitleDiv); dialogTitleDiv.className="hd"; dialogTitleDiv.style.color = "white"; dialogTitleDiv.style.fontWeight = "normal"; dialogTitleDiv.style.textAlign = "left"; this.titleDiv = document.createElement("div"); this.titleDiv.appendChild(document.createTextNode(" ")); dialogTitleDiv.appendChild(this.titleDiv); this.dialogContentsDiv = document.createElement("div"); this.dialogDiv.appendChild(this.dialogContentsDiv); this.dialogContentsDiv.className="bd"; } IFX.gui.dialog.DataDialog.prototype.prepareDialog = function(handler){ if(this.dialogDiv.id.length == 0){ this.dialogDiv.id = "dialog" + new Date().getTime(); } this.dialog = new YAHOO.widget.Dialog(this.dialogDiv, { close : this.c, width : this.w, underlay : "none", fixedcenter : this.fixedCenter, draggable:this.draggable, modal : this.m, visible : false, constraintoviewport : true, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.2} , buttons:handler } ); this.dialog.render(); } IFX.gui.dialog.DataDialog.prototype.show = function(){ this.dialog.show(); } IFX.gui.dialog.DataDialog.prototype.moveTo = function(x,y){ this.dialog.moveTo(x,y); } IFX.gui.dialog.DataDialog.prototype.render = function(){ this.dialog.render(); } IFX.gui.dialog.DataDialog.prototype.getContentsDiv = function(){ return this.dialogContentsDiv; } IFX.gui.dialog.DataDialog.prototype.getTitleDiv = function(){ return this.titleDiv; } IFX.gui.util.JsonParser = {}; IFX.gui.util.JsonParser.parse = function(text){ try{ return eval(text); }catch(e){ text = text.replace(/\r/g, "") text = text.replace(/\n/g, "") try{ return eval(text); }catch(e){ text = "["+text+"]"; try{ return eval(text); }catch(e){ return [{"Server":{"result":false},"Exception":{"type":"parseError","Message":"レスポンス文字列を解析できませんでした"}}]; } } } } IFX.gui.util.JsonParser.checkServerStatus = function(obj){ if(obj && obj[0] && obj[0].Server && obj[0].Server.result){ return true; }else{ var msg = ""; if(obj && obj[0] && obj[0] && obj[0].Exception && obj[0].Exception.Message){ msg = obj[0].Exception.Message; } if (msg == "") { alert("サーバからの情報取得に失敗しました"); } else { alert(msg); } return false; } } IFX.gui.util.JsonParser.CrlfToBRAppender = function(keyValue,div2){ var sa = keyValue.split("\r\n"); for(var i = 0;i targetxy.x-tre && xy.x < targetxy.x+tre && xy.y > targetxy.y-tre && xy.y < targetxy.y+tre){ dest.push(list[it]); } } IFX.gui.util.RemoveChildElement(trSelectorAppender); dialogSelect.hide(); if(dest.length > 1){ for(var k = 0;k itemCache.length){ dialog.show(); }else{ dialog.hide(); } }); } //キーマップ { var obj = {imgWidth:218.0,imgHeight:163.0,width:30000,height:20730,ltx:51205,lty:-97100} var keyMap = new IFX.project.dis.KeyMap(disasterMenu); keyMap.init(this.map,obj); var keyMapPointCounter = new IFX.project.dis.KeyMapPointCounter(keyMap.getKeyMapDiv()); keyMapPointCounter.init(urlProvider); searchCondition.addListener(keyMapPointCounter.statusChangedListener); var move2 = function(){ var w = YAHOO.util.Dom.getViewportWidth(); var h = YAHOO.util.Dom.getViewportHeight(); keyMap.moveTo(w-270,h-600); } YAHOO.util.Event.addListener(window, "resize",move2); move2(); keyMap.show(); } //更新ボタンを準備 { var handler = function(){ stateChanged(); keyMapPointCounter.statusChangedListener(); } var reloadUI = new IFX.project.dis.ReloadUI(disasterMenu); reloadUI.setReloadEvent(handler); } //注釈を準備 { var ano = document.createElement("div"); ano.appendChild(document.createTextNode("土石流危険渓流、急傾斜地崩壊危険箇所、浸水想定区域は縮尺が1/2500~1/25000のときに表示されます")); ano.style.width = map1.style.width; ano.style.textAlign = "center"; ano.style.position = "absolute"; ano.style.top = "0px"; ano.style.left = "0px"; disasterMenu.appendChild(ano); var moveAno = function(){ var h = YAHOO.util.Dom.getViewportHeight(); // 2013.02.19 e.ohno modify //ano.style.top = h-55; ano.style.top = h-55 + "px"; ano.style.width = map1.style.width; } YAHOO.util.Event.addListener(window, "resize",moveAno); moveAno(); } } IFX.project.dis.PageReportMap.prototype.dispose = function(){ if(this.disposable){ for(var i = 0;i"; } errorDialog.getContentsDiv().innerHTML = str; errorDialog.show(); } } var onSubmit = function(){ //GUIをロック lock(); form.submit(); } var onCancelSubmit = function(){ confirmDialog.hide(); } var confirmDialog = new IFX.gui.dialog.DataDialog("300px",false,false,false,true); confirmDialog.appendGUIElement(form); confirmDialog.getContentsDiv().style.height="50px"; var handler = [{text:"OK",handler:onSubmit,isDefault:true},{text:"キャンセル",handler:onCancelSubmit,isDefault:false}]; confirmDialog.prepareDialog(handler); confirmDialog.getTitleDiv().appendChild(document.createTextNode("確認")); var pagination = new IFX.gui.datatable.Pagination(); var listClickHandler = function(data){ input12.value = data.userId; input22.value = data.password; input32.value = data.name; inputNote.value = data.note; inputId.value = data.uid; btnAdd.setStyle("display","none"); btnUpdate.setStyle("display" ,"inline-block"); btnDelete.setStyle("display" ,"inline-block"); clearError(); editDialog.show(); } var cellRenerer; if(editable){ cellRenerer = new IFX.gui.datatable.ClickableCellRenderer(listClickHandler,"_").Render; } var list = new IFX.project.dis.UserList(this.context,new IFX.project.dis.UserListUrlProvider(pagination),cellRenerer); list.appendGUIElement(disasterMenu); pagination.addListener(list.getDataTable()); pagination.dataTable = list.getDataTable(); list.getDataTable().showDataTable(); var btnDiv = document.createElement("div"); list.getListDiv().appendChild(btnDiv); btnDiv.style.position = "relative"; btnDiv.style.width = "200px"; btnDiv.style.margin = "10px"; var callEdit = document.createElement("button"); callEdit.appendChild(document.createTextNode("編集")); btnDiv.appendChild(callEdit); var callAdd = document.createElement("button"); callAdd.appendChild(document.createTextNode("登録")); btnDiv.appendChild(callAdd); var btnCallEdit = new YAHOO.widget.Button(callEdit); var me = this; var loginOk = function(){ window.location.href = "index.html?page=UserList"; } var authDialog = new IFX.project.dis.AuthDialogIntranet(me.mainDiv,loginOk,"authenticateMan",function(obj){ return ((obj.uid != -1) && (obj.userFlag == 1)) },true); btnCallEdit.on("click", function(){ authDialog.editButtonHandler(false); } ); var showAddUser = function(){ input12.value = ""; input22.value = ""; input32.value = ""; inputNote.value = ""; inputId.value = ""; btnAdd.setStyle("display","inline-block"); btnUpdate.setStyle("display" ,"none"); btnDelete.setStyle("display" ,"none"); clearError(); editDialog.show(); } var authDialogForAdd = new IFX.project.dis.AuthDialogIntranet(me.mainDiv,showAddUser,"authenticateMan",function(obj){ return ((obj.uid != -1) && (obj.userFlag == 1)) },true); var btnCallAdd = new YAHOO.widget.Button(callAdd); btnCallAdd.on("click", function(){ authDialogForAdd.editButtonHandler(false); } ); var clearError = function(){ IFX.project.dis.FormRegistSubmit.changeInputColorStyle(input12,"white"); IFX.project.dis.FormRegistSubmit.changeInputColorStyle(input22,"white"); IFX.project.dis.FormRegistSubmit.changeInputColorStyle(input32,"white"); IFX.project.dis.FormRegistSubmit.changeInputColorStyle(inputNote,"white"); } } //ページングを準備 { var paginationGUI = new IFX.project.dis.PaginationUI(pagination,list.getDataTable()); paginationGUI.appendGUIElement(disasterMenu); var totalPagesUI = new IFX.project.dis.TotalPagesUI(pagination,list.getDataTable()); totalPagesUI.appendGUIElement(disasterMenu); list.getDataTable().addListener(totalPagesUI.fireTotalPagesChanged); } //更新ボタンを準備 { var handler = function(){ pagination.changePage(); } var reloadUI = new IFX.project.dis.ReloadUI(disasterMenu); reloadUI.setReloadEvent(handler); } } IFX.project.dis.PageUserList.prototype.dispose = function(){ if(this.disposable){ for(var i = 0;i 0){ layer.removeItem(this.tempPointItemArray.pop()); } if(lat == null || lon == null){ this.registLatLonField.value = ""; this.registLatitudeHiddenField.value = ""; this.registLongitudeHiddenField.value = ""; }else{ var item = new IFX.model.Item("target", "POINT"); this.tempPointItemArray.push(item) layer.addItem(item); var domElm = item.element.createDomElement(layer.element.getDomElement(), 0); item.element.setCursor("pointer"); domElm.style.cursor="pointer"; var image = new Image; image.src = "lib/dis/build/assets/target.gif"; image.style.position="absolute"; image.style.top = "-24px"; image.style.left = "-12px"; domElm.appendChild(image); item.geometry.setLL(lat,lon); item.refreshGeometryPos(); this.registLatLonField.value = lat + "/" + lon; this.registLatitudeHiddenField.value = lat; this.registLongitudeHiddenField.value = lon; } } } { IFX.project.dis.FormRegistFile = function(formName){ this.formName = formName; } IFX.project.dis.FormRegistFile.prototype.appendGUIElement = function(root,x,y){ { this.orgFileTextHiddenField = document.createElement("input"); this.orgFileTextHiddenField.type = "hidden"; this.orgFileTextHiddenField.name = "orgFileTextHiddenField" + this.formName; root.appendChild(this.orgFileTextHiddenField); } var registFile1TitleDiv = document.createElement("div"); registFile1TitleDiv.style.position = "absolute"; registFile1TitleDiv.style.top = y + "px"; registFile1TitleDiv.style.left = x + "px"; registFile1TitleDiv.appendChild(document.createTextNode("画像ファイル")); root.appendChild(registFile1TitleDiv); { var editFileText1Div = document.createElement("div"); this.editFileText1Div = editFileText1Div; editFileText1Div.style.position = "absolute"; editFileText1Div.style.top = y + "px"; editFileText1Div.style.left = (x+100) + "px"; var editFileText1 = document.createElement("input"); this.editFileText1 = editFileText1; editFileText1.type = "text"; editFileText1.setAttribute("name","editFileText" + this.formName); editFileText1Div.appendChild(editFileText1); var willChangeFile1Div = document.createElement("div"); willChangeFile1Div.style.position = "absolute"; willChangeFile1Div.style.top = y + "px"; willChangeFile1Div.style.left = (x + 350) +"px"; this.willChangeFile1Div = willChangeFile1Div; // 2013.02.19 IE9対応 e.ohno add var userAgent = window.navigator.userAgent.toLowerCase(); var appVersion = window.navigator.appVersion.toLowerCase(); var editWillChangeFileRadio1; var editWillNotChangeFileRadio1; // 2013.02.19 IE9対応 e.ohno modify //if (YAHOO.env.ua.gecko) { if (YAHOO.env.ua.gecko || (userAgent.indexOf("msie") != -1 && appVersion.indexOf("msie 9.") != -1)) { editWillChangeFileRadio1 = document.createElement("input"); editWillChangeFileRadio1.type = "radio"; editWillChangeFileRadio1.name = "willChangeFile"+this.formName; editWillChangeFileRadio1.value = "changed"; editWillNotChangeFileRadio1 = document.createElement("input"); editWillNotChangeFileRadio1.type = "radio"; editWillNotChangeFileRadio1.name = "willChangeFile"+this.formName; editWillNotChangeFileRadio1.value = "notChanged"; } else { // 2013.02.19 念のためフォーマットに則って書いておく e.ohno modify //editWillChangeFileRadio1 = document.createElement(""); //editWillNotChangeFileRadio1 = document.createElement(""); editWillChangeFileRadio1 = document.createElement(''); editWillNotChangeFileRadio1 = document.createElement(''); } willChangeFile1Div.appendChild(editWillChangeFileRadio1); willChangeFile1Div.appendChild(document.createTextNode("変更する")); willChangeFile1Div.appendChild(editWillNotChangeFileRadio1); willChangeFile1Div.appendChild(document.createTextNode("変更しない")); this.editWillNotChangeFileRadio1 = editWillNotChangeFileRadio1; root.appendChild(willChangeFile1Div); root.appendChild(editFileText1Div); { var registFileField1Div = document.createElement("div"); this.registFileField1Div = registFileField1Div; registFileField1Div.style.position = "absolute"; registFileField1Div.style.top = y + "px"; registFileField1Div.style.left = (x + 100) + "px"; var registFileField1 = document.createElement("input"); registFileField1.type = "file"; registFileField1.setAttribute("name","attachedFile" + this.formName); registFileField1.setAttribute("accept","image/jpeg"); registFileField1.accept = "image/jpeg"; registFileField1Div.appendChild(registFileField1); root.appendChild(registFileField1Div); } YAHOO.util.Event.addListener(editWillChangeFileRadio1, "click",function(){ editFileText1Div.style.display = "none"; registFileField1Div.style.display = "block"; }); YAHOO.util.Event.addListener(editWillNotChangeFileRadio1, "click",function(){ editFileText1Div.style.display = "block"; registFileField1Div.style.display = "none"; }); } } IFX.project.dis.FormRegistFile.prototype.setInitParameters = function(initInfo){ } IFX.project.dis.FormRegistFile.prototype.dispose = function(){ } IFX.project.dis.FormRegistFile.prototype.setImage = function(image){ this.editWillNotChangeFileRadio1.checked = true; if(image){ this.editFileText1Div.style.display = "block"; this.registFileField1Div.style.display = "none"; //this.willChangeFile1Div.style.display = "block"; this.editFileText1.value = image; this.orgFileTextHiddenField.value = image; }else{ this.editFileText1Div.style.display = "block"; this.registFileField1Div.style.display = "none"; //this.willChangeFile1Div.style.display = "none"; //this.editFileText1.value = image; //this.orgFileTextHiddenField.value = image; } } } { IFX.project.dis.FormRegistContext = function(context){ this.context = context; } IFX.project.dis.FormRegistContext.prototype.appendGUIElement = function(root,x,y){ this.registTypeHiddenField = document.createElement("input"); this.registTypeHiddenField.type = "hidden"; this.registTypeHiddenField.name = "type"; this.registTypeHiddenField.value = this.context.type; root.appendChild(this.registTypeHiddenField); this.registInputHiddenField = document.createElement("input"); this.registInputHiddenField.type = "hidden"; this.registInputHiddenField.name = "input"; this.registInputHiddenField.value = this.context.inputForEdit; root.appendChild(this.registInputHiddenField); } IFX.project.dis.FormRegistContext.prototype.setInitParameters = function(initInfo){ this.registTypeHiddenField.value = this.context.type; this.registInputHiddenField.value = this.context.inputForEdit; } IFX.project.dis.FormRegistContext.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistId = function(){ } IFX.project.dis.FormRegistId.prototype.appendGUIElement = function(root,x,y){ this.registIdHiddenField = document.createElement("input"); this.registIdHiddenField.type = "hidden"; this.registIdHiddenField.name = "id"; this.registIdHiddenField.value = "-1"; root.appendChild(this.registIdHiddenField); } IFX.project.dis.FormRegistId.prototype.setInitParameters = function(initInfo){ this.registIdHiddenField.value = initInfo.id; } IFX.project.dis.FormRegistId.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistHidden = function(name,value){ this.name = name; this.value = value; } IFX.project.dis.FormRegistHidden.prototype.appendGUIElement = function(root,x,y){ this.registCommandHiddenField = document.createElement("input"); this.registCommandHiddenField.type = "hidden"; this.registCommandHiddenField.name = this.name; this.registCommandHiddenField.value = this.value; root.appendChild(this.registCommandHiddenField); } IFX.project.dis.FormRegistHidden.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistSubmit = function(registDate){ this.registDate = registDate; } IFX.project.dis.FormRegistSubmit.prototype.appendGUIElement = function(root,x,y,id){ this.root = root; var me = this; var submitButtonDiv = document.createElement("div"); submitButtonDiv.style.top = y + "px"; submitButtonDiv.style.left = x + "px"; submitButtonDiv.style.position = "absolute"; submitButtonDiv.style.padding = "20px"; submitButtonDiv.style.textAlign = "center"; root.appendChild(submitButtonDiv); var errorDialog = new IFX.gui.dialog.DataDialog("300px",false,false,true,true); errorDialog.appendGUIElement(root); errorDialog.getContentsDiv().style.height="50px"; var onOK = function(){ errorDialog.hide(); } var handler = [{text:"OK",handler:onOK,isDefault:true}]; errorDialog.prepareDialog(handler); var registSubmitButton = document.createElement("button"); registSubmitButton.appendChild(document.createTextNode("登録")); registSubmitButton.setAttribute("id","registSubmitButton" + id); submitButtonDiv.appendChild(registSubmitButton); var registDate = this.registDate; var onBeforeSubmit = function(){ registDate.updateDateField(); me.clearFormColorStyle(); var validator = new IFX.gui.util.FormValidator(IFX.project.dis.FormValidationRule); var errors = validator.check(root); if(errors.length == 0){ confirmDialog.show(); }else{ var str = ""; for(var i = 0; i < errors.length;i++){ //alert(errors[i].message); IFX.project.dis.FormRegistSubmit.changeInputColorStyle(errors[i].input,"pink"); str = str + errors[i].message + "
"; } errorDialog.getContentsDiv().innerHTML = str; errorDialog.show(); } } var onSubmit = function(){ //GUIをロック lock(); root.setAttribute("action","aspx/registerCommand.ashx"); root.submit(); } var onCancelSubmit = function(){ confirmDialog.hide(); } var confirmDialog = new IFX.gui.dialog.DataDialog("300px",false,false,false,true); confirmDialog.appendGUIElement(root,5000); confirmDialog.getContentsDiv().style.height="50px"; confirmDialog.getTitleDiv().appendChild(document.createTextNode("確認")); var handler = [{text:"OK",handler:onSubmit,isDefault:true},{text:"キャンセル",handler:onCancelSubmit,isDefault:false}]; confirmDialog.prepareDialog(handler); confirmDialog.getContentsDiv().appendChild(document.createTextNode("入力した情報を登録します")); var registSubmitYButton = new YAHOO.widget.Button(registSubmitButton); registSubmitYButton.on("click",onBeforeSubmit); } IFX.project.dis.FormRegistSubmit.changeInputColorStyle = function(input,color){ input.style.backgroundColor = color; } IFX.project.dis.FormRegistSubmit.prototype.setInitParameters = function(initInfo){ this.clearFormColorStyle(); } IFX.project.dis.FormRegistSubmit.prototype.clearFormColorStyle = function(){ var ipt = this.root.getElementsByTagName("input"); var slt = this.root.getElementsByTagName("select"); var ta = this.root.getElementsByTagName("textarea"); for(var i=0;i < ipt.length;i++){ IFX.project.dis.FormRegistSubmit.changeInputColorStyle(ipt[i],"white"); } for(var i=0;i < slt.length;i++){ IFX.project.dis.FormRegistSubmit.changeInputColorStyle(slt[i],"white"); } for(var i=0;i < ta.length;i++){ IFX.project.dis.FormRegistSubmit.changeInputColorStyle(ta[i],"white"); } } IFX.project.dis.FormRegistSubmit.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistDelete = function(){ } IFX.project.dis.FormRegistDelete.prototype.appendGUIElement = function(root,x,y,id){ var deleteButtonDiv = document.createElement("div"); deleteButtonDiv.style.top = y + "px"; deleteButtonDiv.style.left = x + "px"; deleteButtonDiv.style.position = "absolute"; deleteButtonDiv.style.padding = "20px"; deleteButtonDiv.style.textAlign = "center"; root.appendChild(deleteButtonDiv); var registDeleteButton = document.createElement("button"); registDeleteButton.appendChild(document.createTextNode("削除")); registDeleteButton.setAttribute("id","registDeleteButton" + id); deleteButtonDiv.appendChild(registDeleteButton); var onBeforeDelete = function(){ var w = YAHOO.util.Dom.getViewportWidth(); var h = YAHOO.util.Dom.getViewportHeight(); deleteDialog.moveTo((w/2)-150,(h/2)-50); deleteDialog.show(); } var onDelete = function(){ lock(); root.setAttribute("action","aspx/removeCommand.ashx"); root.submit(); } var onCancelDelete = function(){ deleteDialog.hide(); } var deleteDialog = new IFX.gui.dialog.DataDialog("300px",false,false,false,true); deleteDialog.appendGUIElement(root,5000); deleteDialog.getContentsDiv().style.height="50px"; deleteDialog.getTitleDiv().appendChild(document.createTextNode("確認")); var handler = [{text:"OK",handler:onDelete,isDefault:true},{text:"キャンセル",handler:onCancelDelete,isDefault:false}]; deleteDialog.prepareDialog(handler); deleteDialog.getContentsDiv().appendChild(document.createTextNode("この情報を削除します")); var registDeleteYButton = new YAHOO.widget.Button(registDeleteButton); registDeleteYButton.on("click",onBeforeDelete); } IFX.project.dis.FormRegistDelete.prototype.setInitParameters = function(initInfo){ } IFX.project.dis.FormRegistDelete.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistAddress = function(){ this.listeners = new Array(); } IFX.project.dis.FormRegistAddress.prototype.appendGUIElement = function(root,x,y){ var registAddressTitleDiv = document.createElement("div"); registAddressTitleDiv.style.position = "absolute"; registAddressTitleDiv.style.top = y + "px"; registAddressTitleDiv.style.left = x + "px"; registAddressTitleDiv.appendChild(document.createTextNode("地区")); root.appendChild(registAddressTitleDiv); var registAddressFieldDiv = document.createElement("div"); registAddressFieldDiv.style.position = "absolute"; registAddressFieldDiv.style.top = y + "px"; registAddressFieldDiv.style.left = (x+100) + "px"; this.registAddressField = document.createElement("input"); this.registAddressField.type = "text"; this.registAddressField.style.width = "100px"; this.registAddressField.setAttribute("name","registAddressField"); this.registAddressField.disabled = true; registAddressFieldDiv.appendChild(this.registAddressField); root.appendChild(registAddressFieldDiv); var registAddressFieldButtonDiv = document.createElement("div"); registAddressFieldButtonDiv.style.position = "absolute"; registAddressFieldButtonDiv.style.top = y+"px"; registAddressFieldButtonDiv.style.left = (x+220)+"px"; var registAddressFieldButton = document.createElement("button"); registAddressFieldButton.appendChild(document.createTextNode("設定")); registAddressFieldButtonDiv.appendChild(registAddressFieldButton); root.appendChild(registAddressFieldButtonDiv); var treeDialogContainerDiv = document.createElement("div"); treeDialogContainerDiv.style.position = "absolute"; treeDialogContainerDiv.style.left = "300px"; treeDialogContainerDiv.style.zIndex = "500"; var treeDialogDiv = document.createElement("div"); var treeDialogHdDiv = document.createElement("div"); treeDialogHdDiv.className = "hd"; treeDialogHdDiv.appendChild(document.createTextNode(" ")); treeDialogDiv.appendChild(treeDialogHdDiv); var treeDialogBdDiv = document.createElement("div"); treeDialogBdDiv.className = "bd"; treeDialogDiv.appendChild(treeDialogBdDiv); var viewportDiv = document.createElement("div"); viewportDiv.style.overflow="auto"; viewportDiv.style.height = "250px"; treeDialogBdDiv.appendChild(viewportDiv); var treeAddressDiv = document.createElement("div"); treeAddressDiv.style.marginBottom = "150px"; viewportDiv.appendChild(treeAddressDiv); treeDialogContainerDiv.appendChild(treeDialogDiv); root.appendChild(treeDialogContainerDiv); //instantiate the tree: var tree = new YAHOO.widget.TreeView(treeAddressDiv); // 町ノードを追加する。 for (var i = 0; i < address.MajorList.length; i++) { var major = address.MajorList[i]; var majorNode = new YAHOO.widget.MenuNode(major.name, tree.getRoot(), false); // 頭文字ノードを追加する。 var aNode = new YAHOO.widget.MenuNode("あ", majorNode, false); var kaNode = new YAHOO.widget.MenuNode("か", majorNode, false); var saNode = new YAHOO.widget.MenuNode("さ", majorNode, false); var taNode = new YAHOO.widget.MenuNode("た", majorNode, false); var naNode = new YAHOO.widget.MenuNode("な", majorNode, false); var haNode = new YAHOO.widget.MenuNode("は", majorNode, false); var maNode = new YAHOO.widget.MenuNode("ま", majorNode, false); var yaNode = new YAHOO.widget.MenuNode("や", majorNode, false); var raNode = new YAHOO.widget.MenuNode("ら", majorNode, false); var waNode = new YAHOO.widget.MenuNode("わ", majorNode, false); var otherNode = new YAHOO.widget.MenuNode("他", majorNode, false); // 字ノードを追加する。 for (var j = 0; j < major.MinorList.length; j++) { var minor = major.MinorList[j]; var minorNode; if (minor.kana && minor.kana != "") { switch (minor.kana.substr(0,1)) { case "あ": case "い": case "う": case "え": case "お": minorNode = new YAHOO.widget.MenuNode(minor.name, aNode, false); break; case "か": case "き": case "く": case "け": case "こ": case "が": case "ぎ": case "ぐ": case "げ": case "ご": minorNode = new YAHOO.widget.MenuNode(minor.name, kaNode, false); break; case "さ": case "し": case "す": case "せ": case "そ": case "ざ": case "じ": case "ず": case "ぜ": case "ぞ": minorNode = new YAHOO.widget.MenuNode(minor.name, saNode, false); break; case "た": case "ち": case "つ": case "て": case "と": case "だ": case "ぢ": case "づ": case "で": case "ど": minorNode = new YAHOO.widget.MenuNode(minor.name, taNode, false); break; case "な": case "に": case "ぬ": case "ね": case "の": minorNode = new YAHOO.widget.MenuNode(minor.name, naNode, false); break; case "は": case "ひ": case "ふ": case "へ": case "ほ": case "ば": case "び": case "ぶ": case "べ": case "ぼ": case "ぱ": case "ぴ": case "ぷ": case "ぺ": case "ぽ": minorNode = new YAHOO.widget.MenuNode(minor.name, haNode, false); break; case "ま": case "み": case "む": case "め": case "も": minorNode = new YAHOO.widget.MenuNode(minor.name, maNode, false); break; case "や": case "ゆ": case "よ": minorNode = new YAHOO.widget.MenuNode(minor.name, yaNode, false); break; case "ら": case "り": case "る": case "れ": case "ろ": minorNode = new YAHOO.widget.MenuNode(minor.name, raNode, false); break; case "わ": case "ゐ": case "ゑ": case "を": case "ん": minorNode = new YAHOO.widget.MenuNode(minor.name, waNode, false); break; default: minorNode = new YAHOO.widget.MenuNode(minor.name, otherNode, false); break; } } else { minorNode = new YAHOO.widget.MenuNode(minor.name, otherNode, false); } if(minorNode){ minorNode.majorNode = majorNode; } } // 不要な頭文字ノードを削除する。 for (var j = majorNode.children.length - 1; j > -1; j--) { var initNode = majorNode.children[j]; if (initNode.children.length == 0) { tree.removeNode(initNode); } } } var registAddressField = this.registAddressField; var listeners = this.listeners; tree.subscribe("labelClick", function(node) { if(node.depth == 0){ registAddressField.value = node.data; }else if(node.depth == 2){ registAddressField.value = node.majorNode.data+node.data; } if((node.depth == 0)||(node.depth == 2)){ for(var i = 0;i < listeners.length;i++){ listeners[i](node); } } }); tree.draw(); var dialog = new YAHOO.widget.Panel(treeDialogDiv, { width:"150px",visible:false, constraintoviewport:true } ); dialog.render(); var btn = new YAHOO.widget.Button(registAddressFieldButton); btn.on("click",function(){ dialog.show(); }); } IFX.project.dis.FormRegistAddress.prototype.getValue = function(){ return this.registAddressField.value; } IFX.project.dis.FormRegistAddress.prototype.setInitParameters = function(initInfo){ } IFX.project.dis.FormRegistAddress.prototype.dispose = function(){ } } { IFX.project.dis.FormRegistSelect = function(){ this.listeners = new Array(); } IFX.project.dis.FormRegistSelect.prototype.appendGUIElement = function(root,x,y,name,title,array){ var registKindTitleDiv = document.createElement("div"); registKindTitleDiv.style.position = "absolute"; registKindTitleDiv.style.top = y + "px"; registKindTitleDiv.style.left = x + "px"; registKindTitleDiv.appendChild(document.createTextNode(title)); root.appendChild(registKindTitleDiv); var registKindDiv = document.createElement("div"); registKindDiv.style.position = "absolute"; registKindDiv.style.top = y + "px"; registKindDiv.style.left = (x + 100) + "px"; this.registKindSelect = document.createElement("select"); for(var i =0 ; i < array.length;i++){ var option = document.createElement("option"); option.setAttribute("value",array[i]); option.appendChild(document.createTextNode(array[i])); this.registKindSelect.appendChild(option); } this.registKindSelect.setAttribute("name",name); registKindDiv.appendChild(this.registKindSelect); root.appendChild(registKindDiv); var listeners = this.listeners; var notice = function(){ for(var i = 0;i < listeners.length;i++){ listeners[i](); } } YAHOO.util.Event.addListener(this.registKindSelect,"change",notice); } IFX.project.dis.FormRegistSelect.prototype.getValue = function(initInfo){ return this.registKindSelect.value; } IFX.project.dis.FormRegistSelect.prototype.setInitParameters = function(initInfo){ } IFX.project.dis.FormRegistSelect.prototype.dispose = function(){ } } { IFX.project.dis.PaginationUI = function(pagination){ this.pagination = pagination; } IFX.project.dis.PaginationUI.prototype.appendGUIElement = function(parentDiv){ var prevNextDiv = document.createElement("div"); prevNextDiv.style.position = "absolute"; prevNextDiv.style.top = "0px"; prevNextDiv.style.left = "550px"; prevNextDiv.style.whiteSpace = "nowrap"; parentDiv.appendChild(prevNextDiv); var prevButton = document.createElement("button"); prevButton.style.position = "absolute"; prevButton.style.top = "0px"; prevButton.style.left = "410px"; prevButton.appendChild(document.createTextNode("前へ")); prevNextDiv.appendChild(prevButton); var nextButton = document.createElement("button"); nextButton.appendChild(document.createTextNode("次へ")); prevNextDiv.appendChild(nextButton); var prevButton = new YAHOO.widget.Button(prevButton); var nextButton = new YAHOO.widget.Button(nextButton); prevButton.on("click", this.pagination.prev); nextButton.on("click", this.pagination.next); } } { IFX.project.dis.TotalPagesUI = function(pagination,dataTable){ var me = this; this.fireTotalPagesChanged = function(){ while(me.totalPageDiv.hasChildNodes()){ me.totalPageDiv.removeChild(me.totalPageDiv.firstChild); } var current = pagination.getPage() + 1; var total = Math.ceil(dataTable.getMaxRowCount() / pagination.getCount()); if(total == 0){ current = 0; } me.totalPageDiv.appendChild(document.createTextNode(current +" / " + total + " ページ")); } } IFX.project.dis.TotalPagesUI.prototype.appendGUIElement = function(parentDiv){ this.totalPageDiv = document.createElement("div"); this.totalPageDiv.style.position = "absolute"; this.totalPageDiv.style.top = "0px"; this.totalPageDiv.style.left = "650px"; this.totalPageDiv.className = "searchConditionType"; this.totalPageDiv.style.whiteSpace = "nowrap"; parentDiv.appendChild(this.totalPageDiv); } } { IFX.project.dis.ReloadUI = function(disasterMenu){ var btnReloadDiv = document.createElement("div"); disasterMenu.appendChild(btnReloadDiv); btnReloadDiv.style.position = "absolute"; btnReloadDiv.style.top = "0px"; // 2013.03.04 e.ohno modify //btnReloadDiv.style.left = "740px"; btnReloadDiv.style.left = "710px"; // 2013.02.19 e.ohno add btnReloadDiv.style.width = "150px"; var btnReload = document.createElement("button"); btnReloadDiv.appendChild(btnReload); btnReload.appendChild(document.createTextNode("更新")); this.reloadYButton = new YAHOO.widget.Button(btnReload); } IFX.project.dis.ReloadUI.prototype.setReloadEvent = function(handler){ this.reloadYButton.on("click", handler); } } { IFX.project.dis.FormDetailDialog = function(context){ this.context = context; } IFX.project.dis.FormDetailDialog.prototype.appendGUIElement = function(parentDiv,buttons){ var me = this; // 2013.02.19 e.ohno modify //var dataDialog = new IFX.gui.dialog.DataDialog("350px"); var dataDialog = new IFX.gui.dialog.DataDialog("350px",false,false,false,false); dataDialog.appendGUIElement(parentDiv,50); dataDialog.getTitleDiv().appendChild(document.createTextNode("詳細情報")); dataDialog.getTitleDiv().style.fontWeight = "normal"; dataDialog.getTitleDiv().style.textAlign = "left"; var close = {text:"閉じる",handler:dataDialog.hide,isDefault:true}; //編集ダイアログを準備 var handler; { if(buttons){ handler = buttons; }else{ handler = new Array(); } handler.push(close); } dataDialog.prepareDialog(handler); this.detailDataController = new IFX.project.dis.DetailDataController(dataDialog,this.context); var detailDataController = this.detailDataController; this.getDetailDataController = function(){ return detailDataController; } } } IFX.project.dis.EditDialog = function(mainDiv,context,id,detailDialog,form,preprocessor,w){ this.form = form; //HTMLを準備 { var disasterMenu = document.createElement("div"); mainDiv.appendChild(disasterMenu); disasterMenu.setAttribute("id","disasterMenu" + id); disasterMenu.style.position ="relative"; disasterMenu.style.top ="0px"; disasterMenu.style.left ="0px"; } { // 2013.02.13 e.ohno modify //var editDialog = new IFX.gui.dialog.DataDialog(w); var editDialog = new IFX.gui.dialog.DataDialog(w,false,false,false,false); editDialog.appendGUIElement(disasterMenu,100); editDialog.prepareDialog(); editDialog.getTitleDiv().style.textAlign = "left"; editDialog.getTitleDiv().style.fontWeight = "normal"; editDialog.getTitleDiv().appendChild(document.createTextNode("入力画面")); form.appendGUIElement(editDialog.getContentsDiv()); var editController = new preprocessor(editDialog,form,context,disasterMenu); } this.showEdit = function(){ var data = detailDialog.getDetailDataController().data;//いまいち editController.showEdit(data,editController);//いまいち } } IFX.project.dis.EditDialog.prototype.init = function(){ } IFX.project.dis.EditDialog.prototype.dispose = function(){ if(this.form && this.form.dispose){ this.form.dispose(); } } IFX.project.dis.AuthDialog = function(disasterMenu,loginCheckLogic,closable){ this.loginCheckLogic = loginCheckLogic; var authDialog = new IFX.gui.dialog.DataDialog("320px",false,true,closable,true); this.authDialog = authDialog; authDialog.appendGUIElement(disasterMenu,500); authDialog.prepareDialog(); var divTitle = authDialog.getTitleDiv(); divTitle.style.textAlign = "left"; divTitle.style.fontWeight = "normal"; divTitle.appendChild(document.createTextNode("ユーザ認証")); var div = authDialog.getContentsDiv(); var contents = document.createElement("div"); contents.style.textAlign = "left"; div.appendChild(contents); var table = document.createElement("table"); contents.appendChild(table); table.style.width = "100%"; var tbody = document.createElement("tbody"); table.appendChild(tbody); var tableContents = tbody; var tr1 = document.createElement("tr"); tableContents.appendChild(tr1); var td11 = document.createElement("td"); tr1.appendChild(td11); var td12 = document.createElement("td"); tr1.appendChild(td12); var tr2 = document.createElement("tr"); tableContents.appendChild(tr2); var td21 = document.createElement("td"); tr2.appendChild(td21); var td22 = document.createElement("td"); tr2.appendChild(td22); td11.appendChild(document.createTextNode("ユーザID:")); this.input12 = document.createElement("input"); this.input12.type = "text"; this.input12.name = "userId"; this.input12.style.width = "150px"; this.input12.maxLength = 8; td12.appendChild(this.input12); td21.appendChild(document.createTextNode("パスワード:")); this.input22 = document.createElement("input"); this.input22.type = "password"; this.input22.name = "password"; this.input22.maxLength = 8; this.input22.style.width = "150px"; td22.appendChild(this.input22); this.inputName = document.createElement("input"); this.inputName.type = "hidden"; this.inputName.name = "name"; div.appendChild(this.inputName); this.messageDiv = document.createElement("div"); this.messageDiv.style.height = "30px"; this.messageDiv.style.verticalAlign = "middle"; contents.appendChild(this.messageDiv); var loginButton = document.createElement("button"); loginButton.appendChild(document.createTextNode("ログイン")); div.appendChild(loginButton); this.loginYButton = new YAHOO.widget.Button(loginButton); } IFX.project.dis.AuthDialog.prototype.setXHRParameter = function(url,command,loginCallback){ var me = this; me.sendLoginInformation =function(){ var userId = me.input12.value; var password = me.input22.value; var params = "command="+command+"&userId=" + userId +"&password=" + password; var transaction = YAHOO.util.Connect.asyncRequest('POST',url , loginCallback, params); } this.loginYButton.on("click", me.sendLoginInformation); } IFX.project.dis.AuthDialog.prototype.show = function(force){ this.messageDiv.innerText = "ユーザIDとパスワードを入力してログインしてください"; var me = this; if(force){ me.authDialog.show(); me.input12.focus(); }else{ var loginCallback = { success: function(o){ var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ if(obj[0].Command.result && me.loginCheckLogic(obj[0].Command.loginInfo)){ me.setUser(obj[0].Command.loginInfo); me.sendLoginInformation(); }else{ me.authDialog.show(); me.input12.focus(); } } }, failure: function(obj){ }, argument: [ "foo", "bar" ] } var url = "aspx/userCommand.ashx" var params = "command=getSessionUser"; var transaction = YAHOO.util.Connect.asyncRequest('POST',url , loginCallback, params); } } IFX.project.dis.AuthDialog.prototype.hide = function(){ this.authDialog.hide(); } IFX.project.dis.AuthDialog.prototype.init = function(){ } IFX.project.dis.AuthDialog.prototype.dispose = function(){ } IFX.project.dis.AuthDialog.prototype.getUser = function(){ return {"userId":this.input12.value,"password":this.input22.value,"name":this.inputName.value}; } IFX.project.dis.AuthDialog.prototype.setUser = function(loginInfo){ this.input12.value = loginInfo.userId; this.input22.value = loginInfo.password; this.inputName.value = loginInfo.name; } IFX.project.dis.AuthDialogIntranet = function(disasterMenu,funcShowEdit,command,loginCheckLogic,closable){ var authDialog = new IFX.project.dis.AuthDialog(disasterMenu,loginCheckLogic,closable); this.authDialog = authDialog; var loginCallback = { success: function(o){ var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ if(obj[0].Command.result){ authDialog.setUser(obj[0].Command.loginInfo); authDialog.hide(); funcShowEdit(); }else{ authDialog.show(true); authDialog.messageDiv.innerHTML = "ユーザIDかパスワードが間違っています"; } } }, failure: function(obj){ }, argument: [ "foo", "bar" ] } authDialog.setXHRParameter("aspx/userCommand.ashx",command,loginCallback); this.editButtonHandler = function(force){ authDialog.show(force); } } IFX.project.dis.AuthDialogIntranet.prototype.init = function(){ } IFX.project.dis.AuthDialogIntranet.prototype.dispose = function(){ } IFX.project.dis.AuthDialogIntranet.prototype.getUser = function(){ return this.authDialog.getUser(); } IFX.project.dis.ReportInputRegist = function(callbackUrl,context,commandName){ this.callbackUrl = callbackUrl; this.context = context; this.commandName = commandName; } IFX.project.dis.ReportInputRegist.prototype.appendGUIElement = function(mainDiv){ var me = this; var id = "reportInputRegistReportForm"; this.rootDiv = IFX.project.dis.FormRegist.createFormElement(id,"500px"); var root = this.rootDiv; mainDiv.appendChild(this.rootDiv); { { this.registUser = new IFX.project.dis.FormRegistUserHidden(); this.registUser.appendGUIElement(root); } { this.registKind = new IFX.project.dis.FormRegistKind(this.context); this.registKind.appendGUIElement(root,0,0); } { this.registDate = new IFX.project.dis.FormRegistDate(id); this.registDate.appendGUIElement(root,200,0); } { this.registSummary = new IFX.project.dis.FormRegistSummary(); this.registSummary.appendGUIElement(root,0,60); } { this.registBody = new IFX.project.dis.FormRegistBody(); this.registBody.appendGUIElement(root,0,140); } { this.registExample = new IFX.project.dis.FormRegistExample(this.context,this.registKind.getKindSelector(),this.registSummary,this.registBody); this.registExample.appendGUIElement(root,400,30); } { this.registPoint = new IFX.project.dis.FormRegistPoint(id); this.registPoint.appendGUIElement(root,0,280); } { this.registArea = new IFX.project.dis.FormRegistArea(); this.registArea.appendGUIElement(root,0,30); var registPoint = this.registPoint; this.registArea.listeners.push(function(obj){ registPoint.setView(obj.view); }); } { this.registContext = new IFX.project.dis.FormRegistContext(this.context); this.registContext.appendGUIElement(root,0,760); } { this.registId = new IFX.project.dis.FormRegistId(); this.registId.appendGUIElement(root,0,760); } { this.registCommand = new IFX.project.dis.FormRegistHidden("command",this.commandName); this.registCommand.appendGUIElement(root,0,760); } { this.registCommand = new IFX.project.dis.FormRegistHidden("callbackUrl",this.callbackUrl); this.registCommand.appendGUIElement(root,0,760); } { this.registFile = new IFX.project.dis.FormRegistFile("1"); this.registFile.appendGUIElement(root,0,760); } { this.registSubmit = new IFX.project.dis.FormRegistSubmit(this.registDate,id); this.registSubmit.appendGUIElement(root,250,790); } } } IFX.project.dis.ReportInputRegist.prototype.setInitParameters = function(initInfo){ //初期値を適用する { if(initInfo){ { this.registUser.setInitParameters(initInfo); } { this.registContext.setInitParameters(initInfo); } { this.registKind.setInitParameters(initInfo); } { this.registDate.setInitParameters(initInfo); } { this.registSummary.setInitParameters(initInfo); } { this.registBody.setInitParameters(initInfo); } { this.registArea.setInitParameters(initInfo); } { this.registPoint.setInitParameters(initInfo); } { this.registFile.setImage(initInfo.image1); } { this.registExample.setInitParameters(initInfo); } { this.registSubmit.setInitParameters(initInfo); } } } } IFX.project.dis.ReportInputRegist.prototype.dispose = function(){ this.registPoint.dispose(); } IFX.project.dis.ReportRegist = function(callbackUrl,context,commandName,deletable){ this.callbackUrl = callbackUrl; this.context = context; this.commandName = commandName; this.deletable = deletable; } IFX.project.dis.ReportRegist.prototype.appendGUIElement = function(mainDiv){ var me = this; var id = "reportRegistReportForm"; this.rootDiv = IFX.project.dis.FormRegist.createFormElement(id,"450px"); var root = this.rootDiv; mainDiv.appendChild(this.rootDiv); { { this.registCount = new IFX.project.dis.FormRegistCount(this.context); this.registCount.appendGUIElement(root,0,0); } { this.registUser = new IFX.project.dis.FormRegistUser(); this.registUser.appendGUIElement(root,200,0); } { this.registKind = new IFX.project.dis.FormRegistKind(this.context); this.registKind.appendGUIElement(root,0,30); } { this.registDate = new IFX.project.dis.FormRegistDate(id); this.registDate.appendGUIElement(root,200,30); } { this.registSummary = new IFX.project.dis.FormRegistSummary(); this.registSummary.appendGUIElement(root,0,90); } { this.registBody = new IFX.project.dis.FormRegistBody(); this.registBody.appendGUIElement(root,0,170); } { this.registExample = new IFX.project.dis.FormRegistExample(this.context,this.registKind.getKindSelector(),this.registSummary,this.registBody); this.registExample.appendGUIElement(root,400,60); } { this.registPoint = new IFX.project.dis.FormRegistPoint(id); this.registPoint.appendGUIElement(root,0,310); } { var registPoint = this.registPoint; this.registArea = new IFX.project.dis.FormRegistArea(); this.registArea.appendGUIElement(root,0,60); this.registArea.listeners.push(function(obj){ registPoint.setView(obj.view); }); } { this.registContext = new IFX.project.dis.FormRegistContext(this.context); this.registContext.appendGUIElement(root,0,0); } { this.registId = new IFX.project.dis.FormRegistId(); this.registId.appendGUIElement(root,0,0); } { this.registCommand = new IFX.project.dis.FormRegistHidden("command",this.commandName); this.registCommand.appendGUIElement(root,0,0); } { this.registCommand = new IFX.project.dis.FormRegistHidden("callbackUrl",this.callbackUrl); this.registCommand.appendGUIElement(root,0,0); } { this.registFile = new IFX.project.dis.FormRegistFile("1"); this.registFile.appendGUIElement(root,0,790); } { this.registSubmit = new IFX.project.dis.FormRegistSubmit(this.registDate,id); this.registSubmit.appendGUIElement(root,250,810); } { if(this.deletable){ this.registDelete = new IFX.project.dis.FormRegistDelete(id); this.registDelete.appendGUIElement(root,300,810); } } } } IFX.project.dis.ReportRegist.prototype.setInitParameters = function(initInfo){ //初期値を適用する { if(initInfo){ { this.registCount.setInitParameters(initInfo); } { this.registId.setInitParameters(initInfo); } { this.registUser.setInitParameters(initInfo); } { this.registContext.setInitParameters(initInfo); } { this.registKind.setInitParameters(initInfo); } { this.registDate.setInitParameters(initInfo); } { this.registSummary.setInitParameters(initInfo); } { this.registBody.setInitParameters(initInfo); } { this.registArea.setInitParameters(initInfo); } { this.registPoint.setInitParameters(initInfo); } { this.registFile.setImage(initInfo.image1); } { this.registExample.setInitParameters(initInfo); } { this.registSubmit.setInitParameters(initInfo); } } } } IFX.project.dis.ReportRegist.prototype.dispose = function(){ this.registPoint.dispose(); } IFX.project.dis.RadioRegist = function(callbackUrl,context,commandName){ this.callbackUrl = callbackUrl; this.context = context; this.commandName = commandName; } IFX.project.dis.RadioRegist.prototype.appendGUIElement = function(mainDiv){ var me = this; var id = "radioRegistReportForm"; this.rootDiv = IFX.project.dis.FormRegist.createFormElement(id,"367px"); var root = this.rootDiv; mainDiv.appendChild(this.rootDiv); { { this.registUser = new IFX.project.dis.FormRegistUser(); this.registUser.appendGUIElement(root,0,0); } { this.registKind = new IFX.project.dis.FormRegistKind(this.context); this.registKind.appendGUIElement(root,0,30); } { this.registDate = new IFX.project.dis.FormRegistDate(); this.registDate.appendGUIElement(root,200,30,id); } { this.registSummary = new IFX.project.dis.FormRegistSummary(); this.registSummary.appendGUIElement(root,0,90); } { this.registBody = new IFX.project.dis.FormRegistBody(); this.registBody.appendGUIElement(root,0,170); } { this.registExample = new IFX.project.dis.FormRegistExample(this.context,this.registKind.getKindSelector(),this.registSummary,this.registBody); this.registExample.appendGUIElement(root,400,60); } { this.registContext = new IFX.project.dis.FormRegistContext(this.context); this.registContext.appendGUIElement(root,0,300); } { this.registId = new IFX.project.dis.FormRegistId(); this.registId.appendGUIElement(root,0,300); } { this.registCommand = new IFX.project.dis.FormRegistHidden("command",this.commandName); this.registCommand.appendGUIElement(root,0,300); } { this.registCommand = new IFX.project.dis.FormRegistHidden("callbackUrl",this.callbackUrl); this.registCommand.appendGUIElement(root,0,300); } { this.registSubmit = new IFX.project.dis.FormRegistSubmit(this.registDate); this.registSubmit.appendGUIElement(root,250,300,id); } } } IFX.project.dis.RadioRegist.prototype.setInitParameters = function(initInfo){ //初期値を適用する { if(initInfo){ { this.registId.setInitParameters(initInfo); } { this.registUser.setInitParameters(initInfo); } { this.registContext.setInitParameters(initInfo); } { this.registKind.setInitParameters(initInfo); } { this.registDate.setInitParameters(initInfo); } { this.registSummary.setInitParameters(initInfo); } { this.registBody.setInitParameters(initInfo); } { this.registExample.setInitParameters(initInfo); } { this.registSubmit.setInitParameters(initInfo); } } } } IFX.project.dis.RadioRegist.prototype.dispose = function(){ } IFX.project.dis.NewsRegist = function(callbackUrl,context,commandName,deletable){ this.callbackUrl = callbackUrl; this.context = context; this.commandName = commandName; this.deletable = deletable; } IFX.project.dis.NewsRegist.prototype.appendGUIElement = function(mainDiv){ var me = this; var id = "newsRegistReportForm"; this.rootDiv = IFX.project.dis.FormRegist.createFormElement(id,"387px"); var root = this.rootDiv; mainDiv.appendChild(this.rootDiv); { { this.registCount = new IFX.project.dis.FormRegistCount(this.context); this.registCount.appendGUIElement(root,0,0); } { this.registUser = new IFX.project.dis.FormRegistUser(); this.registUser.appendGUIElement(root,200,0); } { this.registKind = new IFX.project.dis.FormRegistKind(this.context); this.registKind.appendGUIElement(root,0,30); } { this.registDate = new IFX.project.dis.FormRegistDate(id); this.registDate.appendGUIElement(root,200,30); } { this.registSummary = new IFX.project.dis.FormRegistSummary(); this.registSummary.appendGUIElement(root,0,90); } { this.registBody = new IFX.project.dis.FormRegistBody(); this.registBody.appendGUIElement(root,0,170); } { this.registExample = new IFX.project.dis.FormRegistExample(this.context,this.registKind.getKindSelector(),this.registSummary,this.registBody); this.registExample.appendGUIElement(root,400,60); } { this.registContext = new IFX.project.dis.FormRegistContext(this.context); this.registContext.appendGUIElement(root,0,300); } { this.registId = new IFX.project.dis.FormRegistId(); this.registId.appendGUIElement(root,0,300); } { this.registCommand = new IFX.project.dis.FormRegistHidden("command",this.commandName); this.registCommand.appendGUIElement(root,0,300); } { this.registCommand = new IFX.project.dis.FormRegistHidden("callbackUrl",this.callbackUrl); this.registCommand.appendGUIElement(root,0,300); } { this.registFile = new IFX.project.dis.FormRegistFile("1"); this.registFile.appendGUIElement(root,0,300); } { this.registSubmit = new IFX.project.dis.FormRegistSubmit(this.registDate); this.registSubmit.appendGUIElement(root,250,320); } { if(this.deletable){ this.registDelete = new IFX.project.dis.FormRegistDelete(id); this.registDelete.appendGUIElement(root,300,320); } } } } IFX.project.dis.NewsRegist.prototype.setInitParameters = function(initInfo){ //初期値を適用する { if(initInfo){ { this.registCount.setInitParameters(initInfo); } { this.registId.setInitParameters(initInfo); } { this.registUser.setInitParameters(initInfo); } { this.registContext.setInitParameters(initInfo); } { this.registKind.setInitParameters(initInfo); } { this.registDate.setInitParameters(initInfo); } { this.registSummary.setInitParameters(initInfo); } { this.registBody.setInitParameters(initInfo); } { this.registFile.setImage(initInfo.image1); } { this.registExample.setInitParameters(initInfo); } } } } IFX.project.dis.NewsRegist.prototype.dispose = function(){ } IFX.project.dis.List = function(context,urlProvider,renderer){ this.urlProvider = urlProvider; this.context=context; this.renderer = renderer; } IFX.project.dis.List.prototype.appendGUIElement = function(rootDiv){ //HTMLを準備 { var listDiv = document.createElement("div"); rootDiv.appendChild(listDiv); listDiv.style.position="absolute"; listDiv.style.top="36px"; listDiv.style.left="0px"; this.basicDiv = document.createElement("div"); this.basicDiv.setAttribute("id","basic"); listDiv.appendChild(this.basicDiv); } //表を準備 { YAHOO.widget.DataTable.MSG_EMPTY = "該当する情報が見つかりません。"; var format = function(el , oRecord , oColumn , oData){ el.appendChild(document.createTextNode(oData)); } var rend = new IFX.gui.datatable.YyyymmddhhmiCellRenderer(); // 詳細が広すぎる場合、リサイズされる。 2013.02.20 e.ohno modify // 指定しないと狭いまま。 //var myColumnDefs = [ // {key:"kind", width:"150px",label:"種別",sortable:false, resizeable:false}, // {key:"date", width:"200px", label:"日時",formatter:rend.Render, sortable:false, resizeable:false}, // {key:"summary", label:"概要",formatter:this.renderer.Render, sortable:false, resizeable:true} //]; // var myColumnDefs = [ // {key:"kind", width:"130px",label:"種別",sortable:false, resizeable:false}, // {key:"date", width:"170px", label:"日時",formatter:rend.Render, sortable:false, resizeable:false}, // {key:"summary", width:"461px", label:"概要",formatter:this.renderer.Render, sortable:false, resizeable:true} // ]; var myColumnDefs = [ {key:"kind", width:"100px",label:"種別",sortable:false, resizeable:false}, {key:"date", width:"130px", label:"日時",formatter:rend.Render, sortable:false, resizeable:false}, {key:"summary", width:"531px", label:"概要",formatter:this.renderer.Render, sortable:false, resizeable:true} ]; var responseSchema = { fields: ["id","kind","date","summary"] }; this.dataTable = new IFX.gui.datatable.DataTable(this.basicDiv,this.urlProvider,myColumnDefs,responseSchema,"InfoList"); } } IFX.project.dis.List.prototype.getDataTable = function(){ return this.dataTable; } IFX.project.dis.List.prototype.dispose = function(){ } IFX.project.dis.UserList = function(context,urlProvider,renderer){ this.urlProvider = urlProvider; this.context=context; this.renderer = renderer; } IFX.project.dis.UserList.prototype.appendGUIElement = function(rootDiv){ //HTMLを準備 { var listDiv = document.createElement("div"); rootDiv.appendChild(listDiv); listDiv.style.position="absolute"; listDiv.style.top="36px"; listDiv.style.left="0px"; this.basicDiv = document.createElement("div"); this.basicDiv.setAttribute("id","basic"); listDiv.appendChild(this.basicDiv); this.listDiv = listDiv; } //表を準備 { YAHOO.widget.DataTable.MSG_EMPTY = "該当する情報が見つかりません。"; var format = function(el , oRecord , oColumn , oData){ //el.appendChild(document.createTextNode(oData)); IFX.gui.util.JsonParser.CrlfToBRAppender(oData,el); } var myColumnDefs = [ {key:"userId", width:"150px",label:"ユーザID",formatter:this.renderer,sortable:false, resizeable:false}, {key:"password", width:"200px", label:"パスワード",formatter:IFX.gui.datatable.PassPhraseCellRenderer.Render, sortable:false, resizeable:false}, {key:"name", label:"表示名称", sortable:false, resizeable:false}, {key:"note", label:"備考・その他情報",formatter:format,sortable:false, resizeable:false} ]; var responseSchema = { fields: ["uid","userId","password","name","note"] }; this.dataTable = new IFX.gui.datatable.DataTable(this.basicDiv,this.urlProvider,myColumnDefs,responseSchema,"UserList"); } } IFX.project.dis.UserList.prototype.getDataTable = function(){ return this.dataTable; } IFX.project.dis.UserList.prototype.getListDiv = function(){ return this.listDiv; } IFX.project.dis.UserList.prototype.dispose = function(){ } IFX.project.dis.ReportReserve = function(context,mainDiv,funcCallback,funcRefusedCallBack){ this.context = context; this.mainDiv = mainDiv; this.funcCallback = funcCallback; this.funcRefusedCallBack = funcRefusedCallBack; } IFX.project.dis.ReportReserve.prototype.init = function(){ var me = this; { this.onRefused = function(){ var w = YAHOO.util.Dom.getViewportWidth(); var h = YAHOO.util.Dom.getViewportHeight(); refusedDialog.moveTo((w/2)-150,(h/2)-50); refusedDialog.show(); } var onAccept = function(){ me.funcRefusedCallBack(); refusedDialog.hide(); } var refusedDialog = new IFX.gui.dialog.DataDialog("300px",false,false,false,true); refusedDialog.appendGUIElement(this.mainDiv); refusedDialog.getContentsDiv().style.height="50px"; var handler = [{text:"OK",handler:onAccept,isDefault:true}]; refusedDialog.prepareDialog(handler); refusedDialog.getTitleDiv().appendChild(document.createTextNode("確認")); refusedDialog.getContentsDiv().appendChild(document.createTextNode("空き領域がありません。")); refusedDialog.getContentsDiv().appendChild(document.createElement("br")); refusedDialog.getContentsDiv().appendChild(document.createTextNode("先に不要な情報を削除してください。")); } this.sendRequest(); } IFX.project.dis.ReportReserve.prototype.sendRequest = function(){ var me = this; { var type = this.context.type; var input = this.context.input; var failPrepareDetail = function(o) { alert(o); } var prepareDetail = function(o){ var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ var detailInfo = obj[0].Command.Info; if(detailInfo){ //新規作成なので、IDを予約する。 if(IFX.project.dis.ReportReserve.threadId){ window.clearInterval(IFX.project.dis.ReportReserve.threadId); IFX.project.dis.ReportReserve.threadId = null; } IFX.project.dis.ReportReserve.threadId = window.setInterval("IFX.project.dis.ReportReserve.sendHeartbeat("+ detailInfo.registered +",'"+me.context.getParam()+"')",10 * 60 * 1000);//10分 me.funcCallback(detailInfo.registered); if(detailInfo.registered != -1){ }else{ me.onRefused(); } } }else{ me.funcRefusedCallBack(); } } var editShowCallback = { success: prepareDetail, failure: failPrepareDetail, argument: [ "foo", "bar" ] } var transaction = YAHOO.util.Connect.asyncRequest('GET',"aspx/reserveCommand.ashx?command=reserve&"+this.context.getParam() , editShowCallback, null); } } IFX.project.dis.ReportReserve.prototype.dispose = function(){ if(IFX.project.dis.ReportReserve.threadId){ window.clearInterval(IFX.project.dis.ReportReserve.threadId); IFX.project.dis.ReportReserve.threadId = null; } } IFX.project.dis.ReportReserve.sendHeartbeat = function(id,params){ var callback = { success: function(){}, failure: function(){}, argument:["foo", "bar"] } var transaction = YAHOO.util.Connect.asyncRequest('GET',"aspx/reserveCommand.ashx?command=update&id=" + id + "&" + params, callback, null); } IFX.project.dis.RadioFireRegist = function(callbackUrl,context,commandName){ this.callbackUrl = callbackUrl; this.context = context; this.commandName = commandName; } IFX.project.dis.RadioFireRegist.prototype.appendGUIElement = function(mainDiv){ var me = this; var id = "radioFireRegistReportForm"; this.rootDiv = IFX.project.dis.FormRegist.createFormElement(id,"400px"); var root = this.rootDiv; mainDiv.appendChild(this.rootDiv); { var me = this; var changed = function(){ me.updateBody(); } { this.registUser = new IFX.project.dis.FormRegistUser(); this.registUser.appendGUIElement(root,0,0); } { var filter = function(kind){ return (kind.caption == "火災"); } this.registKind = new IFX.project.dis.FormRegistKind(this.context); this.registKind.appendGUIElement(root,0,30,filter); } { this.registDate = new IFX.project.dis.FormRegistDate(); this.registDate.appendGUIElement(root,200,30,id); } { this.registAddress = new IFX.project.dis.FormRegistAddress(); this.registAddress.appendGUIElement(root,0,60); this.registAddress.listeners.push(changed); } { this.registFireTarget = new IFX.project.dis.FormRegistSelect(); this.registFireTarget.appendGUIElement(root,0,90,"fireTarget","火災種別",["住宅","建物","山林","原野","車両"]); this.registFireTarget.listeners.push(changed); } { this.registFireSetup = new IFX.project.dis.FormRegistSelect(); this.registFireSetup.appendGUIElement(root,200,90,"fireSetup","出動区分",["第1","第2","第3"]); this.registFireSetup.listeners.push(changed); } { this.registSummary = new IFX.project.dis.FormRegistSummary(); this.registSummary.appendGUIElement(root,0,120); } { this.registBody = new IFX.project.dis.FormRegistBody(); this.registBody.appendGUIElement(root,0,200); } { this.registContext = new IFX.project.dis.FormRegistContext(this.context); this.registContext.appendGUIElement(root,0,0); } { this.registId = new IFX.project.dis.FormRegistId(); this.registId.appendGUIElement(root,0,0); } { this.registCommand = new IFX.project.dis.FormRegistHidden("command",this.commandName); this.registCommand.appendGUIElement(root,0,0); } { this.registCommand2 = new IFX.project.dis.FormRegistHidden("callbackUrl",this.callbackUrl); this.registCommand2.appendGUIElement(root,0,0); } { this.registSubmit = new IFX.project.dis.FormRegistSubmit(this.registDate); this.registSubmit.appendGUIElement(root,250,330,id); } this.updateBody(); } } IFX.project.dis.RadioFireRegist.prototype.updateBody = function(){ var str = this.registAddress.getValue(); if((!(str)) || str.length == 0){ str = "○○"; } var str2 = this.registFireTarget.getValue(); if((!(str2)) || str2.length == 0){ str2 = "××"; } var str3 = this.registFireSetup.getValue(); if((!(str3)) || str3.length == 0){ str3 = "△△"; } this.registBody.setValue(str+"地区で"+str2+"火災発生。消防団は"+str3+"出動せよ。"); this.registSummary.setValue("火災情報("+str+"地区)"); } IFX.project.dis.RadioFireRegist.prototype.setInitParameters = function(initInfo){ //初期値を適用する { initInfo.kind="火災"; if(initInfo){ { this.registId.setInitParameters(initInfo); } { this.registUser.setInitParameters(initInfo); } { this.registContext.setInitParameters(initInfo); } { this.registKind.setInitParameters(initInfo); } { this.registDate.setInitParameters(initInfo); } { this.registBody.setInitParameters(initInfo); } { this.registSubmit.setInitParameters(initInfo); } } this.updateBody(); } } IFX.project.dis.RadioFireRegist.prototype.dispose = function(){ } IFX.project.dis.MapController = function(mapDiv,resizable){ var map1; var resizer = function(){ this.getWidth = function(w){ return w - 178; } this.getHeight = function(h){ return h - 76; } this.setSize = function(x,y){ if(x < 800){ x = 800; } if(y < 400){ y = 400; } map1.element.setSize(x,y); } } this.initMap = function(){ (function(){ var DATUM = "TKY"; var KEI = 10; var X = 69394; // -6906 var Y = -109300; // -35345 var SCALE = 50000; var MOUSE_WHEEL_INVERT = false; var SCALES = [2500, 5000, 10000, 25000, 50000, 100000, 150000]; var TILE_SCALES = [2500, 5000, 10000, 25000, 50000, 100000, 150000]; var SCREEN_SCALES = [2500, 5000, 10000, 25000, 50000, 100000, 150000]; var RANGE = { x1 : 54538, y1 : -117830, x2 : 77871, y2 : -97100 } var CACHE_SERVER_ADAPTER = { xmlHttp : null, counter : 0, url : { RENDER : { ADDRESS : "http://www.dosha.city.rikuzentakata.iwate.jp:82/cs.ashx", PRM : ["mappattern", "tilesize", "tileindex"] } } }; var GIS_SERVER_ADAPTER = { xmlHttp : null, counter : 0, url : { START_SESSION : { ADDRESS : "http://duke/sample_gisserver/Session.aspx?METHOD=START", PRM : "" }, END_SESSION : { ADDRESS : "http://duke/sample_gisserver/Session.aspx?METHOD=END", PRM : "" }, "IFX.model.ScreenItem" : { RENDER : { ADDRESS : "http://duke/sample_gisserver/Render.aspx", PRM : ["X", "Y", "WD", "HT", "PXWD", "PXHT"] } } } }; // MAP1 mapDiv.style.overflow = "hidden"; map1 = new IFX.model.Map(mapDiv.id, mapDiv); if(resizable){ var divResizer = new IFX.gui.util.DivResizer(map1,new resizer()); YAHOO.util.Event.addListener(window, "resize",divResizer.fireWindowSizeChanged); divResizer.fireWindowSizeChanged(); } // CONTROL map1.addControl(new IFX.model.ZoomSliderControl(mapDiv.id + "ZoomSlider", SCALES)); map1.addControl(new IFX.model.WaitMarkControl(mapDiv.id + "WaitMark")); map1.addControl(new IFX.model.CenterMarkControl(mapDiv.id + "CenterMark")); map1.addControl(new IFX.model.ScaleBarControl(mapDiv.id + "ScaleBar")); // BG map1.addBG(new IFX.model.TileLayer("Tile1", TILE_SCALES, CACHE_SERVER_ADAPTER, 256, 256, 1)); //map1.addBG(new IFX.model.TileLayer("Tile2", TILE_SCALES, CACHE_SERVER_ADAPTER, 256, 256, 2)); //map1.addBG(new IFX.model.TileLayer("Tile3", TILE_SCALES, CACHE_SERVER_ADAPTER, 256, 256, 3)); // LAYER map1.addLayer(new IFX.model.Layer("temp1")); map1.addLayer(new IFX.model.Layer("temp2")); // UI map1.addUI(new IFX.model.SnapMoveUI(mapDiv.id + "SnapMove")); map1.addUI(new IFX.model.DragMoveUI(mapDiv.id + "DragMove")); //map1.addUI(new IFX.model.ScrollMoveUI("ScrollMove")); map1.addUI(new IFX.model.WheelZoomUI(mapDiv.id + "WheelZoom", SCALES, MOUSE_WHEEL_INVERT)); // MAP DEFAULT SETTING map1.geometry.setCoord(DATUM, KEI); map1.geometry.setScale(SCALE); map1.geometry.setXY(X, Y); var moveSkipFlg = false; var moveMapToRange = function (range, motion) { if (moveSkipFlg) return; map1.geometry.removeMotion(); var mapXY = map1.geometry.getXY(); var x = null; var y = null; if (mapXY.x < range.x1) x = range.x1; else if (mapXY.x > range.x2) x = range.x2; if (mapXY.y < range.y1) y = range.y1; else if (mapXY.y > range.y2) y = range.y2; if (x || y) { x = (x ? x : mapXY.x); y = (y ? y : mapXY.y); var quantity = map1.geometry.getScale() / 100; map1.geometry.setXY(x, y, new IFX.model.StraightMotion(quantity, 10)); } } map1.proxy.addListener("LAYER_START_MOVE", function () { moveSkipFlg = true; }); map1.proxy.addListener("LAYER_END_MOVE", function () { moveSkipFlg = false; moveMapToRange(RANGE); }); map1.geometry.addListener("endPosChange", function () { moveMapToRange(RANGE); }); })(); } this.getMap = function(){ return map1; } this.dispose = function(){ if(map1){ map1.dispose(); } } } IFX.project.dis.MinButton = function(parentDiv,left,dialog){ var listener = new Array(); var notice = function(){ for(var i = 0;i < listener.length;i++){ listener[i](); } } this.listener = listener; var minButton = document.createElement("div"); minButton.style.position = "absolute"; minButton.style.left = left + "px"; minButton.style.top = "4px"; minButton.style.width = "14px"; minButton.style.height = "14px"; minButton.style.background = "url(lib/yui/build/assets/skins/sam/sprite.png) no-repeat 0 -400px"; minButton.style.cursor = "pointer"; parentDiv.appendChild(minButton); YAHOO.util.Event.addListener(minButton, "click",function(){ if(dialog.getContentsDiv().style.display == "none"){ dialog.getContentsDiv().style.display = "block"; }else{ dialog.getContentsDiv().style.display = "none"; } notice(); }); } IFX.project.dis.DisasterMenu = function(kindSelector,dateSelector){ var listener = new Array(); //YAHOO.util.Event.addListener(kindSelector, "change",dispose); //YAHOO.util.Event.addListener(dateSelector, "change",dispose); var fireMenuChanged = function(){ for(var i = 0;i < listener.length; i++){ listener[i].menuChanged(); } } this.addListener = function(l){ listener.push(l); } } IFX.project.dis.ContextUrlProvider = function(context){ this.context = context; } IFX.project.dis.ContextUrlProvider.prototype.getParam = function(){ var params = "type="+escape(this.context.type)+"&input="+escape(this.context.input); return params; } IFX.project.dis.ContextUrlProvider.prototype.getUrl = function(){ var url = "aspx/tableCommand.ashx?"+this.getParam(); return url; } IFX.project.dis.ReportUrlProvider = function(urlProvider,kindSelector,selectedDate){ this.kindSelector = kindSelector; this.selectedDate = selectedDate; this.urlProvider = urlProvider; } IFX.project.dis.ReportUrlProvider.prototype.getUrl = function(){ var url = "aspx/pointCommand.ashx?"+this.getParam(); return url; } IFX.project.dis.ReportUrlProvider.prototype.getParam = function(){ var params = this.urlProvider.getParam() + "&kind="+escape(this.kindSelector.value)+"&date="+this.selectedDate.date[0]+"-"+this.selectedDate.date[1]+"-"+this.selectedDate.date[2]; return params; } IFX.project.dis.ReportMapUrlProvider = function(disasterUrlProvider,map){ this.disasterUrlProvider = disasterUrlProvider; this.map = map; } IFX.project.dis.ReportMapUrlProvider.prototype.getUrl = function(){ var url = "aspx/pointCommand.ashx?"+this.getParam(); return url; } IFX.project.dis.ReportMapUrlProvider.prototype.getParam = function(){ var center = this.map.getMap().geometry.getXY(); var size = this.map.getMap().geometry.getSize(); var x1 = center.x - (size.width / 2); var y1 = center.y - (size.height / 2); var x2 = center.x + (size.width / 2); var y2 = center.y + (size.height / 2); var min = IFX.util.CoordConverter.getLatLonFromXY(x1,y1,5); var max = IFX.util.CoordConverter.getLatLonFromXY(x2,y2,5); var extent = (min.lon)+","+(min.lat)+","+(max.lon)+","+(max.lat); var params = this.disasterUrlProvider.getParam()+"&command=getListForAYear&max=100&extent=" + extent; return params; } IFX.project.dis.RadioListUrlProvider = function(urlProvider, dateSelector, pagination){ this.getUrl = function(){ var url = "aspx/tableCommand.ashx?command=" + dateSelector.value + "&kind=" + escape("全て") + "&" + urlProvider.getParam(); url = url + "&page=" + pagination.getPage() + "&rows=" + pagination.getCount(); return url; } } IFX.project.dis.UserListUrlProvider = function(pagination){ this.getUrl = function(){ var url = "aspx/userCommand.ashx?command=getList&"; url = url + "page=" + pagination.getPage() + "&rows=" + pagination.getCount(); return url; } } IFX.project.dis.Calendar = function(calendarDivId,mySelectHandler){ var me = this; var init = function(){ var today = new Date(); var max = (today.getMonth()+1) + "/" + today.getDate() + "/" + today.getFullYear();     var set_option = { close:true, LOCALE_MONTHS:"short" ,maxdate:max}; var cal1 = new YAHOO.widget.Calendar("cal",calendarDivId, set_option ); cal1.cfg.setProperty("MY_LABEL_MONTH_POSITION", 2); cal1.cfg.setProperty("MONTHS_SHORT", ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]); cal1.cfg.setProperty("MY_LABEL_MONTH_POSITION", 2); cal1.cfg.setProperty("MY_LABEL_MONTH_SUFFIX", "月"); cal1.cfg.setProperty("MY_LABEL_YEAR_POSITION", 1); cal1.cfg.setProperty("MY_LABEL_YEAR_SUFFIX", "年"); cal1.cfg.setProperty("WEEKDAYS_SHORT", ["", "月", "火", "水", "木", "金", ""]); cal1.selectEvent.subscribe(mySelectHandler, this, true); cal1.render(); cal1.select(new Date()); me.calendar = cal1; } YAHOO.util.Event.onDOMReady(init); this.show = function(){ me.calendar.show(); } } IFX.project.dis.PointItems = function(type,input,urlProvider,layer,setEvent){ this.listeners = new Array(); var itemCache = new Array(); var kindList = IFX.project.dis.Example.getExample(type,input); var iconList = {}; for(var j = 0;j < kindList.length;j++){ iconList[kindList[j].caption] = kindList[j]; } for(var i=0;i<100;i++){ var item = new IFX.model.Item("disaster" + i, "POINT"); layer.addItem(item); var domElm = item.element.createDomElement(layer.element.getDomElement(), 0); item.element.setCursor("pointer"); domElm.style.cursor="pointer"; var image = new Image; image.style.position="absolute"; image.style.top = "-12px"; image.style.left = "-12px"; domElm.appendChild(image); itemCache.push(item); } var clearCachedItem = function(){ for(var i=0;i imgWidth){ pw = imgWidth - leftleft; } if(toptop + ph > imgHeight){ ph = imgHeight - toptop; } if(leftleft < 0){ pw = pw + leftleft + 2; leftleft = -2; } if(toptop < 0){ ph = ph + toptop + 2; toptop = -2; } targetDiv.style.position = "relative"; targetDiv.style.position = "absolute"; if(pw > 0){ targetDiv.style.width = parseInt(pw) + "px"; } if(ph > 0){ targetDiv.style.height= parseInt(ph) + "px"; } targetDiv.style.top = parseInt(toptop) + "px"; targetDiv.style.left= parseInt(leftleft) + "px"; } map.getMap().geometry.addListener("endPosChange", stateChanged); map.getMap().geometry.addListener("onScaleChange", stateChanged); this.minButton.listener.push(stateChanged); stateChanged(); } IFX.project.dis.KeyMap.prototype.show = function(){ this.keyMapDialog.show(); } IFX.project.dis.KeyMap.prototype.moveTo = function(x,y){ this.keyMapDialog.moveTo(x,y); } IFX.project.dis.KeyMap.prototype.getKeyMapDiv = function(){ return this.keyMapDialog.getContentsDiv(); } IFX.project.dis.KeyMap.prototype.dispose = function(){ if(this.disposable){ for(var i = 0;i 20){ div2.appendChild(document.createElement("br")) } IFX.gui.util.JsonParser.CrlfToBRAppender(keyValue,div2); ////// if(keyValue.split("\r\n").length > 5){ div2.style.height = "100px"; div2.style.overflow = "auto"; } parentDiv.appendChild(div2); } } var createYYYYMMDDHHMIDiv = function(keyConfig,parentDiv,detailInfo){ var keyName = keyConfig.keyName; var keyValue = detailInfo[keyConfig.key]; if(keyValue){ var div2 = document.createElement("div"); div2.style.lineHeight = "150%"; div2.style.marginBottom = "10px"; div2.appendChild(document.createTextNode(keyName + ":")) if(keyValue.length > 20){ div2.appendChild(document.createElement("br")) } var date = IFX.gui.util.DateParser.toDate(keyValue); var str = IFX.gui.util.DateParser.toStrDateYYYYMMDDHHMI(date); div2.appendChild(document.createTextNode(str)) parentDiv.appendChild(div2); } } var createImgDiv = function(keyConfig,parentDiv,detailInfo){ var folderPath = context.filepath + "/image/"; var keyName = keyConfig.keyName; var keyValue = detailInfo[keyConfig.key]; if(keyValue){ var div2 = document.createElement("div"); div2.style.verticalAlign="top"; div2.style.marginBottom = "15px"; var div3 = document.createElement("div"); div3.style.width="330px"; div3.style.height="155px"; div3.style.overflow = "auto"; var a = document.createElement("a"); a.setAttribute("href",folderPath + keyValue); a.setAttribute("target","_blank"); var img = document.createElement("img"); img.style.borderWidth = "0"; a.appendChild(img); var imgsrc = folderPath + detailInfo[keyConfig.thumbnailKey] + "?time=" + new Date().getTime(); img.src = imgsrc; div2.appendChild(document.createTextNode(keyName + ":")) div2.appendChild(document.createElement("br")); div3.appendChild(a); div2.appendChild(div3); parentDiv.appendChild(div2); } } var createBinaryDiv = function(keyConfig,parentDiv,detailInfo){ var keyName = keyConfig.keyName; var keyValue = detailInfo[keyConfig.key]; if(keyValue){ keyValue = context.filepath + "/sound/" + keyValue; var div2 = document.createElement("div"); div2.style.verticalAlign="top"; div2.style.marginBottom = "10px"; var a = document.createElement("a"); a.setAttribute("href",keyValue); a.setAttribute("target","_blank"); var lastIndex = keyValue.lastIndexOf("/"); var fileName = keyValue.substring(lastIndex + 1,keyValue.length); a.appendChild(document.createTextNode(fileName)); div2.appendChild(document.createTextNode(keyName + ":")) div2.appendChild(a); parentDiv.appendChild(div2); } } var type = this.context.type; var input = this.context.input; var keys = [ {"key":"kind","keyName":"種別","renderer":createTextDiv}, {"key":"date","keyName":"日時","renderer":createYYYYMMDDHHMIDiv}, {"key":"summary","keyName":"概要","renderer":createTextDiv}, {"key":"body","keyName":"情報","renderer":createTextDiv}, {"key":"image1","keyName":"画像","renderer":createImgDiv,"thumbnailKey":"thumb1"}, // {"key":"image2","keyName":"画像","renderer":createImgDiv,"thumbnailKey":"thumb2"}, // {"key":"image3","keyName":"画像","renderer":createImgDiv,"thumbnailKey":"thumb3"}, {"key":"sound","keyName":"音声ファイル","renderer":createBinaryDiv} ]; this.fireDataSelected = function(data){ me.data = data; cb(data); } var cb = function(data){ var transaction = YAHOO.util.Connect.asyncRequest('GET',"aspx/infoCommand.ashx?command=getInfo&type="+escape(type)+"&input="+escape(input)+"&id=" + data.id , callback, null); } var prepareDetail = function(o) { var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ var detailInfo = obj[0].Command.Info; var div = dataDialog.getContentsDiv(); while(div.hasChildNodes()){ div.removeChild(div.firstChild); } if(detailInfo){ div.style.textAlign="left"; div.style.overflow = "auto"; for(var key in keys){ keys[key].renderer(keys[key],div,detailInfo); } }else{ var div2 = document.createElement("div"); div2.style.lineHeight = "150%"; div2.style.marginBottom = "15px"; div2.appendChild(document.createTextNode("情報取得を出来ませんでした。")); div.appendChild(div2); } dataDialog.show(); } } var failPrepareDetail = function(o) { alert(o); } var callback = { success: prepareDetail, failure: failPrepareDetail, argument: [ "foo", "bar" ] } } IFX.project.dis.DetailDataEditController = function(editDialog,registForm,context,mainDiv){ var me = this; this.editDialog = editDialog; this.registForm = registForm; this.context = context; this.mainDiv = mainDiv; } IFX.project.dis.DetailDataEditController.prototype.setInitParameters = function(detailInfo,me){ me.registForm.setInitParameters(detailInfo); } IFX.project.dis.DetailDataEditController.prototype.showEdit = function(data,me){ var type = this.context.type; var input = this.context.input; var failPrepareDetail = function(o) { alert(o); } var prepareDetail = function(o){ var obj = IFX.gui.util.JsonParser.parse(o.responseText); if(IFX.gui.util.JsonParser.checkServerStatus(obj)){ var detailInfo = obj[0].Command.Info; if(detailInfo){ me.setInitParameters(detailInfo,me); } me.editDialog.show(); } } var editShowCallback = { success: prepareDetail, failure: failPrepareDetail, argument: [ "foo", "bar" ] } //ここでユーザ認証 var transaction = YAHOO.util.Connect.asyncRequest('GET',"aspx/infoCommand.ashx?command=getInfo&type="+escape(type)+"&input="+escape(input)+"&id=" + data.id , editShowCallback, null); } IFX.project.dis.DetailDataEditController.prototype.dispose = function(){ debugger; this.registForm.dispose(); } IFX.project.dis.DetailDataCreateController = function(editDialog,registForm,context,mainDiv){ this.wrapped = new IFX.project.dis.DetailDataEditController(editDialog,registForm,context); this.registForm = registForm; this.editDialog = editDialog; this.mainDiv = mainDiv; } IFX.project.dis.DetailDataCreateController.prototype.setInitParameters = function(detailInfo,me){ detailInfo.id = -1; me.wrapped.setInitParameters(detailInfo,me); } IFX.project.dis.DetailDataCreateController.prototype.showEdit = function(data,me){ this.wrapped.showEdit(data,me); } IFX.project.dis.DetailDataCreateController.prototype.dispose = function(){ this.wrapped.dispose(); } IFX.project.dis.DetailDataReserveController = function(editDialog,registForm,context,mainDiv){ this.wrapped = new IFX.project.dis.DetailDataEditController(editDialog,registForm,context); this.registForm = registForm; this.editDialog = editDialog; this.context = context; this.mainDiv = mainDiv; } IFX.project.dis.DetailDataReserveController.prototype.setInitParameters = function(detailInfo,me){ var editDialog = this.editDialog; var funcCallBack = function(id){ if(id != -1){ detailInfo.id = id; me.wrapped.setInitParameters(detailInfo,me); }else{ editDialog.hide(); } } var funcRefusedCallBack = function(){ //do nothing } var reserv = new IFX.project.dis.ReportReserve(this.context,this.mainDiv,funcCallBack,funcRefusedCallBack); reserv.init(); //IFX.project.dis.DetailDataReserveController.GlobalReserveObject = reserv; //clearInterval(IFX.project.dis.DetailDataReserveController.GlobalReserveObjectThreadId); //IFX.project.dis.DetailDataReserveController.GlobalReserveObjectThreadId = setInterval("IFX.project.dis.DetailDataReserveController.GlobalReserveObject.sendRequest();",10000) } IFX.project.dis.DetailDataReserveController.prototype.showEdit = function(data,me){ this.wrapped.showEdit(data,me); } IFX.project.dis.DetailDataReserveController.prototype.dispose = function(){ this.wrapped.dispose(); } IFX.project.dis.Context = function(type,input,inputForEdit,filepath){ this.type = type; this.input = input; this.inputForEdit = inputForEdit; this.filepath = filepath; } IFX.project.dis.Context.prototype.getParam = function(){ return "type=" + escape(this.type) + "&input=" + escape(this.input); } IFX.project.dis.Example = {}; IFX.project.dis.Example.getExample = function(type,input){ //情報を取ってくる { var typeList = IFX.project.dis.Kind[0].typeList; for(var idx in typeList){ if(typeList[idx].type == type){ for(var idx2 in typeList[idx].inputList){ if(typeList[idx].inputList[idx2].input == input){ return typeList[idx].inputList[idx2].kindList; } } } } } } IFX.project.dis.FormValidationRule = { "id": { check: function(input){ if(input.value.match(/[0-9]/g)){ return true; }else{ return false; } }, message: function(input){ return "IDが正しくありません"; } }, "user": { check: function(input){ if(input.value.length <= 20 && input.value.length > 0){ return true; }else{ return false; } }, message: function(input){ if (input.value.length == 0) { return "登録者ID・氏名を入力してください"; } else { return "登録者ID・氏名は20文字以内で入力してください"; } } }, "type": { check: function(input){ //return (input.value == "通報情報" || input.value == "防災無線情報" || input.value == "お知らせ情報"); return true; }, message: function(input){ return "情報種別が正しくありません"; } }, "input": { check: function(input){ //return (input.value == "イントラ" || input.value == "公開WEB" ); return true; }, message: function(input){ return "入力方法が不正です"; } }, "kind": { check: function(input){ //if(IFX.project.dis.Kind[input.value]){ // return true; //}else{ // return false; //} if(input.value.length > 0){ return true; }else{ return false; } }, message: function(input){ return "種別を選択してください"; } }, "date": { check: function(input){ try{ var date = IFX.gui.util.DateParser.toDate(input.value) var str = IFX.gui.util.DateParser.toStrDate(date); return (str == input.value); }catch(e){ return false; } }, message: function(input){ return "日付が正しくありません"; } }, "summary": { check: function(input){ if(input.value.length <= 50){ return true; }else{ return false; } }, message: function(input){ return "概要は50文字以内で入力してください"; } }, "body": { check: function(input){ return true; }, message: function(input){ return "情報が正しくありません"; } }, "area": { check: function(input){ if (input.value.length > 0) { return true; } else { return false; } //return (input.value == "小友町" || input.value == "気仙町" || input.value == "高田町" || input.value == "竹駒町" || input.value == "広田町" || input.value == "矢作町" || input.value == "横田町" || input.value == "米崎町"); }, message: function(input){ return "地区を選択してください"; } }, "latitude": { check: function(input){ if(input.value.match(/[0-9]/g) || input.value.length == 0){ return true; }else{ return false; } }, message: function(input){ return "座標が正しくありません"; } }, "longitude": { check: function(input){ if(input.value.match(/[0-9]/g) || input.value.length == 0){ return true; }else{ return false; } }, message: function(input){ return "座標が正しくありません"; } }, "willChangeFile1": { check: function(input){return true}, message: function(input){ return ""; } }, "willChangeFile2": { check: function(input){return true}, message: function(input){ return ""; } }, "willChangeFile3": { check: function(input){return true}, message: function(input){ return ""; } }, "attachedFile1": { check: function(input){return true}, message: function(input){ return ""; } }, "attachedFile2": { check: function(input){return true}, message: function(input){ return ""; } }, "attachedFile3": { check: function(input){return true}, message: function(input){ return ""; } }, "orgFileText1": { check: function(input){return true}, message: function(input){ return ""; } }, "orgFileText2": { check: function(input){return true}, message: function(input){ return ""; } }, "orgFileText3": { check: function(input){return true}, message: function(input){ return ""; } }, "callbackUrl": { check: function(input){return true}, message: function(input){ return ""; } }, "uid": { check: function(input){ if(input.value.match(/[0-9]/g)){ return true; }else{ return false; } }, message: function(input){ return ""; } }, "userId": { check: function(input){ if(input.value.length <= 8 && input.value.length > 0) { return (input.value.match(/[0-9a-zA-Z]/g)); } else { return false; } }, message: function(input){ if (input.value.length == 0) { return "ユーザIDを入力してください"; } else { return "ユーザIDは半角英数字8文字以内で入力してください"; } } }, "password": { check: function(input){ if(input.value.length <= 8 && input.value.length > 0) { return (input.value.match(/[0-9a-zA-Z]/g)); } else { return false; } }, message: function(input){ if (input.value.length == 0) { return "パスワードを入力してください"; } else { return "パスワードは半角英数字8文字以内で入力してください"; } } }, "name": { check: function(input){return (input.value.length <= 10 && input.value.length > 0)}, message: function(input){ if (input.value.length == 0) { return "表示名称を入力してください"; } else { return "表示名称は10文字以内で入力してください"; } } }, "note": { check: function(input){return (input.value.length <= 50)}, message: function(input){ return "備考・その他情報は50文字以内で入力してください"; } } }; /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** 未対応 SRID EPSG:30161 旧 1 EPSG:30162 旧 2 EPSG:30163 旧 3 EPSG:30164 旧 4 EPSG:30165 旧 5 EPSG:30166 旧 6 EPSG:30167 旧 7 EPSG:30168 旧 8 EPSG:30169 旧 9 EPSG:30170 旧10 EPSG:30171 旧11 EPSG:30172 旧12 EPSG:30173 旧13 EPSG:30174 旧14 EPSG:30175 旧15 EPSG:30176 旧16 EPSG:30177 旧17 EPSG:30178 旧18 EPSG:30179 旧19 EPSG:2443 新 1 EPSG:2444 新 2 EPSG:2445 新 3 EPSG:2446 新 4 EPSG:2447 新 5 EPSG:2448 新 6 EPSG:2449 新 7 EPSG:2450 新 8 EPSG:2451 新 9 EPSG:2452 新10 EPSG:2453 新11 EPSG:2454 新12 EPSG:2455 新13 EPSG:2456 新14 EPSG:2457 新15 EPSG:2458 新16 EPSG:2459 新17 EPSG:2460 新18 EPSG:2461 新19 */ /** * IFX.util.CoordConverter */ IFX.util.CoordConverter = function () { var a = { "JGD" : 6378137, "TKY" : 6377397.155 }; var f = { "JGD" : 1 / 298.257222101, "TKY" : 1 / 299.152813 }; var e, e2, A, B, C, D, E, F, G, H, I; // 各系の原点緯度 var gLat = [ 33 * Math.PI / 180, 33 * Math.PI / 180, 36 * Math.PI / 180, 33 * Math.PI / 180, 36 * Math.PI / 180, 36 * Math.PI / 180, 36 * Math.PI / 180, 36 * Math.PI / 180, 36 * Math.PI / 180, 40 * Math.PI / 180, 44 * Math.PI / 180, 44 * Math.PI / 180, 44 * Math.PI / 180, 26 * Math.PI / 180, 26 * Math.PI / 180, 26 * Math.PI / 180, 26 * Math.PI / 180, 20 * Math.PI / 180, 26 * Math.PI / 180 ]; // 各系の原点経度 var gLon = [ 129.5 * Math.PI / 180, 131 * Math.PI / 180, (132 + 1/6) * Math.PI / 180, 133.5 * Math.PI / 180, (134 + 2/6) * Math.PI / 180, 136 * Math.PI / 180, (137+1/6) * Math.PI / 180, 138.5 * Math.PI / 180, (139 + 5/6) * Math.PI / 180, (140 + 5/6) * Math.PI / 180, 140.25 * Math.PI / 180, 142.25 * Math.PI / 180, 144.25 * Math.PI / 180, 142 * Math.PI / 180, 127.5 * Math.PI / 180, 124 * Math.PI / 180, 131 * Math.PI / 180, 136 * Math.PI / 180, 154 * Math.PI / 180 ]; // 緯度に対する赤道からの子午線長を求める var GetS = function (phi) { return ( A * phi - (B / 2) * Math.sin(phi * 2) + (C / 4) * Math.sin(phi * 4) - (D / 6) * Math.sin(phi * 6) + (E / 8) * Math.sin(phi * 8) - (F / 10) * Math.sin(phi * 10) + (G / 12) * Math.sin(phi * 12) - (H / 14) * Math.sin(phi * 14) + (I / 16) * Math.sin(phi * 16) ) * a[IFX.util.CoordConverter.datum] * (1 - Math.pow(e, 2)); } // 座標(XY)の点から基準子午線への垂線の足の緯度を求める var GetPhiN = function (kei, X) { var Gosa = 2 / 360000000 * Math.PI / 180; var Lat1 = gLat[kei - 1]; var Lat2; var M = GetS(Lat1) + X / 0.9999; for (var n = 0; ; n++) { Lat2 = GetPhi(Lat1, M); if (Math.abs(Lat2 - Lat1) < Gosa) { return Lat2; } Lat1 = Lat2; } } // φnからφn+1を求める計算 var GetPhi = function (phi, M) { var S = GetS(phi); var eSin = Math.pow((1 - Math.pow(e, 2) * Math.pow(Math.sin(phi), 2)), 0.5); return phi + 2 * (S - M) * eSin / (3 * Math.pow(e, 2) * (S - M) * Math.sin(phi) * Math.cos(phi) * eSin - 2 * a[IFX.util.CoordConverter.datum] * (1 - Math.pow(e, 2))); } var GetN = function (phi) { return a[IFX.util.CoordConverter.datum] / Math.pow(1 - Math.pow(e * Math.sin(phi), 2), 0.5); } var LL2XY = function (Lat, Lon, num) { var kei = IFX.util.CoordConverter.kei; try { if (IFX.util.CoordConverter.format == "DMS") { var latTmp = IFX.util.CoordConverter.dms2deg(Lat); var lonTmp = IFX.util.CoordConverter.dms2deg(Lon); Lat = latTmp; Lon = lonTmp; } } catch (e) {} var phi = Lat * Math.PI / 180; var lambda = Lon * Math.PI / 180; var dlambda = lambda - gLon[kei - 1]; var S = GetS(phi); var S0 = GetS(gLat[kei - 1]); var N = GetN(phi); var t = Math.tan(phi); var t2 = Math.pow(t, 2); var t4 = Math.pow(t, 4); var t6 = Math.pow(t, 6); var cos = Math.cos(phi); var eta2 = Math.pow(e2 * cos, 2); var eta4 = Math.pow(e2 * cos, 4); var X = ((S - S0) + 1 / 2 * N * Math.pow(cos, 2) * t * Math.pow(dlambda, 2) + 1 / 24 * N * Math.pow(cos, 4) * t * (5 - t2 + 2 * eta2 + 4 * eta4) * Math.pow(dlambda, 4) - 1 / 720 * N * Math.pow(cos, 6) * t * (-61 + 58 * t2 - t4 - 270 * eta2 + 330 * t2 * eta2) * Math.pow(dlambda, 6) - 1 / 40320 * N * Math.pow(cos, 8) * t * (-1385 + 3111 * t2 - 543 * t4 + t6) * Math.pow(dlambda, 8) ) * 0.9999; var Y = (N * cos * dlambda - 1 / 6 * N * Math.pow(cos, 3) * (-1 + t2 - eta2) * Math.pow(dlambda, 3) - 1 / 120 * N * Math.pow(cos, 5) * (-5 + 18 * t2 - t4 - 14 * eta2 + 58 * t2 * eta2) * Math.pow(dlambda, 5) - 1 / 5040 * N * Math.pow(cos, 7) * (-61 + 479 * t2 - 179 * t4 - t6) * Math.pow(dlambda, 7) ) * 0.9999; if (!num && num != 0) num = 2; if (num == 0) { X = Math.round(X); Y = Math.round(Y); } else { X = Math.round(X * Math.pow(10, num)) / Math.pow(10, num); Y = Math.round(Y * Math.pow(10, num)) / Math.pow(10, num); } if (IFX.util.CoordConverter.xy_mode == "GIS") return { x : Y, y : X }; else return { x : X, y : Y }; } var XY2LL = function (x, y, num) { var kei = IFX.util.CoordConverter.kei; if (IFX.util.CoordConverter.xy_mode == "GIS") { X = y; Y = x; } else { X = x; Y = y; } var phi1 = GetPhiN(kei, X); var N1 = GetN(phi1); var eta12 = Math.pow(e2 * Math.cos(phi1), 2); var eta14 = Math.pow(e2 * Math.cos(phi1), 4); var t1 = Math.tan(phi1); var t12 = Math.pow(t1, 2); var t14 = Math.pow(t1, 4); var t16 = Math.pow(t1, 6); var ym0 = Y / 0.9999; var Lat = phi1 - 1 / 2 / Math.pow(N1, 2) * t1 * (1 + eta12) * Math.pow(ym0, 2) + 1 / 24 / Math.pow(N1, 4) * t1 * (5 + 3 * t12 + 6 * eta12 - 6 * t12 * eta12 - 3 * eta14 - 9 * t14 * eta14) * Math.pow(ym0, 4) - 1 / 720 / Math.pow(N1, 6) * t1 * (61 + 90 * t12 + 45 * t14 + 107 * eta12 - 162 * t12 * eta12 - 45 * t14 * eta12) * Math.pow(ym0, 6) + 1 / 40320 / Math.pow(N1, 8) * t1 * (1385 + 3633 * t12 + 4095 * t14 + 1575 * t16) * Math.pow(ym0, 8); Lat = 180 * Lat / Math.PI; var Lon = gLon[kei - 1] + 1 / N1 / Math.cos(phi1) * ym0 - 1 / 6 / Math.pow(N1, 3) / Math.cos(phi1) * (1 + 2 * t12 + eta12) * Math.pow(ym0, 3) + 1 / 120 / Math.pow(N1, 5) / Math.cos(phi1) * (5 + 28 * t12 + 24 * t14 + 6 * eta12 + 8 * t12 * eta12) * Math.pow(ym0, 5) - 1 / 5040 / Math.pow(N1, 7) / Math.cos(phi1) * (61 + 662 * t12 + 1320 * t14 + 720 * t16) * Math.pow(ym0, 7); Lon = 180 * Lon / Math.PI; if (IFX.util.CoordConverter.format == "DMS") { if (!num && num != 0) num = 4; Lat = IFX.util.CoordConverter.deg2dms(Lat, num); Lon = IFX.util.CoordConverter.deg2dms(Lon, num); } else { if (!num && num != 0) num = 8; if (num == 0) { Lat = Math.round(Lat); Lon = Math.round(Lon); } else { Lat = Math.round(Lat * Math.pow(10, num)) / Math.pow(10, num); Lon = Math.round(Lon * Math.pow(10, num)) / Math.pow(10, num); } } return { lat: Lat, lon : Lon }; } var setZeroLeft = function (val, num) { var cnt = num - val.toString().length; for (var i=0; i 0) { var handler = this.__listener[eventName].pop(); if (handler.id == id) handler.callback = null; else newListener.push(handler); } delete this.__listener[eventName]; this.__listener[eventName] = newListener; return true; } PRO.stopListener = function (eventName, id) { this.setListenerStatus(eventName, id, false); } PRO.startListener = function (eventName, id) { this.setListenerStatus(eventName, id, true); } PRO.clearListener = function (eventName) { if (!eventName) { for (var prop in this.__listener) { var handler = this.__listener[prop]; if (handler) handler.callback = null; this.__listener[prop] = null; } return true; } if (!this.__listener[eventName]) return false; var newListener = []; newListener.idx = this.__listener[eventName].idx; while (this.__listener[eventName].length > 0) { var handler = this.__listener[eventName].pop(); handler.callback = null; } delete this.__listener[eventName]; this.__listener[eventName] = newListener; return true; } PRO.fire = function (eventName, args) { if (!this.__listener || !this.__listener[eventName]) return false; if (!this.__fire) return false; var handler = this.__listener[eventName] for (var i=0; i= xx1); var chkX2 = (x1 <= xx2); var chkX3 = (x2 >= xx1); var chkX4 = (x2 <= xx2); var chkX = (chkX1 && chkX2 && chkX3 && chkX4); var chkY1 = (y1 >= yy1); var chkY2 = (y1 <= yy2); var chkY3 = (y2 >= yy1); var chkY4 = (y2 <= yy2); var chkY = (chkY1 && chkY2 && chkY3 && chkY4); IFX.util.Logger.debug([x1, y1, x2, y2, xx1, yy1, xx2, yy2], "GEOMETRY"); return (chkX && chkY); } PRO.isOutside = function (xy, size) { return !(this.isInside(xy, size)); } PRO.removeMotion = function () { if (this.__moveMotion) { this.__moveMotion.dispose(); this.__moveMotion = null; } } //PRO.setRangeXY = function (x1, y1, x2, y2) { // this.__rangeX1 = x1; // this.__rangeY1 = y1; // this.__rangeX2 = x2; // this.__rangeY2 = y2; //} /** * internal method */ // override PRO._init = function (gisNode, type) { IFX.model.Object.prototype._init.call(this); this.__coord = new IFX.model.Coord; this.__gisNode = gisNode; this.setType(type); return this; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Element : IFX.model.Object */ IFX.model.Element = function (gisNode, type) { this._init(gisNode, type); } var PRO = IFX.model.Element.prototype = new IFX.model.Object; /** * - events - * * onPosChange * onSizeChange * onStyleChange * startDrag * onDrag * endDrag * onMouseOver * onMouseMove * onMouseOut * onMouseDown * onMouseUp * onClick * onDblClick * onWheelUp * onWheelDown */ /** * member variables */ PRO.__name = "IFX.model.Element"; PRO.__gisNode = null; PRO.__type = "DIV"; // "DIV" or "IMAGE" PRO.__x = 0; PRO.__y = 0; PRO.__width = 0; PRO.__height = 0; PRO.__style = 0; PRO.__domElement = null; PRO.__movable = null; PRO.__resizable = null; PRO.__resizeDiv = null; PRO.__visible = true; PRO.__visiblePosBuffer = null; PRO.__mouseOverCursor = null; PRO.__mouseDownCursor = null; PRO.__dragPosBuffer = null; PRO.__passStartDrag = null; PRO.__passSetEvent = null; PRO.__divForDrag = null; // for firefox drag ui PRO.__borderWidth = 0; PRO.__moveMotion = null; PRO.__sizeMotion = null; /** * constant value */ IFX.model.Element.TRANSPARENT_IMAGE_SRC = "lib/ifx/build/model/assets/transparent.gif"; IFX.model.Element.TRANSPARENT_IMAGE_WIDTH = 10; IFX.model.Element.TRANSPARENT_IMAGE_HEIGHT = 10; /** * external method */ // override PRO.dispose = function () { this.removeDomElement(); this.__gisNode = null; IFX.model.Object.prototype.dispose.call(this); } PRO.setType = function (type) { if (type) this.__type = type; } PRO.setXY = function (x, y, motion) { var self = this; var domElm = this.getDomElement(); if (motion) { if (!domElm) { this.__x = x; this.__y = y; this.__visiblePosBuffer = x; motion.dispose(); this.fire("onPosChange", this.__gisNode); return; } if (this.__moveMotion) this.__moveMotion.dispose(); this.__moveMotion = motion; this.__moveMotion.addListener("onMotion", function (xy) { var xx = Math.round(xy.x); var yy = Math.round(xy.y); self.__x = xx; self.__y = yy; self.__visiblePosBuffer = xx; domElm.style.left = xx + "px"; domElm.style.top = yy + "px"; self.fire("onPosChange", this.__gisNode); }); this.__moveMotion.addListener("endMotion", function (xy) { var xx = Math.round(xy.x); var yy = Math.round(xy.y); self.__x = xx; self.__y = yy; self.__visiblePosBuffer = xx; domElm.style.left = xx + "px"; domElm.style.top = yy + "px"; self.__moveMotion.dispose(); self.__moveMotion = null; self.fire("onPosChange", this.__gisNode); }); motion.startMotion({x : this.__x, y : this.__y}, {x : x, y : y}); } else { if (this.__moveMotion) { this.__moveMotion.startMotion({x : x, y : y}); } else { this.__x = x; this.__y = y; this.__visiblePosBuffer = x; if (!domElm) { this.fire("onPosChange", this.__gisNode); return; } domElm.style.left = x + "px"; domElm.style.top = y + "px"; this.fire("onPosChange", this.__gisNode); } } } PRO.setSize = function (width, height) { if (width > 20000) width = 20000; if (height > 20000) height = 20000; this.__width = width; this.__height = height; var domElm = this.getDomElement(); if (!domElm) { this.fire("onSizeChange", this.__gisNode); return; } if (width && height) { if (YAHOO.env.ua.ie && width < 18) // for IE domElm.style.overflow = "hidden"; domElm.style.width = width + "px"; domElm.style.height = height + "px"; } else { var size = this.getSize(); width = size.width; height = size.height; } if (width && height) { if (this.__divForDrag) { this.__divForDrag.style.width = width + "px"; this.__divForDrag.style.height = height + "px"; } this.refreshMargin(domElm); } this.fire("onSizeChange", this.__gisNode); } PRO.refreshMargin = function (domElm) { if (!domElm) { domElm = this.getDomElement(); if (!domElm) return; } var marginLeft = "-" + (Math.round(this.__width / 2) + this.__borderWidth); var marginTop = "-" + (Math.round(this.__height / 2) + this.__borderWidth); // YAHOO.util.Dom.setStyle(domElm, "margin-left", marginLeft + "px"); // YAHOO.util.Dom.setStyle(domElm, "margin-top", marginTop + "px"); domElm.style.marginLeft = marginLeft + "px"; domElm.style.marginTop = marginTop + "px"; } PRO.setBorderWidth = function (borderWidth) { this.__borderWidth = borderWidth; this.refreshMargin(); } PRO.setMovable = function (enable) { this.__movable = enable; this.setDomEventListener(); // if (YAHOO.env.ua.gecko) this.refreshDomStyle(); } //////////////////////////////////////////// PRO.setResizable = function (enable) { this.__resizable = enable; this.setDomEventListener(); // if (YAHOO.env.ua.gecko) this.refreshDomStyle(); } PRO.getResizeDiv = function () { return this.__resizeDiv; } PRO._createResizeDiv = function () { return; var domElm = this.getDomElement(); if (!domElm) return; if (this.__resizeDiv) return; var div = document.createElement("div"); domElm.appendChild(div); this.__resizeDiv = div; div.style.position = "absolute"; div.style.width = "20px"; div.style.height = "20px"; div.style.left = "0px"; div.style.top = "0px"; div.style.zIndex = 0; div.style.border = "black 1px solid"; div.style.background = "white"; div.innerHTML = "⊿"; } //////////////////////////////////////////// PRO.setVisible = function (visible, not_movePos) { var domElm = this.getDomElement(); if (visible) { if (!not_movePos && this.__visiblePosBuffer) domElm.style.left = this.__visiblePosBuffer; //##### 2007/11/16 visible → inherit domElm.style.visibility = "inherit"; } else { if (!not_movePos) { this.__visiblePosBuffer = domElm.style.left; domElm.style.left = "99999px"; } domElm.style.visibility = "hidden"; } this.__visible = visible; } PRO.setCursor = function (mouseoverCursor, mousedownCursor) { this.__mouseOverCursor = mouseoverCursor; this.__mouseDownCursor = (mousedownCursor ? mousedownCursor : mouseoverCursor); } PRO.setStyle = function (style) { this.__style = style; var domElm = this.getDomElement(); if (!domElm) { this.fire("onStyleChange", this.__gisNode); return; } for (var prop in style) domElm.style[prop] = style[prop]; // YAHOO.util.Dom.setStyle(domElm, prop, style[prop]); this.fire("onStyleChange", this.__gisNode); } PRO.getType = function () { return this.__type; } PRO.getDomElement = function () { return this.__domElement; } PRO.createDomElement = function (parentElement, zIndex) { if (this.__domElement) { this.refreshDomStyle(); return this.__domElement; } var domElm = (this.__type == "IMAGE" ? new Image : document.createElement("div") ); parentElement.appendChild(domElm); this.__domElement = domElm; domElm.style.position = "absolute"; domElm.style.width = "0px"; domElm.style.height = "0px"; domElm.style.left = "0px"; domElm.style.top = "0px"; domElm.style.zIndex = (zIndex ? zIndex : 0); if (this.__type == "IMAGE") { if (YAHOO.env.ua.ie) domElm.galleryimg = "no"; domElm.src = IFX.model.Element.TRANSPARENT_IMAGE_SRC; this.__width = IFX.model.Element.TRANSPARENT_IMAGE_WIDTH; this.__height = IFX.model.Element.TRANSPARENT_IMAGE_HEIGHT; } this.refreshDomStyle(); this.setDomEventListener(); return domElm; } PRO.removeDomElement = function () { this.__passSetEvent = false; if (!this.__domElement) return; this.removeDomEventListener(); if (this.__type == "IMAGE") this.__domElement.src = IFX.model.Element.TRANSPARENT_IMAGE_SRC; if (this.__domElement.childNodes) { for (var i=this.__domElement.childNodes.length-1; i>=0; i--) { this.removeDomEvent(this.__domElement.childNodes[i]); this.__domElement.removeChild(this.__domElement.childNodes[i]); } } if (YAHOO.env.ua.gecko) { if (this.__domElement.parentNode) this.__domElement.parentNode.removeChild(this.__domElement); } else { if (this.__domElement.parentElement) this.__domElement.parentElement.removeChild(this.__domElement); } delete this.__domElement; this.__domElement = null; this.__divForDrag = null; } PRO.refreshDomStyle = function () { this.setXY(this.__x, this.__y); this.setSize(this.__width, this.__height); this.setStyle(this.__style); } PRO.getXY = function () { var domElm = this.getDomElement(); if (domElm) { return { x : domElm.style.left.replace(/px/, ""), y : domElm.style.top.replace(/px/, "") } } else { return { x : this.__x, y : this.__y } } } PRO.getSize = function () { var domElm = this.getDomElement(); if (domElm) { return { width : domElm.style.width.replace(/px/, ""), height : domElm.style.height.replace(/px/, "") } } else { return { x : this.__width, y : this.__height } } } PRO.getStyle = function (prop) { var domElm = this.getDomElement(); if (domElm) return domElm.style[prop]; else return this.__style[prop]; } PRO.getVisible = function () { return this.__visible; } PRO.moveToFront = function () { var domElm = this.getDomElement(); if (!domElm) return; var gisNode = this.__gisNode; var parentNode = gisNode.__parentNode; // var baseZIndex = YAHOO.util.Dom.getStyle(domElm, "zIndex"); var baseZIndex = domElm.style.zIndex; if (!this.__gisNode || !domElm || !parentNode) return false; for (var i=0; i baseZIndex) otherDiv.style.zIndex = zIndex - 1; // YAHOO.util.Dom.setStyle(otherDiv, "zIndex", zIndex - 1); } domElm.style.zIndex = parentNode.__childNodes.length; // YAHOO.util.Dom.setStyle(domElm, "zIndex", parentNode.__childNodes.length); return true; } PRO.removeDomEventListener = function () { var domElm = this.getDomElement(); if (!domElm) return; domElm.onmouseover = null; domElm.onmouseout = null; domElm.onmouseenter = null; domElm.onmouseleave = null; domElm.onmousedown = null; domElm.onmousemove = null; domElm.onmouseup = null; domElm.onmousewheel = null; domElm.onclick = null; domElm.ondblclick = null; if (this.__type == "IMAGE") domElm.onload = null; if (YAHOO.env.ua.gecko) YAHOO.util.Event.removeListener(domElm, "DOMMouseScroll"); if (this.__resizeDiv) { this.__resizeDiv.onmouseover = null; this.__resizeDiv.onmouseout = null; this.__resizeDiv.onmouseenter = null; this.__resizeDiv.onmouseleave = null; this.__resizeDiv.onmousedown = null; this.__resizeDiv.onmousemove = null; this.__resizeDiv.onmouseup = null; this.__resizeDiv.onmousewheel = null; this.__resizeDiv.onclick = null; this.__resizeDiv.ondblclick = null; } } PRO.setDomEventListener = function () { var domElm = this.getDomElement(); if (!domElm) return; if (!this.__gisNode.__map) return; // resizediv if (this.__resizable) this._createResizeDiv(); var self = this; var frameDiv = this.__gisNode.__map.__frameDiv; var body = document.body; // 通過チェック if (this.__passSetEvent) return; else this.__passSetEvent = true; // Imageの場合 if (this.__type == "IMAGE") { domElm.onload = function () { self.fire("onLoad", self.__gisNode); } } // マウスイベント var endDrag = function () { if (self.__mouseOverCursor) domElm.style.cursor = self.__mouseOverCursor; frameDiv.onmousemove = null; domElm.onmouseup = null; var e = YAHOO.util.Event.getEvent(); var xy = YAHOO.util.Event.getXY(e); if (xy[0]== self.__dragPosBuffer.e[0] && xy[1] == self.__dragPosBuffer.e[1]) return false; else return true; } var onDrag = function () { if (YAHOO.env.ua.ie) { document.selection.empty(); if (event.button == 0) return false; } var e = YAHOO.util.Event.getEvent(); var xy = YAHOO.util.Event.getXY(e); var dist = { width : xy[0] - self.__dragPosBuffer.e[0], height : xy[1] - self.__dragPosBuffer.e[1] } var pos = { x : Number(self.__dragPosBuffer.p.x) + Number(dist.width), y : Number(self.__dragPosBuffer.p.y) + Number(dist.height) } domElm.style.left = pos.x + "px"; domElm.style.top = pos.y + "px"; return true; } var startDrag = function () { var e = YAHOO.util.Event.getEvent(); self.__dragPosBuffer = { e : YAHOO.util.Event.getXY(e), p : self.getXY() } if (self.__mouseDownCursor) domElm.style.cursor = self.__mouseDownCursor; if (self.__movable) { frameDiv.onmousemove = function (e) { window.eventForFirefox = e; if (self.__passStartDrag) { if (onDrag()) self.fire("onDrag", self.__gisNode); else { if (endDrag()) self.fire("endDrag", self.__gisNode); else self.fire("onClick", self.__gisNode); } } else { self.__passStartDrag = true; self.fire("startDrag", self.__gisNode); } return false; } } domElm.onmouseup = function (e) { window.eventForFirefox = e; self.__passStartDrag = false; if (endDrag()) self.fire("endDrag", self.__gisNode); else self.fire("onClick", self.__gisNode); } self.fire("onMouseDown", self.__gisNode); } domElm.onmouseover = function (e) { window.eventForFirefox = e; self.fire("onMouseOver", self.__gisNode); } domElm.onmousemove = function (e) { window.eventForFirefox = e; self.fire("onMouseMove", self.__gisNode); } domElm.onmouseout = function (e) { window.eventForFirefox = e; self.fire("onMouseOut", self.__gisNode); } domElm.onmouseleave = function (e) { window.eventForFirefox = e; self.fire("onMouseLeave", self.__gisNode); } domElm.onmousedown = function (e) { window.eventForFirefox = e; startDrag(); } domElm.onmouseup = function (e) { window.eventForFirefox = e; self.fire("onMouseUp", self.__gisNode); } domElm.ondblclick = function (e) { window.eventForFirefox = e; self.fire("onDblClick", self.__gisNode); } // マウスホイールイベント var getWheelDelta = function () { var delta; var e = YAHOO.util.Event.getEvent(); if (e.wheelDelta) // IE / Opera delta = e.wheelDelta / 120; else if(e.detail) // Firefox delta = -e.detail / 3; return delta; } if (YAHOO.env.ua.gecko) { YAHOO.util.Event.addListener(domElm, "DOMMouseScroll", function () { if (getWheelDelta() < 0) self.fire("onWheelDown", self.__gisNode); else self.fire("onWheelUp", self.__gisNode); }); } else { domElm.onmousewheel = function () { if (getWheelDelta() < 0) self.fire("onWheelDown", self.__gisNode); else self.fire("onWheelUp", self.__gisNode); } } } PRO.setDraggableCoverForFirefox = function () { var domElm = this.getDomElement(); if (!domElm) return; if (!YAHOO.env.ua.gecko) return; if (this.__divForDrag) return; this.__divForDrag = domElm.appendChild(document.createElement("div")); this.__divForDrag.style.position = "absolute"; this.__divForDrag.style.left = "0px"; this.__divForDrag.style.top = "0px"; this.__divForDrag.style.width = "0px"; this.__divForDrag.style.height = "0px"; this.__divForDrag.style.zIndex = 100; this.__divForDrag.style.background = "transparent"; this.refreshDomStyle(); } /** * internal method */ PRO._init = function (gisNode, type) { IFX.model.Object.prototype._init.call(this); this.__gisNode = gisNode; this.setType(type); return this; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Proxy : IFX.model.Object */ IFX.model.Proxy = function (gisNode) { this._init(gisNode); } var PRO = IFX.model.Proxy.prototype = new IFX.model.Object; /** * member variables */ PRO.__name = "IFX.model.Proxy"; PRO.__gisNode = null; /** * extenral method */ /** * internal method */ PRO._init = function (gisNode) { IFX.model.Object.prototype._init.call(this); this.__gisNode = gisNode; return this; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Node : IFX.model.Object */ IFX.model.Node = function (name) { this._init(name); } var PRO = IFX.model.Node.prototype = new IFX.model.Object; /** * member variables */ PRO.__name = "IFX.model.Node"; PRO.__path = ""; PRO.__index = 0; PRO.__level = 0; PRO.__disabled = false; PRO.__parentNode = null; PRO.__childNodes = null; /** * external method */ // override PRO.dispose = function () { if (this.__parentNode) try { this.__parentNode._disconnectChild(this); } catch (e) {} delete this.__childNodes; this.__childNodes = null; IFX.model.Object.prototype.dispose.call(this); } PRO.setDisabled = function (disabled) { this.__disabled = disabled; } PRO.getDisabled = function () { return this.__disabled; } PRO.disposeCascade = function () { for (var i=this.__childNodes.length-1; i>=0; i--) { var node = this.__childNodes[i]; node.disposeCascade(); } this.dispose(); } PRO.refresh = function () { var cnt = this.__childNodes.length; this._connectChild.notDisconnectMode = true; for (var i=cnt-1; i>=0; i--) this._connectChild(this.__childNodes[i]); this._connectChild.notDisconnectMode = false; } PRO.connectTo = function (parentNode) { parentNode._connectChild(this); return this; } PRO.disconnect = function () { this.__parentNode._disconnectChild(this); return this; } PRO.disconnectChildren = function () { while (this.__childNodes.length > 0) this._disconnectChild(this.__childNodes.pop()); return this; } PRO.getFirstChild = function () { if (this.__childNodes.length == 0) return null; return this.__childNodes[0]; } PRO.getLastChild = function () { if (this.__childNodes.length == 0) return null; return this.__childNodes[this.__childNodes.length - 1]; } PRO.getPrevSibling = function () { if (!this.__parentNode) return null; return (this.__index > 0 ? this.__parentNode.__childNodes[this.__index - 1] : null); } PRO.getNextSibling = function () { if (!this.__parentNode) return null; return (this.__index < this.__parentNode.__childNodes.length ? this.__parentNode.__childNodes[this.__index + 1] : null); } PRO.getEdge = function () { var getEdge = function (node) { for (var i=0; i 1) return this.__childNodes[i].scanPath(targets.slice(1, targets.length).join(".")); else return this.__childNodes[i]; } } return null; } PRO.getPath = function (path) { var targets = path.split("."); var getPath = function (node, targets) { for (var i=0; i 1) { targets.shift(); return getPath(node.__childNodes[i], targets); } else return node.__childNodes[i]; } } var createPath = function (node, targets) { var target = targets.shift(); var childNode = new IFX.model.Node(); childNode._init(target); childNode.connectTo(node); if (targets.length > 0) return createPath(childNode, targets); else return childNode; } return createPath(node, targets); } return getPath(this, targets); } PRO.setName = function (name) { this.__name = name; if (this.__level == 0 || this.__parentNode.__name == "") this.__path = name; else { var arr = this.__path.split("."); arr.splice([this.__index], 1, name); this.__path = arr.join("."); } this.refresh(); } /** * internal method */ // override PRO._init = function (name) { this.__name = name this.__path = name; this.__childNodes = new Array; IFX.model.Object.prototype._init.call(this); return this; } PRO._connectChild = function (node, childNodeFlg, childNodeCount) { if (!childNodeFlg && !this._connectChild.notDisconnectMode) { if (node.__parentNode) node.disconnect(); this.__childNodes.push(node); } node.__parentNode = this; node.__index = this.__childNodes.length - 1; node.__level = this.__level + 1; node.__path = (this.__name != "" ? this.__path + "." + node.__name : node.__name); if (!childNodeCount) childNodeCount = node.__childNodes.length; for (var i=0; i=0; i--) { var node = this.__childNodes[i]; node.disposeCascade(); } this.dispose(); } PRO.getNodeType = function () { return this.__nodeType; } PRO.addGisNode = function (target) { return target.connectTo(this); } PRO.removeGisNode = function (target) { target.element.removeDomElement(); target.disconnect(); } PRO.scanGisNode = function (path, nodeType) { if (path) { var targets = path.split("."); for (var i=0; i 1) return this.__childNodes[i].scanGisNode(targets.slice(1, targets.length).join("."), nodeType); else return this.__childNodes[i]; } } } else if (nodeType) { for (var i=0; i=0; i--) { var node = this.__childNodes[i]; node.disposeCascade(); } this.geometry.dispose(); this.element.dispose(); this.proxy.dispose(); this.geometry = null; this.element = null; this.proxy = null; this.__rootNodes.control = null; this.__rootNodes.layer = null; this.__rootNodes.bg = null; this.__rootNodes.ui = null; this.__rootNodes = null; this.__frameDiv = null; IFX.model.GisNode.prototype.dispose.call(this); } PRO.addControl = function (target) { return this.__rootNodes.control.addGisNode(target); } PRO.addLayer = function (target) { return this.__rootNodes.layer.addGisNode(target); } PRO.addBG = function (target) { return this.__rootNodes.bg.addGisNode(target); } PRO.addUI = function (target) { return this.__rootNodes.ui.addGisNode(target); } PRO.removeControl = function (target) { this.__rootNodes.control.removeGisNode(target); } PRO.removeLayer = function (target) { this.__rootNodes.layer.removeGisNode(target); } PRO.removeBG = function (target) { this.__rootNodes.bg.removeGisNode(target); } PRO.removeUI = function (target) { this.__rootNodes.ui.removeGisNode(target); } PRO.getControl = function (path) { return this.__rootNodes.control.scanGisNode(path); } PRO.getLayer = function (path) { return this.__rootNodes.layer.scanGisNode(path); } PRO.getBG = function (path) { return this.__rootNodes.bg.scanGisNode(path); } PRO.getUI = function (path) { return this.__rootNodes.ui.scanGisNode(path); } PRO.getPixelPerMeter = function () { var geometrySize = this.geometry.getSize(); var elementSize = this.element.getSize(); return geometrySize.width / elementSize.width; } PRO.refreshElementPos = function () { var size = this.element.getSize(); var x = Math.round(size.width / 2); var y = Math.round(size.height / 2); IFX.util.Logger.debug(["Map", this.__name, x, y, "refreshElementPos"], "MAP"); this.element.stopFire(); this.element.setXY(x, y); this.element.startFire(); } PRO.scanEventPos = function () { if (YAHOO.env.ua.gecko) { var e = window.eventForFirefox; var px = e.layerX; var py = e.layerY; } else { var e = YAHOO.util.Event.getEvent(); var px = e.offsetX; var py = e.offsetY; } var mapXY = this.geometry.getXY(); var mapSize = this.geometry.getSize(); var ret = IFX.util.PixelConverter.getRealXY(px, py, this.geometry.getScale()); var x = (mapXY.x - mapSize.width / 2) + ret.x; var y = (mapXY.y + mapSize.height / 2) + ret.y; var ll = IFX.util.CoordConverter.getLatLonFromXY(x, y); return { px : px, py : py, x : Math.round(x * 100) / 100, y : Math.round(y * 100) / 100, lat : ll.lat, lon : ll.lon } } PRO.getFrameXY = function () { var elm = this.__frameDiv; var x = 0; var y = 0; while (true) { try { x += Number(elm.style.left.replace(/px/g, "")); y += Number(elm.style.top.replace(/px/g, "")); } catch (e) { break; } if (!elm.parentElement) break; elm = elm.parentElement; } return { x : x, y : y } } /** * internal method */ // override PRO._init = function (name, frameDiv) { // 初期化 IFX.model.GisNode.prototype._init.call(this, name); // ジオメトリ初期化 this.geometry = new IFX.model.Geometry(this); // エレメント初期化 this.__frameDiv = frameDiv; this.element = new IFX.model.Element(this); this.element.createDomElement(frameDiv); // this.element.removeDomEventListener(); // プロキシ (グローバルなコールバック関数登録用) this.proxy = new IFX.model.Proxy(this); // ノード達 this.__rootNodes = {} // ハンドラ登録 // this._attachObjectListeners(); // 背景 this.__rootNodes.bg = new IFX.model.LayerRoot("bg"); this.addGisNode(this.__rootNodes.bg); // UI (地図操作) this.__rootNodes.ui = new IFX.model.UIRoot("ui"); this.addGisNode(this.__rootNodes.ui); // レイヤ this.__rootNodes.layer = new IFX.model.LayerRoot("layer"); this.addGisNode(this.__rootNodes.layer); // コントロール this.__rootNodes.control = new IFX.model.ControlRoot("control"); this.addGisNode(this.__rootNodes.control); // ハンドラ登録 this._attachObjectListeners(); // 初期サイズ var width = frameDiv.style.width.replace(/px/g, ""); var height = frameDiv.style.height.replace(/px/g, ""); this.element.setSize(width, height); return this; } PRO._attachObjectListeners = function () { var self = this; var uiRoot = this.__rootNodes.ui; this.geometry.addListener("endSizeChange", function () { var scale = IFX.util.PixelConverter.getScale( self.geometry.getSize().width, self.element.getSize().width ); self.geometry.stopFire(); self.geometry.setScale(scale); self.geometry.startFire(); }); this.geometry.addListener("onCoordChange", function () { var coord = self.geometry.getCoord(); IFX.util.CoordConverter.setDatum(coord.datum); IFX.util.CoordConverter.kei = coord.kei; }); this.geometry.addListener("onScaleChange", function () { var size = self.element.getSize(); var ret = IFX.util.PixelConverter.getRealSize(size.width, size.height, self.geometry.getScale()); self.geometry.stopFire(); self.geometry.setSize(ret.width, ret.height); self.geometry.startFire(); }); this.element.addListener("onSizeChange", function () { var size = self.element.getSize(); self.__frameDiv.style.width = size.width + "px"; self.__frameDiv.style.height = size.height + "px"; var ret = IFX.util.PixelConverter.getRealSize(size.width, size.height, self.geometry.getScale()); self.refreshElementPos(); //##### // self.geometry.stopFire(); self.geometry.setSize(ret.width, ret.height); // self.geometry.startFire(); }); uiRoot.element.addListener("onPosChange", function () { self.element.fire("onPosChange", self); }); uiRoot.element.addListener("onSizeChange", function () { self.element.fire("onSizeChange", self); }); uiRoot.element.addListener("onStyleChange", function () { self.element.fire("onStyleChange", self); }); uiRoot.element.addListener("startDrag", function () { self.element.fire("startDrag", self); }); uiRoot.element.addListener("onDrag", function () { self.element.fire("onDrag", self); }); uiRoot.element.addListener("endDrag", function () { self.element.fire("endDrag", self); }); uiRoot.element.addListener("onMouseOver", function () { self.element.fire("onMouseOver", self); }); uiRoot.element.addListener("onMouseMove", function () { self.element.fire("onMouseMove", self); }); uiRoot.element.addListener("onMouseOut", function () { self.element.fire("onMouseOut", self); }); uiRoot.element.addListener("onMouseDown", function () { self.element.fire("onMouseDown", self); }); uiRoot.element.addListener("onMouseUp", function () { self.element.fire("onMouseUp", self); }); uiRoot.element.addListener("onClick", function () { self.element.fire("onClick", self); }); uiRoot.element.addListener("onDblClick", function () { self.element.fire("onDblClick", self); }); uiRoot.element.addListener("onWheelUp", function () { self.element.fire("onWheelUp", self); }); uiRoot.element.addListener("onWheelDown", function () { self.element.fire("onWheelDown", self); }); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.UI : IFX.model.GisNode */ IFX.model.UI = function (name) { this._init(name); } var PRO = IFX.model.UI.prototype = new IFX.model.GisNode; /** * member variables */ PRO.__name = "IFX.model.UI"; PRO.__nodeType = "UI"; PRO.__map = null; PRO.__uiRoot = null; /** * external method */ // override PRO.dispose = function () { this.__map = null; this.__uiRoot = null; IFX.model.GisNode.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.GisNode.prototype.connectTo.call(this, parentNode); // ノード参照初期化 this.__map = this.scanGisNodeParent("MAP_ROOT") this.__uiRoot = this.scanGisNodeParent("UI_ROOT"); return this; } PRO.addUI = function (target) { return this.addGisNode(target); } PRO.removeUI = function (target) { this.removeGisNode(target); } /** * internal method */ /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.UIRoot : IFX.model.UI */ IFX.model.UIRoot = function (name) { this._init(name); } var PRO = IFX.model.UIRoot.prototype = new IFX.model.UI; /** * member variables */ PRO.__name = "IFX.model.UIRoot"; PRO.__nodeType = "UI_ROOT"; PRO.element = null; /** * external method */ // override PRO.dispose = function () { this.element.dispose(); this.element = null; IFX.model.UI.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // エレメント初期化 this.element.createDomElement( this.__map.element.getDomElement(), parentNode.__childNodes.length ); this.element.setStyle({backgroundColor : "transparent"}); this.element.refreshDomStyle(); this.element.setDomEventListener(); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); // 表示初期化 this.refreshElementPos(); return this; } PRO.refreshElementPos = function () { var map = this.__map; var size = map.element.getSize(); var x = Math.round(size.width / 2); var y = Math.round(size.height / 2); IFX.util.Logger.debug(["UIRoot", this.__name, x, y, "refreshElementPos"], "UI"); this.element.stopFire(); this.element.setXY(x, y); this.element.startFire(); } PRO.refreshElementSize = function () { var map = this.__map; var size = map.element.getSize(); this.element.stopFire(); this.element.setSize(size.width, size.height); this.element.startFire(); } /** * internal method */ // override PRO._init = function (name) { IFX.model.UI.prototype._init.call(this, name); // エレメント生成 this.element = new IFX.model.Element(this); if (YAHOO.env.ua.ie) this.element.setType("IMAGE"); return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; map.geometry.addListener("endSizeChange", function () { self.refreshElementPos(); self.refreshElementSize(); }); map.proxy.addListener("MAPUI_END_MOVE", function () { self.refreshElementPos(); }); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Control : IFX.model.GisNode */ IFX.model.Control = function (name) { this._init(name); } var PRO = IFX.model.Control.prototype = new IFX.model.GisNode; /** * member variables */ PRO.__name = "IFX.model.Control"; PRO.__nodeType = "CONTROL"; PRO.element = null; PRO.__map = null; PRO.__controlRoot = null; /** * external method */ // override PRO.dispose = function () { this.element.dispose(); this.element = null; this.__map = null; this.__controlRoot = null; IFX.model.GisNode.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.GisNode.prototype.connectTo.call(this, parentNode); // ノード参照初期化 this.__map = this.scanGisNodeParent("MAP_ROOT") this.__controlRoot = this.scanGisNodeParent("CONTROL_ROOT"); // エレメント初期化 if (this.__controlRoot) { if (!this.element.getDomElement()) { this.element.createDomElement( this.__controlRoot.element.getDomElement(), parentNode.__childNodes.length ); } } this.element.refreshDomStyle(); this.element.setDomEventListener(); return this; } PRO.addControl = function (target) { return this.addGisNode(target); } PRO.removeControl = function (target) { this.removeGisNode(target); } PRO.getControl = function (path) { return this.scanGisNode(path, "CONTROL"); } /** * internal method */ // override PRO._init = function (name) { IFX.model.GisNode.prototype._init.call(this, name); // エレメント生成 this.element = new IFX.model.Element(this); return this; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.ControlRoot : IFX.model.Control */ IFX.model.ControlRoot = function (name) { this._init(name); } var PRO = IFX.model.ControlRoot.prototype = new IFX.model.Control; /** * member variables */ PRO.__name = "IFX.model.ControlRoot"; PRO.__nodeType = "CONTROL_ROOT"; /** * external method */ // override PRO.connectTo = function (parentNode) { IFX.model.Control.prototype.connectTo.call(this, parentNode); // エレメント初期化 this.element.createDomElement( this.__map.element.getDomElement(), parentNode.__childNodes.length ); return this; } PRO.refreshElementPos = function () { this.element.setXY(0, 0); } /** * internal method */ /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Layer : IFX.model.GisNode */ IFX.model.Layer = function (name) { this._init(name); } var PRO = IFX.model.Layer.prototype = new IFX.model.GisNode; /** * member variables */ PRO.__name = "IFX.model.Layer"; PRO.__nodeType = "LAYER"; PRO.element = null; PRO.__map = null; PRO.__layerRoot = null; /** * external method */ // override PRO.dispose = function () { this.element.dispose(); this.element = null; this.__map = null; this.__layerRoot = null; IFX.model.GisNode.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.GisNode.prototype.connectTo.call(this, parentNode); // ノード参照初期化 this.__map = this.scanGisNodeParent("MAP_ROOT") this.__layerRoot = this.scanGisNodeParent("LAYER_ROOT"); // エレメント初期化 if (this.__layerRoot) { if (!this.element.getDomElement()) { this.element.createDomElement( this.__layerRoot.element.getDomElement(), parentNode.__childNodes.length ); } } this.element.refreshDomStyle(); this.element.setDomEventListener(); return this; } PRO.addLayer = PRO.addItem = function (target) { return this.addGisNode(target); } PRO.removeLayer = PRO.removeItem = function (target) { this.removeGisNode(target); } PRO.getLayer = function (path) { return this.scanGisNode(path, "LAYER"); } PRO.getItem = function (path) { return this.scanGisNode(path, "ITEM"); } /** * internal method */ // override PRO._init = function (name, geometryType, elementType) { IFX.model.GisNode.prototype._init.call(this, name); // エレメント生成 this.element = new IFX.model.Element(this); return this; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.LayerRoot : IFX.model.Layer */ IFX.model.LayerRoot = function (name) { this._init(name); } var PRO = IFX.model.LayerRoot.prototype = new IFX.model.Layer; /** * member variables */ PRO.__name = "IFX.model.LayerRoot"; PRO.__nodeType = "LAYER_ROOT"; PRO.geometry = null; PRO.__elmPosBuf = null; /** * external method */ // override PRO.dispose = function () { this.geometry.dispose(); this.geometry = null; IFX.model.Layer.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.Layer.prototype.connectTo.call(this, parentNode); // エレメント初期化 this.element.createDomElement( this.__map.element.getDomElement(), parentNode.__childNodes.length ); this.element.setStyle({background : "transparent"}); this.element.refreshDomStyle(); this.element.setDomEventListener(); // ジオメトリ初期化 var coord = this.__map.geometry.getCoord(); if (coord) this.geometry.setCoord(coord.datum, coord.kei); this.geometry.setXY(0, 0); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } PRO.refreshElementPos = function () { var map = this.__map; var pos = map.geometry.getXY(); var ret = IFX.util.PixelConverter.getPixelXY(pos.x, pos.y, map.geometry.getScale()); var size = map.element.getSize(); var target = this.element.getDomElement(); YAHOO.util.Dom.setStyle(target, "margin-left", Math.round(size.width / 2) + "px"); YAHOO.util.Dom.setStyle(target, "margin-top", Math.round(size.height / 2) + "px"); IFX.util.Logger.debug(["LayerRoot", this.__name, "refreshElementPos", ret.x, ret.y], "LAYER"); this.element.stopFire(); this.element.setXY(-(ret.x), -(ret.y)); this.element.startFire(); } /** * internal method */ // override PRO._init = function (name, geometryType, elementType) { IFX.model.Layer.prototype._init.call(this, name); // ジオメトリ生成 this.geometry = new IFX.model.Geometry(this); return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; map.geometry.addListener("endPosChange", function () { self.refreshElementPos(); }); map.geometry.addListener("endSizeChange", function () { self.refreshElementPos(); }); map.geometry.addListener("onScaleChange", function () { self.refreshElementPos(); }); map.proxy.addListener("LAYER_START_MOVE", function () { self.__elmPosBuf = self.element.getXY(); }); map.proxy.addListener("LAYER_ON_MOVE", function (args) { if (args instanceof Array) { var dist = args[0]; var motion = args[1]; } else { var dist = args; var motion = null; } var mx = Number(self.__elmPosBuf.x) + Number(dist.width); var my = Number(self.__elmPosBuf.y) - Number(dist.height); self.element.setXY(mx, my, motion); }); map.proxy.addListener("LAYER_END_MOVE", function () { self.refreshElementPos(); }); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.Item : IFX.model.GisNode * * geometryType - "EXTENT"(default) or "POINT" * elementType - "DIV"(default) or "IMAGE" * */ IFX.model.Item = function (name, geometryType, elementType) { this._init(name, geometryType, elementType); } var PRO = IFX.model.Item.prototype = new IFX.model.GisNode; /** * member variables */ PRO.__name = "IFX.model.Item"; PRO.__nodeType = "ITEM"; PRO.geometry = null; PRO.element = null; PRO.__map = null; PRO.__layerRoot = null; PRO.__stopElementPosRefresh = null; /** * external method */ // override PRO.dispose = function () { this.geometry.dispose(); this.element.dispose(); this.geometry = null; this.element = null; this.__map = null; this.__layerRoot = null; IFX.model.GisNode.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.GisNode.prototype.connectTo.call(this, parentNode); // ノード参照初期化 this.__map = this.scanGisNodeParent("MAP_ROOT") this.__layerRoot = this.scanGisNodeParent("LAYER_ROOT"); // ジオメトリ初期化 var coord = this.__layerRoot.geometry.getCoord(); if (coord) this.geometry.setCoord(coord.datum, coord.kei); // エレメント初期化 this.element.refreshDomStyle(); // エレメントDOMイベント if (!this.__disableDomEvent) this.element.setDomEventListener(); // オブジェクトリスナ if (!this.__disableObjectListener) { // オブジェクトイベントリスナ登録 this._attachObjectListeners(); // 表示初期化 this.geometry.startFire(); this.element.startFire(); this.refreshElementPos(); this.refreshElementSize(); } return this; } PRO.addItem = function (target) { return this.addGisNode(target); } PRO.removeItem = function (target) { this.removeGisNode(target); } PRO.getItem = function (path) { return this.scanGisNode(path, "ITEM"); } PRO.getMap = function () { return this.__map; } PRO.refreshElementPos = function (forceRefresh) { if (!forceRefresh && this.__stopElementPosRefresh) return; var self = this; var map = this.__map; var xy = map.geometry.getXY(); var size = map.geometry.getSize(); // if (this.geometry.isOutside(xy, size)) { // this.element.setVisible(false); // IFX.util.Logger.debug(["Item", this.__name, "isOutside"], "ITEM"); // return; // } else // this.element.setVisible(true); var pos = this.geometry.getXY(); var ret = IFX.util.PixelConverter.getPixelXY(pos.x, pos.y, map.geometry.getScale()); this.element.stopFire(); this.element.setXY(ret.x, ret.y); this.element.startFire(); } PRO.refreshElementSize = function () { var map = this.__map; var size = this.geometry.getSize(); if (size.width && size.height) { var ret = IFX.util.PixelConverter.getPixelSize(size.width, size.height, map.geometry.getScale()); this.element.stopFire(); this.element.setSize(ret.width, ret.height); this.element.startFire(); } } PRO.refreshGeometryPos = function () { IFX.util.Logger.debug(["Item", this.__name, "refreshGeometryPos"], "ITEM"); var map = this.__map; var pos = this.element.getXY() var ret = IFX.util.PixelConverter.getRealXY(pos.x, pos.y, map.geometry.getScale()); // this.geometry.stopFire(); this.geometry.setXY(ret.x, ret.y); // this.geometry.startFire(); } PRO.refreshGeometrySize = function () { var map = this.__map; var size = this.element.getSize(); var ret = IFX.util.PixelConverter.getRealSize(size.width, size.height, this.geometry.getScale()); // this.geometry.stopFire(); this.geometry.setSize(ret.width, ret.height); // this.geometry.startFire(); } PRO.setMapScreenElementXY = function (x, y, motion) { if (!this.__map) return; var mapElmSize = this.__map.element.getSize(); var layerRootElmXY = this.__layerRoot.element.getXY(); var x = x - layerRootElmXY.x - mapElmSize.width / 2; var y = y - layerRootElmXY.y - mapElmSize.height / 2; this.element.setXY(x, y, motion); } /** * internal method */ // override PRO._init = function (name, geometryType, elementType) { IFX.model.GisNode.prototype._init.call(this, name); // ジオメトリ生成 this.geometry = new IFX.model.Geometry(this); this.geometry.setType(geometryType); // エレメント生成 this.element = new IFX.model.Element(this); this.element.setType(elementType); return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; map.proxy.addListener("LAYER_START_MOVE", function () { self.__stopElementPosRefresh = true; }); map.proxy.addListener("LAYER_END_MOVE", function () { self.__stopElementPosRefresh = false; }); map.geometry.addListener("endSizeChange", function () { self.refreshElementPos(); self.refreshElementSize(); }); map.geometry.addListener("onScaleChange", function () { self.refreshElementPos(); self.refreshElementSize(); }); this.geometry.addListener("onPosChange", function () { self.refreshElementPos(); }); this.geometry.addListener("endPosChange", function () { self.refreshElementPos(); }); this.geometry.addListener("onSizeChange", function () { self.refreshElementSize(); }); this.geometry.addListener("endSizeChange", function () { self.refreshElementSize(); }); this.element.addListener("onPosChange", function () { self.refreshGeometryPos(); }); this.element.addListener("onSizeChange", function () { self.refreshGeometrySize(); }); this.element.addListener("onMouseDown", function () { self.element.moveToFront(); }); this.element.addListener("startDrag", function () { self.element.moveToFront(); }); this.element.addListener("onDrag", function () { self.refreshGeometryPos(); }); this.element.addListener("endDrag", function () { self.refreshGeometryPos(); }); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.DragMoveUI : IFX.model.UI */ IFX.model.DragMoveUI = function (name, refreshInterval) { this._init(name, refreshInterval); } var PRO = IFX.model.DragMoveUI.prototype = new IFX.model.UI; /** * member variables */ PRO.__name = "IFX.model.DragMoveUI"; PRO.__nodeType = "UI"; PRO.__elmPosBuf = null; PRO.__refreshInterval = 500; PRO.__xyBuf = null; PRO.__timer = null; /** * external method */ // override PRO.dispose = function () { this.__timer.dispose(); this.__timer = null; IFX.model.UI.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // エレメント初期化 this.__uiRoot.element.setCursor("crosshair", "move"); this.__uiRoot.element.setMovable(true); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); // ##### this.__elmPosBuf = this.__uiRoot.element.getXY(); this.__xyBuf = this.__map.geometry.getXY(); return this; } /** * internal method */ // override PRO._init = function (name, refreshInterval) { IFX.model.UI.prototype._init.call(this, name); if (refreshInterval) this.__refreshInterval = refreshInterval; this.__timer = new IFX.model.Timer(); return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; this.__timer.registTimer("REFRESH_ON_DRAG_TIMER", function () { self._refreshMapGeometry(); }, 0); this.__uiRoot.element.addListener("startDrag", function () { if (self.__disabled) return; self.__elmPosBuf = self.__uiRoot.element.getXY(); self.__xyBuf = map.geometry.getXY(); map.proxy.fire("LAYER_START_MOVE"); }); this.__uiRoot.element.addListener("onDrag", function () { if (self.__disabled) return; if (!self.__timer.isStart("REFRESH_ON_DRAG_TIMER")) self.__timer.startTimer("REFRESH_ON_DRAG_TIMER", self.__refreshInterval); var elmPos = self.__uiRoot.element.getXY(); var moveDist = { width : elmPos.x - self.__elmPosBuf.x, height : self.__elmPosBuf.y - elmPos.y } map.proxy.fire("LAYER_ON_MOVE", moveDist); }); this.__uiRoot.element.addListener("endDrag", function () { if (self.__disabled) return; self.__timer.stopTimer("REFRESH_ON_DRAG_TIMER"); self._refreshMapGeometry(); map.proxy.fire("LAYER_END_MOVE"); map.proxy.fire("MAPUI_END_MOVE"); }); } PRO._refreshMapGeometry = function () { if (this.__disabled) return; var map = this.__map; var elmPos = this.__uiRoot.element.getXY(); var moveDist = { width : elmPos.x - this.__elmPosBuf.x, height : this.__elmPosBuf.y - elmPos.y } var pixelPerMeter = map.getPixelPerMeter(); var moveX = moveDist.width * pixelPerMeter; var moveY = moveDist.height * pixelPerMeter; var x = this.__xyBuf.x - moveX; var y = this.__xyBuf.y - moveY; //##### // map.geometry.stopFire(); map.geometry.setXY(x, y); // map.geometry.startFire(); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.ScrollMoveUI : IFX.model.UI */ IFX.model.ScrollMoveUI = function (name, refreshInterval, scrollInterval) { this._init(name, refreshInterval, scrollInterval); } var PRO = IFX.model.ScrollMoveUI.prototype = new IFX.model.UI; /** * member variables */ PRO.__name = "IFX.model.ScrollMoveUI"; PRO.__nodeType = "UI"; PRO.__elmPosBuf = null; PRO.__refreshInterval = 750; PRO.__scrollInterval = 10; PRO.__xyBuf = null; PRO.__moveDist = null; PRO.__timer = null; /** * external method */ // override PRO.dispose = function () { this.__timer.dispose(); this.__timer = null; IFX.model.UI.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // エレメント初期化 this.__uiRoot.element.setCursor("crosshair", "move"); this.__uiRoot.element.setMovable(true); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } /** * internal method */ // override PRO._init = function (name, refreshInterval, scrollInterval) { IFX.model.UI.prototype._init.call(this, name); if (refreshInterval) this.__refreshInterval = refreshInterval; if (scrollInterval) this.__scrollInterval = scrollInterval; this.__timer = new IFX.model.Timer(); return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; this.__timer.registTimer("SCROLL_TIMER", function () { self._doScroll(); }, 0); this.__timer.registTimer("END_SCROLL_TIMER", function () { self._endScroll(); }, 0); this.__timer.registTimer("REFRESH_ON_SCROLL_TIMER", function () { self._refreshMapGeometry(); }, 0); this.__uiRoot.element.addListener("startDrag", function () { if (self.__disabled) return; self.__elmPosBuf = self.__uiRoot.element.getXY(); self.__xyBuf = map.geometry.getXY(); self.__moveDist = { width : 0, height : 0 } map.proxy.fire("LAYER_START_MOVE"); }); this.__uiRoot.element.addListener("onDrag", function () { if (self.__disabled) return; if (!self.__timer.isStart("SCROLL_TIMER")) self.__timer.startTimer("SCROLL_TIMER", self.__scrollInterval); if (!self.__timer.isStart("REFRESH_ON_SCROLL_TIMER")) self.__timer.startTimer("REFRESH_ON_SCROLL_TIMER", self.__refreshInterval); var elmPos = self.__uiRoot.element.getXY(); self.__distPrm = { width : -(elmPos.x - self.__elmPosBuf.x) / 6, height : -(self.__elmPosBuf.y - elmPos.y) / 6 } }); this.__uiRoot.element.addListener("endDrag", function () { if (self.__disabled) return; if (!self.__timer.isStart("END_SCROLL_TIMER")) self.__timer.startTimer("END_SCROLL_TIMER", self.__scrollInterval); }); } PRO._doScroll = function () { this.__moveDist = { width : this.__moveDist.width + this.__distPrm.width, height : this.__moveDist.height + this.__distPrm.height } this.__map.proxy.fire("LAYER_ON_MOVE", this.__moveDist); } PRO._endScroll = function () { var map = this.__map; var moveX = Math.round(Math.abs(this.__distPrm.width / 4)); if (moveX < 1) moveX = 1; if (this.__distPrm.width > 0) { this.__distPrm.width -= moveX; if (this.__distPrm.width < 0) this.__distPrm.width = 0; } else if (this.__distPrm.width < 0) { this.__distPrm.width += moveX; if (this.__distPrm.width > 0) this.__distPrm.width = 0; } var moveY = Math.round(Math.abs(this.__distPrm.height / 4)); if (moveY < 1) moveY = 1; if (this.__distPrm.height > 0) { this.__distPrm.height -= moveY; if (this.__distPrm.height < 0) this.__distPrm.height = 0; } else if (this.__distPrm.height < 0) { this.__distPrm.height += moveY; if (this.__distPrm.height > 0) this.__distPrm.height = 0; } if (this.__distPrm.width == 0 || this.__distPrm.height == 0) { this.__timer.stopTimer("SCROLL_TIMER"); this.__timer.stopTimer("END_SCROLL_TIMER"); this.__timer.stopTimer("REFRESH_ON_SCROLL_TIMER"); this._refreshMapGeometry(); map.proxy.fire("LAYER_END_MOVE"); map.proxy.fire("MAPUI_END_MOVE"); } } PRO._refreshMapGeometry = function () { if (this.__disabled) return; var map = this.__map; var pixelPerMeter = map.getPixelPerMeter(); var moveX = this.__moveDist.width * pixelPerMeter; var moveY = this.__moveDist.height * pixelPerMeter; var x = this.__xyBuf.x - moveX; var y = this.__xyBuf.y - moveY; //##### // map.geometry.stopFire(); map.geometry.setXY(x, y); // map.geometry.startFire(); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.SnapMoveUI : IFX.model.UI */ IFX.model.SnapMoveUI = function (name, motionLength, motionInterval, motionAcceleration) { this._init(name, motionLength, motionInterval, motionAcceleration); } var PRO = IFX.model.SnapMoveUI.prototype = new IFX.model.UI; /** * member variables */ PRO.__name = "IFX.model.SnapMoveUI"; PRO.__nodeType = "UI"; PRO.__snapMode = "dblclick"; // "click" or "dblclick" PRO.__motionLength = null; PRO.__motionInterval = null; PRO.__motionAcceleration = null; PRO.__xyBuf = null; PRO.__moveDist = null; /** * external method */ // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } PRO.setSnapMode = function (snapMode) { this.__snapMode = snapMode; } PRO.setMotionParam = function (motionLength, motionInterval, motionAcceleration) { if (motionLength) this.__motionLength = motionLength; if (motionInterval) this.__motionInterval = motionInterval; if (motionAcceleration) this.__motionAcceleration = motionAcceleration; } /** * internal method */ PRO._init = function (name, motionLength, motionInterval, motionAcceleration) { IFX.model.UI.prototype._init.call(this, name); this.setMotionParam(motionLength, motionInterval, motionAcceleration); return this; } // override PRO._attachObjectListeners = function () { var self = this; var map = this.__map; this.__uiRoot.element.addListener("onClick", function () { if (self.__snapMode == "click") self._moveMapByEvent(); }); this.__uiRoot.element.addListener("onDblClick", function () { if (self.__snapMode == "dblclick") self._moveMapByEvent(); }); } PRO._moveMapByEvent = function () { var self = this; var map = this.__map; var ret = map.scanEventPos(); var size = map.element.getSize(); var movex = size.width / 2 - Number(ret.px); var movey = Number(ret.py) - size.height / 2; this.__xyBuf = map.geometry.getXY(); this.__moveDist = { width : movex, height : movey } var motion = new IFX.model.StraightMotion(this.__motionLength, this.__motionInterval, this.__motionAcceleration); map.proxy.fire("LAYER_START_MOVE"); map.proxy.fire("LAYER_ON_MOVE", [this.__moveDist, motion]); motion.addListener("endMotion", function () { map.proxy.fire("LAYER_END_MOVE"); map.proxy.fire("MAPUI_END_MOVE"); self._refreshMapGeometry(); }); } PRO._refreshMapGeometry = function () { var map = this.__map; var pixelPerMeter = map.getPixelPerMeter(); var moveX = this.__moveDist.width * pixelPerMeter; var moveY = this.__moveDist.height * pixelPerMeter; var x = this.__xyBuf.x - moveX; var y = this.__xyBuf.y - moveY; //##### // map.geometry.stopFire(); map.geometry.setXY(x, y); // map.geometry.startFire(); } // var ret = map.scanEventXYGeometry(); // map.geometry.stopFire(); // map.geometry.setXY(ret.x, ret.y); // map.geometry.startFire(); // var size = IFX.util.PixelConverter.getRealSize(this.__moveDist.width, this.__moveDist.height, map.geometry.getScale()); // var x = this.__xyBuf.x - size.width; // var y = this.__xyBuf.y - size.height; /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.SnapPosUI : IFX.model.UI */ IFX.model.SnapPosUI = function (name) { this._init(name); } var PRO = IFX.model.SnapPosUI.prototype = new IFX.model.UI; /** * - events - * * onClick * onDblClick */ /** * member variables */ PRO.__name = "IFX.model.SnapPosUI"; PRO.__nodeType = "UI"; PRO.__snapMode = "click"; // "click" or "dblclick" /** * external method */ // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } PRO.setSnapMode = function (snapMode) { this.__snapMode = snapMode; } /** * internal method */ // override PRO._attachObjectListeners = function () { var self = this; var map = this.__map; this.__uiRoot.element.addListener("onClick", function () { if (self.__snapMode == "click") self._getPosByEvent(); }); this.__uiRoot.element.addListener("onDblClick", function () { if (self.__snapMode == "dblclick") self._getPosByEvent(); }); } PRO._getPosByEvent = function () { var ret = this.__map.scanEventXYGeometry(); } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.WheelZoomUI : IFX.model.UI */ IFX.model.WheelZoomUI = function (name, scales, wheelInvert) { this._init(name, scales, wheelInvert); } var PRO = IFX.model.WheelZoomUI.prototype = new IFX.model.UI; /** * member variables */ PRO.__name = "IFX.model.WheelZoomUI"; PRO.__nodeType = "UI"; PRO.__scales = null; PRO.__wheelInvert = null; /** * external method */ // override PRO.connectTo = function (parentNode) { IFX.model.UI.prototype.connectTo.call(this, parentNode); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } PRO.setWheelInvert = function (flg) { this.__wheelInvert = flg; } PRO.getWheelInvert = function () { return this.__wheelInvert; } /** * internal method */ // override PRO._init = function (name, scales, wheelInvert) { IFX.model.UI.prototype._init.call(this, name); if (scales) this.__scales = scales; this.__wheelInvert= wheelInvert; return this; } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; this.__uiRoot.element.addListener("onWheelDown", function () { if (self.__disabled) return; map.proxy.fire("WAITING_START"); var waitEndFire = function () { clearTimeout(self.__timeID); if (self.__wheelInvert) self._doZoomIn(); else self._doZoomOut(); map.proxy.fire("WAITING_END"); } self.__timeID = setTimeout(waitEndFire, 1); }); this.__uiRoot.element.addListener("onWheelUp", function () { if (self.__disabled) return; map.proxy.fire("WAITING_START"); var waitEndFire = function () { clearTimeout(self.__timeID); if (self.__wheelInvert) self._doZoomOut(); else self._doZoomIn(); map.proxy.fire("WAITING_END"); } self.__timeID = setTimeout(waitEndFire, 1); }); } PRO._doZoomIn = function () { var map = this.__map; var mapScale = map.geometry.getScale(); var scale = this._getZoomInScale(mapScale); map.proxy.fire("WAITING_START"); map.geometry.setScale(scale); map.proxy.fire("WAITING_END"); } PRO._doZoomOut = function () { var map = this.__map; var mapScale = map.geometry.getScale(); var scale = this._getZoomOutScale(mapScale); map.proxy.fire("WAITING_START"); map.geometry.setScale(scale); map.proxy.fire("WAITING_END"); } PRO._getZoomInScale = function (scale) { for (var i=this.__scales.length-1; i>=0; i--) { var curScale = this.__scales[i]; if (scale > curScale) return curScale; } return this.__scales[0]; } PRO._getZoomOutScale = function (scale) { for (var i=0; i= 1000) var distStr = (dist / 1000) + "km"; else var distStr = dist + "m"; this.__text.innerHTML = distStr; } PRO.setElementColor = function (color) { switch (color) { case "BLACK": this.__line.style.border = "white 2px solid"; this.__line.style.background = "black"; this.__text.style.color = "black"; break; case "WHITE": this.__line.style.border = "black 2px solid"; this.__line.style.background = "white"; this.__text.style.color = "black"; break; case "RED": this.__line.style.border = "white 2px solid"; this.__line.style.background = "red"; this.__text.style.color = "red"; break; } this.__color = color; } /** * internal method */ PRO._createControl = function () { var domElm = this.element.getDomElement(); this.__line = document.createElement("div"); this.__line.style.position = "absolute"; this.__line.style.left = "0px"; this.__line.style.top = "0px"; this.__line.style.height = "2px"; this.__line.style.overflow = "hidden"; domElm.appendChild(this.__line); this.__text = document.createElement("div"); this.__text.style.position = "absolute"; this.__text.style.left = "4px"; this.__text.style.top = "5px"; this.__text.style.cursor = "pointer"; this.__text.style.background = "white"; domElm.appendChild(this.__text); this.element.setMovable(true); this.setElementColor("BLACK"); } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; map.geometry.addListener("endPosChange", function () { self.refreshElementPos(); }); map.geometry.addListener("onScaleChange", function () { self.refreshElementPos(); self.refreshScaleBarSize(); }); map.element.addListener("endSizeChange", function () { self.refreshElementPos(); self.refreshScaleBarSize(); }); this.element.addListener("onDblClick", function () { if (YAHOO.env.ua.ie) document.selection.empty(); switch (self.__rate) { case 2: self.__rate = 4; break; case 4: self.__rate = 2; break; } self.refreshScaleBarSize(); }); // this.element.addListener("onMouseOver", function () { // self.__text.style.background = "white"; // }); // this.element.addListener("onMouseOut", function () { // self.__text.style.background = "transparent"; // }); } /* switch (self.__color) { case "BLACK": self.setElementColor("WHITE"); break; case "WHITE": self.setElementColor("RED"); break; default: self.setElementColor("BLACK"); } */ /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.ZoomSliderControl : IFX.model.Control */ IFX.model.ZoomSliderControl = function (name, scales) { this._init(name, scales); } var PRO = IFX.model.ZoomSliderControl.prototype = new IFX.model.Control; /** * member variables */ PRO.__name = "IFX.model.ZoomSliderControl"; PRO.__nodeType = "CONTROL"; PRO.__text = null; PRO.__tip = null; PRO.__line = null; PRO.__delimiters = []; PRO.__selector = null; PRO.__zoomInButton = null; PRO.__zoomOutButton = null; PRO.__scales = null; PRO.__scaleInfo = null; /** * constant value */ IFX.model.ZoomSliderControl.WIDTH = 22; IFX.model.ZoomSliderControl.HEIGHT = 300; /** * external method */ // override PRO.dispose = function () { var domElm = this.element.getDomElement(); this.__line.onclick = null; this.__zoomInButton.onclick = null; this.__zoomOutButton.onclick = null; this.__selector.onmousedown = null; domElm.removeChild(this.__text); domElm.removeChild(this.__tip); domElm.removeChild(this.__line); domElm.removeChild(this.__zoomInButton); domElm.removeChild(this.__zoomOutButton); domElm.removeChild(this.__selector); for (var i=this.__delimiters.length-1; i>=0; i--) domElm.removeChild(this.__delimiters[i]); delete this.__delimiters; this.__text = null; this.__tip = null; this.__line = null; this.__zoomInButton = null; this.__zoomOutButton = null; this.__selector = null; this.__delimiters = null; IFX.model.Control.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.Control.prototype.connectTo.call(this, parentNode); // control生成 this._createControl(); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); // 表示初期化 this.refreshElementPos(); return this; } PRO.refreshElementPos = function () { var x = 0; var y = 0; IFX.util.Logger.debug(["ZoomSliderControl", this.__name, "refreshElementPos", x, y], "CONTROL"); this.element.stopFire(); this.element.setXY(x, y); this.element.startFire(); } PRO.setTargetScales = function (scales) { if (scales) this.__scales = scales; this.__scaleInfo = {}; for (var i=0; i self.__scaleInfo[self.__scales[self.__scales.length-1]].y - 3) y = self.__scaleInfo[self.__scales[self.__scales.length-1]].y - 3; tip.innerHTML = "1/" + scaleInfo.scale; tip.style.top = y + "px"; tip.style.visibility = "visible"; domElm.style.background = "white"; domElm.onmousemove = function (e) { var e = YAHOO.util.Event.getEvent(); var xy = YAHOO.util.Event.getXY(e); var y = yBuf + (xy[1] - xyBuf[1]); var scaleInfo = self._getDelimiterByPixel(y); if (y < self.__scaleInfo[self.__scales[0]].y - 3) y = self.__scaleInfo[self.__scales[0]].y - 3; else if (y > self.__scaleInfo[self.__scales[self.__scales.length-1]].y - 3) y = self.__scaleInfo[self.__scales[self.__scales.length-1]].y - 3; tip.innerHTML = "1/" + scaleInfo.scale; selector.style.top = y + "px"; tip.style.top = (y - 1) + "px"; return false; } line.onmouseup = selector.onmouseup = tip.onmouseup = domElm.onmouseup = domElm.onmouseleave = function (e) { var e = YAHOO.util.Event.getEvent(); var xy = YAHOO.util.Event.getXY(e); var y = yBuf + (xy[1] - xyBuf[1]); line.onmouseup = null; selector.onmouseup = null; tip.onmouseup = null; domElm.onmousemove = null; domElm.onmouseup = null; domElm.onmouseleave = null; domElm.style.background = "transparent"; var scaleInfo = self._getDelimiterByPixel(y); selector.style.top = (scaleInfo.y - 3) + "px"; tip.style.visibility = "hidden"; self._doZoom(scaleInfo.scale); } } line.onclick = function (event) { if (!event) event = window.event; if (document.all) { var x = event.offsetX; var y = event.offsetY; } else { var x = event.layerX; var y = event.layerY; } y += Number(line.style.top.replace(/px/g, "")); var scaleInfo = self._getDelimiterByPixel(y); selector.style.top = (scaleInfo.y - 3) + "px"; self._doZoom(scaleInfo.scale); } zoomInButton.onclick = function (e) { if (YAHOO.env.ua.ie) document.selection.empty(); self._doZoomIn(); } zoomOutButton.onclick = function (e) { if (YAHOO.env.ua.ie) document.selection.empty(); self._doZoomOut(); } } PRO._getDelimiterByPixel = function (y) { var dy_buf = -9999; var scaleInfo; for (var i=0; i dy_buf && y <= dy) { if (i == 0) { scaleInfo = this.__scaleInfo[this.__scales[i]]; } else { var r_buf = y - dy_buf; var r = dy - y; if (r_buf < r) scaleInfo = this.__scaleInfo[this.__scales[i-1]]; else scaleInfo = this.__scaleInfo[this.__scales[i]]; } break; } dy_buf = dy; } if (!scaleInfo) scaleInfo = this.__scaleInfo[this.__scales[this.__scales.length-1]]; return scaleInfo; } PRO._getDelimiterByScale = function (scale) { var scaleInfo; for (var i=0; i=0; i--) { var curScale = this.__scales[i]; if (scale > curScale) return curScale; } return this.__scales[0]; } PRO._getZoomOutScale = function (scale) { for (var i=0; i 0) { item = replaceTiles.pop(); // item.element.setVisible(false); } delete replaceTiles; } } /** * internal method */ // override PRO._init = function (name, scales, adapter, tilePixelWidth, tilePixelHeight, mapPattern, screenRange) { IFX.model.Layer.prototype._init.call(this, name); this.setTargetScales(scales); if (adapter) this.setAdapter(adapter); if (tilePixelWidth && tilePixelHeight) this.setTilePixelSize(tilePixelWidth, tilePixelHeight); if (screenRange) this.setScreenRange(screenRange); if (mapPattern) this.setMapPattern(mapPattern); this.__tiles = []; return this; } PRO._renderTile = function (item) { if (!this.__adapter) return; var image = item.element.getDomElement(); var geoSize = item.geometry.getSize(); var urlInfo = this.__adapter.url.RENDER image.src = "lib/ifx/build/model/item/assets/nowloading.gif"; image.onload = null; image.src = urlInfo.ADDRESS + "?" + urlInfo.PRM[0] + "=" + this.__mapPattern + "&" + urlInfo.PRM[1] + "=" + geoSize.width + "&" + urlInfo.PRM[2] + "=" + item.attribute.tileIndex; IFX.util.Logger.debug(image.src, "HTTP_REQUEST"); } PRO._setTileItemAttr = function (item) { item.element.clearListener(); // item.element.addListener("onLoad", function () { // item.element.setVisible(true, true); // }); } PRO._attachObjectListeners = function () { var self = this; var map = this.__map; map.geometry.addListener("endPosChange", function () { self.refreshTiles(); }); map.geometry.addListener("endSizeChange", function () { self.refreshTiles(); }); map.geometry.addListener("onScaleChange", function () { self.refreshTiles(true); }); } PRO._getTilePos = function (pos, tileSize) { // 地図座標 → タイル中心座標 if (pos < tileSize) var ret = Math.round(parseInt((pos - tileSize / 2) / tileSize) * tileSize * 100) / 100; else var ret = Math.round(parseInt((pos + tileSize / 2) / tileSize) * tileSize * 100) / 100; return ret; } PRO._getTileNo = function (pos, tileSize) { // タイル座標 → タイル番号 if (pos < 0) var ret = parseInt((pos - tileSize / 2) / tileSize); else var ret = parseInt((pos + tileSize / 2) / tileSize); return ret; } /* Copyright (c) 2007, Informatix Inc. All rights reserved. author : M.Katada version : 1.0.0 */ /** * IFX.model.ScreenLayer : IFX.model.Layer */ IFX.model.ScreenLayer = function (name, scales, adapter, screenBufferCount, screenRefreshWait) { this._init(name, scales, adapter, screenBufferCount, screenRefreshWait); } var PRO = IFX.model.ScreenLayer.prototype = new IFX.model.Layer; /** * member variables */ PRO.__name = "IFX.model.ScreenLayer"; PRO.__nodeType = "LAYER"; PRO.__scales = null; PRO.__scaleInfo = null; PRO.__stopRefresh = null; PRO.__screens = null; PRO.__currentScreen = null; PRO.__screenBufferCount = 3; PRO.__screenRefreshWait = 750; PRO.__refreshAll = null; PRO.__timer = null; /** * external method */ // override PRO.dispose = function () { this.__timer.dispose(); this.__timer = null; for (var i=this.__screens.length-1; i>=0; i--) { this.__screens[i] = null; delete this.__screens[i]; } delete this.__screens; this.__screens = null; this.__currentScreen = null; IFX.model.Layer.prototype.dispose.call(this); } // override PRO.connectTo = function (parentNode) { IFX.model.Layer.prototype.connectTo.call(this, parentNode); // スクリーン図形生成 this._createScreenItems(); // オブジェクトイベントリスナ登録 this._attachObjectListeners(); return this; } PRO.setTargetScales = function (scales) { if (scales) this.__scales = scales; this.__scaleInfo = {}; for (var i=0; i