(function(){Ext.loadedLibrary={};Ext.loader=function(A){Ext.apply(this,A);var B=this.scope,C=(typeof this.callback=="function"?this.callback:function(){});this.callback=(typeof B=="undefined"||null==B?C:C.createDelegate(B));if(this.js&&this.js.constructor!=Array){this.js=[this.js]}this.registerLibrary(this.js);this.load(this.callback)};Ext.loader.prototype={registerLibrary:function(A){if(Ext.isArray(A)){Ext.each(A,function(B){if(!this.isUrlExit(B)){this.unregisterLoadedUrl(B)}},this)}},isUrlExit:function(A){if(Ext.loadedLibrary[A]==undefined){return false}return true},until:function(A){if(A.test()===true){A.callback()}else{window.setTimeout(function(){this.until(A)}.createDelegate(this),A.delay||50)}},isUrlLoaded:function(A){return Ext.loadedLibrary[A]===true},unregisterLoadedUrl:function(A){Ext.loadedLibrary[A]=false},registerLoadedUrl:function(A){Ext.loadedLibrary[A]=true},load:function(A){var C=this.js.length;var B=this.js;if(0===C){return A()}Ext.each(B,function(D){if(this.isUrlLoaded(D)){C--;return false}else{this.getJavaScript({url:D,success:function(){C--;this.registerLoadedUrl(D)}.createDelegate(this),error:function(E){C--;this.unregisterLoadedUrl(D);if(typeof this.data.error=="function"){this.data.error(D,E)}}.createDelegate(this)})}},this);this.until({test:function(){return C===0},delay:50,callback:function(){A()}})},getJavaScript:function(B){var A=this;return Ext.Ajax.request({method:"GET",url:B.url,disableCaching:false,success:function(C){A.addScript(C.responseText);B.success()},failure:function(D,C,E){if(D&&D.responseText){B.error(D.responseText)}else{B.error(url+"\n"+E.message)}}})},getHtmlHead:function(){return document.getElementsByTagName("head")[0]||document.documentElement},addScript:function(C){var A=document.createElement("script");A.type="text/javascript";if(Ext.isIE){A.text=C}else{A.appendChild(document.createTextNode(C))}var B=this.getHtmlHead();B.appendChild(A)}};Ext.ensure=function(A){new Ext.loader(A)}})();Ext.ux.IconMenu=function(A){Ext.apply(this,A);Ext.ux.IconMenu.superclass.constructor.apply(this,arguments)};Ext.extend(Ext.ux.IconMenu,Ext.util.Observable,{closeText:"Close",createDefault:true,dblClickClose:true,defaultItems:["restore","minimize","maximize","separator","close"],maximizeText:"Maximize",minimizeText:"Minimize",restoreText:"Restore",style:"width:16px;height:16px;left:0;top:4px;position:absolute;cursor:pointer",closeHandler:function(){this.hideMenu();if(this.panel.closable){this.panel[this.panel.closeAction]()}},getItemByCmd:function(B){if(!this.menu||!B){return null}var A=this.menu.items.find(function(C){return B===C.cmd});return A},hideMenu:function(){if(this.menu){this.menu.hide()}},init:function(A){this.panel=A;this.iconCls=this.iconCls||A.iconCls;A.on({scope:this,render:this.onRender,hide:this.hideMenu,destroy:this.onDestroy});var B,C="im-"+A.id;if(this.createDefault&&Ext.isArray(this.defaultItems)&&this.defaultItems.length){if(this.menu){this.menu.add("-")}else{this.menu=new Ext.menu.Menu({id:C})}for(B=0;B<this.defaultItems.length;B++){this.addItem(this.defaultItems[B])}}if(Ext.isArray(this.customItems)){if(!this.menu){this.menu=new Ext.menu.Menu({id:C})}for(B=0;B<this.customItems.length;B++){this.addItem(this.customItems[B])}}if(this.menu){this.menu.id=this.menu.id||C;this.menu=Ext.menu.MenuMgr.get(this.menu);this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this);this.menu.parentPanel=this.panel}},addItem:function(B){var A;if("separator"===B||"-"===B){this.menu.add("-");return }if("string"===typeof B){A={text:this[B+"Text"],cmd:B,iconCls:"x-im-icon x-tool x-tool-"+B,scope:this,handler:this[B+"Handler"]}}else{A=B}this.menu.add(A)},maximizeHandler:function(){this.hideMenu();if(this.panel.maximizable){this.panel.maximize()}},minimizeHandler:function(){this.hideMenu();if(this.panel.minimizable){this.panel.minimize()}},onDestroy:function(){if(this.menu){this.menu.hide();this.menu.destroy()}},onMenuHide:function(A){this.ignoreNextClick=this.restoreClick.defer(350,this)},onMenuShow:function(A){this.ignoreNextClick=0},onRender:function(){var B=this.panel.header,A;if(!B){return }Ext.util.CSS.createStyleSheet(".x-im-icon{float:none!important;margin-left:0!important}");B.addClass("x-panel-icon");B.applyStyles({position:"relative"});this.icon=B.insertFirst({tag:"div",id:Ext.id(),style:this.style,cls:this.iconCls,qtip:this.qtip||this.tooltip||""},"first");A=B.down("img");if(A){this.icon.alignTo(A,"tl-tl");A.removeClass(this.panel.iconCls||this.iconCls);A.set({src:Ext.BLANK_IMAGE_URL})}this.icon.on({scope:this,dblclick:function(){if(this.dblClickClose){this.closeHandler()}},click:{scope:this,delay:200,fn:function(D,C){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}}}});this.panel.setIconClass=this.setIconClass.createDelegate(this)},restoreClick:function(){this.ignoreNextClick=0},restoreHandler:function(){this.hideMenu();this.panel.restore()},setIconClass:function(A){this.icon.replaceClass(this.iconCls,A)},showMenu:function(){var A;if(this.menu){try{A=this.getItemByCmd("close");if(A){A.setDisabled(!this.panel.closable)}A=this.getItemByCmd("maximize");if(A){A.setDisabled(!this.panel.maximizable||this.panel.maximized)}A=this.getItemByCmd("minimize");if(A){A.setDisabled(!this.panel.minimizable||this.panel.minimized)}A=this.getItemByCmd("restore");if(A){A.setDisabled(!(this.panel.minimized||this.panel.maximized))}this.menu.show(this.icon,"tl-bl?")}catch(B){}}}});Ext.reg("iconmenu",Ext.ux.IconMenu);Ext.ux.base64={base64s:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",encode:function(C){if(typeof btoa==="function"){return btoa(C)}var F=this.base64s,B,E,A=0,D="";while(C.length>=A+3){B=(C.charCodeAt(A++)&255)<<16|(C.charCodeAt(A++)&255)<<8|C.charCodeAt(A++)&255;D+=F.charAt((B&16515072)>>18)+F.charAt((B&258048)>>12)+F.charAt((B&4032)>>6)+F.charAt((B&63))}if(C.length-A>0&&C.length-A<3){E=Boolean(C.length-A-1);B=((C.charCodeAt(A++)&255)<<16)|(E?(C.charCodeAt(A)&255)<<8:0);D+=F.charAt((B&16515072)>>18)+F.charAt((B&258048)>>12)+(E?F.charAt((B&4032)>>6):"=")+"="}return(D)},decode:function(C){if(typeof atob==="function"){return atob(C)}var E=this.base64s,D,A="",B=0;for(;B<C.length;B+=4){D=(E.indexOf(C.charAt(B))&255)<<18|(E.indexOf(C.charAt(B+1))&255)<<12|(E.indexOf(C.charAt(B+2))&255)<<6|E.indexOf(C.charAt(B+3))&255;A+=String.fromCharCode((D&16711680)>>16,(D&65280)>>8,D&255)}if(C.charCodeAt(B-2)==61){return(A.substring(0,A.length-2))}else{if(C.charCodeAt(B-1)==61){return(A.substring(0,A.length-1))}else{return(A)}}}};function str_rot13(A){return A.replace(/[A-Za-z]/g,function(B){return String.fromCharCode((((B=B.charCodeAt(0))&223)-52)%26+(B&32)+65)})}Ext.state.Manager.setProvider(new Ext.state.CookieProvider({domain:"www.demo.nbred5.com",expires:new Date(new Date().getTime()+(1000*60*60*24*30))}));Ext.ux.LoginDialog=function(){this.doOK=function(){if(this.loginForm.getForm().isValid()){this.password.suspendEvents();this.originalPassword=this.password.getValue();this.password.setRawValue(Ext.ux.base64.encode(str_rot13(this.originalPassword)));this.password.resumeEvents();Ext.MessageBox.wait("Logging In...","Log In");this.loginForm.getForm().submit({success:function(A,B){var C=Ext.state.Manager;C.set("UserName",this.username.getValue());C.set("Preferences",B.result.preferences);C.set("quota",B.result.quota);C.set("SysFolders",B.result.sysfolders);C.set("showGoogleAds",B.result.showGoogleAds);Ext.ensure({js:["js/Red5Mail.js"],callback:function(){Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide();this.close();Main.init()},scope:this})},failure:function(A,B){if(B.result.error.errortype){switch(B.result.error.errortype){case"Authorization":case"Connect":this.password.reset();Ext.Msg.show({title:"Login",msg:B.result.error.errormessage,fn:function(){this.username.selectText()},scope:this,buttons:Ext.Msg.OK,icon:Ext.Msg.ERROR});break;default:break}}else{this.password.reset();Ext.Msg.show({title:"Login",msg:"Login unsuccessful, please try again.",fn:function(){this.username.selectText()},scope:this,buttons:Ext.Msg.OK,icon:Ext.Msg.WARNING})}},scope:this})}};this.doClose=function(){window.close()};this.username=new Ext.form.TextField({id:"textfieldUsername",msgTarget:"side",fieldLabel:"Username",name:"f_email",width:175,allowBlank:true,value:Ext.state.Manager.get("UserName",""),invalidText:"Please enter your UserName!"});this.password=new Ext.form.TextField({id:"textfieldPassword",msgTarget:"side",fieldLabel:"Password",allowBlank:false,name:"f_pass",width:175,inputType:"password"});this.password.on("specialkey",function(A,B){if(B.getKey()==13){this.doOK()}},this);this.loginForm=new Ext.FormPanel({id:"formLoginForm",labelWidth:75,url:"login.php",defaults:{width:230},baseCls:"x-plain",defaultType:"textfield",labelAlign:"left",bodyStyle:{padding:"10px"},border:false,items:[this.username,this.password]});Ext.QuickTips.init();Ext.form.Field.prototype.msgTarget="qtip";Ext.ux.LoginDialog.superclass.constructor.call(this,{id:"windowLoginDialog",width:400,autoHeight:true,modal:true,shadow:true,bodyBorder:false,plain:true,collapsible:false,resizable:false,closable:false,title:"Login",iconCls:"login-icon-cls",plugins:[new Ext.ux.IconMenu({dblClickClose:false})],buttons:[{text:"Login",handler:this.doOK,scope:this},{text:"Close",handler:this.doClose,scope:this}],items:[this.loginForm]})};Ext.extend(Ext.ux.LoginDialog,Ext.Window,{show:function(){Ext.ux.LoginDialog.superclass.show.call(this);this.loginForm.getForm().reset();this.setPagePosition(this.getPosition()[0],100)}});var dialogLogin=null;function LaunchApp(){dialogLogin=new Ext.ux.LoginDialog();dialogLogin.show()};