if(!LBS){var LBS={}}LBS.GUI={};LBS.GUI.GuiItem=function(P,A,E){var J=LBS.GUI;this.enableEvents=function(){R=true};this.disableEvents=function(){R=false;D()};this.getData=function(){return I};this.setData=function(T){I=T};this.getDomNode=function(){return F};this.getMouseState=function(){return B};this.addMouseClickCBF=function(T){K.push(T)};this.addMouseEnterCBF=function(T){H.push(T)};this.addMouseLeaveCBF=function(T){N.push(T)};this.addMousePressCBF=function(T){L.push(T)};this.addMouseReleaseCBF=function(T){G.push(T)};this.addMouseDownCBF=function(U,T){C.push({CBF:U,interval:T,timer:null})};var S=function(T,U){return function(){T(U)}};var O=function(){for(var T in C){C[T]["timer"]=window.setInterval(new S(C[T]["CBF"],M),C[T]["interval"])}};var D=function(){for(var T in C){if(C[T]["timer"]!==null){window.clearInterval(C[T]["timer"]);C[T]["timer"]=null}}};function Q(){var T=function(U){if(!U){U=window.event}U.cancelBubble=true;if(U.stopPropagation){U.stopPropagation()}};F.onclick=function(V){if(R===true){for(var U in K){K[U](M)}}T(V)};F.onmousedown=function(V){var W=J.GuiItem.MOUSE_STATE;if(B!==W.MOUSE_DOWN){B=W.MOUSE_DOWN;if(R===true){for(var U in L){L[U](M)}O()}}T(V)};F.onmouseup=function(V){B=J.GuiItem.MOUSE_STATE.MOUSE_OVER;if(R===true){D();for(var U in G){G[U](M)}}T(V)};F.onmouseover=function(V){var W=J.GuiItem.MOUSE_STATE;if(B!==W.MOUSE_OVER){B=W.MOUSE_OVER;if(R===true){for(var U in H){H[U](M)}}}T(V)};F.onmouseout=function(V){B=J.GuiItem.MOUSE_STATE.NO_MOUSE;if(R===true){for(var U in N){N[U](M)}D()}T(V)}}var K=[];var C=[];var H=[];var N=[];var L=[];var G=[];var F=P;var I=A;var R=E;var M=this;var B=J.GuiItem.MOUSE_STATE.NO_MOUSE;if(F){Q()}};LBS.GUI.GuiItem.MOUSE_STATE={NO_MOUSE:0,MOUSE_OVER:1,MOUSE_DOWN:2};LBS.GUI.Frame=function(E,B,A){LBS.GUI.GuiItem.call(this,E,A,false);this.getState=function(){return C};this.setState=function(H){if(C!==H){C=H;for(var G in D){D[G](F)}}};this.addStateChangeCBF=function(G){D.push(G)};var D=[];var C=B;var F=this};LBS.GUI.Frame.STATE={VISIBLE:1,INVISIBLE:2};LBS.GUI.Button=function(E,B,A){var G=LBS.GUI;G.GuiItem.call(this,E,A,(B==G.Button.STATE.ENABLED)?true:false);this.getState=function(){return C};this.setState=function(I){if(I===G.Button.STATE.ENABLED){F.enableEvents()}else{F.disableEvents()}if(C!==I){C=I;for(var H in D){D[H](F)}}};this.addStateChangeCBF=function(H){D.push(H)};var D=[];var C=B;var F=this};LBS.GUI.Button.STATE={ENABLED:1,DISABLED:2,INVISIBLE:3};LBS.GUI.RadioButton=function(B,A,D,C){var H=LBS.GUI;H.Button.call(this,B,A,C);this.getSelectionState=function(){return F};this.setSelectionState=function(K){if(K!==F){F=K;for(var J in E){E[J](G)}}};this.addSelectionStateChangeCBF=function(J){E.push(J)};var I=function(J){var K=H.RadioButton.SELECTION_STATE;if(F===K.UNSELECTED){G.setSelectionState(K.SELECTED)}};var E=[];var F=D;var G=this;G.addMouseClickCBF(I)};LBS.GUI.RadioButton.SELECTION_STATE={SELECTED:1,UNSELECTED:2};LBS.GUI.RadioButtonGroup=function(){var H=LBS.GUI;var F=H.RadioButton.SELECTION_STATE;this.addRadioButton=function(I){C.push(I);I.addSelectionStateChangeCBF(E);if(I.getSelectionState()===F.SELECTED){A(I)}};this.getSelectedRadioButton=function(){return B};this.addSelectionChangeCBF=function(I){D.push(I)};var E=function(I){if(I.getSelectionState()===F.SELECTED){A(I)}};var A=function(J){B=J;for(I in C){if(C[I]!==J){C[I].setSelectionState(F.UNSELECTED)}}for(var I in D){D[I](G)}};var G=this;var B=null;var C=[];var D=[]};LBS.GUI.ToggleButton=function(B,A,I,C){var E=LBS.GUI;E.Button.call(this,B,A,C);this.getToggleState=function(){return G};this.setToggleState=function(J){if(J!==G){G=J;for(var K in H){H[K](D)}}};this.addToggleStateChangeCBF=function(J){H.push(J)};var F=function(K){var J=E.ToggleButton.TOGGLE_STATE;if(G===J.TOGGLED){D.setToggleState(J.UNTOGGLED)}else{D.setToggleState(J.TOGGLED)}};var H=[];var G=I;var D=this;D.addMouseClickCBF(F)};LBS.GUI.ToggleButton.TOGGLE_STATE={TOGGLED:1,UNTOGGLED:2};LBS.GUI.GuiItemStyleManager=function(B){this.addGuiItem=function(E){A.push(E);C.updateStyle(E);E.addMouseEnterCBF(C.updateStyle);E.addMouseLeaveCBF(C.updateStyle);E.addMousePressCBF(C.updateStyle);E.addMouseReleaseCBF(C.updateStyle)};this.updateStyle=function(E){E.getDomNode().className=D[E.getMouseState()]};var A=[];var D=B;var C=this};LBS.GUI.FrameStyleManager=function(D){var F=LBS.GUI;var C=[[F.Frame.STATE.VISIBLE,"visible"],[F.Frame.STATE.INVISIBLE,"invisible"]];var B=[];for(var A in C){B[C[A][0]]=D[C[A][1]]}this.addFrame=function(G){G.addStateChangeCBF(E.updateStyle);E.updateStyle(G)};this.updateStyle=function(I){var G=I.getDomNode();var H=I.getState();G.className=B[H]};var E=this};LBS.GUI.ButtonStyleManager=function(J){var G=LBS.GUI;var C=G.Button.STATE;var F=G.GuiItem.MOUSE_STATE;var K=[[C.ENABLED,"enabled"],[C.DISABLED,"disabled"],[C.INVISIBLE,"invisible"]];var A=[[F.NO_MOUSE,"noMouse"],[F.MOUSE_OVER,"mouseOver"],[F.MOUSE_DOWN,"mouseDown"]];var H=[];for(var D in K){H[K[D][0]]=[];var B;if(typeof J[K[D][1]]=="object"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]][A[B][1]]}}else{if(typeof J[K[D][1]]=="string"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]]}}else{for(B in A){H[K[D][0]][A[B][0]]=""}}}}G.GuiItemStyleManager.call(this,H);this.addButton=function(L){I(L);L.addStateChangeCBF(E.updateStyle)};var I=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(L){L.getDomNode().className=H[L.getState()][L.getMouseState()]};var E=this};LBS.GUI.RadioButtonStyleManager=function(M){var J=LBS.GUI;var D=J.Button.STATE;var F=J.RadioButton.SELECTION_STATE;var H=J.GuiItem.MOUSE_STATE;var N=[[D.ENABLED,"enabled"],[D.DISABLED,"disabled"],[D.INVISIBLE,"invisible"]];var I=[[F.SELECTED,"selected"],[F.UNSELECTED,"unSelected"]];var A=[[H.NO_MOUSE,"noMouse"],[H.MOUSE_OVER,"mouseOver"],[H.MOUSE_DOWN,"mouseDown"]];var K=[];for(var E in N){K[N[E][0]]=[];var C;var B;if(typeof M[N[E][1]]=="object"){for(C in I){K[N[E][0]][I[C][0]]=[];if(typeof M[N[E][1]][I[C][1]]=="object"){for(B in A){K[N[E][0]][I[C][0]][A[B][0]]=M[N[E][1]][I[C][1]][A[B][1]]}}else{if(typeof M[N[E][1]][I[C][1]]=="string"){for(B in A){K[N[E][0]][I[C][0]][A[B][0]]=M[N[E][1]][I[C][1]]}}else{for(B in A){K[N[E][0]][I[C][0]][A[B][0]]=""}}}}}else{if(typeof M[N[E][1]]=="string"){for(C in I){K[N[E][0]][I[C][0]]=[];for(B in A){K[N[E][0]][I[C][0]][A[B][0]]=M[N[E][1]]}}}else{for(C in I){K[N[E][0]][I[C][0]]=[];for(B in A){K[N[E][0]][I[C][0]][A[B][0]]=""}}}}}J.GuiItemStyleManager.call(this,K);this.addRadioButton=function(O){L(O);O.addStateChangeCBF(G.updateStyle);O.addSelectionStateChangeCBF(G.updateStyle)};var L=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(O){O.getDomNode().className=K[O.getState()][O.getSelectionState()][O.getMouseState()]};var G=this};LBS.GUI.ToggleButtonStyleManager=function(M){var J=LBS.GUI;var E=J.Button.STATE;var B=J.ToggleButton.TOGGLE_STATE;var H=J.GuiItem.MOUSE_STATE;var N=[[E.ENABLED,"enabled"],[E.DISABLED,"disabled"],[E.INVISIBLE,"invisible"]];var I=[[B.TOGGLED,"toggled"],[B.UNTOGGLED,"unToggled"]];var A=[[H.NO_MOUSE,"noMouse"],[H.MOUSE_OVER,"mouseOver"],[H.MOUSE_DOWN,"mouseDown"]];var K=[];for(var F in N){K[N[F][0]]=[];var D;var C;if(typeof M[N[F][1]]=="object"){for(D in I){K[N[F][0]][I[D][0]]=[];if(typeof M[N[F][1]][I[D][1]]=="object"){for(C in A){K[N[F][0]][I[D][0]][A[C][0]]=M[N[F][1]][I[D][1]][A[C][1]]}}else{if(typeof M[N[F][1]][I[D][1]]=="string"){for(C in A){K[N[F][0]][I[D][0]][A[C][0]]=M[N[F][1]][I[D][1]]}}else{for(C in A){K[N[F][0]][I[D][0]][A[C][0]]=""}}}}}else{if(typeof M[N[F][1]]=="string"){for(D in I){K[N[F][0]][I[D][0]]=[];for(C in A){K[N[F][0]][I[D][0]][A[C][0]]=M[N[F][1]]}}}else{for(D in I){K[N[F][0]][I[D][0]]=[];for(C in A){K[N[F][0]][I[D][0]][A[C][0]]=""}}}}}J.GuiItemStyleManager.call(this,K);this.addToggleButton=function(O){L(O);O.addStateChangeCBF(G.updateStyle);O.addToggleStateChangeCBF(G.updateStyle)};var L=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(O){O.getDomNode().className=K[O.getState()][O.getToggleState()][O.getMouseState()]};var G=this};LBS.GUI.InputField=function(G,C,I){var L=LBS.GUI;var M=L.InputField.STATE;L.GuiItem.call(this,G,I,(C===M.ENABLED)||(C===M.VALIDATING)||(C===M.VALID)||(C===M.INVALID)?true:false);this.getState=function(){return E};this.setState=function(R){if(R===M.ENABLED||R===M.VALIDATING||R===M.VALID||R===M.INVALID){J.enableEvents()}else{J.disableEvents()}if(E!==R){E=R;for(var Q in H){H[Q](J)}}};this.getInput=function(){return P};this.setInput=function(Q){D.value=Q;O()};this.addStateChangeCBF=function(Q){H.push(Q)};this.addInputChangeCBF=function(R,S){var Q=S?S:null;B.push({CBF:R,delay:Q,timer:null})};this.addKeyPressCBF=function(R,Q){N.push({CBF:R,keyCodes:Q})};this.addKeyReleaseCBF=function(R,Q){A.push({CBF:R,keyCodes:Q})};this.addKeyDownCBF=function(S,R,Q){F.push({CBF:S,keyCodes:R,interval:Q,timer:null})};var K=function(Q){var R=Q;return function(){R(J)}};var O=function(){if(D.value==P){return}P=D.value;for(var Q in B){var R=B[Q];if(R.CBF!=null){if(R.delay===null||R.delay<1){R.CBF(J)}else{if(R.timer!==null){window.clearTimeout(R.timer);R.timer=null}R.timer=window.setTimeout(new K(R.CBF),R.delay)}}}};var H=[];var B=[];var N=[];var A=[];var F=[];var E=C;var J=this;var D=G;var P=G.value;this.addMousePressCBF(O);this.addMouseReleaseCBF(O);this.addMouseEnterCBF(O);this.addMouseLeaveCBF(O);D.onkeydown=function(U){var T=null;var Q=(U)?U:window.event;if(Q.keyCode){T=Q.keyCode}else{if(Q.which){T=Q.which}}for(var S in N){if(N[S]!=null){if(N[S]["keyCodes"]==null){N[S]["CBF"](J,T)}else{for(var R in N[S]["keyCodes"]){if(N[S]["keyCodes"][R]==T){N[S]["CBF"](J,T);break}}}}}O()};D.onkeyup=function(U){var T=null;var Q=(U)?U:window.event;if(Q.keyCode){T=Q.keyCode}else{if(Q.which){T=Q.which}}for(var S in A){if(A[S]!=null){if(A[S]["keyCodes"]==null){A[S]["CBF"](J,T)}else{for(var R in A[S]["keyCodes"]){if(A[S]["keyCodes"][R]==T){A[S]["CBF"](J,T);break}}}}}O()};D.onfocus=function(){O()};D.onblur=function(){O()}};LBS.GUI.InputField.STATE={ENABLED:1,VALIDATING:2,VALID:3,INVALID:4,DISABLED:5,INVISIBLE:6};LBS.GUI.InputFieldStyleManager=function(J){var G=LBS.GUI;var C=G.InputField.STATE;var F=G.GuiItem.MOUSE_STATE;var K=[[C.ENABLED,"enabled"],[C.VALIDATING,"validating"],[C.VALID,"valid"],[C.INVALID,"invalid"],[C.DISABLED,"disabled"],[C.INVISIBLE,"invisible"]];var A=[[F.NO_MOUSE,"noMouse"],[F.MOUSE_OVER,"mouseOver"],[F.MOUSE_DOWN,"mouseDown"]];var H=[];for(var D in K){H[K[D][0]]=[];var B;if(typeof J[K[D][1]]=="object"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]][A[B][1]]}}else{if(typeof J[K[D][1]]=="string"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]]}}else{for(B in A){H[K[D][0]][A[B][0]]=""}}}}G.GuiItemStyleManager.call(this,H);this.addInputField=function(L){I(L);L.addStateChangeCBF(E.updateStyle)};var I=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(L){L.getDomNode().className=H[L.getState()][L.getMouseState()]};var E=this};LBS.GUI.TimeInputArea=function(J,D){this.getHours=function(){var K=I.getInput();if(A(K,0,23)!==true){return null}return(K*1)};this.setHours=function(K){I.setInput(K);C()};this.getMinutes=function(){var K=G.getInput();if(A(K,0,59)!==true){return null}return(K*1)};this.setMinutes=function(K){G.setInput(K);H()};this.validateTime=function(){if(F.getHours()===null||F.getMinutes()===null){return false}return true};this.addTimeChangeCBF=function(K){E.push(K)};var A=function(K,L,M){var N=/[\s]*[\d]+[\s]*/;if(N.test(K)!==true){return false}if((K*1)>=L&&(K*1)<=M){return true}return false};var C=function(){var K=LBS.GUI.InputField.STATE;I.setState(K.VALIDATING);if(A(I.getInput(),0,23)===true){I.setState(K.VALID)}else{I.setState(K.INVALID)}B()};var H=function(){var K=LBS.GUI.InputField.STATE;G.setState(K.VALIDATING);if(A(G.getInput(),0,59)===true){G.setState(K.VALID)}else{G.setState(K.INVALID)}B()};var B=function(){for(var K in E){if(E[K]!=null){E[K](F)}}};var F=this;var E=[];var I=J;var G=D;I.addInputChangeCBF(C);G.addInputChangeCBF(H);C();H()};LBS.GUI.DateInputArea=function(C,D,K){this.getDay=function(){var M=F.getInput();if(B(M,1,31)!==true){return null}return(M*1)};this.setDay=function(M){F.setInput(M);G()};this.getMonth=function(){var M=L.getInput();if(B(M,1,12)!==true){return null}return(M*1)};this.setMonth=function(M){L.setInput(M);G()};this.getYear=function(){var M=A.getInput();if(B(M,1970,2027)!==true){return null}return(M*1)};this.setYear=function(M){A.setInput(M);G()};this.validateDate=function(){var P=J.getYear();var M=J.getMonth();var O=J.getDay();if(P===null||M===null||O===null){return false}var N=[0,31,E(P)?29:28,31,30,31,30,31,31,30,31,30,31];if(O>N[M]){return false}return true};this.addDateChangeCBF=function(M){H.push(M)};var B=function(M,N,O){var P=/[\s]*[\d]+[\s]*/;if(!P.test(M)){return false}if((M*1)>=N&&(M*1)<=O){return true}return false};var E=function(M){var N=(M*1);if(N%400==0){return true}else{if(N%100==0){return false}else{if(N%4==0){return true}else{return false}}}};var G=function(){var O=LBS.GUI.InputField.STATE;var Q=true;F.setState(O.VALIDATING);if(B(F.getInput(),1,31)===true){F.setState(O.VALID)}else{F.setState(O.INVALID);Q=false}L.setState(O.VALIDATING);if(B(L.getInput(),1,12)===true){L.setState(O.VALID)}else{L.setState(O.INVALID);Q=false}A.setState(O.VALIDATING);if(B(A.getInput(),1970,2027)===true){A.setState(O.VALID)}else{A.setState(O.INVALID);Q=false}if(Q===true){var R=1*A.getInput();var M=1*L.getInput();var P=1*F.getInput();var N=[0,31,E(R)?29:28,31,30,31,30,31,31,30,31,30,31];if(P>N[M]){L.setState(O.INVALID);F.setState(O.INVALID);if(E(R)==false&&M==2&&P==29){A.setState(O.INVALID)}Q=false}}I()};var I=function(){for(var M in H){if(H[M]!=null){H[M](J)}}};var J=this;var H=[];var F=K;var L=D;var A=C;F.addInputChangeCBF(G);L.addInputChangeCBF(G);A.addInputChangeCBF(G);G()};LBS.GUI.MenuFrame=function(E,B,A){var H=LBS.GUI;var G=H.MenuItem.STATE;H.Frame.call(this,E,B,A);var F=this.setState;this.setState=function(J){if(J===H.Frame.STATE.INVISIBLE){for(var I=0;I<C.length;I++){if(C[I].getState()===G.SELECTED){C[I].setState(G.ENABLED)}}}F(J)};this.addMenuItem=function(I){C.push(I);I.addMouseEnterCBF(D)};var D=function(J){for(var I=0;I<C.length;I++){if(C[I]!==J){if(C[I].getState()===G.SELECTED){C[I].setState(G.ENABLED)}}}J.setState(G.SELECTED)};var C=[]};LBS.GUI.MenuItem=function(E,B,A){var H=LBS.GUI;H.GuiItem.call(this,E,A,((B==H.MenuItem.STATE.ENABLED)||(B==H.MenuItem.STATE.SELECTED))?true:false);this.getState=function(){return D};this.setState=function(J){if(D!==J){if(G!==null){if(J===H.MenuItem.STATE.SELECTED){G.setState(H.Frame.STATE.VISIBLE)}else{G.setState(H.Frame.STATE.INVISIBLE)}}if(J==H.MenuItem.STATE.ENABLED||J==H.MenuItem.STATE.SELECTED){F.enableEvents()}else{F.disableEvents()}D=J;for(var I in C){C[I](F)}}};this.setSubMenu=function(I){G=I;if(D===H.MenuItem.STATE.SELECTED){G.setState(H.Frame.STATE.VISIBLE)}else{G.setState(H.Frame.STATE.INVISIBLE)}};this.addStateChangeCBF=function(I){C.push(I)};var D=B;var C=[];var G=null;var F=this};LBS.GUI.MenuItem.STATE={SELECTED:1,ENABLED:2,DISABLED:3,INVISIBLE:4};LBS.GUI.MenuItemStyleManager=function(J){var G=LBS.GUI;var C=G.MenuItem.STATE;var F=G.GuiItem.MOUSE_STATE;var K=[[C.SELECTED,"selected"],[C.ENABLED,"enabled"],[C.DISABLED,"disabled"],[C.INVISIBLE,"invisible"]];var A=[[F.NO_MOUSE,"noMouse"],[F.MOUSE_OVER,"mouseOver"],[F.MOUSE_DOWN,"mouseDown"]];var H=[];for(var D in K){H[K[D][0]]=[];var B;if(typeof J[K[D][1]]=="object"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]][A[B][1]]}}else{if(typeof J[K[D][1]]=="string"){for(B in A){H[K[D][0]][A[B][0]]=J[K[D][1]]}}else{for(B in A){H[K[D][0]][A[B][0]]=""}}}}G.GuiItemStyleManager.call(this,H);this.addMenuItem=function(L){I(L);L.addStateChangeCBF(E.updateStyle)};var I=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(L){L.getDomNode().className=H[L.getState()][L.getMouseState()]};var E=this};LBS.GUI.ToggleFrame=function(B,G,A,L,C){var I=LBS.GUI;I.Frame.call(this,B,A,C);this.getToggleState=function(){return J};this.setToggleState=function(M){D(M)};this.addToggleStateChangeCBF=function(M){K.push(M)};var D=function(M){if(M!==J){J=M;if(J===I.ToggleFrame.TOGGLE_STATE.TOGGLED){H.setToggleState(I.ToggleButton.TOGGLE_STATE.TOGGLED)}else{H.setToggleState(I.ToggleButton.TOGGLE_STATE.UNTOGGLED)}for(var N in K){K[N](F)}}};var E=function(O){var N=O.getToggleState();var M=I.ToggleFrame.TOGGLE_STATE;if(N===I.ToggleButton.TOGGLE_STATE.TOGGLED){D(M.TOGGLED)}else{D(M.UNTOGGLED)}};var J=L;var K=[];var F=this;var H=G;H.addMouseClickCBF(E);D(L)};LBS.GUI.ToggleFrame.TOGGLE_STATE={TOGGLED:1,UNTOGGLED:2};LBS.GUI.ToggleFrameStyleManager=function(I){var G=LBS.GUI;var C=G.Frame.STATE;var A=G.ToggleFrame.TOGGLE_STATE;var J=[[C.VISIBLE,"visible"],[C.INVISIBLE,"invisible"]];var F=[[A.TOGGLED,"toggled"],[A.UNTOGGLED,"unToggled"]];var H=[];for(var D in J){H[J[D][0]]=[];var B;if(typeof I[J[D][1]]=="object"){for(B in F){H[J[D][0]][F[B][0]]=I[J[D][1]][F[B][1]]}}else{if(typeof I[J[D][1]]=="string"){for(B in F){H[J[D][0]][F[B][0]]=I[J[D][1]]}}else{for(B in F){H[J[D][0]][F[B][0]]=""}}}}this.addToggleFrame=function(K){K.addStateChangeCBF(E.updateStyle);K.addToggleStateChangeCBF(E.updateStyle);E.updateStyle(K)};this.updateStyle=function(L){var M=L.getDomNode();var N=L.getState();var K=L.getToggleState();M.className=H[N][K]};var E=this};