window.onerror=function(D,B,C){var A="Error Message: "+D+"<br>URL: "+B+"<br>Line #: "+C;Ext.MessageBox.alert("An Error Occured",A)};Ext.namespace("Ext.ux","Ext.ux.form");Ext.ux.form.HashField=Ext.extend(Ext.form.TextField,{hashFn:function(A){return A},inputType:"password",initComponent:function(){Ext.ux.form.HashField.superclass.initComponent.call(this);if(typeof (this.algorithm)==="string"){this.algorithm=Ext.ux.Crypto[this.algorithm]}},initEvents:function(){Ext.ux.form.HashField.superclass.initEvents.call(this);this.el.on("keyup",this.onKeyUp,this)},onRender:function(B,A){Ext.ux.form.HashField.superclass.onRender.call(this,B,A);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:"input",type:"hidden",name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},"before",true);this.hiddenField.value="";this.el.dom.removeAttribute("name")}if(Ext.isGecko){this.el.dom.setAttribute("autocomplete","off")}},onEnable:function(){Ext.ux.form.HashField.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.ux.form.HashField.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},onKeyUp:function(A){if(this.hiddenField){this.hiddenField.value=this.hashFn(this.getRawValue())}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.applyEmptyText();this.value=""},setValue:function(A){if(this.hiddenField){this.hiddenField.value=this.hashFn(A)}Ext.ux.form.HashField.superclass.setValue.call(this,A);this.value=A}});Ext.reg("hashfield",Ext.ux.form.HashField);Ext.namespace("Ext.ux.netbox");Ext.ux.netbox.InputTextMask=function(A,D){if(D===undefined){this.clearWhenInvalid=true}else{this.clearWhenInvalid=D}this.rawMask=A;this.viewMask="";this.maskArray=[];var C=0;var E="";for(var B=0;B<A.length;B=B+1){if(E){if(E==="X"){E=""}if(A.charAt(B)==="X"){this.maskArray[C]=E;C=C+1;E=""}else{E+=A.charAt(B)}}else{if(A.charAt(B)==="X"){E+="X";this.viewMask+="_"}else{if(A.charAt(B)==="9"||A.charAt(B)==="L"||A.charAt(B)==="l"||A.charAt(B)==="A"){this.viewMask+="_";this.maskArray[C]=A.charAt(B);C=C+1}else{this.viewMask+=A.charAt(B);this.maskArray[C]=RegExp.escape(A.charAt(B));C=C+1}}}}this.specialChars=this.viewMask.replace(/(L|l|9|A|_|X)/g,"")};Ext.ux.netbox.InputTextMask.prototype={init:function(A){this.field=A;if(A.rendered){this.assignEl()}else{A.on("render",this.assignEl,this)}A.on("blur",this.removeValueWhenInvalid,this);A.on("focus",this.processMaskFocus,this)},assignEl:function(){this.inputTextElement=this.field.getEl().dom;this.field.getEl().on("keypress",this.processKeyPress,this);this.field.getEl().on("keydown",this.processKeyDown,this);if(Ext.isSafari||Ext.isIE){this.field.getEl().on("paste",this.startTask,this);this.field.getEl().on("cut",this.startTask,this)}if(Ext.isGecko||Ext.isOpera){this.field.getEl().on("mousedown",this.setPreviousValue,this)}if(Ext.isGecko){this.field.getEl().on("input",this.onInput,this)}if(Ext.isOpera){this.field.getEl().on("input",this.onInputOpera,this)}},onInput:function(){this.startTask(false)},onInputOpera:function(){if(!this.prevValueOpera){this.startTask(false)}else{this.manageBackspaceAndDeleteOpera()}},manageBackspaceAndDeleteOpera:function(){this.inputTextElement.value=this.prevValueOpera.cursorPos.previousValue;this.manageTheText(this.prevValueOpera.keycode,this.prevValueOpera.cursorPos);this.prevValueOpera=null},setPreviousValue:function(A){this.oldCursorPos=this.getCursorPosition()},getValidatedKey:function(B,A){var C=this.maskArray[A.start];if(C==="9"){return B.pressedKey.match(/[0-9]/)}else{if(C==="L"){return(B.pressedKey.match(/[A-Za-z]/))?B.pressedKey.toUpperCase():null}else{if(C==="l"){return(B.pressedKey.match(/[A-Za-z]/))?B.pressedKey.toLowerCase():null}else{if(C==="A"){return B.pressedKey.match(/[A-Za-z0-9]/)}else{if(C){return(B.pressedKey.match(new RegExp(C)))}}}}}return(null)},removeValueWhenInvalid:function(){if(this.clearWhenInvalid&&this.inputTextElement.value.indexOf("_")>-1){this.inputTextElement.value=""}},managePaste:function(){if(this.oldCursorPos===null){return }var C=this.inputTextElement.value.substring(this.oldCursorPos.start,this.inputTextElement.value.length-(this.oldCursorPos.previousValue.length-this.oldCursorPos.end));if(this.oldCursorPos.start<this.oldCursorPos.end){this.oldCursorPos.previousValue=this.oldCursorPos.previousValue.substring(0,this.oldCursorPos.start)+this.viewMask.substring(this.oldCursorPos.start,this.oldCursorPos.end)+this.oldCursorPos.previousValue.substring(this.oldCursorPos.end,this.oldCursorPos.previousValue.length);C=C.substr(0,this.oldCursorPos.end-this.oldCursorPos.start)}this.inputTextElement.value=this.oldCursorPos.previousValue;keycode={unicode:"",isShiftPressed:false,isTab:false,isBackspace:false,isLeftOrRightArrow:false,isDelete:false,pressedKey:""};var B=false;for(var A=0;A<C.length;A=A+1){keycode.pressedKey=C.substr(A,1);keycode.unicode=C.charCodeAt(A);this.oldCursorPos=this.skipMaskCharacters(keycode,this.oldCursorPos);if(this.oldCursorPos===false){break}if(this.injectValue(keycode,this.oldCursorPos)){B=true;this.moveCursorToPosition(keycode,this.oldCursorPos);this.oldCursorPos.previousValue=this.inputTextElement.value;this.oldCursorPos.start=this.oldCursorPos.start+1}}if(!B&&this.oldCursorPos!==false){this.moveCursorToPosition(null,this.oldCursorPos)}this.oldCursorPos=null},processKeyDown:function(A){this.processMaskFormatting(A,"keydown")},processKeyPress:function(A){this.processMaskFormatting(A,"keypress")},startTask:function(A){if(this.task===undefined){this.task=new Ext.util.DelayedTask(this.managePaste,this)}if(A!==false){this.oldCursorPos=this.getCursorPosition()}this.task.delay(0)},skipMaskCharacters:function(A,B){if(B.start!==B.end&&(A.isDelete||A.isBackspace)){return(B)}while(this.specialChars.match(RegExp.escape(this.viewMask.charAt(((A.isBackspace)?B.start-1:B.start))))){if(A.isBackspace){B.dec()}else{B.inc()}if(B.start>=B.previousValue.length||B.start<0){return false}}return(B)},isManagedByKeyDown:function(A){if(A.isDelete||A.isBackspace){return(true)}return(false)},processMaskFormatting:function(C,B){this.oldCursorPos=null;var D=this.getCursorPosition();var A=this.getKeyCode(C,B);if(A.unicode===0){return }if((A.unicode===67||A.unicode===99)&&C.ctrlKey){return }if((A.unicode===88||A.unicode===120)&&C.ctrlKey){this.startTask();return }if((A.unicode===86||A.unicode===118)&&C.ctrlKey){this.startTask();return }if((A.isBackspace||A.isDelete)&&Ext.isOpera){this.prevValueOpera={cursorPos:D,keycode:A};return }if(B==="keydown"&&!this.isManagedByKeyDown(A)){return true}if(B==="keypress"&&this.isManagedByKeyDown(A)){return true}if(this.handleEventBubble(C,A,B)){return true}return(this.manageTheText(A,D))},manageTheText:function(A,B){if(this.inputTextElement.value.length===0){this.inputTextElement.value=this.viewMask}B=this.skipMaskCharacters(A,B);if(B===false){return false}if(this.injectValue(A,B)){this.moveCursorToPosition(A,B)}return(false)},processMaskFocus:function(){if(this.inputTextElement.value.length===0){var A=this.getCursorPosition();this.inputTextElement.value=this.viewMask;this.moveCursorToPosition(null,A)}},isManagedByBrowser:function(C,A,B){if(((B==="keypress"&&C.charCode===0)||B==="keydown")&&(A.unicode===Ext.EventObject.TAB||A.unicode===Ext.EventObject.RETURN||A.unicode===Ext.EventObject.ENTER||A.unicode===Ext.EventObject.SHIFT||A.unicode===Ext.EventObject.CONTROL||A.unicode===Ext.EventObject.ESC||A.unicode===Ext.EventObject.PAGEUP||A.unicode===Ext.EventObject.PAGEDOWN||A.unicode===Ext.EventObject.END||A.unicode===Ext.EventObject.HOME||A.unicode===Ext.EventObject.LEFT||A.unicode===Ext.EventObject.UP||A.unicode===Ext.EventObject.RIGHT||A.unicode===Ext.EventObject.DOWN)){return(true)}return(false)},handleEventBubble:function(C,A,B){try{if(A&&this.isManagedByBrowser(C,A,B)){return true}C.stopEvent();return false}catch(D){alert(D.message)}},getCursorPosition:function(){var A,C,B;if(this.inputTextElement.createTextRange){B=document.selection.createRange().duplicate();B.moveEnd("character",this.inputTextElement.value.length);if(B.text===""){A=this.inputTextElement.value.length}else{A=this.inputTextElement.value.lastIndexOf(B.text)}B=document.selection.createRange().duplicate();B.moveStart("character",-this.inputTextElement.value.length);C=B.text.length}else{A=this.inputTextElement.selectionStart;C=this.inputTextElement.selectionEnd}return this.CursorPosition(A,C,B,this.inputTextElement.value)},moveCursorToPosition:function(B,A){var C=(!B||(B&&B.isBackspace))?A.start:A.start+1;if(this.inputTextElement.createTextRange){A.range.move("character",C);A.range.select()}else{this.inputTextElement.selectionStart=C;this.inputTextElement.selectionEnd=C}},injectValue:function(B,A){if(!B.isDelete&&B.unicode===A.previousValue.charCodeAt(A.start)){return true}var C;if(!B.isDelete&&!B.isBackspace){C=this.getValidatedKey(B,A)}else{if(A.start===A.end){C="_";if(B.isBackspace){A.dec()}}else{C=this.viewMask.substring(A.start,A.end)}}if(C){this.inputTextElement.value=A.previousValue.substring(0,A.start)+C+A.previousValue.substring(A.start+C.length,A.previousValue.length);return true}return false},getKeyCode:function(B,C){var A={};A.unicode=B.getKey();A.isShiftPressed=B.shiftKey;A.isDelete=((B.getKey()===Ext.EventObject.DELETE&&C==="keydown")||(C==="keypress"&&B.charCode===0&&B.keyCode===Ext.EventObject.DELETE))?true:false;A.isTab=(B.getKey()===Ext.EventObject.TAB)?true:false;A.isBackspace=(B.getKey()===Ext.EventObject.BACKSPACE)?true:false;A.isLeftOrRightArrow=(B.getKey()===Ext.EventObject.LEFT||B.getKey()===Ext.EventObject.RIGHT)?true:false;A.pressedKey=String.fromCharCode(A.unicode);return(A)},CursorPosition:function(E,C,D,B){var A={};A.start=isNaN(E)?0:E;A.end=isNaN(C)?0:C;A.range=D;A.previousValue=B;A.inc=function(){A.start++;A.end++};A.dec=function(){A.start--;A.end--};return(A)}};Ext.applyIf(RegExp,{escape:function(A){return new String(A).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}});Ext.ux.InputTextMask=Ext.ux.netbox.InputTextMask;Ext.util.MD5=function(O,A,M,J){A=(typeof A==="undefined"?false:A);M=(typeof M==="undefined"?false:M);J=(typeof J==="undefined"?8:J);function H(P,S){var R=(P&65535)+(S&65535);var Q=(P>>16)+(S>>16)+(R>>16);return(Q<<16)|(R&65535)}function L(P,Q){return(P<<Q)|(P>>>(32-Q))}function D(U,R,Q,P,T,S){return H(L(H(H(R,U),H(P,S)),T),Q)}function I(R,Q,V,U,P,T,S){return D((Q&V)|((~Q)&U),R,Q,P,T,S)}function C(R,Q,V,U,P,T,S){return D((Q&U)|(V&(~U)),R,Q,P,T,S)}function K(R,Q,V,U,P,T,S){return D(Q^V^U,R,Q,P,T,S)}function G(R,Q,V,U,P,T,S){return D(V^(Q|(~U)),R,Q,P,T,S)}function F(Z,U){Z[U>>5]|=128<<((U)%32);Z[(((U+64)>>>9)<<4)+14]=U;var Y=1732584193;var X=-271733879;var W=-1732584194;var V=271733878;for(var R=0;R<Z.length;R+=16){var T=Y;var S=X;var Q=W;var P=V;Y=I(Y,X,W,V,Z[R+0],7,-680876936);V=I(V,Y,X,W,Z[R+1],12,-389564586);W=I(W,V,Y,X,Z[R+2],17,606105819);X=I(X,W,V,Y,Z[R+3],22,-1044525330);Y=I(Y,X,W,V,Z[R+4],7,-176418897);V=I(V,Y,X,W,Z[R+5],12,1200080426);W=I(W,V,Y,X,Z[R+6],17,-1473231341);X=I(X,W,V,Y,Z[R+7],22,-45705983);Y=I(Y,X,W,V,Z[R+8],7,1770035416);V=I(V,Y,X,W,Z[R+9],12,-1958414417);W=I(W,V,Y,X,Z[R+10],17,-42063);X=I(X,W,V,Y,Z[R+11],22,-1990404162);Y=I(Y,X,W,V,Z[R+12],7,1804603682);V=I(V,Y,X,W,Z[R+13],12,-40341101);W=I(W,V,Y,X,Z[R+14],17,-1502002290);X=I(X,W,V,Y,Z[R+15],22,1236535329);Y=C(Y,X,W,V,Z[R+1],5,-165796510);V=C(V,Y,X,W,Z[R+6],9,-1069501632);W=C(W,V,Y,X,Z[R+11],14,643717713);X=C(X,W,V,Y,Z[R+0],20,-373897302);Y=C(Y,X,W,V,Z[R+5],5,-701558691);V=C(V,Y,X,W,Z[R+10],9,38016083);W=C(W,V,Y,X,Z[R+15],14,-660478335);X=C(X,W,V,Y,Z[R+4],20,-405537848);Y=C(Y,X,W,V,Z[R+9],5,568446438);V=C(V,Y,X,W,Z[R+14],9,-1019803690);W=C(W,V,Y,X,Z[R+3],14,-187363961);X=C(X,W,V,Y,Z[R+8],20,1163531501);Y=C(Y,X,W,V,Z[R+13],5,-1444681467);V=C(V,Y,X,W,Z[R+2],9,-51403784);W=C(W,V,Y,X,Z[R+7],14,1735328473);X=C(X,W,V,Y,Z[R+12],20,-1926607734);Y=K(Y,X,W,V,Z[R+5],4,-378558);V=K(V,Y,X,W,Z[R+8],11,-2022574463);W=K(W,V,Y,X,Z[R+11],16,1839030562);X=K(X,W,V,Y,Z[R+14],23,-35309556);Y=K(Y,X,W,V,Z[R+1],4,-1530992060);V=K(V,Y,X,W,Z[R+4],11,1272893353);W=K(W,V,Y,X,Z[R+7],16,-155497632);X=K(X,W,V,Y,Z[R+10],23,-1094730640);Y=K(Y,X,W,V,Z[R+13],4,681279174);V=K(V,Y,X,W,Z[R+0],11,-358537222);W=K(W,V,Y,X,Z[R+3],16,-722521979);X=K(X,W,V,Y,Z[R+6],23,76029189);Y=K(Y,X,W,V,Z[R+9],4,-640364487);V=K(V,Y,X,W,Z[R+12],11,-421815835);W=K(W,V,Y,X,Z[R+15],16,530742520);X=K(X,W,V,Y,Z[R+2],23,-995338651);Y=G(Y,X,W,V,Z[R+0],6,-198630844);V=G(V,Y,X,W,Z[R+7],10,1126891415);W=G(W,V,Y,X,Z[R+14],15,-1416354905);X=G(X,W,V,Y,Z[R+5],21,-57434055);Y=G(Y,X,W,V,Z[R+12],6,1700485571);V=G(V,Y,X,W,Z[R+3],10,-1894986606);W=G(W,V,Y,X,Z[R+10],15,-1051523);X=G(X,W,V,Y,Z[R+1],21,-2054922799);Y=G(Y,X,W,V,Z[R+8],6,1873313359);V=G(V,Y,X,W,Z[R+15],10,-30611744);W=G(W,V,Y,X,Z[R+6],15,-1560198380);X=G(X,W,V,Y,Z[R+13],21,1309151649);Y=G(Y,X,W,V,Z[R+4],6,-145523070);V=G(V,Y,X,W,Z[R+11],10,-1120210379);W=G(W,V,Y,X,Z[R+2],15,718787259);X=G(X,W,V,Y,Z[R+9],21,-343485551);Y=H(Y,T);X=H(X,S);W=H(W,Q);V=H(V,P)}return[Y,X,W,V]}function B(S){var R=[];var P=(1<<J)-1;for(var Q=0;Q<S.length*J;Q+=J){R[Q>>5]|=(S.charCodeAt(Q/J)&P)<<(Q%32)}return R}function E(R){var S="";var P=(1<<J)-1;for(var Q=0;Q<R.length*32;Q+=J){S+=String.fromCharCode((R[Q>>5]>>>(Q%32))&P)}return S}function N(R){var Q=M?"0123456789ABCDEF":"0123456789abcdef";var S="";for(var P=0;P<R.length*4;P=P+1){S+=Q.charAt((R[P>>2]>>((P%4)*8+4))&15)+Q.charAt((R[P>>2]>>((P%4)*8))&15)}return S}return(A?E(F(B(O),O.length*J)):N(F(B(O),O.length*J)))};Ext.override(Ext.data.JsonReader,{read:function(A){var B=A.responseText.substring(2,A.responseText.length);var C=Ext.decode(B);if(!C){throw {message:"JsonReader.read: Json object not found"}}return this.readRecords(C)}});Ext.override(Ext.form.Field,{setFieldLabel:function(C){var B=this.el.findParent("div.x-form-item",3,true);var A=B.first("label.x-form-item-label");A.update(C)}});Ext.util.JSON.decode=function(json){var cleanjson=json.substring(2,json.length);return eval("("+cleanjson+")")};Ext.decode=Ext.util.JSON.decode;Ext.SSL_SECURE_URL="images/s.gif";Ext.BLANK_IMAGE_URL="images/s.gif";var PasswordDlg=function(){var A;return{init:function(){if(!A){Ext.QuickTips.init();Ext.form.Field.prototype.msgTarget="side";A=new Ext.Window({width:400,height:175,resizable:false,modal:true,minimizable:false,plain:true,closeAction:"hide",title:"Retrieve your password",layout:"fit",ctCls:"window-class",items:[{xtype:"form",id:"RetrievePasswordForm",method:"post",hideBorders:true,bodyBorder:false,labelWidth:100,bodyStyle:"padding:10px 10px 10px 10px",items:[{xtype:"box",style:"padding-bottom:20px;",autoEl:{cn:"Enter your Email to retireve your password"}},{xtype:"textfield",fieldLabel:"Email Address",allowBlank:false,name:"email",width:225,vtype:"email",tabIndex:1}]}],buttons:[{text:"Submit",handler:function(){PasswordDlg.doSubmit()}},{text:"Cancel",handler:function(){A.hide()}}],keys:[{key:27,fn:function(){A.hide()}}]})}Ext.getCmp("RetrievePasswordForm").getForm().reset();A.show()},doSubmit:function(){var B=Ext.getCmp("RetrievePasswordForm").getForm();if(B.isValid()){B.submit({reset:false,waitMsg:"Please Wait...",success:PasswordDlg.Success,failure:PasswordDlg.Failure,scope:B,url:"index.cfm?event=ajax.External.RetrievePassword"})}else{Ext.MessageBox.alert("An Error Occured","Please correct the errors on the form")}},Success:function(C,B){if(B&&B.result&&typeof B.result.success==="number"){if(B.result.success){Ext.MessageBox.alert("Password Retrieved","Your password has been emailed to you.");A.hide()}else{C.clearInvalid();Ext.MessageBox.alert("An Error Occured",B.result.errors)}}},Failure:function(C,B){if(B&&B.result&&typeof B.result.success==="number"){if(!B.result.success){C.clearInvalid();Ext.MessageBox.alert("An Error Occured",B.result.errors)}}}}}();var LoginForm=function(){var B;var A;return{init:function(){Ext.QuickTips.init();Ext.form.Field.prototype.msgTarget="side";var C=[function(){var E=new Ext.form.TextField({id:"LoginFormusername",name:"username",allowBlank:false,width:250,vtype:"email",value:"",applyTo:"LoginFormusername",enableKeyEvents:true,listeners:{keypress:function(F,G){LoginForm.onKeyPress(F,G)}}});E.on({});return E}(),function(){var E=new Ext.ux.form.HashField({id:"LoginFormpassword",hiddenName:"password",allowBlank:false,width:250,value:"",hashFn:function(F){return Ext.util.MD5(F).toUpperCase()},applyTo:"LoginFormpassword",enableKeyEvents:true,listeners:{keypress:function(F,G){LoginForm.onKeyPress(F,G)}}});E.on({});return E}()];if(!B){var D=Ext.getDom("LoginForm");B=new Ext.form.BasicForm(D,{id:"LoginForm",method:"POST"});B.add.apply(B,C);B.reset();B.clearInvalid()}},doSubmit:function(){if(B.isValid()){B.submit({method:"POST",url:"/index.cfm?event=ajax.Login",reset:true,waitMsg:"Please Wait...",success:LoginForm.success,failure:LoginForm.failure})}else{Ext.MessageBox.alert("An Error Occured","Please correct the errors on the form")}},onKeyPress:function(C,D){if(D.getKey()===13){LoginForm.doSubmit()}},success:function(D,C){if(C&&C.result&&typeof C.result.success==="number"){if(C.result.success){if(C.result.organizationcount===1){location.href=C.result.rooturl[0]}else{location.href="/index.cfm?event=page.idn"}}else{D.clearInvalid();Ext.MessageBox.alert("An Error Occured",C.result.errors)}}},failure:function(D,C){if(C&&C.result&&typeof C.result.success==="number"){if(!C.result.success){Ext.MessageBox.alert("Login Failed",C.result.errors)}}}}}();Ext.onReady(LoginForm.init,this,true);
