/*
 * insert license here
 */
Ext.ns("Ext.ux.util");Ext.ux.util.MD5=function(m){var k=0;var h=8;function f(n,q){var p=(n&65535)+(q&65535);var o=(n>>16)+(q>>16)+(p>>16);return(o<<16)|(p&65535)}function j(n,o){return(n<<o)|(n>>>(32-o))}function b(v,p,o,n,u,r){return f(j(f(f(p,v),f(n,r)),u),o)}function g(p,o,v,u,n,r,q){return b((o&v)|((~o)&u),p,o,n,r,q)}function c(p,o,v,u,n,r,q){return b((o&u)|(v&(~u)),p,o,n,r,q)}function i(p,o,v,u,n,r,q){return b(o^v^u,p,o,n,r,q)}function e(p,o,v,u,n,r,q){return b(v^(o|(~u)),p,o,n,r,q)}function d(y,s){y[s>>5]|=128<<((s)%32);y[(((s+64)>>>9)<<4)+14]=s;var w=1732584193;var v=-271733879;var u=-1732584194;var t=271733878;for(var p=0;p<y.length;p+=16){var r=w;var q=v;var o=u;var n=t;w=g(w,v,u,t,y[p+0],7,-680876936);t=g(t,w,v,u,y[p+1],12,-389564586);u=g(u,t,w,v,y[p+2],17,606105819);v=g(v,u,t,w,y[p+3],22,-1044525330);w=g(w,v,u,t,y[p+4],7,-176418897);t=g(t,w,v,u,y[p+5],12,1200080426);u=g(u,t,w,v,y[p+6],17,-1473231341);v=g(v,u,t,w,y[p+7],22,-45705983);w=g(w,v,u,t,y[p+8],7,1770035416);t=g(t,w,v,u,y[p+9],12,-1958414417);u=g(u,t,w,v,y[p+10],17,-42063);v=g(v,u,t,w,y[p+11],22,-1990404162);w=g(w,v,u,t,y[p+12],7,1804603682);t=g(t,w,v,u,y[p+13],12,-40341101);u=g(u,t,w,v,y[p+14],17,-1502002290);v=g(v,u,t,w,y[p+15],22,1236535329);w=c(w,v,u,t,y[p+1],5,-165796510);t=c(t,w,v,u,y[p+6],9,-1069501632);u=c(u,t,w,v,y[p+11],14,643717713);v=c(v,u,t,w,y[p+0],20,-373897302);w=c(w,v,u,t,y[p+5],5,-701558691);t=c(t,w,v,u,y[p+10],9,38016083);u=c(u,t,w,v,y[p+15],14,-660478335);v=c(v,u,t,w,y[p+4],20,-405537848);w=c(w,v,u,t,y[p+9],5,568446438);t=c(t,w,v,u,y[p+14],9,-1019803690);u=c(u,t,w,v,y[p+3],14,-187363961);v=c(v,u,t,w,y[p+8],20,1163531501);w=c(w,v,u,t,y[p+13],5,-1444681467);t=c(t,w,v,u,y[p+2],9,-51403784);u=c(u,t,w,v,y[p+7],14,1735328473);v=c(v,u,t,w,y[p+12],20,-1926607734);w=i(w,v,u,t,y[p+5],4,-378558);t=i(t,w,v,u,y[p+8],11,-2022574463);u=i(u,t,w,v,y[p+11],16,1839030562);v=i(v,u,t,w,y[p+14],23,-35309556);w=i(w,v,u,t,y[p+1],4,-1530992060);t=i(t,w,v,u,y[p+4],11,1272893353);u=i(u,t,w,v,y[p+7],16,-155497632);v=i(v,u,t,w,y[p+10],23,-1094730640);w=i(w,v,u,t,y[p+13],4,681279174);t=i(t,w,v,u,y[p+0],11,-358537222);u=i(u,t,w,v,y[p+3],16,-722521979);v=i(v,u,t,w,y[p+6],23,76029189);w=i(w,v,u,t,y[p+9],4,-640364487);t=i(t,w,v,u,y[p+12],11,-421815835);u=i(u,t,w,v,y[p+15],16,530742520);v=i(v,u,t,w,y[p+2],23,-995338651);w=e(w,v,u,t,y[p+0],6,-198630844);t=e(t,w,v,u,y[p+7],10,1126891415);u=e(u,t,w,v,y[p+14],15,-1416354905);v=e(v,u,t,w,y[p+5],21,-57434055);w=e(w,v,u,t,y[p+12],6,1700485571);t=e(t,w,v,u,y[p+3],10,-1894986606);u=e(u,t,w,v,y[p+10],15,-1051523);v=e(v,u,t,w,y[p+1],21,-2054922799);w=e(w,v,u,t,y[p+8],6,1873313359);t=e(t,w,v,u,y[p+15],10,-30611744);u=e(u,t,w,v,y[p+6],15,-1560198380);v=e(v,u,t,w,y[p+13],21,1309151649);w=e(w,v,u,t,y[p+4],6,-145523070);t=e(t,w,v,u,y[p+11],10,-1120210379);u=e(u,t,w,v,y[p+2],15,718787259);v=e(v,u,t,w,y[p+9],21,-343485551);w=f(w,r);v=f(v,q);u=f(u,o);t=f(t,n)}return[w,v,u,t]}function a(q){var p=[];var n=(1<<h)-1;for(var o=0;o<q.length*h;o+=h){p[o>>5]|=(q.charCodeAt(o/h)&n)<<(o%32)}return p}function l(p){var o=k?"0123456789ABCDEF":"0123456789abcdef";var q="";for(var n=0;n<p.length*4;n++){q+=o.charAt((p[n>>2]>>((n%4)*8+4))&15)+o.charAt((p[n>>2]>>((n%4)*8))&15)}return q}return l(d(a(m),m.length*h))};Ext.ux.util.clone=function(d){if(!d||"object"!==typeof d){return d}if("function"===typeof d.clone){return d.clone()}var e="[object Array]"===Object.prototype.toString.call(d)?[]:{};var b,a;for(b in d){if(d.hasOwnProperty(b)){a=d[b];if(a&&"object"===typeof a){e[b]=Ext.ux.util.clone(a)}else{e[b]=a}}}return e};Ext.ux.util.applyMatching=function(a,b){var b=b||this;for(var c in a){if(a.hasOwnProperty(c)&&undefined!==b[c]){a[c]=b[c]}}return a};Ext.overrideIf="function"===typeof Ext.overrideIf?Ext.overrideIf:function(a,c){if(c){var b=a.prototype;for(var d in c){if(!b[d]){b[d]=c[d]}}}};if("function"!==typeof RegExp.escape){RegExp.escape=function(a){if("string"!==typeof a){return a}return a.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1")}}Ext.overrideIf(RegExp,{clone:function(){return new RegExp(this)}});Ext.overrideIf(Array,{copy:function(){var c=[];for(var d=0,b=this.length;d<b;d++){c.push(this[d])}return c},indexOf:function(d,a){for(var e=+a||0,c=this.length;e<c;e++){if(this[e]===d){return e}}return -1},intersect:function(){if(!arguments.length){return[]}var e=this,b,d;for(var f=0,h=arguments.length;f<h;f++){d=[];b=arguments[f]||[];for(var g=0,c=e.length;g<c;g++){if(-1<b.indexOf(e[g])){d.push(e[g])}}e=d}return d.unique()},lastIndexOf:function(c,a){a=+a||0;var d=this.length;while(d-->a){if(this[d]===c){return d}}return -1},union:function(){var d=this.copy(),c;for(var e=0,g=arguments.length;e<g;e++){c=arguments[e]||[];for(var f=0,b=c.length;f<b;f++){d.push(c[f])}}return d.unique()},unique:function(){var c=[],d,b=this.length;for(d=0;d<b;d++){if(c.indexOf(this[d])<0){c.push(this[d])}}return c}});
/*
 * Ext JS Library 3.3.0
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ns("Ext.ux.grid");Ext.ux.grid.CheckColumn=Ext.extend(Ext.grid.Column,{processEvent:function(c,f,d,g,b){if(c=="mousedown"){var a=d.store.getAt(g);a.set(this.dataIndex,!a.data[this.dataIndex]);return false}else{return Ext.grid.ActionColumn.superclass.processEvent.apply(this,arguments)}},renderer:function(b,c,a){c.css+=" x-grid3-check-col-td";return String.format('<div class="x-grid3-check-col{0}">&#160;</div>',b?"-on":"")},init:Ext.emptyFn});Ext.preg("checkcolumn",Ext.ux.grid.CheckColumn);Ext.grid.CheckColumn=Ext.ux.grid.CheckColumn;Ext.grid.Column.types.checkcolumn=Ext.ux.grid.CheckColumn;Ext.namespace("Ext.ux","Ext.ux.menu","Ext.ux.form");Ext.ux.menu.ColorMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,initComponent:function(){Ext.apply(this,{plain:true,showSeparator:false,items:this.picker=new Ext.ux.ColorPicker(Ext.apply({style:"width:350px;"},this.initialConfig))});Ext.ux.menu.ColorMenu.superclass.initComponent.call(this);this.relayEvents(this.picker,["select"]);this.on("select",this.menuHide,this);if(this.handler){this.on("select",this.handler,this.scope||this)}},menuHide:function(){if(this.hideOnClick){this.hide(true)}}});Ext.form.VTypes.hexText="Invalid Hex code, eg: (#F0F0F0)";Ext.form.VTypes.hex=function(a){return/^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/.test(a)};Ext.ux.form.ColorPickerFieldPlus=Ext.extend(Ext.form.TwinTriggerField,{trigger1Class:"x-form-color-trigger-1",trigger2Class:"x-form-color-trigger-2",hideTrigger1:false,hideTrigger2:false,vtype:"hex",initComponent:function(){Ext.ux.form.ColorPickerFieldPlus.superclass.initComponent.call(this);this.menu1=new Ext.menu.ColorMenu();this.menu2=new Ext.ux.menu.ColorMenu();this.on("valid",function(){var a=this.getValue();var b=this.menu2.picker.rgbToHex(this.menu2.picker.invert(this.menu2.picker.hexToRgb(a)));if(a&&b){this.el.applyStyles("background: #"+a+"; color: #"+b+";")}},this)},setValue:function(a){if(typeof(a)!="string"){a=parseInt(a);a=this.menu2.picker.rgbToHex((a&16711680)>>16,(a&65280)>>8,(a&255))}Ext.ux.form.ColorPickerFieldPlus.superclass.setValue.apply(this,[a])},onDestroy:function(){if(this.menu2){this.menu2.destroy()}if(this.wrap){this.wrap.remove()}Ext.ux.form.ColorPickerFieldPlus.superclass.onDestroy.call(this)},menu1Listeners:{select:function(b,e){var a=this.getValue();this.setValue(e);var d=this.getValue();if(d!==a){this.fireEvent("change",this,d,a)}this.focus.defer(10,this)},show:function(a){this.onFocus()},hide:function(){this.focus.defer(10,this);var a=this.menu1Listeners;this.menu1.un("select",a.select,this);this.menu1.un("show",a.show,this);this.menu1.un("hide",a.hide,this)}},menu2Listeners:{select:function(b,e){var a=this.getValue();this.setValue(e);var d=this.getValue();if(d!==a){this.fireEvent("change",this,d,a)}this.focus.defer(10,this)},show:function(a){this.onFocus()},hide:function(){this.focus.defer(10,this);var a=this.menu2Listeners;this.menu2.un("select",a.select,this);this.menu2.un("show",a.show,this);this.menu2.un("hide",a.hide,this)}},onTrigger1Click:function(){if(this.disabled){return}this.menu1.on(Ext.apply({},this.menu1Listeners,{scope:this}));this.menu1.show(this.el,"tl-bl?")},onTrigger2Click:function(){if(this.disabled){return}this.menu2.on(Ext.apply({},this.menu2Listeners,{scope:this}));this.menu2.show(this.el,"tl-bl?");this.menu2.picker.setColor(this.getValue())}});Ext.reg("colorpickerfieldplus",Ext.ux.form.ColorPickerFieldPlus);Ext.namespace("Ext.ux");Ext.ux.ColorPicker=Ext.extend(Ext.BoxComponent,{initComponent:function(){this.applyDefaultsCP();Ext.ux.ColorPicker.superclass.initComponent.apply(this,arguments);this.addEvents("select")},onRender:function(){Ext.ux.ColorPicker.superclass.onRender.apply(this,arguments);this.body=this.body||(this.container||(this.renderTo||Ext.DomHelper.append(Ext.getBody(),{},true)));if(!this.el){this.el=this.body;if(this.cls){Ext.get(this.el).addClass(this.cls)}}this.renderComponent()},applyDefaultsCP:function(){Ext.apply(this,{cls:"x-cp-mainpanel",resizable:this.resizable||false,HSV:{h:0,s:0,v:0},updateMode:null})},renderComponent:function(){Ext.DomHelper.append(this.body,{id:this.cpGetId("rgb"),cls:"x-cp-rgbpicker"});Ext.DomHelper.append(this.body,{id:this.cpGetId("hue"),cls:"x-cp-huepicker"});this.huePicker=Ext.DomHelper.append(this.body,{cls:"x-cp-hueslider"});this.hueDD=new Ext.dd.DD(this.huePicker,"huePicker");this.hueDD.constrainTo(this.cpGetId("hue"),{top:-7,right:-3,bottom:-7,left:-3});this.hueDD.onDrag=this.moveHuePicker.createDelegate(this);Ext.get(this.cpGetId("hue")).on("mousedown",this.clickHUEPicker.createDelegate(this));Ext.get(this.huePicker).moveTo(Ext.get(this.cpGetId("hue")).getLeft()-3,Ext.get(this.cpGetId("hue")).getTop()-7);this.rgbPicker=Ext.DomHelper.append(this.body,{cls:"x-cp-rgbslider"});this.rgbDD=new Ext.dd.DD(this.rgbPicker,"rgbPicker");this.rgbDD.constrainTo(this.cpGetId("rgb"),-7);this.rgbDD.onDrag=this.moveRGBPicker.createDelegate(this);Ext.get(this.cpGetId("rgb")).on("mousedown",this.clickRGBPicker.createDelegate(this));Ext.get(this.rgbPicker).moveTo(Ext.get(this.cpGetId("rgb")).getLeft()-7,Ext.get(this.cpGetId("rgb")).getTop()-7);this.formPanel=new Ext.form.FormPanel({renderTo:Ext.DomHelper.append(this.body,{id:this.cpGetId("fCont"),cls:"x-cp-formcontainer"},true),frame:true,labelAlign:"left",labelWidth:10,baseCls:"x-panel-mc",items:[{layout:"column",items:[{columnWidth:0.5,layout:"form",defaultType:"numberfield",defaults:{width:30,value:0,minValue:0,maxValue:255,allowBlank:true,labelSeparator:""},items:[{fieldLabel:"R",id:this.cpGetId("iRed")},{fieldLabel:"G",id:this.cpGetId("iGreen")},{fieldLabel:"B",id:this.cpGetId("iBlue")}]},{columnWidth:0.5,layout:"form",defaultType:"numberfield",defaults:{width:30,value:0,minValue:0,maxValue:255,allowBlank:true,labelSeparator:""},items:[{fieldLabel:"H",maxValue:360,id:this.cpGetId("iHue")},{fieldLabel:"S",id:this.cpGetId("iSat")},{fieldLabel:"V",id:this.cpGetId("iVal")}]}]},{layout:"form",defaultType:"textfield",labelAlign:"left",defaults:{width:85,value:"000000",labelSeparator:"",allowBlank:true},id:this.cpGetId("cCont"),items:[{fieldLabel:"#",id:this.cpGetId("iHexa"),value:"000000"}]}]});Ext.getCmp(this.cpGetId("iRed")).on("change",this.updateFromIRGB.createDelegate(this));Ext.getCmp(this.cpGetId("iGreen")).on("change",this.updateFromIRGB.createDelegate(this));Ext.getCmp(this.cpGetId("iBlue")).on("change",this.updateFromIRGB.createDelegate(this));Ext.getCmp(this.cpGetId("iHue")).on("change",this.updateFromIHSV.createDelegate(this));Ext.getCmp(this.cpGetId("iSat")).on("change",this.updateFromIHSV.createDelegate(this));Ext.getCmp(this.cpGetId("iVal")).on("change",this.updateFromIHSV.createDelegate(this));Ext.getCmp(this.cpGetId("iHexa")).on("change",this.updateFromIHexa.createDelegate(this));Ext.DomHelper.append(this.cpGetId("cCont"),{cls:"x-cp-colorbox",id:this.cpGetId("cWebSafe")},true).update("Websafe");Ext.DomHelper.append(this.cpGetId("cCont"),{cls:"x-cp-colorbox",id:this.cpGetId("cInverse")},true).update("Inverse");Ext.DomHelper.append(this.cpGetId("cCont"),{cls:"x-cp-colorbox",id:this.cpGetId("cColor")},true).update("Pick Color");Ext.get(this.cpGetId("cWebSafe")).on("click",this.updateFromBox.createDelegate(this));Ext.get(this.cpGetId("cInverse")).on("click",this.updateFromBox.createDelegate(this));Ext.get(this.cpGetId("cColor")).on("click",this.selectColor.createDelegate(this));Ext.DomHelper.append(this.body,{tag:"br",cls:"x-cp-clearfloat"})},cpGetId:function(a){return this.getId()+"__"+(a||"cp")},updateRGBPosition:function(a,b){this.updateMode="click";a=a<0?0:a;a=a>181?181:a;b=b<0?0:b;b=b>181?181:b;this.HSV.s=this.getSaturation(a);this.HSV.v=this.getValue(b);Ext.get(this.rgbPicker).moveTo(Ext.get(this.cpGetId("rgb")).getLeft()+a-7,Ext.get(this.cpGetId("rgb")).getTop()+b-7,(this.animateMove||true));this.updateColor()},updateHUEPosition:function(a){this.updateMode="click";a=a<1?1:a;a=a>181?181:a;this.HSV.h=Math.round(360/181*(181-a));Ext.get(this.huePicker).moveTo(Ext.get(this.huePicker).getLeft(),Ext.get(this.cpGetId("hue")).getTop()+a-7,(this.animateMove||true));this.updateRGBPicker(this.HSV.h);this.updateColor()},clickRGBPicker:function(b,a){this.updateRGBPosition(b.xy[0]-Ext.get(this.cpGetId("rgb")).getLeft(),b.xy[1]-Ext.get(this.cpGetId("rgb")).getTop())},clickHUEPicker:function(b,a){this.updateHUEPosition(b.xy[1]-Ext.get(this.cpGetId("hue")).getTop())},moveRGBPicker:function(a){this.rgbDD.constrainTo(this.cpGetId("rgb"),-7);this.updateRGBPosition(Ext.get(this.rgbPicker).getLeft()-Ext.get(this.cpGetId("rgb")).getLeft()+7,Ext.get(this.rgbPicker).getTop()-Ext.get(this.cpGetId("rgb")).getTop()+7)},moveHuePicker:function(a){this.hueDD.constrainTo(this.cpGetId("hue"),{top:-7,right:-3,bottom:-7,left:-3});this.updateHUEPosition(Ext.get(this.huePicker).getTop()-Ext.get(this.cpGetId("hue")).getTop()+7)},updateRGBPicker:function(a){this.updateMode="click";Ext.get(this.cpGetId("rgb")).setStyle({"background-color":"#"+this.rgbToHex(this.hsvToRgb(a,1,1))});this.updateColor()},updateColor:function(){var b=this.hsvToRgb(this.HSV.h,this.HSV.s,this.HSV.v);var c=this.websafe(b);var d=this.invert(b);var a=this.invert(c);if(this.updateMode!=="hexa"){Ext.getCmp(this.cpGetId("iHexa")).setValue(this.rgbToHex(b))}if(this.updateMode!=="rgb"){Ext.getCmp(this.cpGetId("iRed")).setValue(b[0]);Ext.getCmp(this.cpGetId("iGreen")).setValue(b[1]);Ext.getCmp(this.cpGetId("iBlue")).setValue(b[2])}if(this.updateMode!=="hsv"){Ext.getCmp(this.cpGetId("iHue")).setValue(Math.round(this.HSV.h));Ext.getCmp(this.cpGetId("iSat")).setValue(Math.round(this.HSV.s*100));Ext.getCmp(this.cpGetId("iVal")).setValue(Math.round(this.HSV.v*100))}Ext.get(this.cpGetId("cColor")).setStyle({background:"#"+this.rgbToHex(b),color:"#"+this.rgbToHex(d)});Ext.getDom(this.cpGetId("cColor")).title="#"+this.rgbToHex(b);Ext.get(this.cpGetId("cInverse")).setStyle({background:"#"+this.rgbToHex(d),color:"#"+this.rgbToHex(b)});Ext.getDom(this.cpGetId("cInverse")).title="#"+this.rgbToHex(d);Ext.get(this.cpGetId("cWebSafe")).setStyle({background:"#"+this.rgbToHex(c),color:"#"+this.rgbToHex(a)});Ext.getDom(this.cpGetId("cWebSafe")).title="#"+this.rgbToHex(c);Ext.get(this.huePicker).moveTo(Ext.get(this.huePicker).getLeft(),Ext.get(this.cpGetId("hue")).getTop()+this.getHPos(Ext.getCmp(this.cpGetId("iHue")).getValue())-7,(this.animateMove||true));Ext.get(this.rgbPicker).moveTo(Ext.get(this.cpGetId("rgb")).getLeft()+this.getSPos(Ext.getCmp(this.cpGetId("iSat")).getValue()/100)-7,Ext.get(this.cpGetId("hue")).getTop()+this.getVPos(Ext.getCmp(this.cpGetId("iVal")).getValue()/100)-7,(this.animateMove||true));Ext.get(this.cpGetId("rgb")).setStyle({"background-color":"#"+this.rgbToHex(this.hsvToRgb(Ext.getCmp(this.cpGetId("iHue")).getValue(),1,1))})},setColor:function(a){if(!/^[0-9a-fA-F]{6}$/.test(a)){return}Ext.getCmp(this.cpGetId("iHexa")).setValue(a);this.updateFromIHexa()},updateFromIRGB:function(b,d,c){this.updateMode="rgb";var a=this.rgbToHsv(Ext.getCmp(this.cpGetId("iRed")).getValue(),Ext.getCmp(this.cpGetId("iGreen")).getValue(),Ext.getCmp(this.cpGetId("iBlue")).getValue());this.HSV={h:a[0],s:a[1],v:a[2]};this.updateColor()},updateFromIHSV:function(a,c,b){this.updateMode="hsv";this.HSV={h:Ext.getCmp(this.cpGetId("iHue")).getValue(),s:Ext.getCmp(this.cpGetId("iSat")).getValue()/100,v:Ext.getCmp(this.cpGetId("iVal")).getValue()/100};this.updateColor()},updateFromIHexa:function(b,d,c){this.updateMode="hexa";var a=this.rgbToHsv(this.hexToRgb(Ext.getCmp(this.cpGetId("iHexa")).getValue()));this.HSV={h:a[0],s:a[1],v:a[2]};this.updateColor()},updateFromBox:function(c,b){this.updateMode="click";var a=this.rgbToHsv(this.hexToRgb(Ext.get(b).getColor("backgroundColor","","")));this.HSV={h:a[0],s:a[1],v:a[2]};this.updateColor()},selectColor:function(b,a){this.fireEvent("select",this,Ext.get(a).getColor("backgroundColor","",""))},hsvToRgb:function(j,u,n){if(j instanceof Array){return this.hsvToRgb.call(this,j[0],j[1],j[2])}var a,k,m,e,l,d,c,o;e=Math.floor((j/60)%6);l=(j/60)-e;d=n*(1-u);c=n*(1-l*u);o=n*(1-(1-l)*u);switch(e){case 0:a=n;k=o;m=d;break;case 1:a=c;k=n;m=d;break;case 2:a=d;k=n;m=o;break;case 3:a=d;k=c;m=n;break;case 4:a=o;k=d;m=n;break;case 5:a=n;k=d;m=c;break}return[this.realToDec(a),this.realToDec(k),this.realToDec(m)]},rgbToHsv:function(a,e,f){if(a instanceof Array){return this.rgbToHsv.call(this,a[0],a[1],a[2])}a=a/255;e=e/255;f=f/255;var c,i,k,d,l,j;c=Math.min(Math.min(a,e),f);i=Math.max(Math.max(a,e),f);k=i-c;switch(i){case c:d=0;break;case a:d=60*(e-f)/k;if(e<f){d+=360}break;case e:d=(60*(f-a)/k)+120;break;case f:d=(60*(a-e)/k)+240;break}l=(i===0)?0:1-(c/i);return[Math.round(d),l,i]},realToDec:function(a){return Math.min(255,Math.round(a*256))},rgbToHex:function(d,c,a){if(d instanceof Array){return this.rgbToHex.call(this,d[0],d[1],d[2])}return this.decToHex(d)+this.decToHex(c)+this.decToHex(a)},decToHex:function(b){var a="0123456789ABCDEF";b=parseInt(b,10);b=(!isNaN(b))?b:0;b=(b>255||b<0)?0:b;return a.charAt((b-b%16)/16)+a.charAt(b%16)},getHCharPos:function(b){if(b!=undefined){var a="0123456789ABCDEF";return a.indexOf(b.toUpperCase())}},hexToDec:function(b){var a=b.split("");return((this.getHCharPos(a[0])*16)+this.getHCharPos(a[1]))},hexToRgb:function(a){return[this.hexToDec(a.substr(0,2)),this.hexToDec(a.substr(2,2)),this.hexToDec(a.substr(4,2))]},getHue:function(b){var a=360-Math.round(((181-b)/181)*360);return a===360?0:a},getHPos:function(a){return 181-a*(181/360)},getSaturation:function(a){return a/181},getSPos:function(a){return a*181},getValue:function(a){return(181-a)/181},getVPos:function(a){return 181-(a*181)},checkSafeNumber:function(a){if(!isNaN(a)){a=Math.min(Math.max(0,a),255);var b,c;for(b=0;b<256;b=b+51){c=b+51;if(a>=b&&a<=c){return(a-b>25)?c:b}}}return a},websafe:function(d,c,a){if(d instanceof Array){return this.websafe.call(this,d[0],d[1],d[2])}return[this.checkSafeNumber(d),this.checkSafeNumber(c),this.checkSafeNumber(a)]},invert:function(d,c,a){if(d instanceof Array){return this.invert.call(this,d[0],d[1],d[2])}return[255-d,255-c,255-a]}});Ext.ux.ColorDialog=Ext.extend(Ext.Window,{initComponent:function(){this.width=(!this.width||this.width<353)?353:this.width;this.applyDefaultsCP();Ext.ux.ColorDialog.superclass.initComponent.apply(this,arguments)},onRender:function(){Ext.ux.ColorDialog.superclass.onRender.apply(this,arguments);this.renderComponent()}});Ext.applyIf(Ext.ux.ColorDialog.prototype,Ext.ux.ColorPicker.prototype);Ext.ux.ColorPanel=Ext.extend(Ext.Panel,{initComponent:function(){this.width=(!this.width||this.width<300)?300:this.width;this.applyDefaultsCP();Ext.ux.ColorPanel.superclass.initComponent.apply(this,arguments)},onRender:function(){Ext.ux.ColorPanel.superclass.onRender.apply(this,arguments);this.renderComponent()}});Ext.applyIf(Ext.ux.ColorPanel.prototype,Ext.ux.ColorPicker.prototype);Ext.reg("colorpicker",Ext.ux.ColorPicker);Ext.reg("colordialog",Ext.ux.ColorDialog);Ext.reg("colorpanel",Ext.ux.ColorPanel);Ext.ns("Ext.ux.grid");if("function"!==typeof RegExp.escape){throw ("RegExp.escape function is missing. Include Ext.ux.util.js file.")}Ext.ux.grid.Search=function(a){Ext.apply(this,a);Ext.ux.grid.Search.superclass.constructor.call(this)};Ext.extend(Ext.ux.grid.Search,Ext.util.Observable,{searchText:"Search",searchTipText:"Type a text to search and press Enter",selectAllText:"Select All",position:"bottom",iconCls:"icon-magnifier",checkIndexes:"all",disableIndexes:[],showSelectAll:true,menuStyle:"checkbox",minCharsTipText:"Type at least {0} characters",mode:"remote",width:100,xtype:"gridsearch",paramNames:{fields:"fields",query:"query"},shortcutKey:"r",shortcutModifier:"alt",init:function(a){this.grid=a;if("string"===typeof this.toolbarContainer){this.toolbarContainer=Ext.getCmp(this.toolbarContainer)}a.onRender=a.onRender.createSequence(this.onRender,this);a.reconfigure=a.reconfigure.createSequence(this.reconfigure,this)},onRender:function(){var b=this.toolbarContainer||this.grid;var a="bottom"===this.position?b.bottomToolbar:b.topToolbar;this.menu=new Ext.menu.Menu();if("right"===this.align){a.addFill()}else{if(0<a.items.getCount()){a.addSeparator()}}a.add({text:this.searchText,menu:this.menu,iconCls:this.iconCls});this.field=new Ext.form.TwinTriggerField({width:this.width,selectOnFocus:undefined===this.selectOnFocus?true:this.selectOnFocus,trigger1Class:"x-form-clear-trigger",trigger2Class:this.minChars?"x-hide-display":"x-form-search-trigger",onTrigger1Click:this.onTriggerClear.createDelegate(this),onTrigger2Click:this.minChars?Ext.emptyFn:this.onTriggerSearch.createDelegate(this),minLength:this.minLength});this.field.on("render",function(){if((undefined===this.minChars||1<this.minChars)&&this.minCharsTipText){Ext.QuickTips.register({target:this.field.el,text:this.minChars?String.format(this.minCharsTipText,this.minChars):this.searchTipText})}if(this.minChars){this.field.el.on({scope:this,buffer:300,keyup:this.onKeyUp})}var e=new Ext.KeyMap(this.field.el,[{key:Ext.EventObject.ENTER,scope:this,fn:this.onTriggerSearch},{key:Ext.EventObject.ESC,scope:this,fn:this.onTriggerClear}]);e.stopEvent=true},this,{single:true});a.add(this.field);if(b!==this.grid){this.toolbarContainer.doLayout()}this.reconfigure();if(this.shortcutKey&&this.shortcutModifier){var d=this.grid.getEl();var c=[{key:this.shortcutKey,scope:this,stopEvent:true,fn:function(){this.field.focus()}}];c[0][this.shortcutModifier]=true;this.keymap=new Ext.KeyMap(d,c)}if(true===this.autoFocus){this.grid.store.on({scope:this,load:function(){this.field.focus()}})}},onKeyUp:function(c,a,d){if(c.isNavKeyPress()){return}var b=this.field.getValue().toString().length;if(0===b||this.minChars<=b){this.onTriggerSearch()}},onTriggerClear:function(){if(this.field.getValue()){this.field.setValue("");this.field.focus();this.onTriggerSearch()}},onTriggerSearch:function(){if(!this.field.isValid()){return}var c=this.field.getValue();var b=this.grid.store;if("local"===this.mode){b.clearFilter();if(c){b.filterBy(function(e){var d=false;this.menu.items.each(function(g){if(!g.checked||d){return}var h=e.get(g.dataIndex);h=h instanceof Date?h.format(this.dateFormat||e.fields.get(g.dataIndex).dateFormat):h;var f=new RegExp(RegExp.escape(c),"gi");d=f.test(h)},this);if(d){return true}return d},this)}else{}}else{if(b.lastOptions&&b.lastOptions.params){b.lastOptions.params[b.paramNames.start]=0}var a=[];this.menu.items.each(function(d){if(d.checked){a.push(d.dataIndex)}});delete (b.baseParams[this.paramNames.fields]);delete (b.baseParams[this.paramNames.query]);if(b.lastOptions&&b.lastOptions.params){delete (b.lastOptions.params[this.paramNames.fields]);delete (b.lastOptions.params[this.paramNames.query])}if(a.length){b.baseParams[this.paramNames.fields]=Ext.encode(a);b.baseParams[this.paramNames.query]=c}b.reload()}},setDisabled:function(){this.field.setDisabled.apply(this.field,arguments)},enable:function(){this.setDisabled(false)},disable:function(){this.setDisabled(true)},reconfigure:function(){var c=this.menu;c.removeAll();if(this.showSelectAll&&"radio"!==this.menuStyle){c.add(new Ext.menu.CheckItem({text:this.selectAllText,checked:!(this.checkIndexes instanceof Array),hideOnClick:false,handler:function(e){var d=!e.checked;e.parentMenu.items.each(function(f){if(e!==f&&f.setChecked&&!f.disabled){f.setChecked(d)}})}}),"-")}var a=this.grid.colModel;var b=undefined;if("radio"===this.menuStyle){b="g"+(new Date).getTime()}Ext.each(a.config,function(e){var d=false;if(e.header&&e.dataIndex){Ext.each(this.disableIndexes,function(f){d=d?d:f===e.dataIndex});if(!d){c.add(new Ext.menu.CheckItem({text:e.header,hideOnClick:false,group:b,checked:"all"===this.checkIndexes,dataIndex:e.dataIndex}))}}},this);if(this.checkIndexes instanceof Array){Ext.each(this.checkIndexes,function(e){var d=c.items.find(function(f){return f.dataIndex===e});if(d){d.setChecked(true,true)}},this)}if(this.readonlyIndexes instanceof Array){Ext.each(this.readonlyIndexes,function(e){var d=c.items.find(function(f){return f.dataIndex===e});if(d){d.disable()}},this)}}});(function(){Ext.namespace("Ext.ux");var f=false;var d;var e;Ext.ux.TinyMCE=Ext.extend(Ext.form.Field,{tinymceSettings:null,allowBlank:true,invalidText:"The value in this field is invalid",invalidClass:"invalid-content-body",minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:1px;height:1px;",autocomplete:"off"},constructor:function(b){var a={tinymceSettings:{accessibility_focus:false}};Ext.apply(a,b);this.addEvents({editorcreated:true});Ext.ux.TinyMCE.superclass.constructor.call(this,a)},initComponent:function(){this.tinymceSettings=this.tinymceSettings||{};Ext.ux.TinyMCE.initTinyMCE({language:this.tinymceSettings.language})},initEvents:function(){this.originalValue=this.getValue()},onRender:function(k,l){Ext.ux.TinyMCE.superclass.onRender.call(this,k,l);if(Ext.type(this.width)=="number"){this.tinymceSettings.width=this.width}if(Ext.type(this.height)=="number"){this.tinymceSettings.height=this.height}this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");this.textareaEl=this.el;var b={overflow:"hidden"};if(Ext.isIE){b["margin-top"]="-1px";b["margin-bottom"]="-1px"}this.wrapEl=this.el.wrap({style:b});this.actionMode="wrapEl";this.positionEl=this.wrapEl;var a=this.getId();this.ed=new tinymce.Editor(a,this.tinymceSettings);var j=new Ext.util.DelayedTask(this.validate,this);this.ed.onKeyPress.add(function(g,h){j.delay(250)}.createDelegate(this));this.ed.onBeforeRenderUI.add(function(g,h){g.controlManager=new e(this,g)}.createDelegate(this));this.ed.onPostRender.add(function(i,o){var g=i.settings;var p=Ext.get(Ext.DomQuery.selectNode("#"+this.ed.id+"_tbl td.mceToolbar"));if(p!=null){var h=p.select("> table.mceToolbar");Ext.DomHelper.append(p,{tag:"div",id:this.ed.id+"_xtbar",style:{overflow:"hidden"}},true).appendChild(h)}i.windowManager=new d({editor:this.ed,manager:this.manager});Ext.get(i.getContentAreaContainer()).addClass("patch-content-body");Ext.Element.fly(g.content_editable?i.getBody():i.getWin()).on("focus",this.onFocus,this);Ext.Element.fly(g.content_editable?i.getBody():i.getWin()).on("blur",this.onBlur,this,this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null)}.createDelegate(this));this.ed.onChange.add(function(g,h){this.fireEvent("change",g,h)}.createDelegate(this));this.ed.render();tinyMCE.add(this.ed);(function c(){if(!this.isVisible()){arguments.callee.defer(50,this);return}var g=this.getSize();this.withEd(function(){this._setEditorSize(g.width,g.height);this.fireEvent("editorcreated")})}).call(this)},getResizeEl:function(){return this.wrapEl},getName:function(){return this.rendered&&this.textareaEl.dom.name?this.textareaEl.dom.name:(this.name||"")},initValue:function(){if(!this.rendered){Ext.ux.TinyMCE.superclass.initValue.call(this)}else{if(this.value!==undefined){this.setValue(this.value)}else{var a=this.textareaEl.value;if(a){this.setValue(a)}}}},beforeDestroy:function(){if(this.ed){tinyMCE.remove(this.ed)}if(this.wrapEl){Ext.destroy(this.wrapEl)}Ext.ux.TinyMCE.superclass.beforeDestroy.call(this)},getRawValue:function(){if(!this.rendered||!this.ed.initialized){return Ext.value(this.value,"")}var a=this.ed.getContent();if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered||!this.ed.initialized){return Ext.value(this.value,"")}var a=this.ed.getContent();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){this.value=a;if(this.rendered){this.withEd(function(){this.ed.undoManager.clear();this.ed.setContent(a===null||a===undefined?"":a);this.ed.startContent=this.ed.getContent({format:"raw"})})}},setValue:function(a){this.value=a;if(this.rendered){this.withEd(function(){this.ed.undoManager.clear();this.ed.setContent(a===null||a===undefined?"":a);this.ed.startContent=this.ed.getContent({format:"raw"});this.validate()})}},isDirty:function(){if(this.disabled||!this.rendered){return false}return this.ed&&this.ed.initialized&&this.ed.isDirty()},syncValue:function(){if(this.rendered&&this.ed.initialized){this.ed.save()}},getEd:function(){return this.ed},disable:function(){this.withEd(function(){var a=this.ed.getBody();a=Ext.get(a);if(a.hasClass("mceContentBody")){a.removeClass("mceContentBody");a.addClass("mceNonEditable")}})},enable:function(){this.withEd(function(){var a=this.ed.getBody();a=Ext.get(a);if(a.hasClass("mceNonEditable")){a.removeClass("mceNonEditable");a.addClass("mceContentBody")}})},onResize:function(a,b){if(Ext.type(a)!="number"){a=this.getWidth()}if(Ext.type(b)!="number"){b=this.getHeight()}if(a==0||b==0){return}if(this.rendered&&this.isVisible()){this.withEd(function(){this._setEditorSize(a,b)})}},_setEditorSize:function(x,c){if(!this.ed.theme.AdvancedTheme){return}if(x<100){x=100}if(c<129){c=129}var v=Ext.get(this.ed.id+"_tbl"),s=Ext.get(this.ed.id+"_ifr"),w=Ext.get(this.ed.id+"_xtbar");var a=x;if(v){a=x-v.getFrameWidth("lr")}var r=0;if(w){r=w.getHeight();var p=w.findParent("td",5,true);r+=p.getFrameWidth("tb");w.setWidth(a)}var t=v.child(".mceStatusbar");var b=0;if(t){b+=t.getHeight()}var u=c-r-b;var q=s.findParent("td",5,true);if(q){u-=q.getFrameWidth("tb")}v.setSize(x,c);s.setSize(a,u)},focus:function(a,b){if(b){this.focus.defer(typeof b=="number"?b:10,this,[a,false]);return}this.withEd(function(){this.ed.focus()});return this},processValue:function(a){return Ext.util.Format.stripTags(a)},validateValue:function(c){if(Ext.isFunction(this.validator)){var a=this.validator(c);if(a!==true){this.markInvalid(a);return false}}if(c.length<1||c===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(c.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(c.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var b=Ext.form.VTypes;if(!b[this.vtype](c,this)){this.markInvalid(this.vtypeText||b[this.vtype+"Text"]);return false}}if(this.regex&&!this.regex.test(c)){this.markInvalid(this.regexText);return false}return true},withEd:function(a){if(!this.ed){this.on("editorcreated",function(){this.withEd(a)},this)}else{if(this.ed.initialized){a.call(this)}else{this.ed.onInit.add(function(){a.defer(10,this)}.createDelegate(this))}}}});Ext.apply(Ext.ux.TinyMCE,{tinymcePlugins:"pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template",initTinyMCE:function(a){if(!f){d=Ext.extend(tinymce.WindowManager,{constructor:function(c){d.superclass.constructor.call(this,c.editor);this.manager=c.manager},alert:function(i,j,c){Ext.MessageBox.alert("",i,function(){if(!Ext.isEmpty(j)){j.call(this)}},c)},confirm:function(i,j,c){Ext.MessageBox.confirm("",i,function(g){if(!Ext.isEmpty(j)){j.call(this,g=="yes")}},c)},open:function(j,c){j=j||{};c=c||{};if(!j.type){this.bookmark=this.editor.selection.getBookmark("simple")}j.width=parseInt(j.width||320);j.height=parseInt(j.height||240)+(tinymce.isIE?8:0);j.min_width=parseInt(j.min_width||150);j.min_height=parseInt(j.min_height||100);j.max_width=parseInt(j.max_width||2000);j.max_height=parseInt(j.max_height||2000);j.movable=true;j.resizable=true;c.mce_width=j.width;c.mce_height=j.height;c.mce_inline=true;this.features=j;this.params=c;var i=new Ext.Window({title:j.name,width:j.width,height:j.height,minWidth:j.min_width,minHeight:j.min_height,resizable:true,maximizable:j.maximizable,minimizable:j.minimizable,modal:true,stateful:false,constrain:true,manager:this.manager,layout:"fit",items:[new Ext.BoxComponent({autoEl:{tag:"iframe",src:j.url||j.file},style:"border-width: 0px;"})]});c.mce_window_id=i.getId();i.show(null,function(){if(j.left&&j.top){i.setPagePosition(j.left,j.top)}var g=i.getPosition();j.left=g[0];j.top=g[1];this.onOpen.dispatch(this,j,c)},this);return i},close:function(c){if(!c.tinyMCEPopup||!c.tinyMCEPopup.id){d.superclass.close.call(this,c);return}var h=Ext.getCmp(c.tinyMCEPopup.id);if(h){this.onClose.dispatch(this);h.close()}},setTitle:function(c,i){if(!c.tinyMCEPopup||!c.tinyMCEPopup.id){d.superclass.setTitle.call(this,c,i);return}var j=Ext.getCmp(c.tinyMCEPopup.id);if(j){j.setTitle(i)}},resizeBy:function(m,k,c){var n=Ext.getCmp(c);if(n){var l=n.getSize();n.setSize(l.width+m,l.height+k)}},focus:function(c){var h=Ext.getCmp(c);if(h){h.setActive(true)}}});e=Ext.extend(tinymce.ControlManager,{control:null,constructor:function(c,j,i){this.control=c;e.superclass.constructor.call(this,j,i)},createDropMenu:function(c,k){var l=e.superclass.createDropMenu.call(this,c,k);var j=l.showMenu;l.showMenu=function(i,g,h){j.call(this,i,g,h);Ext.fly("menu_"+this.id).setStyle("z-index",200001)};return l},createColorSplitButton:function(c,k){var l=e.superclass.createColorSplitButton.call(this,c,k);var j=l.showMenu;l.showMenu=function(i,g,h){j.call(this,i,g,h);Ext.fly(this.id+"_menu").setStyle("z-index",200001)};return l}});var b={mode:"none",plugins:Ext.ux.TinyMCE.tinymcePlugins,theme:"advanced"};Ext.apply(b,a);if(!tinymce.dom.Event.domLoaded){tinymce.dom.Event._pageInit()}tinyMCE.init(b);f=true}}});Ext.ComponentMgr.registerType("tinymce",Ext.ux.TinyMCE)})();
/*
 * Ext JS Library 3.2.1
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ns("Ext.ux.form");Ext.ux.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.ux.form.FileUploadField.superclass.initComponent.call(this);this.addEvents("fileselected")},onRender:function(c,a){Ext.ux.form.FileUploadField.superclass.onRender.call(this,c,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-file-wrap"});this.el.addClass("x-form-file-text");this.el.dom.removeAttribute("name");this.createFileInput();var b=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(b,{renderTo:this.wrap,cls:"x-form-file-btn"+(b.iconCls?" x-btn-icon":"")}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth())}this.bindListeners();this.resizeEl=this.positionEl=this.wrap},bindListeners:function(){this.fileInput.on({scope:this,mouseenter:function(){this.button.addClass(["x-btn-over","x-btn-focus"])},mouseleave:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},mousedown:function(){this.button.addClass("x-btn-click")},mouseup:function(){this.button.removeClass(["x-btn-over","x-btn-focus","x-btn-click"])},change:function(){var a=this.fileInput.dom.value;this.setValue(a);this.fireEvent("fileselected",this,a)}})},createFileInput:function(){this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:"x-form-file",tag:"input",type:"file",size:1})},reset:function(){this.fileInput.remove();this.createFileInput();this.bindListeners();Ext.ux.form.FileUploadField.superclass.reset.call(this)},getFileInputId:function(){return this.id+"-file"},onResize:function(a,b){Ext.ux.form.FileUploadField.superclass.onResize.call(this,a,b);this.wrap.setWidth(a);if(!this.buttonOnly){var a=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(a)}},onDestroy:function(){Ext.ux.form.FileUploadField.superclass.onDestroy.call(this);Ext.destroy(this.fileInput,this.button,this.wrap)},onDisable:function(){Ext.ux.form.FileUploadField.superclass.onDisable.call(this);this.doDisable(true)},onEnable:function(){Ext.ux.form.FileUploadField.superclass.onEnable.call(this);this.doDisable(false)},doDisable:function(a){this.fileInput.dom.disabled=a;this.button.setDisabled(a)},preFocus:Ext.emptyFn,alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}});Ext.reg("fileuploadfield",Ext.ux.form.FileUploadField);Ext.form.FileUploadField=Ext.ux.form.FileUploadField;Ext.ux.Recaptcha=Ext.extend(Ext.BoxComponent,{onRender:function(b,a){if(!this.el){this.el=document.createElement("div");this.el.id=this.getId();Recaptcha.create(this.publickey,this.el,{theme:this.theme,lang:this.lang,callback:Recaptcha.focus_response_field})}Ext.ux.Recaptcha.superclass.onRender.call(this,b,a)}});Ext.reg("recaptcha",Ext.ux.Recaptcha);Ext.grid.RowExpander=function(a){Ext.apply(this,a);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.grid.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=="string"){this.tpl=new Ext.Template(this.tpl)}this.tpl.compile()}this.state={};this.bodyContent={}};Ext.extend(Ext.grid.RowExpander,Ext.util.Observable,{header:"",width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"expander",lazyRender:true,enableCaching:true,getRowClass:function(a,e,d,c){d.cols=d.cols-1;var b=this.bodyContent[a.id];if(!b&&!this.lazyRender){b=this.getBodyContent(a,e)}if(b){d.body=b}return this.state[a.id]?"x-grid3-row-expanded":"x-grid3-row-collapsed"},init:function(b){this.grid=b;var a=b.getView();a.getRowClass=this.getRowClass.createDelegate(this);a.enableRowBody=true;b.on("render",function(){a.mainBody.on("mousedown",this.onMouseDown,this)},this)},getBodyContent:function(a,b){if(!this.enableCaching){return this.tpl.apply(a.data)}var c=this.bodyContent[a.id];if(!c){c=this.tpl.apply(a.data);this.bodyContent[a.id]=c}return c},onMouseDown:function(b,a){if(a.className=="x-grid3-row-expander"){b.stopEvent();var c=b.getTarget(".x-grid3-row");this.toggleRow(c)}},renderer:function(b,c,a){c.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>'},beforeExpand:function(b,a,c){if(this.fireEvent("beforeexpand",this,b,a,c)!==false){if(this.tpl&&this.lazyRender){a.innerHTML=this.getBodyContent(b,c)}return true}else{return false}},toggleRow:function(a){if(typeof a=="number"){a=this.grid.view.getRow(a)}this[Ext.fly(a).hasClass("x-grid3-row-collapsed")?"expandRow":"collapseRow"](a)},expandRow:function(c){if(typeof c=="number"){c=this.grid.view.getRow(c)}var b=this.grid.store.getAt(c.rowIndex);var a=Ext.DomQuery.selectNode("tr:nth(2) div.x-grid3-row-body",c);if(this.beforeExpand(b,a,c.rowIndex)){this.state[b.id]=true;Ext.fly(c).replaceClass("x-grid3-row-collapsed","x-grid3-row-expanded");this.fireEvent("expand",this,b,a,c.rowIndex)}},collapseRow:function(c){if(typeof c=="number"){c=this.grid.view.getRow(c)}var b=this.grid.store.getAt(c.rowIndex);var a=Ext.fly(c).child("tr:nth(1) div.x-grid3-row-body",true);if(this.fireEvent("beforecollapse",this,b,a,c.rowIndex)!==false){this.state[b.id]=false;Ext.fly(c).replaceClass("x-grid3-row-expanded","x-grid3-row-collapsed");this.fireEvent("collapse",this,b,a,c.rowIndex)}}});Ext.namespace("Ext.ux");Ext.ux.KeySequenceTrigger=Ext.extend(Ext.util.Observable,{sequence:"38,38,40,40,37,39,37,39,66,65",useAudio:false,single:true,keys:[],constructor:function(a){Ext.ux.KeySequenceTrigger.superclass.constructor.call(this,a);Ext.apply(this,a);this.addEvents("activate");if(!this.el){this.el=Ext.getDoc()}this.el.on("keydown",this.onKeyDown,this);if(this.useAudio&&(Ext.isGecko3||Ext.isWebKit)){var c='<audio preload="auto">';for(var b=0;b<this.audioUrls.length;b++){c=c+'<source src="'+this.audioUrls[b]+'" />'}c=c+"</audio>";this.audioEl=Ext.DomHelper.append(document.body,c,true)}},onKeyDown:function(b,a,c){this.keys.push(b.getKey());if(this.keys.toString().indexOf(this.sequence)>=0){if(this.single){this.el.un("keydown",this.onKeyDown,this)}if(this.audioEl){this.audioEl.dom.play()}this.fireEvent("activate",this,this.el)}}});Ext.ux.Raptorizer=Ext.extend(Ext.util.Observable,{useAudio:true,imageUrl:"raptor.png",audioUrls:["raptor-sound.mp3","raptor-sound.ogg"],locked:false,constructor:function(a){Ext.ux.Raptorizer.superclass.constructor.call(this,a);Ext.apply(this,a);this.createElements();if(this.triggerType=="timer"){this.timeoutId=this.onActivate.defer(this.delayTime,this)}else{if(this.triggerType=="click"){this.el.on("click",this.onClick,this)}else{if(this.triggerType=="trigger"){if(!this.trigger){this.trigger=new Ext.ux.KeySequenceTrigger(this.triggerConfig)}this.trigger.on("activate",this.onActivate,this)}}}},createElements:function(){this.imageEl=Ext.DomHelper.append(document.body,'<img style="display: none" src="'+this.imageUrl+'" />',true);this.imageEl.setStyle({display:"block",position:"fixed",bottom:"-1000px",right:"0"});if(this.useAudio&&(Ext.isGecko3||Ext.isWebKit)){var b='<audio preload="auto">';for(var a=0;a<this.audioUrls.length;a++){b=b+'<source src="'+this.audioUrls[a]+'" />'}b=b+"</audio>";this.audioEl=Ext.DomHelper.append(document.body,b,true)}},onActivate:function(){this.locked=true;if(this.audioEl){this.audioEl.dom.play()}this.startAnimation(this.imageEl)},onClick:function(b,a,c){if(!this.locked&&b.shiftKey){b.stopEvent();this.onActivate()}},remove:function(a){this.locked=true;if(this.triggerType=="timer"){clearTimeout(this.timeoutId)}else{if(this.triggerType=="click"){this.el.un("click",this.onClick,this)}else{if(this.triggerType=="triggger"){this.trigger.un("activate",this.onActivate,this)}}}if(this.imageEl){this.imageEl.remove()}if(this.audioEl){this.audioEl.remove()}},startAnimation:function(a){a.alignTo(document,"b-b");a.sequenceFx();a.slideIn("b",{duration:9});a.puff({duration:6,remove:true})}});
