From 8e21dda195015a3c9420553f874c10d3ebfa5dfa Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 3 Jan 2011 20:24:21 -0800 Subject: [PATCH] Complete rewrite of the organize module in Javascript using the Sencha JavaScript library. It's got all the functionality from the Flash version except it doesn't support creating new albums or uploading photos. Only tested in Chrome 10.0.x so far. --- modules/organize/controllers/organize.php | 171 +- modules/organize/css/organize.css | 60 + modules/organize/css/organize_theme.css | 18 - modules/organize/helpers/organize_event.php | 6 +- modules/organize/helpers/organize_theme.php | 27 - modules/organize/lib/Gallery3WebClient.swf | Bin 148926 -> 0 bytes modules/organize/vendor/ext/css/ext-all.css | 6969 +++++++++++++++++ modules/organize/vendor/ext/css/ux-all.css | 772 ++ .../vendor/ext/images/default/button/btn.gif | Bin 0 -> 4298 bytes .../vendor/ext/images/default/dd/drop-no.gif | Bin 0 -> 949 bytes .../vendor/ext/images/default/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../ext/images/default/form/text-bg.gif | Bin 0 -> 819 bytes .../ext/images/default/form/trigger.gif | Bin 0 -> 1816 bytes .../ext/images/default/grid/invalid_line.gif | Bin 0 -> 815 bytes .../ext/images/default/grid/loading.gif | Bin 0 -> 771 bytes .../ext/images/default/panel/tool-sprites.gif | Bin 0 -> 4392 bytes .../images/default/progress/progress-bg.gif | Bin 0 -> 834 bytes .../vendor/ext/images/default/qtip/bg.gif | Bin 0 -> 1091 bytes .../organize/vendor/ext/images/default/s.gif | Bin 0 -> 43 bytes .../vendor/ext/images/default/shadow-c.png | Bin 0 -> 118 bytes .../vendor/ext/images/default/shadow-lr.png | Bin 0 -> 135 bytes .../vendor/ext/images/default/shadow.png | Bin 0 -> 311 bytes .../vendor/ext/images/default/tree/arrows.gif | Bin 0 -> 617 bytes .../ext/images/default/tree/drop-add.gif | Bin 0 -> 1001 bytes .../ext/images/default/tree/drop-between.gif | Bin 0 -> 907 bytes .../ext/images/default/tree/drop-over.gif | Bin 0 -> 911 bytes .../ext/images/default/tree/folder-open.gif | Bin 0 -> 956 bytes .../vendor/ext/images/default/tree/folder.gif | Bin 0 -> 952 bytes .../vendor/ext/images/default/tree/leaf.gif | Bin 0 -> 945 bytes .../ext/images/default/tree/loading.gif | Bin 0 -> 771 bytes .../images/default/window/left-corners.png | Bin 0 -> 200 bytes .../ext/images/default/window/left-right.png | Bin 0 -> 152 bytes .../images/default/window/right-corners.png | Bin 0 -> 256 bytes .../ext/images/default/window/top-bottom.png | Bin 0 -> 180 bytes modules/organize/vendor/ext/js/ext-all.js | 11 + modules/organize/vendor/ext/js/ext-base.js | 7 + .../organize/views/organize_dialog.html.php | 499 +- .../organize/views/organize_frame.html.php | 23 + 38 files changed, 8350 insertions(+), 213 deletions(-) create mode 100644 modules/organize/css/organize.css delete mode 100644 modules/organize/css/organize_theme.css delete mode 100644 modules/organize/helpers/organize_theme.php delete mode 100644 modules/organize/lib/Gallery3WebClient.swf create mode 100644 modules/organize/vendor/ext/css/ext-all.css create mode 100644 modules/organize/vendor/ext/css/ux-all.css create mode 100644 modules/organize/vendor/ext/images/default/button/btn.gif create mode 100644 modules/organize/vendor/ext/images/default/dd/drop-no.gif create mode 100644 modules/organize/vendor/ext/images/default/dd/drop-yes.gif create mode 100644 modules/organize/vendor/ext/images/default/form/text-bg.gif create mode 100644 modules/organize/vendor/ext/images/default/form/trigger.gif create mode 100644 modules/organize/vendor/ext/images/default/grid/invalid_line.gif create mode 100644 modules/organize/vendor/ext/images/default/grid/loading.gif create mode 100644 modules/organize/vendor/ext/images/default/panel/tool-sprites.gif create mode 100644 modules/organize/vendor/ext/images/default/progress/progress-bg.gif create mode 100644 modules/organize/vendor/ext/images/default/qtip/bg.gif create mode 100644 modules/organize/vendor/ext/images/default/s.gif create mode 100644 modules/organize/vendor/ext/images/default/shadow-c.png create mode 100644 modules/organize/vendor/ext/images/default/shadow-lr.png create mode 100644 modules/organize/vendor/ext/images/default/shadow.png create mode 100644 modules/organize/vendor/ext/images/default/tree/arrows.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/drop-add.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/drop-between.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/drop-over.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/folder-open.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/folder.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/leaf.gif create mode 100644 modules/organize/vendor/ext/images/default/tree/loading.gif create mode 100644 modules/organize/vendor/ext/images/default/window/left-corners.png create mode 100644 modules/organize/vendor/ext/images/default/window/left-right.png create mode 100644 modules/organize/vendor/ext/images/default/window/right-corners.png create mode 100644 modules/organize/vendor/ext/images/default/window/top-bottom.png create mode 100644 modules/organize/vendor/ext/js/ext-all.js create mode 100644 modules/organize/vendor/ext/js/ext-base.js create mode 100644 modules/organize/views/organize_frame.html.php diff --git a/modules/organize/controllers/organize.php b/modules/organize/controllers/organize.php index 2b6e4186..35e4cd66 100644 --- a/modules/organize/controllers/organize.php +++ b/modules/organize/controllers/organize.php @@ -18,43 +18,156 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class Organize_Controller extends Controller { - function dialog($album_id) { - $input = Input::instance(); - + function frame($album_id) { $album = ORM::factory("item", $album_id); access::required("view", $album); access::required("edit", $album); - $user = identity::active_user(); - $sort_fields = array(); - foreach (album::get_sort_order_options() as $field => $description) { - $sort_fields[$field] = (string)$description; - } - $sort_order = array("ASC" => (string)t("Ascending"), "DESC" => (string)t("Descending")); - $file_filter = json_encode(array( - "photo" => array("label" => "Images", "types" => array("*.jpg", "*.jpeg", "*.png", "*.gif")), - "movie" => array("label" => "Movies", "types" => array("*.flv", "*.mp4", "*.m4v")))); - - $v = new View("organize_dialog.html"); + $v = new View("organize_frame.html"); $v->album = $album; - $v->domain = $input->server("HTTP_HOST"); - $v->access_key = rest::access_key(); - $v->file_filter = addslashes($file_filter); - $v->sort_order = addslashes(json_encode($sort_order)); - $v->sort_fields = addslashes(json_encode($sort_fields)); - $v->selected_id = Input::instance()->get("selected_id", null); - $v->rest_uri = url::site("rest") . "/"; - $v->controller_uri = url::site("organize") . "/"; - $v->swf_uri = url::file("modules/organize/lib/Gallery3WebClient.swf?") . - filemtime(MODPATH . "organize/lib/Gallery3WebClient.swf"); print $v; } - function add_album_fields() { - json::reply(array("title" => (string)t("Title"), - "description" => (string)t("Description"), - "name" => (string)t("Directory name"), - "slug" => (string)t("Internet Address"))); + function dialog($album_id) { + $album = ORM::factory("item", $album_id); + access::required("view", $album); + access::required("edit", $album); + + $v = new View("organize_dialog.html"); + $v->album = $album; + print $v; } + function tree($selected_album_id) { + $root = ORM::factory("item", Input::instance()->post("root_id", 1)); + $selected_album = ORM::factory("item", $selected_album_id); + access::required("view", $root); + access::required("view", $selected_album); + + $tree = $this->_get_tree($root, $selected_album); + json::reply($tree); + } + + function album_info($album_id) { + $album = ORM::factory("item", $album_id); + access::required("view", $album); + + $data = array( + "sort_column" => $album->sort_column, + "sort_order" => $album->sort_order, + "children" => array()); + + foreach ($album->viewable()->children() as $child) { + $dims = $child->scale_dimensions(120); + $data["children"][] = array( + "id" => $child->id, + "thumb_url" => $child->thumb_url(), + "width" => $dims[1], + "height" => $dims[0], + "type" => $child->type, + "title" => $child->title); + } + json::reply($data); + } + + function reparent() { + access::verify_csrf(); + + $input = Input::instance(); + $new_parent = ORM::factory("item", $input->post("target_id")); + access::required("edit", $new_parent); + + foreach (explode(",", $input->post("source_ids")) as $source_id) { + $source = ORM::factory("item", $source_id); + access::required("edit", $source->parent()); + + $source->parent_id = $new_parent->id; + $source->save(); + } + json::reply(null); + } + + function set_sort($album_id) { + access::verify_csrf(); + $album = ORM::factory("item", $album_id); + access::required("view", $album); + access::required("edit", $album); + + foreach (array("sort_column", "sort_order") as $key) { + if ($val = Input::instance()->post($key)) { + $album->$key = $val; + } + } + $album->save(); + + json::reply(null); + } + + function move_before() { + access::verify_csrf(); + + $input = Input::instance(); + $target = ORM::factory("item", $input->post("target_id")); + $album = $target->parent(); + access::required("edit", $album); + + if ($album->sort_column != "weight") { + // Force all the weights into the current order before changing the order to manual + $weight = 0; + foreach ($album->children() as $child) { + $child->weight = ++$weight; + $child->save(); + } + + $album->sort_column = "weight"; + $album->sort_order = "ASC"; + $album->save(); + } + + $source_ids = explode(",", $input->post("source_ids")); + if ($source_ids) { + // Make a hole the right size + db::build() + ->update("items") + ->set("weight", db::expr("`weight` + " . count($source_ids))) + ->where("parent_id", "=", $album->id) + ->where("weight", ">=", $target->weight) + ->execute(); + + // Move all the source items to the right spots. + for ($i = 0; $i < count($source_ids); $i++) { + $source = ORM::factory("item", $source_ids[$i]); + if ($source->parent_id = $album->id) { + $source->weight = $target->weight + $i; + $source->save(); + } + } + } + json::reply(null); + } + + private function _get_tree($item, $selected) { + $tree = array(); + $children = $item->viewable() + ->children(null, null, array(array("type", "=", "album"))) + ->as_array(); + foreach ($children as $child) { + $node = array( + "allowChildren" => true, + "editable" => false, + "expandable" => true, + "id" => $child->id, + "leaf" => false, + "text" => $child->title, + "nodeType" => "async"); + + // If the child is in the selected path, open it now. Else, mark it async. + if ($child->contains($selected)) { + $node["children"] = $this->_get_tree($child, $selected); + $node["expanded"] = true; + } + $tree[] = $node; + } + return $tree; + } } diff --git a/modules/organize/css/organize.css b/modules/organize/css/organize.css new file mode 100644 index 00000000..00395520 --- /dev/null +++ b/modules/organize/css/organize.css @@ -0,0 +1,60 @@ +.g-organize { + font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; +} + +.g-organize div.thumb { + padding: 8px; + margin: 8px; +} + +.g-organize div.selected { + background: #C9D8EB; +} + +.g-organize div.thumb img { + border: 4px solid white; +} + +.g-organize div.thumb:hover { + border: 2px solid #eee; + margin: 6px; + cursor: pointer; +} + +.g-organize div.thumb { + display: inline-block; +} + +.g-organize div.thumb div.icon { + position: relative; + padding: 0px; + margin: 0px; + visibility: hidden; + width: 16px; + height: 16px; + top: -16px; + margin-bottom: -16px; + padding-bottom: -16px; +} + +.g-organize div.thumb-album div.icon { + visibility: visible; +} + +.g-organize div.drop-target { + background: #eee; +} + +.g-organize div.active { + border-left: 4px solid #C9D8EB; + margin-left: 4px; +} + +div.multi-proxy div { + display: inline-block; +} + +.g-organize .x-tree-node-el { + font-size: 12px; + line-height: 20px; +} diff --git a/modules/organize/css/organize_theme.css b/modules/organize/css/organize_theme.css deleted file mode 100644 index e698f88d..00000000 --- a/modules/organize/css/organize_theme.css +++ /dev/null @@ -1,18 +0,0 @@ -/** ******************************************************************* - * Organize styles that are theme overrideable - *********************************************************************/ -#g-organize { - background-color: #FFFFFF; - border: 0px solid #000000; - color: #0E2B52; -} - -#g-organize-hover { - background-color: #CFDEFF; - display: none; -} - -#g-organize-active { - background-color: #6699CC; - display: none; -} diff --git a/modules/organize/helpers/organize_event.php b/modules/organize/helpers/organize_event.php index 2f997600..fbe18a7a 100644 --- a/modules/organize/helpers/organize_event.php +++ b/modules/organize/helpers/organize_event.php @@ -27,7 +27,7 @@ class organize_event_Core { ->id("organize") ->label(t("Organize album")) ->css_id("g-menu-organize-link") - ->url(url::site("organize/dialog/{$item->id}"))); + ->url(url::site("organize/frame/{$item->id}"))); } } @@ -39,7 +39,7 @@ class organize_event_Core { ->id("organize") ->label(t("Organize album")) ->css_class("ui-icon-folder-open g-organize-link") - ->url(url::site("organize/dialog/{$item->id}"))); + ->url(url::site("organize/frame/{$item->id}"))); } else { $parent = $item->parent(); $menu->get("options_menu") @@ -47,7 +47,7 @@ class organize_event_Core { ->id("move") ->label(t("Move to another album")) ->css_class("ui-icon-folder-open g-organize-link") - ->url(url::site("organize/dialog/{$parent->id}?selected_id={$item->id}"))); + ->url(url::site("organize/frame/{$parent->id}?selected_id={$item->id}"))); } } } diff --git a/modules/organize/helpers/organize_theme.php b/modules/organize/helpers/organize_theme.php deleted file mode 100644 index d69ab82c..00000000 --- a/modules/organize/helpers/organize_theme.php +++ /dev/null @@ -1,27 +0,0 @@ -item(); - if ($item && access::can("edit", $item) && $item->is_album()) { - $theme->css("organize_theme.css"); - } - } -} diff --git a/modules/organize/lib/Gallery3WebClient.swf b/modules/organize/lib/Gallery3WebClient.swf deleted file mode 100644 index 356a1a2f50359b47a66cae076ff17c6fb82e7978..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148926 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 t3#m6>l#ZRD^Y573rL*vZZ$Tq9-J#P ');c.overwrite(this.el,this.colors);this.mon(this.el,this.clickEvent,this.handleClick,this,{delegate:"a"});if(this.clickEvent!="click"){this.mon(this.el,"click",Ext.emptyFn,this,{delegate:"a",preventDefault:true})}},afterRender:function(){Ext.ColorPalette.superclass.afterRender.call(this);if(this.value){var a=this.value;this.value=null;this.select(a,true)}},handleClick:function(b,a){b.preventDefault();if(!this.disabled){var d=a.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];this.select(d.toUpperCase())}},select:function(b,a){b=b.replace("#","");if(b!=this.value||this.allowReselect){var c=this.el;if(this.value){c.child("a.color-"+this.value).removeClass("x-color-palette-sel")}c.child("a.color-"+b).addClass("x-color-palette-sel");this.value=b;if(a!==true){this.fireEvent("select",this,b)}}}});Ext.reg("colorpalette",Ext.ColorPalette);Ext.DatePicker=Ext.extend(Ext.BoxComponent,{todayText:"Today",okText:" OK ",cancelText:"Cancel",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",format:"m/d/y",disabledDaysText:"Disabled",disabledDatesText:"Disabled",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",startDay:0,showToday:true,focusOnSelect:true,initHour:12,initComponent:function(){Ext.DatePicker.superclass.initComponent.call(this);this.value=this.value?this.value.clearTime(true):new Date().clearTime();this.addEvents("select");if(this.handler){this.on("select",this.handler,this.scope||this)}this.initDisabledDays()},initDisabledDays:function(){if(!this.disabledDatesRE&&this.disabledDates){var b=this.disabledDates,a=b.length-1,c="(?:";Ext.each(b,function(g,e){c+=Ext.isDate(g)?"^"+Ext.escapeRe(g.dateFormat(this.format))+"$":b[e];if(e!=a){c+="|"}},this);this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){if(Ext.isArray(a)){this.disabledDates=a;this.disabledDatesRE=null}else{this.disabledDatesRE=a}this.initDisabledDays();this.update(this.value,true)},setDisabledDays:function(a){this.disabledDays=a;this.update(this.value,true)},setMinDate:function(a){this.minDate=a;this.update(this.value,true)},setMaxDate:function(a){this.maxDate=a;this.update(this.value,true)},setValue:function(a){this.value=a.clearTime(true);this.update(this.value)},getValue:function(){return this.value},focus:function(){this.update(this.activeDate)},onEnable:function(a){Ext.DatePicker.superclass.onEnable.call(this);this.doDisabled(false);this.update(a?this.value:this.activeDate);if(Ext.isIE){this.el.repaint()}},onDisable:function(){Ext.DatePicker.superclass.onDisable.call(this);this.doDisabled(true);if(Ext.isIE&&!Ext.isIE8){Ext.each([].concat(this.textNodes,this.el.query("th span")),function(a){Ext.fly(a).repaint()})}},doDisabled:function(a){this.keyNav.setDisabled(a);this.prevRepeater.setDisabled(a);this.nextRepeater.setDisabled(a);if(this.showToday){this.todayKeyListener.setDisabled(a);this.todayBtn.setDisabled(a)}},onRender:function(e,b){var a=['','','",this.showToday?'':"",'
  
'],c=this.dayNames,h;for(h=0;h<7;h++){var l=this.startDay+h;if(l>6){l=l-7}a.push("")}a[a.length]="";for(h=0;h<42;h++){if(h%7===0&&h!==0){a[a.length]=""}a[a.length]=''}a.push("
",c[l].substr(0,1),"
');var k=document.createElement("div");k.className="x-date-picker";k.innerHTML=a.join("");e.dom.insertBefore(k,b);this.el=Ext.get(k);this.eventEl=Ext.get(k.firstChild);this.prevRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});this.nextRepeater=new Ext.util.ClickRepeater(this.el.child("td.x-date-right a"),{handler:this.showNextMonth,scope:this,preventDefault:true,stopDefault:true});this.monthPicker=this.el.down("div.x-date-mp");this.monthPicker.enableDisplayMode("block");this.keyNav=new Ext.KeyNav(this.eventEl,{left:function(d){if(d.ctrlKey){this.showPrevMonth()}else{this.update(this.activeDate.add("d",-1))}},right:function(d){if(d.ctrlKey){this.showNextMonth()}else{this.update(this.activeDate.add("d",1))}},up:function(d){if(d.ctrlKey){this.showNextYear()}else{this.update(this.activeDate.add("d",-7))}},down:function(d){if(d.ctrlKey){this.showPrevYear()}else{this.update(this.activeDate.add("d",7))}},pageUp:function(d){this.showNextMonth()},pageDown:function(d){this.showPrevMonth()},enter:function(d){d.stopPropagation();return true},scope:this});this.el.unselectable();this.cells=this.el.select("table.x-date-inner tbody td");this.textNodes=this.el.query("table.x-date-inner tbody span");this.mbtn=new Ext.Button({text:" ",tooltip:this.monthYearText,renderTo:this.el.child("td.x-date-middle",true)});this.mbtn.el.child("em").addClass("x-btn-arrow");if(this.showToday){this.todayKeyListener=this.eventEl.addKeyListener(Ext.EventObject.SPACE,this.selectToday,this);var g=(new Date()).dateFormat(this.format);this.todayBtn=new Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,g),tooltip:String.format(this.todayTip,g),handler:this.selectToday,scope:this})}this.mon(this.eventEl,"mousewheel",this.handleMouseWheel,this);this.mon(this.eventEl,"click",this.handleDateClick,this,{delegate:"a.x-date-date"});this.mon(this.mbtn,"click",this.showMonthPicker,this);this.onEnable(true)},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var a=[''];for(var b=0;b<6;b++){a.push('",'",b===0?'':'')}a.push('","
',Date.getShortMonthName(b),"',Date.getShortMonthName(b+6),"
");this.monthPicker.update(a.join(""));this.mon(this.monthPicker,"click",this.onMonthClick,this);this.mon(this.monthPicker,"dblclick",this.onMonthDblClick,this);this.mpMonths=this.monthPicker.select("td.x-date-mp-month");this.mpYears=this.monthPicker.select("td.x-date-mp-year");this.mpMonths.each(function(c,d,e){e+=1;if((e%2)===0){c.dom.xmonth=5+Math.round(e*0.5)}else{c.dom.xmonth=Math.round((e-1)*0.5)}})}},showMonthPicker:function(){if(!this.disabled){this.createMonthPicker();var a=this.el.getSize();this.monthPicker.setSize(a);this.monthPicker.child("table").setSize(a);this.mpSelMonth=(this.activeDate||this.value).getMonth();this.updateMPMonth(this.mpSelMonth);this.mpSelYear=(this.activeDate||this.value).getFullYear();this.updateMPYear(this.mpSelYear);this.monthPicker.slideIn("t",{duration:0.2})}},updateMPYear:function(e){this.mpyear=e;var c=this.mpYears.elements;for(var b=1;b<=10;b++){var d=c[b-1],a;if((b%2)===0){a=e+Math.round(b*0.5);d.firstChild.innerHTML=a;d.xyear=a}else{a=e-(5-Math.round(b*0.5));d.firstChild.innerHTML=a;d.xyear=a}this.mpYears.item(b-1)[a==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")}},updateMPMonth:function(a){this.mpMonths.each(function(b,c,d){b[b.dom.xmonth==a?"addClass":"removeClass"]("x-date-mp-sel")})},selectMPMonth:function(a){},onMonthClick:function(g,b){g.stopEvent();var c=new Ext.Element(b),a;if(c.is("button.x-date-mp-cancel")){this.hideMonthPicker()}else{if(c.is("button.x-date-mp-ok")){var h=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());if(h.getMonth()!=this.mpSelMonth){h=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()}this.update(h);this.hideMonthPicker()}else{if((a=c.up("td.x-date-mp-month",2))){this.mpMonths.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelMonth=a.dom.xmonth}else{if((a=c.up("td.x-date-mp-year",2))){this.mpYears.removeClass("x-date-mp-sel");a.addClass("x-date-mp-sel");this.mpSelYear=a.dom.xyear}else{if(c.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)}else{if(c.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)}}}}}}},onMonthDblClick:function(d,b){d.stopEvent();var c=new Ext.Element(b),a;if((a=c.up("td.x-date-mp-month",2))){this.update(new Date(this.mpSelYear,a.dom.xmonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}else{if((a=c.up("td.x-date-mp-year",2))){this.update(new Date(a.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));this.hideMonthPicker()}}},hideMonthPicker:function(a){if(this.monthPicker){if(a===true){this.monthPicker.hide()}else{this.monthPicker.slideOut("t",{duration:0.2})}}},showPrevMonth:function(a){this.update(this.activeDate.add("mo",-1))},showNextMonth:function(a){this.update(this.activeDate.add("mo",1))},showPrevYear:function(){this.update(this.activeDate.add("y",-1))},showNextYear:function(){this.update(this.activeDate.add("y",1))},handleMouseWheel:function(a){a.stopEvent();if(!this.disabled){var b=a.getWheelDelta();if(b>0){this.showPrevMonth()}else{if(b<0){this.showNextMonth()}}}},handleDateClick:function(b,a){b.stopEvent();if(!this.disabled&&a.dateValue&&!Ext.fly(a.parentNode).hasClass("x-date-disabled")){this.cancelFocus=this.focusOnSelect===false;this.setValue(new Date(a.dateValue));delete this.cancelFocus;this.fireEvent("select",this,this.value)}},selectToday:function(){if(this.todayBtn&&!this.todayBtn.disabled){this.setValue(new Date().clearTime());this.fireEvent("select",this,this.value)}},update:function(H,B){if(this.rendered){var a=this.activeDate,q=this.isVisible();this.activeDate=H;if(!B&&a&&this.el){var p=H.getTime();if(a.getMonth()==H.getMonth()&&a.getFullYear()==H.getFullYear()){this.cells.removeClass("x-date-selected");this.cells.each(function(d){if(d.dom.firstChild.dateValue==p){d.addClass("x-date-selected");if(q&&!this.cancelFocus){Ext.fly(d.dom.firstChild).focus(50)}return false}},this);return}}var l=H.getDaysInMonth(),r=H.getFirstDateOfMonth(),g=r.getDay()-this.startDay;if(g<0){g+=7}l+=g;var C=H.add("mo",-1),h=C.getDaysInMonth()-g,e=this.cells.elements,s=this.textNodes,E=(new Date(C.getFullYear(),C.getMonth(),h,this.initHour)),D=new Date().clearTime().getTime(),x=H.clearTime(true).getTime(),v=this.minDate?this.minDate.clearTime(true):Number.NEGATIVE_INFINITY,z=this.maxDate?this.maxDate.clearTime(true):Number.POSITIVE_INFINITY,G=this.disabledDatesRE,u=this.disabledDatesText,J=this.disabledDays?this.disabledDays.join(""):false,F=this.disabledDaysText,A=this.format;if(this.showToday){var n=new Date().clearTime(),c=(nz||(G&&A&&G.test(n.dateFormat(A)))||(J&&J.indexOf(n.getDay())!=-1));if(!this.disabled){this.todayBtn.setDisabled(c);this.todayKeyListener[c?"disable":"enable"]()}}var m=function(K,d){d.title="";var i=E.clearTime(true).getTime();d.firstChild.dateValue=i;if(i==D){d.className+=" x-date-today";d.title=K.todayText}if(i==x){d.className+=" x-date-selected";if(q){Ext.fly(d.firstChild).focus(50)}}if(iz){d.className=" x-date-disabled";d.title=K.maxText;return}if(J){if(J.indexOf(E.getDay())!=-1){d.title=F;d.className=" x-date-disabled"}}if(G&&A){var w=E.dateFormat(A);if(G.test(w)){d.title=u.replace("%0",w);d.className=" x-date-disabled"}}};var y=0;for(;y=a.value){d=a.value}}c.setValue(b,d,false);c.fireEvent("drag",c,g,this)},getNewValue:function(){var a=this.slider,b=a.innerEl.translatePoints(this.tracker.getXY());return Ext.util.Format.round(a.reverseValue(b.left),a.decimalPrecision)},onDragEnd:function(c){var a=this.slider,b=this.value;this.el.removeClass("x-slider-thumb-drag");this.dragging=false;a.fireEvent("dragend",a,c);if(this.dragStartValue!=b){a.fireEvent("changecomplete",a,b,this)}},destroy:function(){Ext.destroyMembers(this,"tracker","el")}});Ext.slider.MultiSlider=Ext.extend(Ext.BoxComponent,{vertical:false,minValue:0,maxValue:100,decimalPrecision:0,keyIncrement:1,increment:0,clickRange:[5,15],clickToChange:true,animate:true,constrainThumbs:true,topThumbZIndex:10000,initComponent:function(){if(!Ext.isDefined(this.value)){this.value=this.minValue}this.thumbs=[];Ext.slider.MultiSlider.superclass.initComponent.call(this);this.keyIncrement=Math.max(this.increment,this.keyIncrement);this.addEvents("beforechange","change","changecomplete","dragstart","drag","dragend");if(this.values==undefined||Ext.isEmpty(this.values)){this.values=[0]}var a=this.values;for(var b=0;bthis.clickRange[0]&&c.top=c){d+=c}else{if(a*2<-c){d-=c}}}return d.constrain(this.minValue,this.maxValue)},afterRender:function(){Ext.slider.MultiSlider.superclass.afterRender.apply(this,arguments);for(var c=0;ce?e:c.value}this.syncThumb()},setValue:function(d,c,b,g){var a=this.thumbs[d],e=a.el;c=this.normalizeValue(c);if(c!==a.value&&this.fireEvent("beforechange",this,c,a.value,a)!==false){a.value=c;if(this.rendered){this.moveThumb(d,this.translateValue(c),b!==false);this.fireEvent("change",this,c,a);if(g){this.fireEvent("changecomplete",this,c,a)}}}},translateValue:function(a){var b=this.getRatio();return(a*b)-(this.minValue*b)-this.halfThumb},reverseValue:function(b){var a=this.getRatio();return(b+(this.minValue*a))/a},moveThumb:function(d,c,b){var a=this.thumbs[d].el;if(!b||this.animate===false){a.setLeft(c)}else{a.shift({left:c,stopFx:true,duration:0.35})}},focus:function(){this.focusEl.focus(10)},onResize:function(c,e){var b=this.thumbs,a=b.length,d=0;for(;dthis.clickRange[0]&&c.left','
','
','
',"
 
","
","
",'
',"
 
","
","
","");this.el=a?c.insertBefore(a,{cls:this.baseCls},true):c.append(d,{cls:this.baseCls},true);if(this.id){this.el.dom.id=this.id}var b=this.el.dom.firstChild;this.progressBar=Ext.get(b.firstChild);if(this.textEl){this.textEl=Ext.get(this.textEl);delete this.textTopEl}else{this.textTopEl=Ext.get(this.progressBar.dom.firstChild);var e=Ext.get(b.childNodes[1]);this.textTopEl.setStyle("z-index",99).addClass("x-hidden");this.textEl=new Ext.CompositeElement([this.textTopEl.dom.firstChild,e.dom.firstChild]);this.textEl.setWidth(b.offsetWidth)}this.progressBar.setHeight(b.offsetHeight)},afterRender:function(){Ext.ProgressBar.superclass.afterRender.call(this);if(this.value){this.updateProgress(this.value,this.text)}else{this.updateText(this.text)}},updateProgress:function(c,d,b){this.value=c||0;if(d){this.updateText(d)}if(this.rendered&&!this.isDestroyed){var a=Math.floor(c*this.el.dom.firstChild.offsetWidth);this.progressBar.setWidth(a,b===true||(b!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(a)}}this.fireEvent("update",this,c,d);return this},wait:function(b){if(!this.waitTimer){var a=this;b=b||{};this.updateText(b.text);this.waitTimer=Ext.TaskMgr.start({run:function(c){var d=b.increment||10;c-=1;this.updateProgress(((((c+d)%d)+1)*(100/d))*0.01,null,b.animate)},interval:b.interval||1000,duration:b.duration,onStop:function(){if(b.fn){b.fn.apply(b.scope||this)}this.reset()},scope:a})}return this},isWaiting:function(){return this.waitTimer!==null},updateText:function(a){this.text=a||" ";if(this.rendered){this.textEl.update(this.text)}return this},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)}return this},setSize:function(a,c){Ext.ProgressBar.superclass.setSize.call(this,a,c);if(this.textTopEl){var b=this.el.dom.firstChild;this.textEl.setSize(b.offsetWidth,b.offsetHeight)}this.syncProgressBar();return this},reset:function(a){this.updateProgress(0);if(this.textTopEl){this.textTopEl.addClass("x-hidden")}this.clearTimer();if(a===true){this.hide()}return this},clearTimer:function(){if(this.waitTimer){this.waitTimer.onStop=null;Ext.TaskMgr.stop(this.waitTimer);this.waitTimer=null}},onDestroy:function(){this.clearTimer();if(this.rendered){if(this.textEl.isComposite){this.textEl.clear()}Ext.destroyMembers(this,"textEl","progressBar","textTopEl")}Ext.ProgressBar.superclass.onDestroy.call(this)}});Ext.reg("progress",Ext.ProgressBar);(function(){var a=Ext.EventManager;var b=Ext.lib.Dom;Ext.dd.DragDrop=function(e,c,d){if(e){this.init(e,c,d)}};Ext.dd.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},moveOnly:false,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,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,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(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(k,h,p){if(Ext.isNumber(h)){h={left:h,right:h,top:h,bottom:h}}h=h||this.defaultPadding;var m=Ext.get(this.getEl()).getBox(),d=Ext.get(k),o=d.getScroll(),l,e=d.dom;if(e==document.body){l={x:o.left,y:o.top,width:Ext.lib.Dom.getViewWidth(),height:Ext.lib.Dom.getViewHeight()}}else{var n=d.getXY();l={x:n[0],y:n[1],width:e.clientWidth,height:e.clientHeight}}var i=m.y-l.y,g=m.x-l.x;this.resetConstraints();this.setXConstraint(g-(h.left||0),l.width-g-m.width-(h.right||0),this.xTickSize);this.setYConstraint(i-(h.top||0),l.height-i-m.height-(h.bottom||0),this.yTickSize)},getEl:function(){if(!this._domRef){this._domRef=Ext.getDom(this.id)}return this._domRef},getDragEl:function(){return Ext.getDom(this.dragElId)},init:function(e,c,d){this.initTarget(e,c,d);a.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(e,c,d){this.config=d||{};this.DDM=Ext.dd.DDM;this.groups={};if(typeof e!=="string"){e=Ext.id(e)}this.id=e;this.addToGroup((c)?c:"default");this.handleElId=e;this.setDragElId(e);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();this.handleOnAvailable()},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,g,d){if(!c&&0!==c){this.padding=[e,e,e,e]}else{if(!g&&0!==g){this.padding=[e,c,e,c]}else{this.padding=[e,c,g,d]}}},setInitPosition:function(g,e){var h=this.getEl();if(!this.DDM.verifyEl(h)){return}var d=g||0;var c=e||0;var i=b.getXY(h);this.initPageX=i[0]-d;this.initPageY=i[1]-c;this.lastPageX=i[0];this.lastPageY=i[1];this.setStartPosition(i)},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=Ext.id(c)}this.handleElId=c;this.DDM.regHandle(this.id,c)},setOuterHandleElId:function(c){if(typeof c!=="string"){c=Ext.id(c)}a.on(c,"mousedown",this.handleMouseDown,this);this.setHandleElId(c);this.hasOuterHandles=true},unreg:function(){a.un(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDM.isLocked()||this.locked)},handleMouseDown:function(g,d){if(this.primaryButtonOnly&&g.button!=0){return}if(this.isLocked()){return}this.DDM.refreshCache(this.groups);var c=new Ext.lib.Point(Ext.lib.Event.getPageX(g),Ext.lib.Event.getPageY(g));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(c,this)){}else{if(this.clickValidator(g)){this.setStartPosition();this.b4MouseDown(g);this.onMouseDown(g);this.DDM.handleMouseDown(g,this);this.DDM.stopEvent(g)}else{}}},clickValidator:function(d){var c=d.getTarget();return(this.isValidHandleChild(c)&&(this.id==this.handleElId||this.DDM.handleWasClicked(c,this.id)))},addInvalidHandleType:function(c){var d=c.toUpperCase();this.invalidHandleTypes[d]=d},addInvalidHandleId:function(c){if(typeof c!=="string"){c=Ext.id(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=Ext.id(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(g,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=e;this.rightConstraint=d;this.minX=this.initPageX-e;this.maxX=this.initPageX+d;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=c;this.bottomConstraint=e;this.minY=this.initPageY-c;this.maxY=this.initPageY+e;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(l,g){if(!g){return l}else{if(g[0]>=l){return g[0]}else{for(var d=0,c=g.length;d=l){var k=l-g[d];var h=g[e]-l;return(h>k)?g[d]:g[e]}}return g[g.length-1]}}},toString:function(){return("DragDrop "+this.id)}}})();if(!Ext.dd.DragDropMgr){Ext.dd.DragDropMgr=function(){var a=Ext.EventManager;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,_execOnAll:function(d,c){for(var e in this.ids){for(var b in this.ids[e]){var g=this.ids[e][b];if(!this.isTypeOfDD(g)){continue}g[d].apply(g,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:350,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]&&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(h,c){var g=[];for(var e in h.groups){for(var d in this.ids[e]){var b=this.ids[e][d];if(!this.isTypeOfDD(b)){continue}if(!c||b.isTarget){g[g.length]=b}}}return g},isLegalTarget:function(g,e){var c=this.getRelated(g,true);for(var d=0,b=c.length;dthis.clickPixelThresh||b>this.clickPixelThresh){this.startDrag(this.startX,this.startY)}}if(this.dragThreshMet){this.dragCurrent.b4Drag(d);this.dragCurrent.onDrag(d);if(!this.dragCurrent.moveOnly){this.fireEvents(d,false)}}this.stopEvent(d);return true},fireEvents:function(o,p){var r=this.dragCurrent;if(!r||r.isLocked()){return}var s=o.getPoint();var b=[];var g=[];var m=[];var k=[];var d=[];for(var h in this.dragOvers){var c=this.dragOvers[h];if(!this.isTypeOfDD(c)){continue}if(!this.isOverTarget(s,c,this.mode)){g.push(c)}b[h]=true;delete this.dragOvers[h]}for(var q in r.groups){if("string"!=typeof q){continue}for(h in this.ids[q]){var l=this.ids[q][h];if(!this.isTypeOfDD(l)){continue}if(l.isTarget&&!l.isLocked()&&((l!=r)||(r.ignoreSelf===false))){if(this.isOverTarget(s,l,this.mode)){if(p){k.push(l)}else{if(!b[l.id]){d.push(l)}else{m.push(l)}this.dragOvers[l.id]=l}}}}}if(this.mode){if(g.length){r.b4DragOut(o,g);r.onDragOut(o,g)}if(d.length){r.onDragEnter(o,d)}if(m.length){r.b4DragOver(o,m);r.onDragOver(o,m)}if(k.length){r.b4DragDrop(o,k);r.onDragDrop(o,k)}}else{var n=0;for(h=0,n=g.length;h2000){}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}}}();Ext.dd.DDM=Ext.dd.DragDropMgr;Ext.dd.DDM._addListeners()}Ext.dd.DD=function(c,a,b){if(c){this.init(c,a,b)}};Ext.extend(Ext.dd.DD,Ext.dd.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(c,h,g){var e=this.getTargetCoord(h,g);var b=c.dom?c:Ext.fly(c,"_dd");if(!this.deltaSetXY){var i=[e.x,e.y];b.setXY(i);var d=b.getLeft(true);var a=b.getTop(true);this.deltaSetXY=[d-e.x,a-e.y]}else{b.setLeftTop(e.x+this.deltaSetXY[0],e.y+this.deltaSetXY[1])}this.cachePosition(e.x,e.y);this.autoScroll(e.x,e.y,c.offsetHeight,c.offsetWidth);return e},cachePosition:function(b,a){if(b){this.lastPageX=b;this.lastPageY=a}else{var c=Ext.lib.Dom.getXY(this.getEl());this.lastPageX=c[0];this.lastPageY=c[1]}},autoScroll:function(m,l,e,n){if(this.scroll){var o=Ext.lib.Dom.getViewHeight();var b=Ext.lib.Dom.getViewWidth();var q=this.DDM.getScrollTop();var d=this.DDM.getScrollLeft();var k=e+l;var p=n+m;var i=(o+q-l-this.deltaY);var g=(b+d-m-this.deltaX);var c=40;var a=(document.all)?80:30;if(k>o&&i0&&l-qb&&g0&&m-dthis.maxX){a=this.maxX}}if(this.constrainY){if(dthis.maxY){d=this.maxY}}a=this.getTick(a,this.xTicks);d=this.getTick(d,this.yTicks);return{x:a,y:d}},applyConfig:function(){Ext.dd.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false)},b4MouseDown:function(a){this.autoOffset(a.getPageX(),a.getPageY())},b4Drag:function(a){this.setDragElPos(a.getPageX(),a.getPageY())},toString:function(){return("DD "+this.id)}});Ext.dd.DDProxy=function(c,a,b){if(c){this.init(c,a,b);this.initFrame()}};Ext.dd.DDProxy.dragElId="ygddfdiv";Ext.extend(Ext.dd.DDProxy,Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var b=this;var a=document.body;if(!a||!a.firstChild){setTimeout(function(){b.createFrame()},50);return}var d=this.getDragEl();if(!d){d=document.createElement("div");d.id=this.dragElId;var c=d.style;c.position="absolute";c.visibility="hidden";c.cursor="move";c.border="2px solid #aaa";c.zIndex=999;a.insertBefore(d,a.firstChild)}},initFrame:function(){this.createFrame()},applyConfig:function(){Ext.dd.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||Ext.dd.DDProxy.dragElId)},showFrame:function(e,d){var c=this.getEl();var a=this.getDragEl();var b=a.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(b.width,10)/2),Math.round(parseInt(b.height,10)/2))}this.setDragElPos(e,d);Ext.fly(a).show()},_resizeProxy:function(){if(this.resizeFrame){var a=this.getEl();Ext.fly(this.getDragEl()).setSize(a.offsetWidth,a.offsetHeight)}},b4MouseDown:function(b){var a=b.getPageX();var c=b.getPageY();this.autoOffset(a,c);this.setDragElPos(a,c)},b4StartDrag:function(a,b){this.showFrame(a,b)},b4EndDrag:function(a){Ext.fly(this.getDragEl()).hide()},endDrag:function(c){var b=this.getEl();var a=this.getDragEl();a.style.visibility="";this.beforeMove();b.style.visibility="hidden";Ext.dd.DDM.moveToEl(b,a);a.style.visibility="hidden";b.style.visibility="";this.afterDrag()},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)}});Ext.dd.DDTarget=function(c,a,b){if(c){this.initTarget(c,a,b)}};Ext.extend(Ext.dd.DDTarget,Ext.dd.DragDrop,{getDragEl:Ext.emptyFn,isValidHandleChild:Ext.emptyFn,startDrag:Ext.emptyFn,endDrag:Ext.emptyFn,onDrag:Ext.emptyFn,onDragDrop:Ext.emptyFn,onDragEnter:Ext.emptyFn,onDragOut:Ext.emptyFn,onDragOver:Ext.emptyFn,onInvalidDrop:Ext.emptyFn,onMouseDown:Ext.emptyFn,onMouseUp:Ext.emptyFn,setXConstraint:Ext.emptyFn,setYConstraint:Ext.emptyFn,resetConstraints:Ext.emptyFn,clearConstraints:Ext.emptyFn,clearTicks:Ext.emptyFn,setInitPosition:Ext.emptyFn,setDragElId:Ext.emptyFn,setHandleElId:Ext.emptyFn,setOuterHandleElId:Ext.emptyFn,addInvalidHandleClass:Ext.emptyFn,addInvalidHandleId:Ext.emptyFn,addInvalidHandleType:Ext.emptyFn,removeInvalidHandleClass:Ext.emptyFn,removeInvalidHandleId:Ext.emptyFn,removeInvalidHandleType:Ext.emptyFn,toString:function(){return("DDTarget "+this.id)}});Ext.dd.DragTracker=Ext.extend(Ext.util.Observable,{active:false,tolerance:5,autoStart:false,constructor:function(a){Ext.apply(this,a);this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");this.dragRegion=new Ext.lib.Region(0,0,0,0);if(this.el){this.initEl(this.el)}Ext.dd.DragTracker.superclass.constructor.call(this,a)},initEl:function(a){this.el=Ext.get(a);a.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)},destroy:function(){this.el.un("mousedown",this.onMouseDown,this);delete this.el},onMouseDown:function(b,a){if(this.fireEvent("mousedown",this,b)!==false&&this.onBeforeStart(b)!==false){this.startXY=this.lastXY=b.getXY();this.dragTarget=this.delegate?a:this.el.dom;if(this.preventDefault!==false){b.preventDefault()}Ext.getDoc().on({scope:this,mouseup:this.onMouseUp,mousemove:this.onMouseMove,selectstart:this.stopSelect});if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this,[b])}}},onMouseMove:function(d,c){if(this.active&&Ext.isIE&&!d.browserEvent.button){d.preventDefault();this.onMouseUp(d);return}d.preventDefault();var b=d.getXY(),a=this.startXY;this.lastXY=b;if(!this.active){if(Math.abs(a[0]-b[0])>this.tolerance||Math.abs(a[1]-b[1])>this.tolerance){this.triggerStart(d)}else{return}}this.fireEvent("mousemove",this,d);this.onDrag(d);this.fireEvent("drag",this,d)},onMouseUp:function(c){var b=Ext.getDoc(),a=this.active;b.un("mousemove",this.onMouseMove,this);b.un("mouseup",this.onMouseUp,this);b.un("selectstart",this.stopSelect,this);c.preventDefault();this.clearStart();this.active=false;delete this.elRegion;this.fireEvent("mouseup",this,c);if(a){this.onEnd(c);this.fireEvent("dragend",this,c)}},triggerStart:function(a){this.clearStart();this.active=true;this.onStart(a);this.fireEvent("dragstart",this,a)},clearStart:function(){if(this.timer){clearTimeout(this.timer);delete this.timer}},stopSelect:function(a){a.stopEvent();return false},onBeforeStart:function(a){},onStart:function(a){},onDrag:function(a){},onEnd:function(a){},getDragTarget:function(){return this.dragTarget},getDragCt:function(){return this.el},getXY:function(a){return a?this.constrainModes[a].call(this,this.lastXY):this.lastXY},getOffset:function(c){var b=this.getXY(c),a=this.startXY;return[a[0]-b[0],a[1]-b[1]]},constrainModes:{point:function(b){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()}var a=this.dragRegion;a.left=b[0];a.top=b[1];a.right=b[0];a.bottom=b[1];a.constrainTo(this.elRegion);return[a.left,a.top]}}});Ext.dd.ScrollManager=function(){var c=Ext.dd.DragDropMgr;var e={};var b=null;var i={};var h=function(m){b=null;a()};var k=function(){if(c.dragCurrent){c.refreshCache(c.dragCurrent.groups)}};var d=function(){if(c.dragCurrent){var m=Ext.dd.ScrollManager;var n=i.el.ddScrollConfig?i.el.ddScrollConfig.increment:m.increment;if(!m.animate){if(i.el.scroll(i.dir,n)){k()}}else{i.el.scroll(i.dir,n,true,m.animDuration,k)}}};var a=function(){if(i.id){clearInterval(i.id)}i.id=0;i.el=null;i.dir=""};var g=function(n,m){a();i.el=n;i.dir=m;var p=n.ddScrollConfig?n.ddScrollConfig.ddGroup:undefined,o=(n.ddScrollConfig&&n.ddScrollConfig.frequency)?n.ddScrollConfig.frequency:Ext.dd.ScrollManager.frequency;if(p===undefined||c.dragCurrent.ddGroup==p){i.id=setInterval(d,o)}};var l=function(p,s){if(s||!c.dragCurrent){return}var t=Ext.dd.ScrollManager;if(!b||b!=c.dragCurrent){b=c.dragCurrent;t.refreshCache()}var u=Ext.lib.Event.getXY(p);var v=new Ext.lib.Point(u[0],u[1]);for(var n in e){var o=e[n],m=o._region;var q=o.ddScrollConfig?o.ddScrollConfig:t;if(m&&m.contains(v)&&o.isScrollable()){if(m.bottom-v.y<=q.vthresh){if(i.el!=o){g(o,"down")}return}else{if(m.right-v.x<=q.hthresh){if(i.el!=o){g(o,"left")}return}else{if(v.y-m.top<=q.vthresh){if(i.el!=o){g(o,"up")}return}else{if(v.x-m.left<=q.hthresh){if(i.el!=o){g(o,"right")}return}}}}}}a()};c.fireEvents=c.fireEvents.createSequence(l,c);c.stopDrag=c.stopDrag.createSequence(h,c);return{register:function(o){if(Ext.isArray(o)){for(var n=0,m=o.length;n]+>/gi,asText:function(a){return String(a).replace(this.stripTagsRE,"")},asUCText:function(a){return String(a).toUpperCase().replace(this.stripTagsRE,"")},asUCString:function(a){return String(a).toUpperCase()},asDate:function(a){if(!a){return 0}if(Ext.isDate(a)){return a.getTime()}return Date.parse(String(a))},asFloat:function(a){var b=parseFloat(String(a).replace(/,/g,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""),10);return isNaN(b)?0:b}};Ext.data.Record=function(a,b){this.id=(b||b===0)?b:Ext.data.Record.id(this);this.data=a||{}};Ext.data.Record.create=function(e){var c=Ext.extend(Ext.data.Record,{});var d=c.prototype;d.fields=new Ext.util.MixedCollection(false,function(g){return g.name});for(var b=0,a=e.length;b-1){a.join(null);this.data.removeAt(b)}if(this.pruneModifiedRecords){this.modified.remove(a)}if(this.snapshot){this.snapshot.remove(a)}if(b>-1){this.fireEvent("remove",this,a,b)}},removeAt:function(a){this.remove(this.getAt(a))},removeAll:function(b){var a=[];this.each(function(c){a.push(c)});this.clearData();if(this.snapshot){this.snapshot.clear()}if(this.pruneModifiedRecords){this.modified=[]}if(b!==true){this.fireEvent("clear",this,a)}},onClear:function(b,a){Ext.each(a,function(d,c){this.destroyRecord(this,d,c)},this)},insert:function(d,c){var e,a,b;c=[].concat(c);for(e=0,a=c.length;e=0;d--){if(b[d].phantom===true){var a=b.splice(d,1).shift();if(a.isValid()){g.push(a)}}else{if(!b[d].isValid()){b.splice(d,1)}}}if(g.length){h.push(["create",g])}if(b.length){h.push(["update",b])}}k=h.length;if(k){e=++this.batchCounter;for(d=0;d=0;b--){this.modified.splice(this.modified.indexOf(a[b]),1)}}else{this.modified.splice(this.modified.indexOf(a),1)}},reMap:function(b){if(Ext.isArray(b)){for(var d=0,a=b.length;d=0;c--){this.insert(b[c].lastIndex,b[c])}}},handleException:function(a){Ext.handleError(a)},reload:function(a){this.load(Ext.applyIf(a||{},this.lastOptions))},loadRecords:function(b,m,h){var e,g;if(this.isDestroyed===true){return}if(!b||h===false){if(h!==false){this.fireEvent("load",this,[],m)}if(m.callback){m.callback.call(m.scope||this,[],m,false,b)}return}var a=b.records,k=b.totalRecords||a.length;if(!m||m.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(e=0,g=a.length;e-1){this.doUpdate(d)}else{l.push(d);++c}}this.totalLength=Math.max(k,this.data.length+c);this.add(l)}this.fireEvent("load",this,a,m);if(m.callback){m.callback.call(m.scope||this,a,m,true)}},loadData:function(c,a){var b=this.reader.readRecords(c);this.loadRecords(b,{add:a},true)},getCount:function(){return this.data.length||0},getTotalCount:function(){return this.totalLength||0},getSortState:function(){return this.sortInfo},applySort:function(){if((this.sortInfo||this.multiSortInfo)&&!this.remoteSort){this.sortData()}},sortData:function(){var a=this.hasMultiSort?this.multiSortInfo:this.sortInfo,k=a.direction||"ASC",h=a.sorters,c=[];if(!this.hasMultiSort){h=[{direction:k,field:a.field}]}for(var d=0,b=h.length;d1){for(var p=1,o=c.length;ph?1:(i=0;b--){if(Ext.isArray(c)){this.realize(a.splice(b,1).shift(),c.splice(b,1).shift())}else{this.realize(a.splice(b,1).shift(),c)}}}else{if(Ext.isArray(c)&&c.length==1){c=c.shift()}if(!this.isData(c)){throw new Ext.data.DataReader.Error("realize",a)}a.phantom=false;a._phid=a.id;a.id=this.getId(c);a.data=c;a.commit()}},update:function(a,c){if(Ext.isArray(a)){for(var b=a.length-1;b>=0;b--){if(Ext.isArray(c)){this.update(a.splice(b,1).shift(),c.splice(b,1).shift())}else{this.update(a.splice(b,1).shift(),c)}}}else{if(Ext.isArray(c)&&c.length==1){c=c.shift()}if(this.isData(c)){a.data=Ext.apply(a.data,c)}a.commit()}},extractData:function(l,a){var k=(this instanceof Ext.data.JsonReader)?"json":"node";var c=[];if(this.isData(l)&&!(this instanceof Ext.data.XmlReader)){l=[l]}var h=this.recordType.prototype.fields,p=h.items,o=h.length,c=[];if(a===true){var m=this.recordType;for(var e=0;e=0){return new Function("obj","return obj"+(b>0?".":"")+c)}return function(d){return d[c]}}}(),extractValues:function(h,d,a){var g,c={};for(var e=0;e<\u003fxml version="{version}" encoding="{encoding}"\u003f><{documentRoot}><{name}>{value}<{root}><{parent.record}><{name}>{value}',render:function(b,c,a){c=this.toArray(c);b.xmlData=this.tpl.applyTemplate({version:this.xmlVersion,encoding:this.xmlEncoding,documentRoot:(c.length>0||this.forceDocumentRoot===true)?this.documentRoot:false,record:this.meta.record,root:this.root,baseParams:c,records:(Ext.isArray(a[0]))?a:[a]})},createRecord:function(a){return this.toArray(this.toHash(a))},updateRecord:function(a){return this.toArray(this.toHash(a))},destroyRecord:function(b){var a={};a[this.meta.idProperty]=b.id;return this.toArray(a)}});Ext.data.XmlReader=function(a,b){a=a||{};Ext.applyIf(a,{idProperty:a.idProperty||a.idPath||a.id,successProperty:a.successProperty||a.success});Ext.data.XmlReader.superclass.constructor.call(this,a,b||a.fields)};Ext.extend(Ext.data.XmlReader,Ext.data.DataReader,{read:function(a){var b=a.responseXML;if(!b){throw {message:"XmlReader.read: XML Document not available"}}return this.readRecords(b)},readRecords:function(d){this.xmlData=d;var a=d.documentElement||d,c=Ext.DomQuery,g=0,e=true;if(this.meta.totalProperty){g=this.getTotal(a,0)}if(this.meta.successProperty){e=this.getSuccess(a)}var b=this.extractData(c.select(this.meta.record,a),true);return{success:e,records:b,totalRecords:g||b.length}},readResponse:function(g,b){var e=Ext.DomQuery,h=b.responseXML,a=h.documentElement||h;var c=new Ext.data.Response({action:g,success:this.getSuccess(a),message:this.getMessage(a),data:this.extractData(e.select(this.meta.record,a)||e.select(this.meta.root,a),false),raw:h});if(Ext.isEmpty(c.success)){throw new Ext.data.DataReader.Error("successProperty-response",this.meta.successProperty)}if(g===Ext.data.Api.actions.create){var d=Ext.isDefined(c.data);if(d&&Ext.isEmpty(c.data)){throw new Ext.data.JsonReader.Error("root-empty",this.meta.root)}else{if(!d){throw new Ext.data.JsonReader.Error("root-undefined-response",this.meta.root)}}}return c},getSuccess:function(){return true},buildExtractors:function(){if(this.ef){return}var m=this.meta,h=this.recordType,e=h.prototype.fields,l=e.items,k=e.length;if(m.totalProperty){this.getTotal=this.createAccessor(m.totalProperty)}if(m.successProperty){this.getSuccess=this.createAccessor(m.successProperty)}if(m.messageProperty){this.getMessage=this.createAccessor(m.messageProperty)}this.getRoot=function(g){return(!Ext.isEmpty(g[this.meta.record]))?g[this.meta.record]:g[this.meta.root]};if(m.idPath||m.idProperty){var d=this.createAccessor(m.idPath||m.idProperty);this.getId=function(g){var i=d(g)||g.id;return(i===undefined||i==="")?null:i}}else{this.getId=function(){return null}}var c=[];for(var b=0;b0&&c[0].field==this.groupField){c.shift()}this.groupField=e;this.groupDir=d;this.applyGroupField();var b=function(){this.fireEvent("groupchange",this,this.getGroupState())};if(this.groupOnSort){this.sort(e,d);b.call(this);return}if(this.remoteGroup){this.on("load",b,this,{single:true});this.reload()}else{this.sort(c);b.call(this)}},sort:function(h,c){if(this.remoteSort){return Ext.data.GroupingStore.superclass.sort.call(this,h,c)}var g=[];if(Ext.isArray(arguments[0])){g=arguments[0]}else{if(h==undefined){g=this.sortInfo?[this.sortInfo]:[]}else{var e=this.fields.get(h);if(!e){return false}var b=e.name,a=this.sortInfo||null,d=this.sortToggle?this.sortToggle[b]:null;if(!c){if(a&&a.field==b){c=(this.sortToggle[b]||"ASC").toggle("ASC","DESC")}else{c=e.sortDir}}this.sortToggle[b]=c;this.sortInfo={field:b,direction:c};g=[this.sortInfo]}}if(this.groupField){g.unshift({direction:this.groupDir,field:this.groupField})}return this.multiSort.call(this,g,c)},applyGroupField:function(){if(this.remoteGroup){if(!this.baseParams){this.baseParams={}}Ext.apply(this.baseParams,{groupBy:this.groupField,groupDir:this.groupDir});var a=this.lastOptions;if(a&&a.params){a.params.groupDir=this.groupDir;delete a.params.groupBy}}},applyGrouping:function(a){if(this.groupField!==false){this.groupBy(this.groupField,true,this.groupDir);return true}else{if(a===true){this.fireEvent("datachanged",this)}return false}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField}});Ext.reg("groupingstore",Ext.data.GroupingStore);Ext.data.DirectProxy=function(a){Ext.apply(this,a);if(typeof this.paramOrder=="string"){this.paramOrder=this.paramOrder.split(/[\s,|]/)}Ext.data.DirectProxy.superclass.constructor.call(this,a)};Ext.extend(Ext.data.DirectProxy,Ext.data.DataProxy,{paramOrder:undefined,paramsAsHash:true,directFn:undefined,doRequest:function(b,c,a,e,l,m,o){var k=[],h=this.api[b]||this.directFn;switch(b){case Ext.data.Api.actions.create:k.push(a.jsonData);break;case Ext.data.Api.actions.read:if(h.directCfg.method.len>0){if(this.paramOrder){for(var d=0,g=this.paramOrder.length;d1){for(var d=0,b=c.length;d0){this.doSend(a==1?this.callBuffer[0]:this.callBuffer);this.callBuffer=[]}},queueTransaction:function(a){if(a.form){this.processForm(a);return}this.callBuffer.push(a);if(this.enableBuffer){if(!this.callTask){this.callTask=new Ext.util.DelayedTask(this.combineAndSend,this)}this.callTask.delay(Ext.isNumber(this.enableBuffer)?this.enableBuffer:10)}else{this.combineAndSend()}},doCall:function(i,a,b){var h=null,e=b[a.len],g=b[a.len+1];if(a.len!==0){h=b.slice(0,a.len)}var d=new Ext.Direct.Transaction({provider:this,args:b,action:i,method:a.name,data:h,cb:g&&Ext.isFunction(e)?e.createDelegate(g):e});if(this.fireEvent("beforecall",this,d,a)!==false){Ext.Direct.addTransaction(d);this.queueTransaction(d);this.fireEvent("call",this,d,a)}},doForm:function(k,b,g,i,e){var d=new Ext.Direct.Transaction({provider:this,action:k,method:b.name,args:[g,i,e],cb:e&&Ext.isFunction(i)?i.createDelegate(e):i,isForm:true});if(this.fireEvent("beforecall",this,d,b)!==false){Ext.Direct.addTransaction(d);var a=String(g.getAttribute("enctype")).toLowerCase()=="multipart/form-data",h={extTID:d.tid,extAction:k,extMethod:b.name,extType:"rpc",extUpload:String(a)};Ext.apply(d,{form:Ext.getDom(g),isUpload:a,params:i&&Ext.isObject(i.params)?Ext.apply(h,i.params):h});this.fireEvent("call",this,d,b);this.processForm(d)}},processForm:function(a){Ext.Ajax.request({url:this.url,params:a.params,callback:this.onData,scope:this,form:a.form,isUpload:a.isUpload,ts:a})},createMethod:function(d,a){var b;if(!a.formHandler){b=function(){this.doCall(d,a,Array.prototype.slice.call(arguments,0))}.createDelegate(this)}else{b=function(e,g,c){this.doForm(d,a,e,g,c)}.createDelegate(this)}b.directCfg={action:d,method:a};return b},getTransaction:function(a){return a&&a.tid?Ext.Direct.getTransaction(a.tid):null},doCallback:function(c,g){var d=g.status?"success":"failure";if(c&&c.cb){var b=c.cb,a=Ext.isDefined(g.result)?g.result:g.data;if(Ext.isFunction(b)){b(a,g)}else{Ext.callback(b[d],b.scope,[a,g]);Ext.callback(b.callback,b.scope,[a,g])}}}});Ext.Direct.PROVIDERS.remoting=Ext.direct.RemotingProvider;Ext.Resizable=Ext.extend(Ext.util.Observable,{constructor:function(d,e){this.el=Ext.get(d);if(e&&e.wrap){e.resizeChild=this.el;this.el=this.el.wrap(typeof e.wrap=="object"?e.wrap:{cls:"xresizable-wrap"});this.el.id=this.el.dom.id=e.resizeChild.id+"-rzwrap";this.el.setStyle("overflow","hidden");this.el.setPositioning(e.resizeChild.getPositioning());e.resizeChild.clearPositioning();if(!e.width||!e.height){var g=e.resizeChild.getSize();this.el.setSize(g.width,g.height)}if(e.pinned&&!e.adjustments){e.adjustments="auto"}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},Ext.getBody());this.proxy.unselectable();this.proxy.enableDisplayMode("block");Ext.apply(this,e);if(this.pinned){this.disableTrackOver=true;this.el.addClass("x-resizable-pinned")}var l=this.el.getStyle("position");if(l!="absolute"&&l!="fixed"){this.el.setStyle("position","relative")}if(!this.handles){this.handles="s,e,se";if(this.multiDirectional){this.handles+=",n,w"}}if(this.handles=="all"){this.handles="n s e w ne nw se sw"}var p=this.handles.split(/\s*?[,;]\s*?| /);var c=Ext.Resizable.positions;for(var k=0,m=p.length;k0){if(a>(e/2)){d=c+(e-a)}else{d=c-a}}return Math.max(b,d)},resizeElement:function(){var a=this.proxy.getBox();if(this.updateBox){this.el.setBox(a,false,this.animate,this.duration,null,this.easing)}else{this.el.setSize(a.width,a.height,this.animate,this.duration,null,this.easing)}this.updateChildSize();if(!this.dynamic){this.proxy.hide()}if(this.draggable&&this.constrainTo){this.dd.resetConstraints();this.dd.constrainTo(this.constrainTo)}return a},constrain:function(b,c,a,d){if(b-cd){c=b-d}}return c},onMouseMove:function(A){if(this.enabled&&this.activeHandle){try{if(this.resizeRegion&&!this.resizeRegion.contains(A.getPoint())){return}var u=this.curSize||this.startBox,m=this.startBox.x,l=this.startBox.y,c=m,b=l,n=u.width,v=u.height,d=n,p=v,o=this.minWidth,B=this.minHeight,t=this.maxWidth,E=this.maxHeight,i=this.widthIncrement,a=this.heightIncrement,C=A.getXY(),s=-(this.startPoint[0]-Math.max(this.minX,C[0])),q=-(this.startPoint[1]-Math.max(this.minY,C[1])),k=this.activeHandle.position,F,g;switch(k){case"east":n+=s;n=Math.min(Math.max(o,n),t);break;case"south":v+=q;v=Math.min(Math.max(B,v),E);break;case"southeast":n+=s;v+=q;n=Math.min(Math.max(o,n),t);v=Math.min(Math.max(B,v),E);break;case"north":q=this.constrain(v,q,B,E);l+=q;v-=q;break;case"west":s=this.constrain(n,s,o,t);m+=s;n-=s;break;case"northeast":n+=s;n=Math.min(Math.max(o,n),t);q=this.constrain(v,q,B,E);l+=q;v-=q;break;case"northwest":s=this.constrain(n,s,o,t);q=this.constrain(v,q,B,E);l+=q;v-=q;m+=s;n-=s;break;case"southwest":s=this.constrain(n,s,o,t);v+=q;v=Math.min(Math.max(B,v),E);m+=s;n-=s;break}var r=this.snap(n,i,o);var D=this.snap(v,a,B);if(r!=n||D!=v){switch(k){case"northeast":l-=D-v;break;case"north":l-=D-v;break;case"southwest":m-=r-n;break;case"west":m-=r-n;break;case"northwest":m-=r-n;l-=D-v;break}n=r;v=D}if(this.preserveRatio){switch(k){case"southeast":case"east":v=p*(n/d);v=Math.min(Math.max(B,v),E);n=d*(v/p);break;case"south":n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);break;case"northeast":n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);break;case"north":F=n;n=d*(v/p);n=Math.min(Math.max(o,n),t);v=p*(n/d);m+=(F-n)/2;break;case"southwest":v=p*(n/d);v=Math.min(Math.max(B,v),E);F=n;n=d*(v/p);m+=F-n;break;case"west":g=v;v=p*(n/d);v=Math.min(Math.max(B,v),E);l+=(g-v)/2;F=n;n=d*(v/p);m+=F-n;break;case"northwest":F=n;g=v;v=p*(n/d);v=Math.min(Math.max(B,v),E);n=d*(v/p);l+=g-v;m+=F-n;break}}this.proxy.setBounds(m,l,n,v);if(this.dynamic){this.resizeElement()}}catch(z){}}},handleOver:function(){if(this.enabled){this.el.addClass("x-resizable-over")}},handleOut:function(){if(!this.resizing){this.el.removeClass("x-resizable-over")}},getEl:function(){return this.el},getResizeChild:function(){return this.resizeChild},destroy:function(b){Ext.destroy(this.dd,this.overlay,this.proxy);this.overlay=null;this.proxy=null;var c=Ext.Resizable.positions;for(var a in c){if(typeof c[a]!="function"&&this[c[a]]){this[c[a]].destroy()}}if(b){this.el.update("");Ext.destroy(this.el);this.el=null}this.purgeListeners()},syncHandleHeight:function(){var a=this.el.getHeight(true);if(this.west){this.west.el.setHeight(a)}if(this.east){this.east.el.setHeight(a)}}});Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};Ext.Resizable.Handle=Ext.extend(Object,{constructor:function(d,g,c,e,a){if(!this.tpl){var b=Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});b.compile();Ext.Resizable.Handle.prototype.tpl=b}this.position=g;this.rz=d;this.el=this.tpl.append(d.el.dom,[this.position],true);this.el.unselectable();if(e){this.el.setOpacity(0)}if(!Ext.isEmpty(a)){this.el.addClass(a)}this.el.on("mousedown",this.onMouseDown,this);if(!c){this.el.on({scope:this,mouseover:this.onMouseOver,mouseout:this.onMouseOut})}},afterResize:function(a){},onMouseDown:function(a){this.rz.onMouseDown(this,a)},onMouseOver:function(a){this.rz.handleOver(this,a)},onMouseOut:function(a){this.rz.handleOut(this,a)},destroy:function(){Ext.destroy(this.el);this.el=null}});Ext.Window=Ext.extend(Ext.Panel,{baseCls:"x-window",resizable:true,draggable:true,closable:true,closeAction:"close",constrain:false,constrainHeader:false,plain:false,minimizable:false,maximizable:false,minHeight:100,minWidth:200,expandOnShow:true,showAnimDuration:0.25,hideAnimDuration:0.25,collapsible:false,initHidden:undefined,hidden:true,elements:"header,body",frame:true,floating:true,initComponent:function(){this.initTools();Ext.Window.superclass.initComponent.call(this);this.addEvents("resize","maximize","minimize","restore");if(Ext.isDefined(this.initHidden)){this.hidden=this.initHidden}if(this.hidden===false){this.hidden=true;this.show()}},getState:function(){return Ext.apply(Ext.Window.superclass.getState.call(this)||{},this.getBox(true))},onRender:function(b,a){Ext.Window.superclass.onRender.call(this,b,a);if(this.plain){this.el.addClass("x-window-plain")}this.focusEl=this.el.createChild({tag:"a",href:"#",cls:"x-dlg-focus",tabIndex:"-1",html:" "});this.focusEl.swallowEvent("click",true);this.proxy=this.el.createProxy("x-window-proxy");this.proxy.enableDisplayMode("block");if(this.modal){this.mask=this.container.createChild({cls:"ext-el-mask"},this.el.dom);this.mask.enableDisplayMode("block");this.mask.hide();this.mon(this.mask,"click",this.focus,this)}if(this.maximizable){this.mon(this.header,"dblclick",this.toggleMaximize,this)}},initEvents:function(){Ext.Window.superclass.initEvents.call(this);if(this.animateTarget){this.setAnimateTarget(this.animateTarget)}if(this.resizable){this.resizer=new Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction,handleCls:"x-window-handle"});this.resizer.window=this;this.mon(this.resizer,"beforeresize",this.beforeResize,this)}if(this.draggable){this.header.addClass("x-window-draggable")}this.mon(this.el,"mousedown",this.toFront,this);this.manager=this.manager||Ext.WindowMgr;this.manager.register(this);if(this.maximized){this.maximized=false;this.maximize()}if(this.closable){var a=this.getKeyMap();a.on(27,this.onEsc,this);a.disable()}},initDraggable:function(){this.dd=new Ext.Window.DD(this)},onEsc:function(a,b){b.stopEvent();this[this.closeAction]()},beforeDestroy:function(){if(this.rendered){this.hide();this.clearAnchor();Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask)}Ext.Window.superclass.beforeDestroy.call(this)},onDestroy:function(){if(this.manager){this.manager.unregister(this)}Ext.Window.superclass.onDestroy.call(this)},initTools:function(){if(this.minimizable){this.addTool({id:"minimize",handler:this.minimize.createDelegate(this,[])})}if(this.maximizable){this.addTool({id:"maximize",handler:this.maximize.createDelegate(this,[])});this.addTool({id:"restore",handler:this.restore.createDelegate(this,[]),hidden:true})}if(this.closable){this.addTool({id:"close",handler:this[this.closeAction].createDelegate(this,[])})}},resizerAction:function(){var a=this.proxy.getBox();this.proxy.hide();this.window.handleResize(a);return a},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);this.resizeBox=this.el.getBox()},updateHandles:function(){if(Ext.isIE&&this.resizer){this.resizer.syncHandleHeight();this.el.repaint()}},handleResize:function(b){var a=this.resizeBox;if(a.x!=b.x||a.y!=b.y){this.updateBox(b)}else{this.setSize(b);if(Ext.isIE6&&Ext.isStrict){this.doLayout()}}this.focus();this.updateHandles();this.saveState()},focus:function(){var e=this.focusEl,a=this.defaultButton,c=typeof a,d,b;if(Ext.isDefined(a)){if(Ext.isNumber(a)&&this.fbar){e=this.fbar.items.get(a)}else{if(Ext.isString(a)){e=Ext.getCmp(a)}else{e=a}}d=e.getEl();b=Ext.getDom(this.container);if(d&&b){if(b!=document.body&&!Ext.lib.Region.getRegion(b).contains(Ext.lib.Region.getRegion(d.dom))){return}}}e=e||this.focusEl;e.focus.defer(10,e)},setAnimateTarget:function(a){a=Ext.get(a);this.animateTarget=a},beforeShow:function(){delete this.el.lastXY;delete this.el.lastLT;if(this.x===undefined||this.y===undefined){var a=this.el.getAlignToXY(this.container,"c-c");var b=this.el.translatePoints(a[0],a[1]);this.x=this.x===undefined?b.left:this.x;this.y=this.y===undefined?b.top:this.y}this.el.setLeftTop(this.x,this.y);if(this.expandOnShow){this.expand(false)}if(this.modal){Ext.getBody().addClass("x-body-masked");this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true));this.mask.show()}},show:function(c,a,b){if(!this.rendered){this.render(Ext.getBody())}if(this.hidden===false){this.toFront();return this}if(this.fireEvent("beforeshow",this)===false){return this}if(a){this.on("show",a,b,{single:true})}this.hidden=false;if(Ext.isDefined(c)){this.setAnimateTarget(c)}this.beforeShow();if(this.animateTarget){this.animShow()}else{this.afterShow()}return this},afterShow:function(b){if(this.isDestroyed){return false}this.proxy.hide();this.el.setStyle("display","block");this.el.show();if(this.maximized){this.fitContainer()}if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.onWindowResize(this.onWindowResize,this)}this.doConstrain();this.doLayout();if(this.keyMap){this.keyMap.enable()}this.toFront();this.updateHandles();if(b&&(Ext.isIE||Ext.isWebKit)){var a=this.getSize();this.onResize(a.width,a.height)}this.onShow();this.fireEvent("show",this)},animShow:function(){this.proxy.show();this.proxy.setBox(this.animateTarget.getBox());this.proxy.setOpacity(0);var a=this.getBox();this.el.setStyle("display","none");this.proxy.shift(Ext.apply(a,{callback:this.afterShow.createDelegate(this,[true],false),scope:this,easing:"easeNone",duration:this.showAnimDuration,opacity:0.5}))},hide:function(c,a,b){if(this.hidden||this.fireEvent("beforehide",this)===false){return this}if(a){this.on("hide",a,b,{single:true})}this.hidden=true;if(c!==undefined){this.setAnimateTarget(c)}if(this.modal){this.mask.hide();Ext.getBody().removeClass("x-body-masked")}if(this.animateTarget){this.animHide()}else{this.el.hide();this.afterHide()}return this},afterHide:function(){this.proxy.hide();if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){Ext.EventManager.removeResizeListener(this.onWindowResize,this)}if(this.keyMap){this.keyMap.disable()}this.onHide();this.fireEvent("hide",this)},animHide:function(){this.proxy.setOpacity(0.5);this.proxy.show();var a=this.getBox(false);this.proxy.setBox(a);this.el.hide();this.proxy.shift(Ext.apply(this.animateTarget.getBox(),{callback:this.afterHide,scope:this,duration:this.hideAnimDuration,easing:"easeNone",opacity:0}))},onShow:Ext.emptyFn,onHide:Ext.emptyFn,onWindowResize:function(){if(this.maximized){this.fitContainer()}if(this.modal){this.mask.setSize("100%","100%");var a=this.mask.dom.offsetHeight;this.mask.setSize(Ext.lib.Dom.getViewWidth(true),Ext.lib.Dom.getViewHeight(true))}this.doConstrain()},doConstrain:function(){if(this.constrain||this.constrainHeader){var b;if(this.constrain){b={right:this.el.shadowOffset,left:this.el.shadowOffset,bottom:this.el.shadowOffset}}else{var a=this.getSize();b={right:-(a.width-100),bottom:-(a.height-25)}}var c=this.el.getConstrainToXY(this.container,true,b);if(c){this.setPosition(c[0],c[1])}}},ghost:function(a){var c=this.createGhost(a);var b=this.getBox(true);c.setLeftTop(b.x,b.y);c.setWidth(b.width);this.el.hide();this.activeGhost=c;return c},unghost:function(b,a){if(!this.activeGhost){return}if(b!==false){this.el.show();this.focus.defer(10,this);if(Ext.isMac&&Ext.isGecko2){this.cascade(this.setAutoScroll)}}if(a!==false){this.setPosition(this.activeGhost.getLeft(true),this.activeGhost.getTop(true))}this.activeGhost.hide();this.activeGhost.remove();delete this.activeGhost},minimize:function(){this.fireEvent("minimize",this);return this},close:function(){if(this.fireEvent("beforeclose",this)!==false){if(this.hidden){this.doClose()}else{this.hide(null,this.doClose,this)}}},doClose:function(){this.fireEvent("close",this);this.destroy()},maximize:function(){if(!this.maximized){this.expand(false);this.restoreSize=this.getSize();this.restorePos=this.getPosition(true);if(this.maximizable){this.tools.maximize.hide();this.tools.restore.show()}this.maximized=true;this.el.disableShadow();if(this.dd){this.dd.lock()}if(this.collapsible){this.tools.toggle.hide()}this.el.addClass("x-window-maximized");this.container.addClass("x-window-maximized-ct");this.setPosition(0,0);this.fitContainer();this.fireEvent("maximize",this)}return this},restore:function(){if(this.maximized){var a=this.tools;this.el.removeClass("x-window-maximized");if(a.restore){a.restore.hide()}if(a.maximize){a.maximize.show()}this.setPosition(this.restorePos[0],this.restorePos[1]);this.setSize(this.restoreSize.width,this.restoreSize.height);delete this.restorePos;delete this.restoreSize;this.maximized=false;this.el.enableShadow(true);if(this.dd){this.dd.unlock()}if(this.collapsible&&a.toggle){a.toggle.show()}this.container.removeClass("x-window-maximized-ct");this.doConstrain();this.fireEvent("restore",this)}return this},toggleMaximize:function(){return this[this.maximized?"restore":"maximize"]()},fitContainer:function(){var a=this.container.getViewSize(false);this.setSize(a.width,a.height)},setZIndex:function(a){if(this.modal){this.mask.setStyle("z-index",a)}this.el.setZIndex(++a);a+=5;if(this.resizer){this.resizer.proxy.setStyle("z-index",++a)}this.lastZIndex=a},alignTo:function(b,a,c){var d=this.el.getAlignToXY(b,a,c);this.setPagePosition(d[0],d[1]);return this},anchorTo:function(c,e,d,b){this.clearAnchor();this.anchorTarget={el:c,alignment:e,offsets:d};Ext.EventManager.onWindowResize(this.doAnchor,this);var a=typeof b;if(a!="undefined"){Ext.EventManager.on(window,"scroll",this.doAnchor,this,{buffer:a=="number"?b:50})}return this.doAnchor()},doAnchor:function(){var a=this.anchorTarget;this.alignTo(a.el,a.alignment,a.offsets);return this},clearAnchor:function(){if(this.anchorTarget){Ext.EventManager.removeResizeListener(this.doAnchor,this);Ext.EventManager.un(window,"scroll",this.doAnchor,this);delete this.anchorTarget}return this},toFront:function(a){if(this.manager.bringToFront(this)){if(!a||!a.getTarget().focus){this.focus()}}return this},setActive:function(a){if(a){if(!this.maximized){this.el.enableShadow(true)}this.fireEvent("activate",this)}else{this.el.disableShadow();this.fireEvent("deactivate",this)}},toBack:function(){this.manager.sendToBack(this);return this},center:function(){var a=this.el.getAlignToXY(this.container,"c-c");this.setPagePosition(a[0],a[1]);return this}});Ext.reg("window",Ext.Window);Ext.Window.DD=Ext.extend(Ext.dd.DD,{constructor:function(a){this.win=a;Ext.Window.DD.superclass.constructor.call(this,a.el.id,"WindowDD-"+a.id);this.setHandleElId(a.header.id);this.scroll=false},moveOnly:true,headerOffsets:[100,25],startDrag:function(){var a=this.win;this.proxy=a.ghost(a.initialConfig.cls);if(a.constrain!==false){var c=a.el.shadowOffset;this.constrainTo(a.container,{right:c,left:c,bottom:c})}else{if(a.constrainHeader!==false){var b=this.proxy.getSize();this.constrainTo(a.container,{right:-(b.width-this.headerOffsets[0]),bottom:-(b.height-this.headerOffsets[1])})}}},b4Drag:Ext.emptyFn,onDrag:function(a){this.alignElWithMouse(this.proxy,a.getPageX(),a.getPageY())},endDrag:function(a){this.win.unghost();this.win.saveState()}});Ext.WindowGroup=function(){var g={};var d=[];var e=null;var c=function(k,i){return(!k._lastAccess||k._lastAccess0){m.sort(c);var l=m[0].manager.zseed;for(var n=0;n=0;--k){if(!d[k].hidden){b(d[k]);return}}b(null)};return{zseed:9000,register:function(i){if(i.manager){i.manager.unregister(i)}i.manager=this;g[i.id]=i;d.push(i);i.on("hide",a)},unregister:function(i){delete i.manager;delete g[i.id];i.un("hide",a);d.remove(i)},get:function(i){return typeof i=="object"?i:g[i]},bringToFront:function(i){i=this.get(i);if(i!=e){i._lastAccess=new Date().getTime();h();return true}return false},sendToBack:function(i){i=this.get(i);i._lastAccess=-(new Date().getTime());h();return i},hideAll:function(){for(var i in g){if(g[i]&&typeof g[i]!="function"&&g[i].isVisible()){g[i].hide()}}},getActive:function(){return e},getBy:function(m,l){var n=[];for(var k=d.length-1;k>=0;--k){var o=d[k];if(m.call(l||o,o)!==false){n.push(o)}}return n},each:function(k,i){for(var l in g){if(g[l]&&typeof g[l]!="function"){if(k.call(i||g[l],g[l])===false){return}}}}}};Ext.WindowMgr=new Ext.WindowGroup();Ext.MessageBox=function(){var v,b,r,u,h,m,t,a,o,q,k,g,s,w,p,i="",d="",n=["ok","yes","no","cancel"];var c=function(y){s[y].blur();if(v.isVisible()){v.hide();x();Ext.callback(b.fn,b.scope||window,[y,w.dom.value,b],1)}};var x=function(){if(b&&b.cls){v.el.removeClass(b.cls)}o.reset()};var e=function(A,y,z){if(b&&b.closable!==false){v.hide();x()}if(z){z.stopEvent()}};var l=function(y){var A=0,z;if(!y){Ext.each(n,function(B){s[B].hide()});return A}v.footer.dom.style.display="";Ext.iterate(s,function(B,C){z=y[B];if(z){C.show();C.setText(Ext.isString(z)?z:Ext.MessageBox.buttonText[B]);A+=C.getEl().getWidth()+15}else{C.hide()}});return A};return{getDialog:function(y){if(!v){var A=[];s={};Ext.each(n,function(B){A.push(s[B]=new Ext.Button({text:this.buttonText[B],handler:c.createCallback(B),hideMode:"offsets"}))},this);v=new Ext.Window({autoCreate:true,title:y,resizable:false,constrain:true,constrainHeader:true,minimizable:false,maximizable:false,stateful:false,modal:true,shim:true,buttonAlign:"center",width:400,height:100,minHeight:80,plain:true,footer:true,closable:true,close:function(){if(b&&b.buttons&&b.buttons.no&&!b.buttons.cancel){c("no")}else{c("cancel")}},fbar:new Ext.Toolbar({items:A,enableOverflow:false})});v.render(document.body);v.getEl().addClass("x-window-dlg");r=v.mask;h=v.body.createChild({html:'

'});k=Ext.get(h.dom.firstChild);var z=h.dom.childNodes[1];m=Ext.get(z.firstChild);t=Ext.get(z.childNodes[2].firstChild);t.enableDisplayMode();t.addKeyListener([10,13],function(){if(v.isVisible()&&b&&b.buttons){if(b.buttons.ok){c("ok")}else{if(b.buttons.yes){c("yes")}}}});a=Ext.get(z.childNodes[2].childNodes[1]);a.enableDisplayMode();o=new Ext.ProgressBar({renderTo:h});h.createChild({cls:"x-clear"})}return v},updateText:function(B){if(!v.isVisible()&&!b.width){v.setSize(this.maxWidth,100)}m.update(B?B+" ":" ");var z=d!=""?(k.getWidth()+k.getMargins("lr")):0,D=m.getWidth()+m.getMargins("lr"),A=v.getFrameWidth("lr"),C=v.body.getFrameWidth("lr"),y;y=Math.max(Math.min(b.width||z+D+A+C,b.maxWidth||this.maxWidth),Math.max(b.minWidth||this.minWidth,p||0));if(b.prompt===true){w.setWidth(y-z-A-C)}if(b.progress===true||b.wait===true){o.setSize(y-z-A-C)}if(Ext.isIE&&y==p){y+=4}m.update(B||" ");v.setSize(y,"auto").center();return this},updateProgress:function(z,y,A){o.updateProgress(z,y);if(A){this.updateText(A)}return this},isVisible:function(){return v&&v.isVisible()},hide:function(){var y=v?v.activeGhost:null;if(this.isVisible()||y){v.hide();x();if(y){v.unghost(false,false)}}return this},show:function(B){if(this.isVisible()){this.hide()}b=B;var C=this.getDialog(b.title||" ");C.setTitle(b.title||" ");var y=(b.closable!==false&&b.progress!==true&&b.wait!==true);C.tools.close.setDisplayed(y);w=t;b.prompt=b.prompt||(b.multiline?true:false);if(b.prompt){if(b.multiline){t.hide();a.show();a.setHeight(Ext.isNumber(b.multiline)?b.multiline:this.defaultTextHeight);w=a}else{t.show();a.hide()}}else{t.hide();a.hide()}w.dom.value=b.value||"";if(b.prompt){C.focusEl=w}else{var A=b.buttons;var z=null;if(A&&A.ok){z=s.ok}else{if(A&&A.yes){z=s.yes}}if(z){C.focusEl=z}}if(Ext.isDefined(b.iconCls)){C.setIconClass(b.iconCls)}this.setIcon(Ext.isDefined(b.icon)?b.icon:i);p=l(b.buttons);o.setVisible(b.progress===true||b.wait===true);this.updateProgress(0,b.progressText);this.updateText(b.msg);if(b.cls){C.el.addClass(b.cls)}C.proxyDrag=b.proxyDrag===true;C.modal=b.modal!==false;C.mask=b.modal!==false?r:false;if(!C.isVisible()){document.body.appendChild(v.el.dom);C.setAnimateTarget(b.animEl);C.on("show",function(){if(y===true){C.keyMap.enable()}else{C.keyMap.disable()}},this,{single:true});C.show(b.animEl)}if(b.wait===true){o.wait(b.waitConfig)}return this},setIcon:function(y){if(!v){i=y;return}i=undefined;if(y&&y!=""){k.removeClass("x-hidden");k.replaceClass(d,y);h.addClass("x-dlg-icon");d=y}else{k.replaceClass(d,"x-hidden");h.removeClass("x-dlg-icon");d=""}return this},progress:function(A,z,y){this.show({title:A,msg:z,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:y});return this},wait:function(A,z,y){this.show({title:z,msg:A,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:y});return this},alert:function(B,A,z,y){this.show({title:B,msg:A,buttons:this.OK,fn:z,scope:y,minWidth:this.minWidth});return this},confirm:function(B,A,z,y){this.show({title:B,msg:A,buttons:this.YESNO,fn:z,scope:y,icon:this.QUESTION,minWidth:this.minWidth});return this},prompt:function(D,C,A,z,y,B){this.show({title:D,msg:C,buttons:this.OKCANCEL,fn:A,minWidth:this.minPromptWidth,scope:z,prompt:true,multiline:y,value:B});return this},OK:{ok:true},CANCEL:{cancel:true},OKCANCEL:{ok:true,cancel:true},YESNO:{yes:true,no:true},YESNOCANCEL:{yes:true,no:true,cancel:true},INFO:"ext-mb-info",WARNING:"ext-mb-warning",QUESTION:"ext-mb-question",ERROR:"ext-mb-error",defaultTextHeight:75,maxWidth:600,minWidth:100,minProgressWidth:250,minPromptWidth:250,buttonText:{ok:"OK",cancel:"Cancel",yes:"Yes",no:"No"}}}();Ext.Msg=Ext.MessageBox;Ext.dd.PanelProxy=Ext.extend(Object,{constructor:function(a,b){this.panel=a;this.id=this.panel.id+"-ddproxy";Ext.apply(this,b)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){if(this.ghost){if(this.proxy){this.proxy.remove();delete this.proxy}this.panel.el.dom.style.display="";this.ghost.remove();delete this.ghost}},show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(this.panel.initialConfig.cls,undefined,Ext.getBody());this.ghost.setXY(this.panel.el.getXY());if(this.insertProxy){this.proxy=this.panel.el.insertSibling({cls:"x-panel-dd-spacer"});this.proxy.setSize(this.panel.getSize())}this.panel.el.dom.style.display="none"}},repair:function(b,c,a){this.hide();if(typeof c=="function"){c.call(a||this)}},moveProxy:function(a,b){if(this.proxy){a.insertBefore(this.proxy.dom,b)}}});Ext.Panel.DD=Ext.extend(Ext.dd.DragSource,{constructor:function(b,a){this.panel=b;this.dragData={panel:b};this.proxy=new Ext.dd.PanelProxy(b,a);Ext.Panel.DD.superclass.constructor.call(this,b.el,a);var d=b.header,c=b.body;if(d){this.setHandleElId(d.id);c=b.header}c.setStyle("cursor","move");this.scroll=false},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(a,b){this.proxy.show()},b4MouseDown:function(b){var a=b.getPageX(),c=b.getPageY();this.autoOffset(a,c)},onInitDrag:function(a,b){this.onStartDrag(a,b);return true},createFrame:Ext.emptyFn,getDragEl:function(a){return this.proxy.ghost.dom},endDrag:function(a){this.proxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)}});Ext.state.Provider=Ext.extend(Ext.util.Observable,{constructor:function(){this.addEvents("statechange");this.state={};Ext.state.Provider.superclass.constructor.call(this)},get:function(b,a){return typeof this.state[b]=="undefined"?a:this.state[b]},clear:function(a){delete this.state[a];this.fireEvent("statechange",this,a,null)},set:function(a,b){this.state[a]=b;this.fireEvent("statechange",this,a,b)},decodeValue:function(b){var e=/^(a|n|d|b|s|o|e)\:(.*)$/,h=e.exec(unescape(b)),d,c,a,g;if(!h||!h[1]){return}c=h[1];a=h[2];switch(c){case"e":return null;case"n":return parseFloat(a);case"d":return new Date(Date.parse(a));case"b":return(a=="1");case"a":d=[];if(a!=""){Ext.each(a.split("^"),function(i){d.push(this.decodeValue(i))},this)}return d;case"o":d={};if(a!=""){Ext.each(a.split("^"),function(i){g=i.split("=");d[g[0]]=this.decodeValue(g[1])},this)}return d;default:return a}},encodeValue:function(c){var b,g="",e=0,a,d;if(c==null){return"e:1"}else{if(typeof c=="number"){b="n:"+c}else{if(typeof c=="boolean"){b="b:"+(c?"1":"0")}else{if(Ext.isDate(c)){b="d:"+c.toGMTString()}else{if(Ext.isArray(c)){for(a=c.length;e-1){var e=this.isSelected(b),c=this.all.elements[b],d=this.bufferRender([a],b)[0];this.all.replaceElement(b,d,true);if(e){this.selected.replaceElement(c,d);this.all.item(b).addClass(this.selectedClass)}this.updateIndexes(b,b)}},onAdd:function(g,d,e){if(this.all.getCount()===0){this.refresh();return}var c=this.bufferRender(d,e),h,b=this.all.elements;if(e0){if(!b){this.selected.removeClass(this.selectedClass)}this.selected.clear();this.last=false;if(!a){this.fireEvent("selectionchange",this,this.selected.elements)}}},isSelected:function(a){return this.selected.contains(this.getNode(a))},deselect:function(a){if(this.isSelected(a)){a=this.getNode(a);this.selected.removeElement(a);if(this.last==a.viewIndex){this.last=false}Ext.fly(a).removeClass(this.selectedClass);this.fireEvent("selectionchange",this,this.selected.elements)}},select:function(d,g,b){if(Ext.isArray(d)){if(!g){this.clearSelections(true)}for(var c=0,a=d.length;c=a&&d[c];c--){b.push(d[c])}}return b},indexOf:function(a){a=this.getNode(a);if(Ext.isNumber(a.viewIndex)){return a.viewIndex}return this.all.indexOf(a)},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);this.getTemplateTarget().update('
'+this.loadingText+"
");this.all.clear()}},onDestroy:function(){this.all.clear();this.selected.clear();Ext.DataView.superclass.onDestroy.call(this);this.bindStore(null)}});Ext.DataView.prototype.setStore=Ext.DataView.prototype.bindStore;Ext.reg("dataview",Ext.DataView);Ext.list.ListView=Ext.extend(Ext.DataView,{itemSelector:"dl",selectedClass:"x-list-selected",overClass:"x-list-over",scrollOffset:undefined,columnResize:true,columnSort:true,maxColumnWidth:Ext.isIE?99:100,initComponent:function(){if(this.columnResize){this.colResizer=new Ext.list.ColumnResizer(this.colResizer);this.colResizer.init(this)}if(this.columnSort){this.colSorter=new Ext.list.Sorter(this.columnSort);this.colSorter.init(this)}if(!this.internalTpl){this.internalTpl=new Ext.XTemplate('
','','
',"{header}","
","
",'
',"
",'
',"
")}if(!this.tpl){this.tpl=new Ext.XTemplate('',"
",'','
',' class="{cls}">',"{[values.tpl.apply(parent)]}","
","
",'
',"
","
")}var l=this.columns,h=0,k=0,m=l.length,b=[];for(var g=0;gthis.maxColumnWidth){n.width-=(h-this.maxColumnWidth)/100}k++}b.push(n)}l=this.columns=b;if(k10)){b.style.width=d;g.style.width=d}else{b.style.width=c+"px";g.style.width=c+"px";setTimeout(function(){if((a.offsetWidth-a.clientWidth)>10){b.style.width=d;g.style.width=d}},10)}}if(Ext.isNumber(e)){a.style.height=Math.max(0,e-g.parentNode.offsetHeight)+"px"}},updateIndexes:function(){Ext.list.ListView.superclass.updateIndexes.apply(this,arguments);this.verifyInternalSize()},findHeaderIndex:function(g){g=g.dom||g;var a=g.parentNode,d=a.parentNode.childNodes,b=0,e;for(;e=d[b];b++){if(e==a){return b}}return -1},setHdWidths:function(){var d=this.innerHd.dom.getElementsByTagName("div"),c=0,b=this.columns,a=b.length;for(;c','','{text}',"");d.disableFormats=true;d.compile();Ext.TabPanel.prototype.itemTpl=d}this.items.each(this.initTab,this)},afterRender:function(){Ext.TabPanel.superclass.afterRender.call(this);if(this.autoTabs){this.readTabs(false)}if(this.activeTab!==undefined){var a=Ext.isObject(this.activeTab)?this.activeTab:this.items.get(this.activeTab);delete this.activeTab;this.setActiveTab(a)}},initEvents:function(){Ext.TabPanel.superclass.initEvents.call(this);this.mon(this.strip,{scope:this,mousedown:this.onStripMouseDown,contextmenu:this.onStripContextMenu});if(this.enableTabScroll){this.mon(this.strip,"mousewheel",this.onWheel,this)}},findTargets:function(c){var b=null,a=c.getTarget("li:not(.x-tab-edge)",this.strip);if(a){b=this.getComponent(a.id.split(this.idDelimiter)[1]);if(b.disabled){return{close:null,item:null,el:null}}}return{close:c.getTarget(".x-tab-strip-close",this.strip),item:b,el:a}},onStripMouseDown:function(b){if(b.button!==0){return}b.preventDefault();var a=this.findTargets(b);if(a.close){if(a.item.fireEvent("beforeclose",a.item)!==false){a.item.fireEvent("close",a.item);this.remove(a.item)}return}if(a.item&&a.item!=this.activeTab){this.setActiveTab(a.item)}},onStripContextMenu:function(b){b.preventDefault();var a=this.findTargets(b);if(a.item){this.fireEvent("contextmenu",this,a.item,b)}},readTabs:function(d){if(d===true){this.items.each(function(h){this.remove(h)},this)}var c=this.el.query(this.autoTabSelector);for(var b=0,a=c.length;b0){this.setActiveTab(0)}else{this.setActiveTab(null)}}}if(!this.destroying){this.delegateUpdates()}},onBeforeShowItem:function(a){if(a!=this.activeTab){this.setActiveTab(a);return false}},onItemDisabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).addClass("x-item-disabled")}this.stack.remove(b)},onItemEnabled:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).removeClass("x-item-disabled")}},onItemTitleChanged:function(b){var a=this.getTabEl(b);if(a){Ext.fly(a).child("span.x-tab-strip-text",true).innerHTML=b.title}},onItemIconChanged:function(d,a,c){var b=this.getTabEl(d);if(b){b=Ext.get(b);b.child("span.x-tab-strip-text").replaceClass(c,a);b[Ext.isEmpty(a)?"removeClass":"addClass"]("x-tab-with-icon")}},getTabEl:function(a){var b=this.getComponent(a);return b?b.tabEl:null},onResize:function(){Ext.TabPanel.superclass.onResize.apply(this,arguments);this.delegateUpdates()},beginUpdate:function(){this.suspendUpdates=true},endUpdate:function(){this.suspendUpdates=false;this.delegateUpdates()},hideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="none";this.delegateUpdates()}this.stack.remove(b)},unhideTabStripItem:function(b){b=this.getComponent(b);var a=this.getTabEl(b);if(a){a.style.display="";this.delegateUpdates()}},delegateUpdates:function(){var a=this.rendered;if(this.suspendUpdates){return}if(this.resizeTabs&&a){this.autoSizeTabs()}if(this.enableTabScroll&&a){this.autoScrollTabs()}},autoSizeTabs:function(){var h=this.items.length,b=this.tabPosition!="bottom"?"header":"footer",c=this[b].dom.offsetWidth,a=this[b].dom.clientWidth;if(!this.resizeTabs||h<1||!a){return}var l=Math.max(Math.min(Math.floor((a-4)/h)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=l;var n=this.strip.query("li:not(.x-tab-edge)");for(var e=0,k=n.length;e20?c:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(i>(a-c)){e.scrollLeft=a-c}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){this.pos.addClass("x-tab-scrolling-"+this.tabPosition);var c=this.stripWrap.dom.offsetHeight;var a=this.pos.insertFirst({cls:"x-tab-scroller-left"});a.setHeight(c);a.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=a;var b=this.pos.insertFirst({cls:"x-tab-scroller-right"});b.setHeight(c);b.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=b},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom.scrollLeft,10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom.clientWidth,10)||0},getScrollAnim:function(){return{duration:this.scrollDuration,callback:this.updateScrollButtons,scope:this}},getScrollIncrement:function(){return this.scrollIncrement||(this.resizeTabs?this.lastTabWidth+2:100)},scrollToTab:function(e,a){if(!e){return}var c=this.getTabEl(e),h=this.getScrollPos(),d=this.getScrollArea(),g=Ext.fly(c).getOffsetsTo(this.stripWrap)[0]+h,b=g+c.offsetWidth;if(g(h+d)){this.scrollTo(b-d,a)}}},scrollTo:function(b,a){this.stripWrap.scrollTo("left",b,a?this.getScrollAnim():false);if(!a){this.updateScrollButtons()}},onWheel:function(g){var h=g.getWheelDelta()*this.wheelIncrement*-1;g.stopEvent();var i=this.getScrollPos(),c=i+h,a=this.getScrollWidth()-this.getScrollArea();var b=Math.max(0,Math.min(a,c));if(b!=i){this.scrollTo(b,false)}},onScrollRight:function(){var a=this.getScrollWidth()-this.getScrollArea(),c=this.getScrollPos(),b=Math.min(a,c+this.getScrollIncrement());if(b!=c){this.scrollTo(b,this.animScroll)}},onScrollLeft:function(){var b=this.getScrollPos(),a=Math.max(0,b-this.getScrollIncrement());if(a!=b){this.scrollTo(a,this.animScroll)}},updateScrollButtons:function(){var a=this.getScrollPos();this.scrollLeft[a===0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");this.scrollRight[a>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")},beforeDestroy:function(){Ext.destroy(this.leftRepeater,this.rightRepeater);this.deleteMembers("strip","edge","scrollLeft","scrollRight","stripWrap");this.activeTab=null;Ext.TabPanel.superclass.beforeDestroy.apply(this)}});Ext.reg("tabpanel",Ext.TabPanel);Ext.TabPanel.prototype.activate=Ext.TabPanel.prototype.setActiveTab;Ext.TabPanel.AccessStack=function(){var a=[];return{add:function(b){a.push(b);if(a.length>10){a.shift()}},remove:function(e){var d=[];for(var c=0,b=a.length;c','  ','  ','  ',"");Ext.Button.buttonTemplate.compile()}this.template=Ext.Button.buttonTemplate}var b,d=this.getTemplateArgs();if(a){b=this.template.insertBefore(a,d,true)}else{b=this.template.append(c,d,true)}this.btnEl=b.child(this.buttonSelector);this.mon(this.btnEl,{scope:this,focus:this.onFocus,blur:this.onBlur});this.initButtonEl(b,this.btnEl);Ext.ButtonToggleMgr.register(this)},initButtonEl:function(b,c){this.el=b;this.setIcon(this.icon);this.setText(this.text);this.setIconClass(this.iconCls);if(Ext.isDefined(this.tabIndex)){c.dom.tabIndex=this.tabIndex}if(this.tooltip){this.setTooltip(this.tooltip,true)}if(this.handleMouseEvents){this.mon(b,{scope:this,mouseover:this.onMouseOver,mousedown:this.onMouseDown})}if(this.menu){this.mon(this.menu,{scope:this,show:this.onMenuShow,hide:this.onMenuHide})}if(this.repeat){var a=new Ext.util.ClickRepeater(b,Ext.isObject(this.repeat)?this.repeat:{});this.mon(a,"click",this.onRepeatClick,this)}else{this.mon(b,this.clickEvent,this.onClick,this)}},afterRender:function(){Ext.Button.superclass.afterRender.call(this);this.useSetClass=true;this.setButtonClass();this.doc=Ext.getDoc();this.doAutoWidth()},setIconClass:function(a){this.iconCls=a;if(this.el){this.btnEl.dom.className="";this.btnEl.addClass(["x-btn-text",a||""]);this.setButtonClass()}return this},setTooltip:function(b,a){if(this.rendered){if(!a){this.clearTip()}if(Ext.isObject(b)){Ext.QuickTips.register(Ext.apply({target:this.btnEl.id},b));this.tooltip=b}else{this.btnEl.dom[this.tooltipType]=b}}else{this.tooltip=b}return this},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.QuickTips.unregister(this.btnEl)}},beforeDestroy:function(){if(this.rendered){this.clearTip()}if(this.menu&&this.destroyMenu!==false){Ext.destroy(this.btnEl,this.menu)}Ext.destroy(this.repeater)},onDestroy:function(){if(this.rendered){this.doc.un("mouseover",this.monitorMouseOver,this);this.doc.un("mouseup",this.onMouseUp,this);delete this.doc;delete this.btnEl;Ext.ButtonToggleMgr.unregister(this)}Ext.Button.superclass.onDestroy.call(this)},doAutoWidth:function(){if(this.autoWidth!==false&&this.el&&this.text&&this.width===undefined){this.el.setWidth("auto");if(Ext.isIE7&&Ext.isStrict){var a=this.btnEl;if(a&&a.getWidth()>20){a.clip();a.setWidth(Ext.util.TextMetrics.measure(a,this.text).width+a.getFrameWidth("lr"))}}if(this.minWidth){if(this.el.getWidth()a}else{return c.getPageY()>this.btnEl.getRegion().bottom}},onClick:function(b,a){b.preventDefault();if(!this.disabled){if(this.isClickOnArrow(b)){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()}this.fireEvent("arrowclick",this,b);if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,b)}}else{this.doToggle();this.fireEvent("click",this,b);if(this.handler){this.handler.call(this.scope||this,this,b)}}}},isMenuTriggerOver:function(a){return this.menu&&a.target.tagName==this.arrowSelector},isMenuTriggerOut:function(b,a){return this.menu&&b.target.tagName!=this.arrowSelector}});Ext.reg("splitbutton",Ext.SplitButton);Ext.CycleButton=Ext.extend(Ext.SplitButton,{getItemText:function(a){if(a&&this.showText===true){var b="";if(this.prependText){b+=this.prependText}b+=a.text;return b}return undefined},setActiveItem:function(c,a){if(!Ext.isObject(c)){c=this.menu.getComponent(c)}if(c){if(!this.rendered){this.text=this.getItemText(c);this.iconCls=c.iconCls}else{var b=this.getItemText(c);if(b){this.setText(b)}this.setIconClass(c.iconCls)}this.activeItem=c;if(!c.checked){c.setChecked(true,false)}if(this.forceIcon){this.setIconClass(this.forceIcon)}if(!a){this.fireEvent("change",this,c)}}},getActiveItem:function(){return this.activeItem},initComponent:function(){this.addEvents("change");if(this.changeHandler){this.on("change",this.changeHandler,this.scope||this);delete this.changeHandler}this.itemCount=this.items.length;this.menu={cls:"x-cycle-menu",items:[]};var a=0;Ext.each(this.items,function(c,b){Ext.apply(c,{group:c.group||this.id,itemIndex:b,checkHandler:this.checkHandler,scope:this,checked:c.checked||false});this.menu.items.push(c);if(c.checked){a=b}},this);Ext.CycleButton.superclass.initComponent.call(this);this.on("click",this.toggleSelected,this);this.setActiveItem(a,true)},checkHandler:function(a,b){if(b){this.setActiveItem(a)}},toggleSelected:function(){var a=this.menu;a.render();if(!a.hasLayout){a.doLayout()}var d,b;for(var c=1;c"){b=new a.Fill()}else{b=new a.TextItem(b)}}}this.applyDefaults(b)}else{if(b.isFormField||b.render){b=this.createComponent(b)}else{if(b.tag){b=new a.Item({autoEl:b})}else{if(b.tagName){b=new a.Item({el:b})}else{if(Ext.isObject(b)){b=b.xtype?this.createComponent(b):this.constructButton(b)}}}}}return b},applyDefaults:function(e){if(!Ext.isString(e)){e=Ext.Toolbar.superclass.applyDefaults.call(this,e);var b=this.internalDefaults;if(e.events){Ext.applyIf(e.initialConfig,b);Ext.apply(e,b)}else{Ext.applyIf(e,b)}}return e},addSeparator:function(){return this.add(new a.Separator())},addSpacer:function(){return this.add(new a.Spacer())},addFill:function(){this.add(new a.Fill())},addElement:function(b){return this.addItem(new a.Item({el:b}))},addItem:function(b){return this.add.apply(this,arguments)},addButton:function(c){if(Ext.isArray(c)){var e=[];for(var d=0,b=c.length;d");this.items.push(this.displayItem=new a.TextItem({}))}Ext.PagingToolbar.superclass.initComponent.call(this);this.addEvents("change","beforechange");this.on("afterlayout",this.onFirstLayout,this,{single:true});this.cursor=0;this.bindStore(this.store,true)},onFirstLayout:function(){if(this.dsLoaded){this.onLoad.apply(this,this.dsLoaded)}},updateInfo:function(){if(this.displayItem){var b=this.store.getCount();var c=b==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+b,this.store.getTotalCount());this.displayItem.setText(c)}},onLoad:function(b,e,k){if(!this.rendered){this.dsLoaded=[b,e,k];return}var g=this.getParams();this.cursor=(k.params&&k.params[g.start])?k.params[g.start]:0;var i=this.getPageData(),c=i.activePage,h=i.pages;this.afterTextItem.setText(String.format(this.afterPageText,i.pages));this.inputItem.setValue(c);this.first.setDisabled(c==1);this.prev.setDisabled(c==1);this.next.setDisabled(c==h);this.last.setDisabled(c==h);this.refresh.enable();this.updateInfo();this.fireEvent("change",this,i)},getPageData:function(){var b=this.store.getTotalCount();return{total:b,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:b=1&g<=l.pages){i.setValue(g)}}}}}},getParams:function(){return this.paramNames||this.store.paramNames},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},doLoad:function(d){var c={},b=this.getParams();c[b.start]=d;c[b.limit]=this.pageSize;if(this.fireEvent("beforechange",this,c)!==false){this.store.load({params:c})}},moveFirst:function(){this.doLoad(0)},movePrevious:function(){this.doLoad(Math.max(0,this.cursor-this.pageSize))},moveNext:function(){this.doLoad(this.cursor+this.pageSize)},moveLast:function(){var c=this.store.getTotalCount(),b=c%this.pageSize;this.doLoad(b?(c-b):c-this.pageSize)},doRefresh:function(){this.doLoad(this.cursor)},bindStore:function(c,d){var b;if(!d&&this.store){if(c!==this.store&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.beforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.onLoadError,this)}if(!c){this.store=null}}if(c){c=Ext.StoreMgr.lookup(c);c.on({scope:this,beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError});b=true}this.store=c;if(b){this.onLoad(c,null,{})}},unbind:function(b){this.bindStore(null)},bind:function(b){this.bindStore(b)},onDestroy:function(){this.bindStore(null);Ext.PagingToolbar.superclass.onDestroy.call(this)}})})();Ext.reg("paging",Ext.PagingToolbar);Ext.History=(function(){var e,c;var l=false;var d;function g(){var m=location.href,n=m.indexOf("#");return n>=0?m.substr(n+1):null}function a(){c.value=d}function h(m){d=m;Ext.History.fireEvent("change",m)}function i(n){var m=['
',Ext.util.Format.htmlEncode(n),"
"].join("");try{var p=e.contentWindow.document;p.open();p.write(m);p.close();return true}catch(o){return false}}function b(){if(!e.contentWindow||!e.contentWindow.document){setTimeout(b,10);return}var p=e.contentWindow.document;var n=p.getElementById("state");var m=n?n.innerText:null;var o=g();setInterval(function(){p=e.contentWindow.document;n=p.getElementById("state");var r=n?n.innerText:null;var q=g();if(r!==m){m=r;h(m);top.location.hash=m;o=m;a()}else{if(q!==o){o=q;i(q)}}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}function k(){d=c.value?c.value:g();if(Ext.isIE){b()}else{var m=g();setInterval(function(){var n=g();if(n!==m){m=n;h(m);a()}},50);l=true;Ext.History.fireEvent("ready",Ext.History)}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(n,m){if(l){Ext.callback(n,m,[this]);return}if(!Ext.isReady){Ext.onReady(function(){Ext.History.init(n,m)});return}c=Ext.getDom(Ext.History.fieldId);if(Ext.isIE){e=Ext.getDom(Ext.History.iframeId)}this.addEvents("ready","change");if(n){this.on("ready",n,m,{single:true})}k()},add:function(m,n){if(n!==false){if(this.getToken()==m){return true}}if(Ext.isIE){return i(m)}else{top.location.hash=m;return true}},back:function(){history.go(-1)},forward:function(){history.go(1)},getToken:function(){return l?d:g()}}})();Ext.apply(Ext.History,new Ext.util.Observable());Ext.Tip=Ext.extend(Ext.Panel,{minWidth:40,maxWidth:300,shadow:"sides",defaultAlign:"tl-bl?",autoRender:true,quickShowInterval:250,frame:true,hidden:true,baseCls:"x-tip",floating:{shadow:true,shim:true,useDisplay:true,constrain:false},autoHeight:true,closeAction:"hide",initComponent:function(){Ext.Tip.superclass.initComponent.call(this);if(this.closable&&!this.title){this.elements+=",header"}},afterRender:function(){Ext.Tip.superclass.afterRender.call(this);if(this.closable){this.addTool({id:"close",handler:this[this.closeAction],scope:this})}},showAt:function(a){Ext.Tip.superclass.show.call(this);if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()}if(this.constrainPosition){a=this.el.adjustForConstraints(a)}this.setPagePosition(a[0],a[1])},doAutoWidth:function(a){a=a||0;var b=this.body.getTextWidth();if(this.title){b=Math.max(b,this.header.child("span").getTextWidth(this.title))}b+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr")+a;this.setWidth(b.constrain(this.minWidth,this.maxWidth));if(Ext.isIE7&&!this.repainted){this.el.repaint();this.repainted=true}},showBy:function(a,b){if(!this.rendered){this.render(Ext.getBody())}this.showAt(this.el.getAlignToXY(a,b||this.defaultAlign))},initDraggable:function(){this.dd=new Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);this.header.addClass("x-tip-draggable")}});Ext.reg("tip",Ext.Tip);Ext.Tip.DD=function(b,a){Ext.apply(this,a);this.tip=b;Ext.Tip.DD.superclass.constructor.call(this,b.el.id,"WindowDD-"+b.id);this.setHandleElId(b.header.id);this.scroll=false};Ext.extend(Ext.Tip.DD,Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()},endDrag:function(a){this.tip.el.enableShadow(true)}});Ext.ToolTip=Ext.extend(Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,trackMouse:false,anchorToTarget:true,anchorOffset:0,targetCounter:0,constrainPosition:false,initComponent:function(){Ext.ToolTip.superclass.initComponent.call(this);this.lastActive=new Date();this.initTarget(this.target);this.origAnchor=this.anchor},onRender:function(b,a){Ext.ToolTip.superclass.onRender.call(this,b,a);this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl=this.el.createChild({cls:"x-tip-anchor "+this.anchorCls})},afterRender:function(){Ext.ToolTip.superclass.afterRender.call(this);this.anchorEl.setStyle("z-index",this.el.getZIndex()+1).setVisibilityMode(Ext.Element.DISPLAY)},initTarget:function(c){var a;if((a=Ext.get(c))){if(this.target){var b=Ext.get(this.target);this.mun(b,"mouseover",this.onTargetOver,this);this.mun(b,"mouseout",this.onTargetOut,this);this.mun(b,"mousemove",this.onMouseMove,this)}this.mon(a,{mouseover:this.onTargetOver,mouseout:this.onTargetOut,mousemove:this.onMouseMove,scope:this});this.target=a}if(this.anchor){this.anchorTarget=this.target}},onMouseMove:function(b){var a=this.delegate?b.getTarget(this.delegate):this.triggerElement=true;if(a){this.targetXY=b.getXY();if(a===this.triggerElement){if(!this.hidden&&this.trackMouse){this.setPagePosition(this.getTargetXY())}}else{this.hide();this.lastActive=new Date(0);this.onTargetOver(b)}}else{if(!this.closable&&this.isVisible()){this.hide()}}},getTargetXY:function(){if(this.delegate){this.anchorTarget=this.triggerElement}if(this.anchor){this.targetCounter++;var c=this.getOffsets(),m=(this.anchorToTarget&&!this.trackMouse)?this.el.getAlignToXY(this.anchorTarget,this.getAnchorAlign()):this.targetXY,a=Ext.lib.Dom.getViewWidth()-5,h=Ext.lib.Dom.getViewHeight()-5,i=document.documentElement,e=document.body,l=(i.scrollLeft||e.scrollLeft||0)+5,k=(i.scrollTop||e.scrollTop||0)+5,b=[m[0]+c[0],m[1]+c[1]],g=this.getSize();this.anchorEl.removeClass(this.anchorCls);if(this.targetCounter<2){if(b[0]a){if(this.anchorToTarget){this.defaultAlign="r-l";if(this.mouseOffset){this.mouseOffset[0]*=-1}}this.anchor="right";return this.getTargetXY()}if(b[1]h){if(this.anchorToTarget){this.defaultAlign="b-t";if(this.mouseOffset){this.mouseOffset[1]*=-1}}this.anchor="bottom";return this.getTargetXY()}}this.anchorCls="x-tip-anchor-"+this.getAnchorPosition();this.anchorEl.addClass(this.anchorCls);this.targetCounter=0;return b}else{var d=this.getMouseOffset();return[this.targetXY[0]+d[0],this.targetXY[1]+d[1]]}},getMouseOffset:function(){var a=this.anchor?[0,0]:[15,18];if(this.mouseOffset){a[0]+=this.mouseOffset[0];a[1]+=this.mouseOffset[1]}return a},getAnchorPosition:function(){if(this.anchor){this.tipAnchor=this.anchor.charAt(0)}else{var a=this.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);if(!a){throw"AnchorTip.defaultAlign is invalid"}this.tipAnchor=a[1].charAt(0)}switch(this.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var b,a=this.getAnchorPosition().charAt(0);if(this.anchorToTarget&&!this.trackMouse){switch(a){case"t":b=[0,9];break;case"b":b=[0,-13];break;case"r":b=[-13,0];break;default:b=[9,0];break}}else{switch(a){case"t":b=[-15-this.anchorOffset,30];break;case"b":b=[-19-this.anchorOffset,-13-this.el.dom.offsetHeight];break;case"r":b=[-15-this.el.dom.offsetWidth,-13-this.anchorOffset];break;default:b=[25,-13-this.anchorOffset];break}}var c=this.getMouseOffset();b[0]+=c[0];b[1]+=c[1];return b},onTargetOver:function(b){if(this.disabled||b.within(this.target.dom,true)){return}var a=b.getTarget(this.delegate);if(a){this.triggerElement=a;this.clearTimer("hide");this.targetXY=b.getXY();this.delayShow()}},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()=c){d=c-b-5}}return{x:a,y:d}},beforeDestroy:function(){this.clearTimers();Ext.destroy(this.anchorEl);delete this.anchorEl;delete this.target;delete this.anchorTarget;delete this.triggerElement;Ext.ToolTip.superclass.beforeDestroy.call(this)},onDestroy:function(){Ext.getDoc().un("mousedown",this.onDocMouseDown,this);Ext.ToolTip.superclass.onDestroy.call(this)}});Ext.reg("tooltip",Ext.ToolTip);Ext.QuickTip=Ext.extend(Ext.ToolTip,{interceptTitles:false,tagConfig:{namespace:"ext",attribute:"qtip",width:"qwidth",target:"target",title:"qtitle",hide:"hide",cls:"qclass",align:"qalign",anchor:"anchor"},initComponent:function(){this.target=this.target||Ext.getDoc();this.targets=this.targets||{};Ext.QuickTip.superclass.initComponent.call(this)},register:function(e){var h=Ext.isArray(e)?e:arguments;for(var g=0,a=h.length;g1){var d=function(i,h){if(i&&h){var k=h.findChild(a,b);if(k){k.select();if(g){g(true,k)}}else{if(g){g(false,k)}}}else{if(g){g(false,k)}}};this.expandPath(c.join(this.pathSeparator),a,d)}else{this.root.select();if(g){g(true,this.root)}}},getTreeEl:function(){return this.body},onRender:function(b,a){Ext.tree.TreePanel.superclass.onRender.call(this,b,a);this.el.addClass("x-tree");this.innerCt=this.body.createChild({tag:"ul",cls:"x-tree-root-ct "+(this.useArrows?"x-tree-arrows":this.lines?"x-tree-lines":"x-tree-no-lines")})},initEvents:function(){Ext.tree.TreePanel.superclass.initEvents.call(this);if(this.containerScroll){Ext.dd.ScrollManager.register(this.body)}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})}this.getSelectionModel().init(this)},afterRender:function(){Ext.tree.TreePanel.superclass.afterRender.call(this);this.renderRoot()},beforeDestroy:function(){if(this.rendered){Ext.dd.ScrollManager.unregister(this.body);Ext.destroy(this.dropZone,this.dragZone)}this.destroyRoot();Ext.destroy(this.loader);this.nodeHash=this.root=this.loader=null;Ext.tree.TreePanel.superclass.beforeDestroy.call(this)},destroyRoot:function(){if(this.root&&this.root.destroy){this.root.destroy(true)}}});Ext.tree.TreePanel.nodeTypes={};Ext.reg("treepanel",Ext.tree.TreePanel);Ext.tree.TreeEventModel=function(a){this.tree=a;this.tree.on("render",this.initEvents,this)};Ext.tree.TreeEventModel.prototype={initEvents:function(){var a=this.tree;if(a.trackMouseOver!==false){a.mon(a.innerCt,{scope:this,mouseover:this.delegateOver,mouseout:this.delegateOut})}a.mon(a.getTreeEl(),{scope:this,click:this.delegateClick,dblclick:this.delegateDblClick,contextmenu:this.delegateContextMenu})},getNode:function(b){var a;if(a=b.getTarget(".x-tree-node-el",10)){var c=Ext.fly(a,"_treeEvents").getAttribute("tree-node-id","ext");if(c){return this.tree.getNodeById(c)}}return null},getNodeTarget:function(b){var a=b.getTarget(".x-tree-node-icon",1);if(!a){a=b.getTarget(".x-tree-node-el",6)}return a},delegateOut:function(b,a){if(!this.beforeEvent(b)){return}if(b.getTarget(".x-tree-ec-icon",1)){var c=this.getNode(b);this.onIconOut(b,c);if(c==this.lastEcOver){delete this.lastEcOver}}if((a=this.getNodeTarget(b))&&!b.within(a,true)){this.onNodeOut(b,this.getNode(b))}},delegateOver:function(b,a){if(!this.beforeEvent(b)){return}if(Ext.isGecko&&!this.trackingDoc){Ext.getBody().on("mouseover",this.trackExit,this);this.trackingDoc=true}if(this.lastEcOver){this.onIconOut(b,this.lastEcOver);delete this.lastEcOver}if(b.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(b);this.onIconOver(b,this.lastEcOver)}if(a=this.getNodeTarget(b)){this.onNodeOver(b,this.getNode(b))}},trackExit:function(a){if(this.lastOverNode){if(this.lastOverNode.ui&&!a.within(this.lastOverNode.ui.getEl())){this.onNodeOut(a,this.lastOverNode)}delete this.lastOverNode;Ext.getBody().un("mouseover",this.trackExit,this);this.trackingDoc=false}},delegateClick:function(b,a){if(this.beforeEvent(b)){if(b.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(b,this.getNode(b))}else{if(b.getTarget(".x-tree-ec-icon",1)){this.onIconClick(b,this.getNode(b))}else{if(this.getNodeTarget(b)){this.onNodeClick(b,this.getNode(b))}}}}else{this.checkContainerEvent(b,"click")}},delegateDblClick:function(b,a){if(this.beforeEvent(b)){if(this.getNodeTarget(b)){this.onNodeDblClick(b,this.getNode(b))}}else{this.checkContainerEvent(b,"dblclick")}},delegateContextMenu:function(b,a){if(this.beforeEvent(b)){if(this.getNodeTarget(b)){this.onNodeContextMenu(b,this.getNode(b))}}else{this.checkContainerEvent(b,"contextmenu")}},checkContainerEvent:function(b,a){if(this.disabled){b.stopEvent();return false}this.onContainerEvent(b,a)},onContainerEvent:function(b,a){this.tree.fireEvent("container"+a,this.tree,b)},onNodeClick:function(b,a){a.ui.onClick(b)},onNodeOver:function(b,a){this.lastOverNode=a;a.ui.onOver(b)},onNodeOut:function(b,a){a.ui.onOut(b)},onIconOver:function(b,a){a.ui.addClass("x-tree-ec-over")},onIconOut:function(b,a){a.ui.removeClass("x-tree-ec-over")},onIconClick:function(b,a){a.ui.ecClick(b)},onCheckboxClick:function(b,a){a.ui.onCheckChange(b)},onNodeDblClick:function(b,a){a.ui.onDblClick(b)},onNodeContextMenu:function(b,a){a.ui.onContextMenu(b)},beforeEvent:function(b){var a=this.getNode(b);if(this.disabled||!a||!a.ui){b.stopEvent();return false}return true},disable:function(){this.disabled=true},enable:function(){this.disabled=false}};Ext.tree.DefaultSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(a){this.selNode=null;this.addEvents("selectionchange","beforeselect");Ext.apply(this,a);Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)},init:function(a){this.tree=a;a.mon(a.getTreeEl(),"keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){this.select(a)},select:function(c,a){if(!Ext.fly(c.ui.wrap).isVisible()&&a){return a.call(this,c)}var b=this.selNode;if(c==b){c.ui.onSelectedChange(true)}else{if(this.fireEvent("beforeselect",this,c,b)!==false){if(b&&b.ui){b.ui.onSelectedChange(false)}this.selNode=c;c.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,c,b)}}return c},unselect:function(b,a){if(this.selNode==b){this.clearSelections(a)}},clearSelections:function(a){var b=this.selNode;if(b){b.ui.onSelectedChange(false);this.selNode=null;if(a!==true){this.fireEvent("selectionchange",this,null)}}return b},getSelectedNode:function(){return this.selNode},isSelected:function(a){return this.selNode==a},selectPrevious:function(a){if(!(a=a||this.selNode||this.lastSelNode)){return null}var c=a.previousSibling;if(c){if(!c.isExpanded()||c.childNodes.length<1){return this.select(c,this.selectPrevious)}else{var b=c.lastChild;while(b&&b.isExpanded()&&Ext.fly(b.ui.wrap).isVisible()&&b.childNodes.length>0){b=b.lastChild}return this.select(b,this.selectPrevious)}}else{if(a.parentNode&&(this.tree.rootVisible||!a.parentNode.isRoot)){return this.select(a.parentNode,this.selectPrevious)}}return null},selectNext:function(b){if(!(b=b||this.selNode||this.lastSelNode)){return null}if(b.firstChild&&b.isExpanded()&&Ext.fly(b.ui.wrap).isVisible()){return this.select(b.firstChild,this.selectNext)}else{if(b.nextSibling){return this.select(b.nextSibling,this.selectNext)}else{if(b.parentNode){var a=null;b.parentNode.bubble(function(){if(this.nextSibling){a=this.getOwnerTree().selModel.select(this.nextSibling,this.selectNext);return false}});return a}}}return null},onKeyDown:function(c){var b=this.selNode||this.lastSelNode;var d=this;if(!b){return}var a=c.getKey();switch(a){case c.DOWN:c.stopEvent();this.selectNext();break;case c.UP:c.stopEvent();this.selectPrevious();break;case c.RIGHT:c.preventDefault();if(b.hasChildNodes()){if(!b.isExpanded()){b.expand()}else{if(b.firstChild){this.select(b.firstChild,c)}}}break;case c.LEFT:c.preventDefault();if(b.hasChildNodes()&&b.isExpanded()){b.collapse()}else{if(b.parentNode&&(this.tree.rootVisible||b.parentNode!=this.tree.getRootNode())){this.select(b.parentNode,c)}}break}}});Ext.tree.MultiSelectionModel=Ext.extend(Ext.util.Observable,{constructor:function(a){this.selNodes=[];this.selMap={};this.addEvents("selectionchange");Ext.apply(this,a);Ext.tree.MultiSelectionModel.superclass.constructor.call(this)},init:function(a){this.tree=a;a.mon(a.getTreeEl(),"keydown",this.onKeyDown,this);a.on("click",this.onNodeClick,this)},onNodeClick:function(a,b){if(b.ctrlKey&&this.isSelected(a)){this.unselect(a)}else{this.select(a,b,b.ctrlKey)}},select:function(a,c,b){if(b!==true){this.clearSelections(true)}if(this.isSelected(a)){this.lastSelNode=a;return a}this.selNodes.push(a);this.selMap[a.id]=a;this.lastSelNode=a;a.ui.onSelectedChange(true);this.fireEvent("selectionchange",this,this.selNodes);return a},unselect:function(b){if(this.selMap[b.id]){b.ui.onSelectedChange(false);var c=this.selNodes;var a=c.indexOf(b);if(a!=-1){this.selNodes.splice(a,1)}delete this.selMap[b.id];this.fireEvent("selectionchange",this,this.selNodes)}},clearSelections:function(b){var d=this.selNodes;if(d.length>0){for(var c=0,a=d.length;c0},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()},appendChild:function(e){var g=false;if(Ext.isArray(e)){g=e}else{if(arguments.length>1){g=arguments}}if(g){for(var d=0,a=g.length;d0){var g=d?function(){e.apply(d,arguments)}:e;c.sort(g);for(var b=0;b
','',this.indentMarkup,"",'','',g?('':"/>")):"",'',e.text,"
",'',""].join("");if(m!==true&&e.nextSibling&&(b=e.nextSibling.ui.getEl())){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",b,d)}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",k,d)}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var i=this.elNode.childNodes;this.indentNode=i[0];this.ecNode=i[1];this.iconNode=i[2];var h=3;if(g){this.checkbox=i[3];this.checkbox.defaultChecked=this.checkbox.checked;h++}this.anchor=i[h];this.textNode=i[h].firstChild},getHref:function(a){return Ext.isEmpty(a)?(Ext.isGecko?"":"#"):a},getAnchor:function(){return this.anchor},getTextEl:function(){return this.textNode},getIconEl:function(){return this.iconNode},isChecked:function(){return this.checkbox?this.checkbox.checked:false},updateExpandIcon:function(){if(this.rendered){var g=this.node,d,c,a=g.isLast()?"x-tree-elbow-end":"x-tree-elbow",e=g.hasChildNodes();if(e||g.attributes.expandable){if(g.expanded){a+="-minus";d="x-tree-node-collapsed";c="x-tree-node-expanded"}else{a+="-plus";d="x-tree-node-expanded";c="x-tree-node-collapsed"}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");this.wasLeaf=false}if(this.c1!=d||this.c2!=c){Ext.fly(this.elNode).replaceClass(d,c);this.c1=d;this.c2=c}}else{if(!this.wasLeaf){Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-collapsed");delete this.c1;delete this.c2;this.wasLeaf=true}}var b="x-tree-ec-icon "+a;if(this.ecc!=b){this.ecNode.className=b;this.ecc=b}}},onIdChange:function(a){if(this.rendered){this.elNode.setAttribute("ext:tree-node-id",a)}},getChildIndent:function(){if(!this.childIndent){var a=[],b=this.node;while(b){if(!b.isRoot||(b.isRoot&&b.ownerTree.rootVisible)){if(!b.isLast()){a.unshift('')}else{a.unshift('')}}b=b.parentNode}this.childIndent=a.join("")}return this.childIndent},renderIndent:function(){if(this.rendered){var a="",b=this.node.parentNode;if(b){a=b.ui.getChildIndent()}if(this.indentMarkup!=a){this.indentNode.innerHTML=a;this.indentMarkup=a}this.updateExpandIcon()}},destroy:function(){if(this.elNode){Ext.dd.Registry.unregister(this.elNode.id)}Ext.each(["textnode","anchor","checkbox","indentNode","ecNode","iconNode","elNode","ctNode","wrap","holder"],function(a){if(this[a]){Ext.fly(this[a]).remove();delete this[a]}},this);delete this.node}});Ext.tree.RootTreeNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var a=this.node.ownerTree.innerCt.dom;this.node.expanded=true;a.innerHTML='
';this.wrap=this.ctNode=a.firstChild}},collapse:Ext.emptyFn,expand:Ext.emptyFn});Ext.tree.TreeLoader=function(a){this.baseParams={};Ext.apply(this,a);this.addEvents("beforeload","load","loadexception");Ext.tree.TreeLoader.superclass.constructor.call(this);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}};Ext.extend(Ext.tree.TreeLoader,Ext.util.Observable,{uiProviders:{},clearOnLoad:true,paramOrder:undefined,paramsAsHash:false,nodeParameter:"node",directFn:undefined,load:function(b,c,a){if(this.clearOnLoad){while(b.firstChild){b.removeChild(b.firstChild)}}if(this.doPreload(b)){this.runCallback(c,a||b,[b])}else{if(this.directFn||this.dataUrl||this.url){this.requestData(b,c,a||b)}}},doPreload:function(d){if(d.attributes.children){if(d.childNodes.length<1){var c=d.attributes.children;d.beginUpdate();for(var b=0,a=c.length;b-1){c=[]}for(var d=0,a=b.length;dv2){return c?-1:1}}return 0}},doSort:function(a){a.sort(this.sortFn)},updateSort:function(a,b){if(b.childrenRendered){this.doSort.defer(1,this,[b])}},updateSortParent:function(a){var b=a.parentNode;if(b&&b.childrenRendered){this.doSort.defer(1,this,[b])}}});if(Ext.dd.DropZone){Ext.tree.TreeDropZone=function(a,b){this.allowParentInsert=b.allowParentInsert||false;this.allowContainerDrop=b.allowContainerDrop||false;this.appendOnly=b.appendOnly||false;Ext.tree.TreeDropZone.superclass.constructor.call(this,a.getTreeEl(),b);this.tree=a;this.dragOverData={};this.lastInsertClass="x-tree-no-status"};Ext.extend(Ext.tree.TreeDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(a){if(a.hasChildNodes()&&!a.isExpanded()){a.expand(false,null,this.triggerCacheRefresh.createDelegate(this))}},queueExpand:function(a){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[a])},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);this.expandProcId=false}},isValidDropPoint:function(a,l,i,d,c){if(!a||!c){return false}var g=a.node;var h=c.node;if(!(g&&g.isTarget&&l)){return false}if(l=="append"&&g.allowChildren===false){return false}if((l=="above"||l=="below")&&(g.parentNode&&g.parentNode.allowChildren===false)){return false}if(h&&(g==h||h.contains(g))){return false}var b=this.dragOverData;b.tree=this.tree;b.target=g;b.data=c;b.point=l;b.source=i;b.rawEvent=d;b.dropNode=h;b.cancel=false;var k=this.tree.fireEvent("nodedragover",b);return b.cancel===false&&k!==false},getDropPoint:function(h,g,m){var o=g.node;if(o.isRoot){return o.allowChildren!==false?"append":false}var c=g.ddel;var p=Ext.lib.Dom.getY(c),k=p+c.offsetHeight;var i=Ext.lib.Event.getPageY(h);var l=o.allowChildren===false||o.isLeaf();if(this.appendOnly||o.parentNode.allowChildren===false){return l?false:"append"}var d=false;if(!this.allowParentInsert){d=o.hasChildNodes()&&o.isExpanded()}var a=(k-p)/(l?2:3);if(i>=p&&i<(p+a)){return"above"}else{if(!d&&(l||i>=k-a&&i<=k)){return"below"}else{return"append"}}},onNodeEnter:function(d,a,c,b){this.cancelExpand()},onContainerOver:function(a,c,b){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",a,c,b)){return this.dropAllowed}return this.dropNotAllowed},onNodeOver:function(b,i,h,g){var l=this.getDropPoint(h,b,i);var c=b.node;if(!this.expandProcId&&l=="append"&&c.hasChildNodes()&&!b.node.isExpanded()){this.queueExpand(c)}else{if(l!="append"){this.cancelExpand()}}var d=this.dropNotAllowed;if(this.isValidDropPoint(b,l,i,h,g)){if(l){var a=b.ddel;var k;if(l=="above"){d=b.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";k="x-tree-drag-insert-above"}else{if(l=="below"){d=b.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";k="x-tree-drag-insert-below"}else{d="x-tree-drop-ok-append";k="x-tree-drag-append"}}if(this.lastInsertClass!=k){Ext.fly(a).replaceClass(this.lastInsertClass,k);this.lastInsertClass=k}}}return d},onNodeOut:function(d,a,c,b){this.cancelExpand();this.removeDropIndicators(d)},onNodeDrop:function(i,b,h,d){var a=this.getDropPoint(h,i,b);var g=i.node;g.ui.startDrop();if(!this.isValidDropPoint(i,a,b,h,d)){g.ui.endDrop();return false}var c=d.node||(b.getTreeNode?b.getTreeNode(d,g,a,h):null);return this.processDrop(g,d,a,b,h,c)},onContainerDrop:function(a,g,c){if(this.allowContainerDrop&&this.isValidDropPoint({ddel:this.tree.getRootNode().ui.elNode,node:this.tree.getRootNode()},"append",a,g,c)){var d=this.tree.getRootNode();d.ui.startDrop();var b=c.node||(a.getTreeNode?a.getTreeNode(c,d,"append",g):null);return this.processDrop(d,c,"append",a,g,b)}return false},processDrop:function(k,h,b,a,i,d){var g={tree:this.tree,target:k,data:h,point:b,source:a,rawEvent:i,dropNode:d,cancel:!d,dropStatus:false};var c=this.tree.fireEvent("beforenodedrop",g);if(c===false||g.cancel===true||!g.dropNode){k.ui.endDrop();return g.dropStatus}k=g.target;if(b=="append"&&!k.isExpanded()){k.expand(false,null,function(){this.completeDrop(g)}.createDelegate(this))}else{this.completeDrop(g)}return true},completeDrop:function(h){var d=h.dropNode,e=h.point,c=h.target;if(!Ext.isArray(d)){d=[d]}var g;for(var b=0,a=d.length;bd.offsetLeft){e.scrollLeft=d.offsetLeft}var a=Math.min(this.maxWidth,(e.clientWidth>20?e.clientWidth:e.offsetWidth)-Math.max(0,d.offsetLeft-e.scrollLeft)-5);this.setSize(a,"")},triggerEdit:function(a,c){this.completeEdit();if(a.attributes.editable!==false){this.editNode=a;if(this.tree.autoScroll){Ext.fly(a.ui.getEl()).scrollIntoView(this.tree.body)}var b=a.text||"";if(!Ext.isGecko&&Ext.isEmpty(a.text)){a.setText(" ")}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[a.ui.textNode,b]);return false}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)},beforeNodeClick:function(a,b){clearTimeout(this.autoEditTimer);if(this.tree.getSelectionModel().isSelected(a)){b.stopEvent();return this.triggerEdit(a)}},onNodeDblClick:function(a,b){clearTimeout(this.autoEditTimer)},updateNode:function(a,b){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);this.editNode.setText(b)},onHide:function(){Ext.tree.TreeEditor.superclass.onHide.call(this);if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)}},onSpecialKey:function(c,b){var a=b.getKey();if(a==b.ESC){b.stopEvent();this.cancelEdit()}else{if(a==b.ENTER&&!b.hasModifier()){b.stopEvent();this.completeEdit()}}},onDestroy:function(){clearTimeout(this.autoEditTimer);Ext.tree.TreeEditor.superclass.onDestroy.call(this);var a=this.tree;a.un("beforeclick",this.beforeNodeClick,this);a.un("dblclick",this.onNodeDblClick,this)}}); +/* SWFObject v2.2 + is released under the MIT License +*/ +var swfobject=function(){var F="undefined",t="object",U="Shockwave Flash",Y="ShockwaveFlash.ShockwaveFlash",s="application/x-shockwave-flash",T="SWFObjectExprInst",z="onreadystatechange",Q=window,l=document,v=navigator,V=false,W=[i],q=[],P=[],K=[],n,S,G,D,L=false,a=false,p,I,o=true,O=function(){var ac=typeof l.getElementById!=F&&typeof l.getElementsByTagName!=F&&typeof l.createElement!=F,aj=v.userAgent.toLowerCase(),aa=v.platform.toLowerCase(),ag=aa?(/win/).test(aa):/win/.test(aj),ae=aa?(/mac/).test(aa):/mac/.test(aj),ah=/webkit/.test(aj)?parseFloat(aj.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,Z=!+"\v1",ai=[0,0,0],ad=null;if(typeof v.plugins!=F&&typeof v.plugins[U]==t){ad=v.plugins[U].description;if(ad&&!(typeof v.mimeTypes!=F&&v.mimeTypes[s]&&!v.mimeTypes[s].enabledPlugin)){V=true;Z=false;ad=ad.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ai[0]=parseInt(ad.replace(/^(.*)\..*$/,"$1"),10);ai[1]=parseInt(ad.replace(/^.*\.(.*)\s.*$/,"$1"),10);ai[2]=/[a-zA-Z]/.test(ad)?parseInt(ad.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof Q.ActiveXObject!=F){try{var af=new ActiveXObject(Y);if(af){ad=af.GetVariable("$version");if(ad){Z=true;ad=ad.split(" ")[1].split(",");ai=[parseInt(ad[0],10),parseInt(ad[1],10),parseInt(ad[2],10)]}}}catch(ab){}}}return{w3:ac,pv:ai,wk:ah,ie:Z,win:ag,mac:ae}}(),m=function(){if(!O.w3){return}if((typeof l.readyState!=F&&l.readyState=="complete")||(typeof l.readyState==F&&(l.getElementsByTagName("body")[0]||l.body))){g()}if(!L){if(typeof l.addEventListener!=F){l.addEventListener("DOMContentLoaded",g,false)}if(O.ie&&O.win){l.attachEvent(z,function(){if(l.readyState=="complete"){l.detachEvent(z,arguments.callee);g()}});if(Q==top){(function(){if(L){return}try{l.documentElement.doScroll("left")}catch(Z){setTimeout(arguments.callee,0);return}g()})()}}if(O.wk){(function(){if(L){return}if(!(/loaded|complete/).test(l.readyState)){setTimeout(arguments.callee,0);return}g()})()}u(g)}}();function g(){if(L){return}try{var ab=l.getElementsByTagName("body")[0].appendChild(E("span"));ab.parentNode.removeChild(ab)}catch(ac){return}L=true;var Z=W.length;for(var aa=0;aa0){for(var ah=0;ah0){var ag=c(aa);if(ag){if(H(q[ah].swfVersion)&&!(O.wk&&O.wk<312)){y(aa,true);if(ad){ac.success=true;ac.ref=B(aa);ad(ac)}}else{if(q[ah].expressInstall&&C()){var ak={};ak.data=q[ah].expressInstall;ak.width=ag.getAttribute("width")||"0";ak.height=ag.getAttribute("height")||"0";if(ag.getAttribute("class")){ak.styleclass=ag.getAttribute("class")}if(ag.getAttribute("align")){ak.align=ag.getAttribute("align")}var aj={};var Z=ag.getElementsByTagName("param");var ae=Z.length;for(var af=0;af'}}ac.outerHTML='"+ah+"";P[P.length]=ak.id;Z=c(ak.id)}else{var ab=E(t);ab.setAttribute("type",s);for(var ae in ak){if(ak[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="styleclass"){ab.setAttribute("class",ak[ae])}else{if(ae.toLowerCase()!="classid"){ab.setAttribute(ae,ak[ae])}}}}for(var ad in ai){if(ai[ad]!=Object.prototype[ad]&&ad.toLowerCase()!="movie"){e(ab,ad,ai[ad])}}ac.parentNode.replaceChild(ab,ac);Z=ab}}return Z}function e(ab,Z,aa){var ac=E("param");ac.setAttribute("name",Z);ac.setAttribute("value",aa);ab.appendChild(ac)}function A(aa){var Z=c(aa);if(Z&&Z.nodeName=="OBJECT"){if(O.ie&&O.win){Z.style.display="none";(function(){if(Z.readyState==4){b(aa)}else{setTimeout(arguments.callee,10)}})()}else{Z.parentNode.removeChild(Z)}}}function b(ab){var aa=c(ab);if(aa){for(var Z in aa){if(typeof aa[Z]=="function"){aa[Z]=null}}aa.parentNode.removeChild(aa)}}function c(ab){var Z=null;try{Z=l.getElementById(ab)}catch(aa){}return Z}function E(Z){return l.createElement(Z)}function k(ab,Z,aa){ab.attachEvent(Z,aa);K[K.length]=[ab,Z,aa]}function H(ab){var aa=O.pv,Z=ab.split(".");Z[0]=parseInt(Z[0],10);Z[1]=parseInt(Z[1],10)||0;Z[2]=parseInt(Z[2],10)||0;return(aa[0]>Z[0]||(aa[0]==Z[0]&&aa[1]>Z[1])||(aa[0]==Z[0]&&aa[1]==Z[1]&&aa[2]>=Z[2]))?true:false}function x(ae,aa,af,ad){if(O.ie&&O.mac){return}var ac=l.getElementsByTagName("head")[0];if(!ac){return}var Z=(af&&typeof af=="string")?af:"screen";if(ad){p=null;I=null}if(!p||I!=Z){var ab=E("style");ab.setAttribute("type","text/css");ab.setAttribute("media",Z);p=ac.appendChild(ab);if(O.ie&&O.win&&typeof l.styleSheets!=F&&l.styleSheets.length>0){p=l.styleSheets[l.styleSheets.length-1]}I=Z}if(O.ie&&O.win){if(p&&typeof p.addRule==t){p.addRule(ae,aa)}}else{if(p&&typeof l.createTextNode!=F){p.appendChild(l.createTextNode(ae+" {"+aa+"}"))}}}function y(ab,Z){if(!o){return}var aa=Z?"visible":"hidden";if(L&&c(ab)){c(ab).style.visibility=aa}else{x("#"+ab,"visibility:"+aa)}}function N(aa){var ab=/[\\\"<>\.;]/;var Z=ab.exec(aa)!=null;return Z&&typeof encodeURIComponent!=F?encodeURIComponent(aa):aa}var d=function(){if(O.ie&&O.win){window.attachEvent("onunload",function(){var ae=K.length;for(var ad=0;ad0){for(h=0;h-1&&e.position=="left"){e.position="bottom"}return e},onDestroy:function(){Ext.chart.CartesianChart.superclass.onDestroy.call(this);Ext.each(this.labelFn,function(a){this.removeFnProxy(a)},this)}});Ext.reg("cartesianchart",Ext.chart.CartesianChart);Ext.chart.LineChart=Ext.extend(Ext.chart.CartesianChart,{type:"line"});Ext.reg("linechart",Ext.chart.LineChart);Ext.chart.ColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"column"});Ext.reg("columnchart",Ext.chart.ColumnChart);Ext.chart.StackedColumnChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackcolumn"});Ext.reg("stackedcolumnchart",Ext.chart.StackedColumnChart);Ext.chart.BarChart=Ext.extend(Ext.chart.CartesianChart,{type:"bar"});Ext.reg("barchart",Ext.chart.BarChart);Ext.chart.StackedBarChart=Ext.extend(Ext.chart.CartesianChart,{type:"stackbar"});Ext.reg("stackedbarchart",Ext.chart.StackedBarChart);Ext.chart.Axis=function(a){Ext.apply(this,a)};Ext.chart.Axis.prototype={type:null,orientation:"horizontal",reverse:false,labelFunction:null,hideOverlappingLabels:true,labelSpacing:2};Ext.chart.NumericAxis=Ext.extend(Ext.chart.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,alwaysShowZero:true,scale:"linear",roundMajorUnit:true,calculateByLabelSize:true,position:"left",adjustMaximumByMajorUnit:true,adjustMinimumByMajorUnit:true});Ext.chart.TimeAxis=Ext.extend(Ext.chart.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true,stackingEnabled:false,calculateByLabelSize:true});Ext.chart.CategoryAxis=Ext.extend(Ext.chart.Axis,{type:"category",categoryNames:null,calculateCategoryCount:false});Ext.chart.Series=function(a){Ext.apply(this,a)};Ext.chart.Series.prototype={type:null,displayName:null};Ext.chart.CartesianSeries=Ext.extend(Ext.chart.Series,{xField:null,yField:null,showInLegend:true,axis:"primary"});Ext.chart.ColumnSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"column"});Ext.chart.LineSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"line"});Ext.chart.BarSeries=Ext.extend(Ext.chart.CartesianSeries,{type:"bar"});Ext.chart.PieSeries=Ext.extend(Ext.chart.Series,{type:"pie",dataField:null,categoryField:null});Ext.menu.Menu=Ext.extend(Ext.Container,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,enableScrolling:true,maxHeight:null,scrollIncrement:24,showSeparator:true,defaultOffsets:[0,0],plain:false,floating:true,zIndex:15000,hidden:true,layout:"menu",hideMode:"offsets",scrollerHeight:8,autoLayout:true,defaultType:"menuitem",bufferResize:false,initComponent:function(){if(Ext.isArray(this.initialConfig)){Ext.apply(this,{items:this.initialConfig})}this.addEvents("click","mouseover","mouseout","itemclick");Ext.menu.MenuMgr.register(this);if(this.floating){Ext.EventManager.onWindowResize(this.hide,this)}else{if(this.initialConfig.hidden!==false){this.hidden=false}this.internalDefaults={hideOnClick:false}}Ext.menu.Menu.superclass.initComponent.call(this);if(this.autoLayout){var a=this.doLayout.createDelegate(this,[]);this.on({add:a,remove:a})}},getLayoutTarget:function(){return this.ul},onRender:function(b,a){if(!b){b=Ext.getBody()}var c={id:this.getId(),cls:"x-menu "+((this.floating)?"x-menu-floating x-layer ":"")+(this.cls||"")+(this.plain?" x-menu-plain":"")+(this.showSeparator?"":" x-menu-nosep"),style:this.style,cn:[{tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"},{tag:"ul",cls:"x-menu-list"}]};if(this.floating){this.el=new Ext.Layer({shadow:this.shadow,dh:c,constrain:false,parentEl:b,zindex:this.zIndex})}else{this.el=b.createChild(c)}Ext.menu.Menu.superclass.onRender.call(this,b,a);if(!this.keyNav){this.keyNav=new Ext.menu.MenuNav(this)}this.focusEl=this.el.child("a.x-menu-focus");this.ul=this.el.child("ul.x-menu-list");this.mon(this.ul,{scope:this,click:this.onClick,mouseover:this.onMouseOver,mouseout:this.onMouseOut});if(this.enableScrolling){this.mon(this.el,{scope:this,delegate:".x-menu-scroller",click:this.onScroll,mouseover:this.deactivateActive})}},findTargetItem:function(b){var a=b.getTarget(".x-menu-list-item",this.ul,true);if(a&&a.menuItemId){return this.items.get(a.menuItemId)}},onClick:function(b){var a=this.findTargetItem(b);if(a){if(a.isFormField){this.setActiveItem(a)}else{if(a instanceof Ext.menu.BaseItem){if(a.menu&&this.ignoreParentClicks){a.expandMenu();b.preventDefault()}else{if(a.onClick){a.onClick(b);this.fireEvent("click",this,a,b)}}}}}},setActiveItem:function(a,b){if(a!=this.activeItem){this.deactivateActive();if((this.activeItem=a).isFormField){a.focus()}else{a.activate(b)}}else{if(b){a.expandMenu()}}},deactivateActive:function(){var b=this.activeItem;if(b){if(b.isFormField){if(b.collapse){b.collapse()}}else{b.deactivate()}delete this.activeItem}},tryActivate:function(g,e){var b=this.items;for(var c=g,a=b.length;c>=0&&c=a.scrollHeight){this.onScrollerOut(null,b)}},onScrollerIn:function(d,b){var a=this.ul.dom,c=Ext.fly(b).is(".x-menu-scroller-top");if(c?a.scrollTop>0:a.scrollTop+this.activeMaxc){b=c;a=i-h}else{if(bb&&b>0){this.activeMax=b-this.scrollerHeight*2-this.el.getFrameWidth("tb")-Ext.num(this.el.shadowOffset,0);this.ul.setHeight(this.activeMax);this.createScrollers();this.el.select(".x-menu-scroller").setDisplayed("")}else{this.ul.setHeight(d);this.el.select(".x-menu-scroller").setDisplayed("none")}this.ul.dom.scrollTop=0;return a},createScrollers:function(){if(!this.scroller){this.scroller={pos:0,top:this.el.insertFirst({tag:"div",cls:"x-menu-scroller x-menu-scroller-top",html:" "}),bottom:this.el.createChild({tag:"div",cls:"x-menu-scroller x-menu-scroller-bottom",html:" "})};this.scroller.top.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.topRepeater=new Ext.util.ClickRepeater(this.scroller.top,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.top],false)}});this.scroller.bottom.hover(this.onScrollerIn,this.onScrollerOut,this);this.scroller.bottomRepeater=new Ext.util.ClickRepeater(this.scroller.bottom,{listeners:{click:this.onScroll.createDelegate(this,[null,this.scroller.bottom],false)}})}},onLayout:function(){if(this.isVisible()){if(this.enableScrolling){this.constrainScroll(this.el.getTop())}if(this.floating){this.el.sync()}}},focus:function(){if(!this.hidden){this.doFocus.defer(50,this)}},doFocus:function(){if(!this.hidden){this.focusEl.focus()}},hide:function(a){if(!this.isDestroyed){this.deepHide=a;Ext.menu.Menu.superclass.hide.call(this);delete this.deepHide}},onHide:function(){Ext.menu.Menu.superclass.onHide.call(this);this.deactivateActive();if(this.el&&this.floating){this.el.hide()}var a=this.parentMenu;if(this.deepHide===true&&a){if(a.floating){a.hide(true)}else{a.deactivateActive()}}},lookupComponent:function(a){if(Ext.isString(a)){a=(a=="separator"||a=="-")?new Ext.menu.Separator():new Ext.menu.TextItem(a);this.applyDefaults(a)}else{if(Ext.isObject(a)){a=this.getMenuItem(a)}else{if(a.tagName||a.el){a=new Ext.BoxComponent({el:a})}}}return a},applyDefaults:function(b){if(!Ext.isString(b)){b=Ext.menu.Menu.superclass.applyDefaults.call(this,b);var a=this.internalDefaults;if(a){if(b.events){Ext.applyIf(b.initialConfig,a);Ext.apply(b,a)}else{Ext.applyIf(b,a)}}}return b},getMenuItem:function(a){if(!a.isXType){if(!a.xtype&&Ext.isBoolean(a.checked)){return new Ext.menu.CheckItem(a)}return Ext.create(a,this.defaultType)}return a},addSeparator:function(){return this.add(new Ext.menu.Separator())},addElement:function(a){return this.add(new Ext.menu.BaseItem({el:a}))},addItem:function(a){return this.add(a)},addMenuItem:function(a){return this.add(this.getMenuItem(a))},addText:function(a){return this.add(new Ext.menu.TextItem(a))},onDestroy:function(){Ext.EventManager.removeResizeListener(this.hide,this);var a=this.parentMenu;if(a&&a.activeChild==this){delete a.activeChild}delete this.parentMenu;Ext.menu.Menu.superclass.onDestroy.call(this);Ext.menu.MenuMgr.unregister(this);if(this.keyNav){this.keyNav.disable()}var b=this.scroller;if(b){Ext.destroy(b.topRepeater,b.bottomRepeater,b.top,b.bottom)}Ext.destroy(this.el,this.focusEl,this.ul)}});Ext.reg("menu",Ext.menu.Menu);Ext.menu.MenuNav=Ext.extend(Ext.KeyNav,function(){function a(d,c){if(!c.tryActivate(c.items.indexOf(c.activeItem)-1,-1)){c.tryActivate(c.items.length-1,-1)}}function b(d,c){if(!c.tryActivate(c.items.indexOf(c.activeItem)+1,1)){c.tryActivate(0,1)}}return{constructor:function(c){Ext.menu.MenuNav.superclass.constructor.call(this,c.el);this.scope=this.menu=c},doRelay:function(g,d){var c=g.getKey();if(this.menu.activeItem&&this.menu.activeItem.isFormField&&c!=g.TAB){return false}if(!this.menu.activeItem&&g.isNavKeyPress()&&c!=g.SPACE&&c!=g.RETURN){this.menu.tryActivate(0,1);return false}return d.call(this.scope||this,g,this.menu)},tab:function(d,c){d.stopEvent();if(d.shiftKey){a(d,c)}else{b(d,c)}},up:a,down:b,right:function(d,c){if(c.activeItem){c.activeItem.expandMenu(true)}},left:function(d,c){c.hide();if(c.parentMenu&&c.parentMenu.activeItem){c.parentMenu.activeItem.activate()}},enter:function(d,c){if(c.activeItem){d.stopPropagation();c.activeItem.onClick(d);c.fireEvent("click",this,c.activeItem);return true}}}}());Ext.menu.MenuMgr=function(){var g,d,c={},a=false,l=new Date();function n(){g={};d=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(d.length>0){i()}})}function i(){if(d&&d.length>0){var o=d.clone();o.each(function(p){p.hide()});return true}return false}function e(o){d.remove(o);if(d.length<1){Ext.getDoc().un("mousedown",m);a=false}}function k(o){var p=d.last();l=new Date();d.add(o);if(!a){Ext.getDoc().on("mousedown",m);a=true}if(o.parentMenu){o.getEl().setZIndex(parseInt(o.parentMenu.getEl().getStyle("z-index"),10)+3);o.parentMenu.activeChild=o}else{if(p&&!p.isDestroyed&&p.isVisible()){o.getEl().setZIndex(parseInt(p.getEl().getStyle("z-index"),10)+3)}}}function b(o){if(o.activeChild){o.activeChild.hide()}if(o.autoHideTimer){clearTimeout(o.autoHideTimer);delete o.autoHideTimer}}function h(o){var p=o.parentMenu;if(!p&&!o.allowOtherMenus){i()}else{if(p&&p.activeChild){p.activeChild.hide()}}}function m(o){if(l.getElapsed()>50&&d.length>0&&!o.getTarget(".x-menu")){i()}}return{hideAll:function(){return i()},register:function(o){if(!g){n()}g[o.id]=o;o.on({beforehide:b,hide:e,beforeshow:h,show:k})},get:function(o){if(typeof o=="string"){if(!g){return null}return g[o]}else{if(o.events){return o}else{if(typeof o.length=="number"){return new Ext.menu.Menu({items:o})}else{return Ext.create(o,"menu")}}}},unregister:function(o){delete g[o.id];o.un("beforehide",b);o.un("hide",e);o.un("beforeshow",h);o.un("show",k)},registerCheckable:function(o){var p=o.group;if(p){if(!c[p]){c[p]=[]}c[p].push(o)}},unregisterCheckable:function(o){var p=o.group;if(p){c[p].remove(o)}},onCheckChange:function(q,r){if(q.group&&r){var t=c[q.group],p=0,o=t.length,s;for(;p',' target="{hrefTarget}"',"",">",'{altText}','{text}',"")}var c=this.getTemplateArgs();this.el=b?this.itemTpl.insertBefore(b,c,true):this.itemTpl.append(d,c,true);this.iconEl=this.el.child("img.x-menu-item-icon");this.textEl=this.el.child(".x-menu-item-text");if(!this.href){this.mon(this.el,"click",Ext.emptyFn,null,{preventDefault:true})}Ext.menu.Item.superclass.onRender.call(this,d,b)},getTemplateArgs:function(){return{id:this.id,cls:this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:""),href:this.href||"#",hrefTarget:this.hrefTarget,icon:this.icon||Ext.BLANK_IMAGE_URL,iconCls:this.iconCls||"",text:this.itemText||this.text||" ",altText:this.altText||""}},setText:function(a){this.text=a||" ";if(this.rendered){this.textEl.update(this.text);this.parentMenu.layout.doAutoSize()}},setIconClass:function(a){var b=this.iconCls;this.iconCls=a;if(this.rendered){this.iconEl.replaceClass(b,this.iconCls)}},beforeDestroy:function(){if(this.menu){delete this.menu.ownerCt;this.menu.destroy()}Ext.menu.Item.superclass.beforeDestroy.call(this)},handleClick:function(a){if(!this.href){a.stopEvent()}Ext.menu.Item.superclass.handleClick.apply(this,arguments)},activate:function(a){if(Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();if(a){this.expandMenu()}}return true},shouldDeactivate:function(a){if(Ext.menu.Item.superclass.shouldDeactivate.call(this,a)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(a.getPoint())}return true}return false},deactivate:function(){Ext.menu.Item.superclass.deactivate.apply(this,arguments);this.hideMenu()},expandMenu:function(a){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);delete this.hideTimer;if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[a])}else{if(this.menu.isVisible()&&a){this.menu.tryActivate(0,1)}}}},deferExpand:function(a){delete this.showTimer;this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);if(a){this.menu.tryActivate(0,1)}},hideMenu:function(){clearTimeout(this.showTimer);delete this.showTimer;if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)}},deferHide:function(){delete this.hideTimer;if(this.menu.over){this.parentMenu.setActiveItem(this,false)}else{this.menu.hide()}}});Ext.reg("menuitem",Ext.menu.Item);Ext.menu.CheckItem=Ext.extend(Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"Ext.menu.CheckItem",initComponent:function(){Ext.menu.CheckItem.superclass.initComponent.call(this);this.addEvents("beforecheckchange","checkchange");if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)}Ext.menu.MenuMgr.registerCheckable(this)},onRender:function(a){Ext.menu.CheckItem.superclass.onRender.apply(this,arguments);if(this.group){this.el.addClass(this.groupClass)}if(this.checked){this.checked=false;this.setChecked(true,true)}},destroy:function(){Ext.menu.MenuMgr.unregisterCheckable(this);Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)},setChecked:function(b,a){var c=a===true;if(this.checked!=b&&(c||this.fireEvent("beforecheckchange",this,b)!==false)){Ext.menu.MenuMgr.onCheckChange(this,b);if(this.container){this.container[b?"addClass":"removeClass"]("x-menu-item-checked")}this.checked=b;if(!c){this.fireEvent("checkchange",this,b)}}},handleClick:function(a){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)}Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)}});Ext.reg("menucheckitem",Ext.menu.CheckItem);Ext.menu.DateMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,pickerId:null,cls:"x-date-menu",initComponent:function(){this.on("beforeshow",this.onBeforeShow,this);if(this.strict=(Ext.isIE7&&Ext.isStrict)){this.on("show",this.onShow,this,{single:true,delay:20})}Ext.apply(this,{plain:true,showSeparator:false,items:this.picker=new Ext.DatePicker(Ext.applyIf({internalRender:this.strict||!Ext.isIE,ctCls:"x-menu-date-item",id:this.pickerId},this.initialConfig))});this.picker.purgeListeners();Ext.menu.DateMenu.superclass.initComponent.call(this);this.relayEvents(this.picker,["select"]);this.on("show",this.picker.focus,this.picker);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)}},onBeforeShow:function(){if(this.picker){this.picker.hideMonthPicker(true)}},onShow:function(){var a=this.picker.getEl();a.setWidth(a.getWidth())}});Ext.reg("datemenu",Ext.menu.DateMenu);Ext.menu.ColorMenu=Ext.extend(Ext.menu.Menu,{enableScrolling:false,hideOnClick:true,cls:"x-color-menu",paletteId:null,initComponent:function(){Ext.apply(this,{plain:true,showSeparator:false,items:this.palette=new Ext.ColorPalette(Ext.applyIf({id:this.paletteId},this.initialConfig))});this.palette.purgeListeners();Ext.menu.ColorMenu.superclass.initComponent.call(this);this.relayEvents(this.palette,["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.reg("colormenu",Ext.menu.ColorMenu);Ext.form.Field=Ext.extend(Ext.BoxComponent,{invalidClass:"x-form-invalid",invalidText:"The value in this field is invalid",focusClass:"x-form-focus",validationEvent:"keyup",validateOnBlur:true,validationDelay:250,defaultAutoCreate:{tag:"input",type:"text",size:"20",autocomplete:"off"},fieldClass:"x-form-field",msgTarget:"qtip",msgFx:"normal",readOnly:false,disabled:false,submitValue:true,isFormField:true,msgDisplay:"",hasFocus:false,initComponent:function(){Ext.form.Field.superclass.initComponent.call(this);this.addEvents("focus","blur","specialkey","change","invalid","valid")},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:this.name||this.id||""},onRender:function(c,a){if(!this.el){var b=this.getAutoCreate();if(!b.name){b.name=this.name||this.id}if(this.inputType){b.type=this.inputType}this.autoEl=b}Ext.form.Field.superclass.onRender.call(this,c,a);if(this.submitValue===false){this.el.dom.removeAttribute("name")}var d=this.el.dom.type;if(d){if(d=="password"){d="text"}this.el.addClass("x-form-"+d)}if(this.readOnly){this.setReadOnly(true)}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)}this.el.addClass([this.fieldClass,this.cls])},getItemCt:function(){return this.itemCt},initValue:function(){if(this.value!==undefined){this.setValue(this.value)}else{if(!Ext.isEmpty(this.el.dom.value)&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)}}this.originalValue=this.getValue()},isDirty:function(){if(this.disabled||!this.rendered){return false}return String(this.getValue())!==String(this.originalValue)},setReadOnly:function(a){if(this.rendered){this.el.dom.readOnly=a}this.readOnly=a},afterRender:function(){Ext.form.Field.superclass.afterRender.call(this);this.initEvents();this.initValue()},fireKey:function(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,a)}},reset:function(){this.setValue(this.originalValue);this.clearInvalid()},initEvents:function(){this.mon(this.el,Ext.EventManager.getKeyEvent(),this.fireKey,this);this.mon(this.el,"focus",this.onFocus,this);this.mon(this.el,"blur",this.onBlur,this,this.inEditor?{buffer:10}:null)},preFocus:Ext.emptyFn,onFocus:function(){this.preFocus();if(this.focusClass){this.el.addClass(this.focusClass)}if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},beforeBlur:Ext.emptyFn,onBlur:function(){this.beforeBlur();if(this.focusClass){this.el.removeClass(this.focusClass)}this.hasFocus=false;if(this.validationEvent!==false&&(this.validateOnBlur||this.validationEvent=="blur")){this.validate()}var a=this.getValue();if(String(a)!==String(this.startValue)){this.fireEvent("change",this,a,this.startValue)}this.fireEvent("blur",this);this.postBlur()},postBlur:Ext.emptyFn,isValid:function(a){if(this.disabled){return true}var c=this.preventMark;this.preventMark=a===true;var b=this.validateValue(this.processValue(this.getRawValue()));this.preventMark=c;return b},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();return true}return false},processValue:function(a){return a},validateValue:function(b){var a=this.getErrors(b)[0];if(a==undefined){return true}else{this.markInvalid(a);return false}},getErrors:function(){return[]},getActiveError:function(){return this.activeError||""},markInvalid:function(c){if(this.rendered&&!this.preventMark){c=c||this.invalidText;var a=this.getMessageHandler();if(a){a.mark(this,c)}else{if(this.msgTarget){this.el.addClass(this.invalidClass);var b=Ext.getDom(this.msgTarget);if(b){b.innerHTML=c;b.style.display=this.msgDisplay}}}}this.setActiveError(c)},clearInvalid:function(){if(this.rendered&&!this.preventMark){this.el.removeClass(this.invalidClass);var a=this.getMessageHandler();if(a){a.clear(this)}else{if(this.msgTarget){this.el.removeClass(this.invalidClass);var b=Ext.getDom(this.msgTarget);if(b){b.innerHTML="";b.style.display="none"}}}}this.unsetActiveError()},setActiveError:function(b,a){this.activeError=b;if(a!==true){this.fireEvent("invalid",this,b)}},unsetActiveError:function(a){delete this.activeError;if(a!==true){this.fireEvent("valid",this)}},getMessageHandler:function(){return Ext.form.MessageTargets[this.msgTarget]},getErrorCt:function(){return this.el.findParent(".x-form-element",5,true)||this.el.findParent(".x-form-field-wrap",5,true)},alignErrorEl:function(){this.errorEl.setWidth(this.getErrorCt().getWidth(true)-20)},alignErrorIcon:function(){this.errorIcon.alignTo(this.el,"tl-tr",[2,0])},getRawValue:function(){var a=this.rendered?this.el.getValue():Ext.value(this.value,"");if(a===this.emptyText){a=""}return a},getValue:function(){if(!this.rendered){return this.value}var a=this.el.getValue();if(a===this.emptyText||a===undefined){a=""}return a},setRawValue:function(a){return this.rendered?(this.el.dom.value=(Ext.isEmpty(a)?"":a)):""},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(Ext.isEmpty(a)?"":a);this.validate()}return this},append:function(a){this.setValue([this.getValue(),a].join(""))}});Ext.form.MessageTargets={qtip:{mark:function(a,b){a.el.addClass(a.invalidClass);a.el.dom.qtip=b;a.el.dom.qclass="x-form-invalid-tip";if(Ext.QuickTips){Ext.QuickTips.enable()}},clear:function(a){a.el.removeClass(a.invalidClass);a.el.dom.qtip=""}},title:{mark:function(a,b){a.el.addClass(a.invalidClass);a.el.dom.title=b},clear:function(a){a.el.dom.title=""}},under:{mark:function(b,c){b.el.addClass(b.invalidClass);if(!b.errorEl){var a=b.getErrorCt();if(!a){b.el.dom.title=c;return}b.errorEl=a.createChild({cls:"x-form-invalid-msg"});b.on("resize",b.alignErrorEl,b);b.on("destroy",function(){Ext.destroy(this.errorEl)},b)}b.alignErrorEl();b.errorEl.update(c);Ext.form.Field.msgFx[b.msgFx].show(b.errorEl,b)},clear:function(a){a.el.removeClass(a.invalidClass);if(a.errorEl){Ext.form.Field.msgFx[a.msgFx].hide(a.errorEl,a)}else{a.el.dom.title=""}}},side:{mark:function(b,c){b.el.addClass(b.invalidClass);if(!b.errorIcon){var a=b.getErrorCt();if(!a){b.el.dom.title=c;return}b.errorIcon=a.createChild({cls:"x-form-invalid-icon"});if(b.ownerCt){b.ownerCt.on("afterlayout",b.alignErrorIcon,b);b.ownerCt.on("expand",b.alignErrorIcon,b)}b.on("resize",b.alignErrorIcon,b);b.on("destroy",function(){Ext.destroy(this.errorIcon)},b)}b.alignErrorIcon();b.errorIcon.dom.qtip=c;b.errorIcon.dom.qclass="x-form-invalid-tip";b.errorIcon.show()},clear:function(a){a.el.removeClass(a.invalidClass);if(a.errorIcon){a.errorIcon.dom.qtip="";a.errorIcon.hide()}else{a.el.dom.title=""}}}};Ext.form.Field.msgFx={normal:{show:function(a,b){a.setDisplayed("block")},hide:function(a,b){a.setDisplayed(false).update("")}},slide:{show:function(a,b){a.slideIn("t",{stopFx:true})},hide:function(a,b){a.slideOut("t",{stopFx:true,useDisplay:true})}},slideRight:{show:function(a,b){a.fixDisplay();a.alignTo(b.el,"tl-tr");a.slideIn("l",{stopFx:true})},hide:function(a,b){a.slideOut("l",{stopFx:true,useDisplay:true})}}};Ext.reg("field",Ext.form.Field);Ext.form.TextField=Ext.extend(Ext.form.Field,{grow:false,growMin:30,growMax:800,vtype:null,maskRe:null,disableKeyFilter:false,allowBlank:true,minLength:0,maxLength:Number.MAX_VALUE,minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",selectOnFocus:false,blankText:"This field is required",validator:null,regex:null,regexText:"",emptyText:null,emptyClass:"x-form-empty-field",initComponent:function(){Ext.form.TextField.superclass.initComponent.call(this);this.addEvents("autosize","keydown","keyup","keypress")},initEvents:function(){Ext.form.TextField.superclass.initEvents.call(this);if(this.validationEvent=="keyup"){this.validationTask=new Ext.util.DelayedTask(this.validate,this);this.mon(this.el,"keyup",this.filterValidation,this)}else{if(this.validationEvent!==false&&this.validationEvent!="blur"){this.mon(this.el,this.validationEvent,this.validate,this,{buffer:this.validationDelay})}}if(this.selectOnFocus||this.emptyText){this.mon(this.el,"mousedown",this.onMouseDown,this);if(this.emptyText){this.applyEmptyText()}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=Ext.form.VTypes[this.vtype+"Mask"]))){this.mon(this.el,"keypress",this.filterKeys,this)}if(this.grow){this.mon(this.el,"keyup",this.onKeyUpBuffered,this,{buffer:50});this.mon(this.el,"click",this.autoSize,this)}if(this.enableKeyEvents){this.mon(this.el,{scope:this,keyup:this.onKeyUp,keydown:this.onKeyDown,keypress:this.onKeyPress})}},onMouseDown:function(a){if(!this.hasFocus){this.mon(this.el,"mouseup",Ext.emptyFn,this,{single:true,preventDefault:true})}},processValue:function(a){if(this.stripCharsRe){var b=a.replace(this.stripCharsRe,"");if(b!==a){this.setRawValue(b);return b}}return a},filterValidation:function(a){if(!a.isNavKeyPress()){this.validationTask.delay(this.validationDelay)}},onDisable:function(){Ext.form.TextField.superclass.onDisable.call(this);if(Ext.isIE){this.el.dom.unselectable="on"}},onEnable:function(){Ext.form.TextField.superclass.onEnable.call(this);if(Ext.isIE){this.el.dom.unselectable=""}},onKeyUpBuffered:function(a){if(this.doAutoSize(a)){this.autoSize()}},doAutoSize:function(a){return !a.isNavKeyPress()},onKeyUp:function(a){this.fireEvent("keyup",this,a)},onKeyDown:function(a){this.fireEvent("keydown",this,a)},onKeyPress:function(a){this.fireEvent("keypress",this,a)},reset:function(){Ext.form.TextField.superclass.reset.call(this);this.applyEmptyText()},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass)}},preFocus:function(){var a=this.el,b;if(this.emptyText){if(a.dom.value==this.emptyText){this.setRawValue("");b=true}a.removeClass(this.emptyClass)}if(this.selectOnFocus||b){a.dom.select()}},postBlur:function(){this.applyEmptyText()},filterKeys:function(b){if(b.ctrlKey){return}var a=b.getKey();if(Ext.isGecko&&(b.isNavKeyPress()||a==b.BACKSPACE||(a==b.DELETE&&b.button==-1))){return}var c=String.fromCharCode(b.getCharCode());if(!Ext.isGecko&&b.isSpecialKey()&&!c){return}if(!this.maskRe.test(c)){b.stopEvent()}},setValue:function(a){if(this.emptyText&&this.el&&!Ext.isEmpty(a)){this.el.removeClass(this.emptyClass)}Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize();return this},getErrors:function(a){var d=Ext.form.TextField.superclass.getErrors.apply(this,arguments);a=Ext.isDefined(a)?a:this.processValue(this.getRawValue());if(Ext.isFunction(this.validator)){var c=this.validator(a);if(c!==true){d.push(c)}}if(a.length<1||a===this.emptyText){if(this.allowBlank){return d}else{d.push(this.blankText)}}if(!this.allowBlank&&(a.length<1||a===this.emptyText)){d.push(this.blankText)}if(a.lengththis.maxLength){d.push(String.format(this.maxLengthText,this.maxLength))}if(this.vtype){var b=Ext.form.VTypes;if(!b[this.vtype](a,this)){d.push(this.vtypeText||b[this.vtype+"Text"])}}if(this.regex&&!this.regex.test(a)){d.push(this.regexText)}return d},selectText:function(h,a){var c=this.getRawValue();var e=false;if(c.length>0){h=h===undefined?0:h;a=a===undefined?c.length:a;var g=this.el.dom;if(g.setSelectionRange){g.setSelectionRange(h,a)}else{if(g.createTextRange){var b=g.createTextRange();b.moveStart("character",h);b.moveEnd("character",a-c.length);b.select()}}e=Ext.isGecko||Ext.isOpera}else{e=true}if(e){this.focus()}},autoSize:function(){if(!this.grow||!this.rendered){return}if(!this.metrics){this.metrics=Ext.util.TextMetrics.createInstance(this.el)}var c=this.el;var b=c.dom.value;var e=document.createElement("div");e.appendChild(document.createTextNode(b));b=e.innerHTML;Ext.removeNode(e);e=null;b+=" ";var a=Math.min(this.growMax,Math.max(this.metrics.getWidth(b)+10,this.growMin));this.el.setWidth(a);this.fireEvent("autosize",this,a)},onDestroy:function(){if(this.validationTask){this.validationTask.cancel();this.validationTask=null}Ext.form.TextField.superclass.onDestroy.call(this)}});Ext.reg("textfield",Ext.form.TextField);Ext.form.TriggerField=Ext.extend(Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,editable:true,readOnly:false,wrapFocusClass:"x-trigger-wrap-focus",autoSize:Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,actionMode:"wrap",defaultTriggerWidth:17,onResize:function(a,c){Ext.form.TriggerField.superclass.onResize.call(this,a,c);var b=this.getTriggerWidth();if(Ext.isNumber(a)){this.el.setWidth(a-b)}this.wrap.setWidth(this.el.getWidth()+b)},getTriggerWidth:function(){var a=this.trigger.getWidth();if(!this.hideTrigger&&!this.readOnly&&a===0){a=this.defaultTriggerWidth}return a},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}},onRender:function(b,a){this.doc=Ext.isIE?Ext.getBody():Ext.getDoc();Ext.form.TriggerField.superclass.onRender.call(this,b,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-field-trigger-wrap"});this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.triggerClass});this.initTrigger();if(!this.width){this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())}this.resizeEl=this.positionEl=this.wrap},getWidth:function(){return(this.el.getWidth()+this.trigger.getWidth())},updateEditState:function(){if(this.rendered){if(this.readOnly){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this);this.trigger.setDisplayed(false)}else{if(!this.editable){this.el.dom.readOnly=true;this.el.addClass("x-trigger-noedit");this.mon(this.el,"click",this.onTriggerClick,this)}else{this.el.dom.readOnly=false;this.el.removeClass("x-trigger-noedit");this.mun(this.el,"click",this.onTriggerClick,this)}this.trigger.setDisplayed(!this.hideTrigger)}this.onResize(this.width||this.wrap.getWidth())}},setHideTrigger:function(a){if(a!=this.hideTrigger){this.hideTrigger=a;this.updateEditState()}},setEditable:function(a){if(a!=this.editable){this.editable=a;this.updateEditState()}},setReadOnly:function(a){if(a!=this.readOnly){this.readOnly=a;this.updateEditState()}},afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);this.updateEditState()},initTrigger:function(){this.mon(this.trigger,"click",this.onTriggerClick,this,{preventDefault:true});this.trigger.addClassOnOver("x-form-trigger-over");this.trigger.addClassOnClick("x-form-trigger-click")},onDestroy:function(){Ext.destroy(this.trigger,this.wrap);if(this.mimicing){this.doc.un("mousedown",this.mimicBlur,this)}delete this.doc;Ext.form.TriggerField.superclass.onDestroy.call(this)},onFocus:function(){Ext.form.TriggerField.superclass.onFocus.call(this);if(!this.mimicing){this.wrap.addClass(this.wrapFocusClass);this.mimicing=true;this.doc.on("mousedown",this.mimicBlur,this,{delay:10});if(this.monitorTab){this.on("specialkey",this.checkTab,this)}}},checkTab:function(a,b){if(b.getKey()==b.TAB){this.triggerBlur()}},onBlur:Ext.emptyFn,mimicBlur:function(a){if(!this.isDestroyed&&!this.wrap.contains(a.target)&&this.validateBlur(a)){this.triggerBlur()}},triggerBlur:function(){this.mimicing=false;this.doc.un("mousedown",this.mimicBlur,this);if(this.monitorTab&&this.el){this.un("specialkey",this.checkTab,this)}Ext.form.TriggerField.superclass.onBlur.call(this);if(this.wrap){this.wrap.removeClass(this.wrapFocusClass)}},beforeBlur:Ext.emptyFn,validateBlur:function(a){return true},onTriggerClick:Ext.emptyFn});Ext.form.TwinTriggerField=Ext.extend(Ext.form.TriggerField,{initComponent:function(){Ext.form.TwinTriggerField.superclass.initComponent.call(this);this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:Ext.BLANK_IMAGE_URL,alt:"",cls:"x-form-trigger "+this.trigger2Class}]}},getTrigger:function(a){return this.triggers[a]},afterRender:function(){Ext.form.TwinTriggerField.superclass.afterRender.call(this);var c=this.triggers,b=0,a=c.length;for(;b")}}d.innerHTML=a;b=Math.min(this.growMax,Math.max(d.offsetHeight,this.growMin));if(b!=this.lastHeight){this.lastHeight=b;this.el.setHeight(b);this.fireEvent("autosize",this,b)}}});Ext.reg("textarea",Ext.form.TextArea);Ext.form.NumberField=Ext.extend(Ext.form.TextField,{fieldClass:"x-form-field x-form-num-field",allowDecimals:true,decimalSeparator:".",decimalPrecision:2,allowNegative:true,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,minText:"The minimum value for this field is {0}",maxText:"The maximum value for this field is {0}",nanText:"{0} is not a valid number",baseChars:"0123456789",autoStripChars:false,initEvents:function(){var a=this.baseChars+"";if(this.allowDecimals){a+=this.decimalSeparator}if(this.allowNegative){a+="-"}a=Ext.escapeRe(a);this.maskRe=new RegExp("["+a+"]");if(this.autoStripChars){this.stripCharsRe=new RegExp("[^"+a+"]","gi")}Ext.form.NumberField.superclass.initEvents.call(this)},getErrors:function(b){var c=Ext.form.NumberField.superclass.getErrors.apply(this,arguments);b=Ext.isDefined(b)?b:this.processValue(this.getRawValue());if(b.length<1){return c}b=String(b).replace(this.decimalSeparator,".");if(isNaN(b)){c.push(String.format(this.nanText,b))}var a=this.parseValue(b);if(athis.maxValue){c.push(String.format(this.maxText,this.maxValue))}return c},getValue:function(){return this.fixPrecision(this.parseValue(Ext.form.NumberField.superclass.getValue.call(this)))},setValue:function(a){a=this.fixPrecision(a);a=Ext.isNumber(a)?a:parseFloat(String(a).replace(this.decimalSeparator,"."));a=isNaN(a)?"":String(a).replace(".",this.decimalSeparator);return Ext.form.NumberField.superclass.setValue.call(this,a)},setMinValue:function(a){this.minValue=Ext.num(a,Number.NEGATIVE_INFINITY)},setMaxValue:function(a){this.maxValue=Ext.num(a,Number.MAX_VALUE)},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?"":a},fixPrecision:function(b){var a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return a?"":b}return parseFloat(parseFloat(b).toFixed(this.decimalPrecision))},beforeBlur:function(){var a=this.parseValue(this.getRawValue());if(!Ext.isEmpty(a)){this.setValue(a)}}});Ext.reg("numberfield",Ext.form.NumberField);Ext.form.DateField=Ext.extend(Ext.form.TriggerField,{format:"m/d/Y",altFormats:"m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j",disabledDaysText:"Disabled",disabledDatesText:"Disabled",minText:"The date in this field must be equal to or after {0}",maxText:"The date in this field must be equal to or before {0}",invalidText:"{0} is not a valid date - it must be in the format {1}",triggerClass:"x-form-date-trigger",showToday:true,startDay:0,defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},initTime:"12",initTimeFormat:"H",safeParse:function(b,c){if(/[gGhH]/.test(c.replace(/(\\.)/g,""))){return Date.parseDate(b,c)}else{var a=Date.parseDate(b+" "+this.initTime,c+" "+this.initTimeFormat);if(a){return a.clearTime()}}},initComponent:function(){Ext.form.DateField.superclass.initComponent.call(this);this.addEvents("select");if(Ext.isString(this.minValue)){this.minValue=this.parseDate(this.minValue)}if(Ext.isString(this.maxValue)){this.maxValue=this.parseDate(this.maxValue)}this.disabledDatesRE=null;this.initDisabledDays()},initEvents:function(){Ext.form.DateField.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{down:function(a){this.onTriggerClick()},scope:this,forceKeyDown:true})},initDisabledDays:function(){if(this.disabledDates){var b=this.disabledDates,a=b.length-1,c="(?:";Ext.each(b,function(g,e){c+=Ext.isDate(g)?"^"+Ext.escapeRe(g.dateFormat(this.format))+"$":b[e];if(e!=a){c+="|"}},this);this.disabledDatesRE=new RegExp(c+")")}},setDisabledDates:function(a){this.disabledDates=a;this.initDisabledDays();if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)}},setDisabledDays:function(a){this.disabledDays=a;if(this.menu){this.menu.picker.setDisabledDays(a)}},setMinValue:function(a){this.minValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMinDate(this.minValue)}},setMaxValue:function(a){this.maxValue=(Ext.isString(a)?this.parseDate(a):a);if(this.menu){this.menu.picker.setMaxDate(this.maxValue)}},getErrors:function(e){var h=Ext.form.DateField.superclass.getErrors.apply(this,arguments);e=this.formatDate(e||this.processValue(this.getRawValue()));if(e.length<1){return h}var c=e;e=this.parseDate(e);if(!e){h.push(String.format(this.invalidText,c,this.format));return h}var g=e.getTime();if(this.minValue&&gthis.maxValue.clearTime().getTime()){h.push(String.format(this.maxText,this.formatDate(this.maxValue)))}if(this.disabledDays){var a=e.getDay();for(var b=0;b
{'+this.displayField+"}
"}this.view=new Ext.DataView({applyTo:this.innerList,tpl:this.tpl,singleSelect:true,selectedClass:this.selectedClass,itemSelector:this.itemSelector||"."+a+"-item",emptyText:this.listEmptyText,deferEmptyText:false});this.mon(this.view,{containerclick:this.onViewClick,click:this.onViewClick,scope:this});this.bindStore(this.store,true);if(this.resizable){this.resizer=new Ext.Resizable(this.list,{pinned:true,handles:"se"});this.mon(this.resizer,"resize",function(g,d,e){this.maxHeight=e-this.handleHeight-this.list.getFrameWidth("tb")-this.assetHeight;this.listWidth=d;this.innerList.setWidth(d-this.list.getFrameWidth("lr"));this.restrictHeight()},this);this[this.pageSize?"footer":"innerList"].setStyle("margin-bottom",this.handleHeight+"px")}}},getListParent:function(){return document.body},getStore:function(){return this.store},bindStore:function(a,b){if(this.store&&!b){if(this.store!==a&&this.store.autoDestroy){this.store.destroy()}else{this.store.un("beforeload",this.onBeforeLoad,this);this.store.un("load",this.onLoad,this);this.store.un("exception",this.collapse,this)}if(!a){this.store=null;if(this.view){this.view.bindStore(null)}if(this.pageTb){this.pageTb.bindStore(null)}}}if(a){if(!b){this.lastQuery=null;if(this.pageTb){this.pageTb.bindStore(a)}}this.store=Ext.StoreMgr.lookup(a);this.store.on({scope:this,beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.collapse});if(this.view){this.view.bindStore(a)}}},reset:function(){if(this.clearFilterOnReset&&this.mode=="local"){this.store.clearFilter()}Ext.form.ComboBox.superclass.reset.call(this)},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick()},esc:function(a){this.collapse()},tab:function(a){if(this.forceSelection===true){this.collapse()}else{this.onViewClick(false)}return true},scope:this,doRelay:function(c,b,a){if(a=="down"||this.scope.isExpanded()){var d=Ext.KeyNav.prototype.doRelay.apply(this,arguments);if(!Ext.isIE&&Ext.EventManager.useKeydown){this.scope.fireKey(c)}return d}return true},forceKeyDown:true,defaultEventAction:"stopEvent"});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(!this.enableKeyEvents){this.mon(this.el,"keyup",this.onKeyUp,this)}},onDestroy:function(){if(this.dqTask){this.dqTask.cancel();this.dqTask=null}this.bindStore(null);Ext.destroy(this.resizer,this.view,this.pageTb,this.list);Ext.destroyMembers(this,"hiddenField");Ext.form.ComboBox.superclass.onDestroy.call(this)},fireKey:function(a){if(!this.isExpanded()){Ext.form.ComboBox.superclass.fireKey.call(this,a)}},onResize:function(a,b){Ext.form.ComboBox.superclass.onResize.apply(this,arguments);if(!isNaN(a)&&this.isVisible()&&this.list){this.doResize(a)}else{this.bufferSize=a}},doResize:function(a){if(!Ext.isDefined(this.listWidth)){var b=Math.max(a,this.minListWidth);this.list.setWidth(b);this.innerList.setWidth(b-this.list.getFrameWidth("lr"))}},onEnable:function(){Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=false}},onDisable:function(){Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);if(this.hiddenField){this.hiddenField.disabled=true}},onBeforeLoad:function(){if(!this.hasFocus){return}this.innerList.update(this.loadingText?'
'+this.loadingText+"
":"");this.restrictHeight();this.selectedIndex=-1},onLoad:function(){if(!this.hasFocus){return}if(this.store.getCount()>0||this.listEmptyText){this.expand();this.restrictHeight();if(this.lastQuery==this.allQuery){if(this.editable){this.el.dom.select()}if(this.autoSelect!==false&&!this.selectByValue(this.value,true)){this.select(0,true)}}else{if(this.autoSelect!==false){this.selectNext()}if(this.typeAhead&&this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)}}}else{this.collapse()}},onTypeAhead:function(){if(this.store.getCount()>0){var b=this.store.getAt(0);var c=b.data[this.displayField];var a=c.length;var d=this.getRawValue().length;if(d!=a){this.setRawValue(c);this.selectText(d,c.length)}}},assertValue:function(){var b=this.getRawValue(),a;if(this.valueField&&Ext.isDefined(this.value)){a=this.findRecord(this.valueField,this.value)}if(!a||a.get(this.displayField)!=b){a=this.findRecord(this.displayField,b)}if(!a&&this.forceSelection){if(b.length>0&&b!=this.emptyText){this.el.dom.value=Ext.value(this.lastSelectionText,"");this.applyEmptyText()}else{this.clearValue()}}else{if(a&&this.valueField){if(this.value==b){return}b=a.get(this.valueField||this.displayField)}this.setValue(b)}},onSelect:function(a,b){if(this.fireEvent("beforeselect",this,a,b)!==false){this.setValue(a.data[this.valueField||this.displayField]);this.collapse();this.fireEvent("select",this,a,b)}},getName:function(){var a=this.hiddenField;return a&&a.name?a.name:this.hiddenName||Ext.form.ComboBox.superclass.getName.call(this)},getValue:function(){if(this.valueField){return Ext.isDefined(this.value)?this.value:""}else{return Ext.form.ComboBox.superclass.getValue.call(this)}},clearValue:function(){if(this.hiddenField){this.hiddenField.value=""}this.setRawValue("");this.lastSelectionText="";this.applyEmptyText();this.value=""},setValue:function(a){var c=a;if(this.valueField){var b=this.findRecord(this.valueField,a);if(b){c=b.data[this.displayField]}else{if(Ext.isDefined(this.valueNotFoundText)){c=this.valueNotFoundText}}}this.lastSelectionText=c;if(this.hiddenField){this.hiddenField.value=Ext.value(a,"")}Ext.form.ComboBox.superclass.setValue.call(this,c);this.value=a;return this},findRecord:function(c,b){var a;if(this.store.getCount()>0){this.store.each(function(d){if(d.data[c]==b){a=d;return false}})}return a},onViewMove:function(b,a){this.inKeyMode=false},onViewOver:function(d,b){if(this.inKeyMode){return}var c=this.view.findItemFromChild(b);if(c){var a=this.view.indexOf(c);this.select(a,false)}},onViewClick:function(b){var a=this.view.getSelectedIndexes()[0],c=this.store,d=c.getAt(a);if(d){this.onSelect(d,a)}else{this.collapse()}if(b!==false){this.el.focus()}},restrictHeight:function(){this.innerList.dom.style.height="";var b=this.innerList.dom,e=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight,c=Math.max(b.clientHeight,b.offsetHeight,b.scrollHeight),a=this.getPosition()[1]-Ext.getBody().getScroll().top,g=Ext.lib.Dom.getViewHeight()-a-this.getSize().height,d=Math.max(a,g,this.minHeight||0)-this.list.shadowOffset-e-5;c=Math.min(c,d,this.maxHeight);this.innerList.setHeight(c);this.list.beginUpdate();this.list.setHeight(c+e);this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.endUpdate()},isExpanded:function(){return this.list&&this.list.isVisible()},selectByValue:function(a,c){if(!Ext.isEmpty(a,true)){var b=this.findRecord(this.valueField||this.displayField,a);if(b){this.select(this.store.indexOf(b),c);return true}}return false},select:function(a,c){this.selectedIndex=a;this.view.select(a);if(c!==false){var b=this.view.getNode(a);if(b){this.innerList.scrollChildIntoView(b,false)}}},selectNext:function(){var a=this.store.getCount();if(a>0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex0){if(this.selectedIndex==-1){this.select(0)}else{if(this.selectedIndex!==0){this.select(this.selectedIndex-1)}}}},onKeyUp:function(b){var a=b.getKey();if(this.editable!==false&&this.readOnly!==true&&(a==b.BACKSPACE||!b.isSpecialKey())){this.lastKey=a;this.dqTask.delay(this.queryDelay)}Ext.form.ComboBox.superclass.onKeyUp.call(this,b)},validateBlur:function(){return !this.list||!this.list.isVisible()},initQuery:function(){this.doQuery(this.getRawValue())},beforeBlur:function(){this.assertValue()},postBlur:function(){Ext.form.ComboBox.superclass.postBlur.call(this);this.collapse();this.inKeyMode=false},doQuery:function(c,b){c=Ext.isEmpty(c)?"":c;var a={query:c,forceAll:b,combo:this,cancel:false};if(this.fireEvent("beforequery",a)===false||a.cancel){return false}c=a.query;b=a.forceAll;if(b===true||(c.length>=this.minChars)){if(this.lastQuery!==c){this.lastQuery=c;if(this.mode=="local"){this.selectedIndex=-1;if(b){this.store.clearFilter()}else{this.store.filter(this.displayField,c)}this.onLoad()}else{this.store.baseParams[this.queryParam]=c;this.store.load({params:this.getParams(c)});this.expand()}}else{this.selectedIndex=-1;this.onLoad()}}},getParams:function(a){var b={},c=this.store.paramNames;if(this.pageSize){b[c.start]=0;b[c.limit]=this.pageSize}return b},collapse:function(){if(!this.isExpanded()){return}this.list.hide();Ext.getDoc().un("mousewheel",this.collapseIf,this);Ext.getDoc().un("mousedown",this.collapseIf,this);this.fireEvent("collapse",this)},collapseIf:function(a){if(!this.isDestroyed&&!a.within(this.wrap)&&!a.within(this.list)){this.collapse()}},expand:function(){if(this.isExpanded()||!this.hasFocus){return}if(this.title||this.pageSize){this.assetHeight=0;if(this.title){this.assetHeight+=this.header.getHeight()}if(this.pageSize){this.assetHeight+=this.footer.getHeight()}}if(this.bufferSize){this.doResize(this.bufferSize);delete this.bufferSize}this.list.alignTo.apply(this.list,[this.el].concat(this.listAlign));this.list.setZIndex(this.getZIndex());this.list.show();if(Ext.isGecko2){this.innerList.setOverflow("auto")}this.mon(Ext.getDoc(),{scope:this,mousewheel:this.collapseIf,mousedown:this.collapseIf});this.fireEvent("expand",this)},onTriggerClick:function(){if(this.readOnly||this.disabled){return}if(this.isExpanded()){this.collapse();this.el.focus()}else{this.onFocus({});if(this.triggerAction=="all"){this.doQuery(this.allQuery,true)}else{this.doQuery(this.getRawValue())}this.el.focus()}}});Ext.reg("combo",Ext.form.ComboBox);Ext.form.Checkbox=Ext.extend(Ext.form.Field,{focusClass:undefined,fieldClass:"x-form-field",checked:false,boxLabel:" ",defaultAutoCreate:{tag:"input",type:"checkbox",autocomplete:"off"},actionMode:"wrap",initComponent:function(){Ext.form.Checkbox.superclass.initComponent.call(this);this.addEvents("check")},onResize:function(){Ext.form.Checkbox.superclass.onResize.apply(this,arguments);if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")}},initEvents:function(){Ext.form.Checkbox.superclass.initEvents.call(this);this.mon(this.el,{scope:this,click:this.onClick,change:this.onClick})},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,onRender:function(b,a){Ext.form.Checkbox.superclass.onRender.call(this,b,a);if(this.inputValue!==undefined){this.el.dom.value=this.inputValue}this.wrap=this.el.wrap({cls:"x-form-check-wrap"});if(this.boxLabel){this.wrap.createChild({tag:"label",htmlFor:this.el.id,cls:"x-form-cb-label",html:this.boxLabel})}if(this.checked){this.setValue(true)}else{this.checked=this.el.dom.checked}if(Ext.isIE&&!Ext.isStrict){this.wrap.repaint()}this.resizeEl=this.positionEl=this.wrap},onDestroy:function(){Ext.destroy(this.wrap);Ext.form.Checkbox.superclass.onDestroy.call(this)},initValue:function(){this.originalValue=this.getValue()},getValue:function(){if(this.rendered){return this.el.dom.checked}return this.checked},onClick:function(){if(this.el.dom.checked!=this.checked){this.setValue(this.el.dom.checked)}},setValue:function(a){var c=this.checked,b=this.inputValue;this.checked=(a===true||a==="true"||a=="1"||(b?a==b:String(a).toLowerCase()=="on"));if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked}if(c!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked)}}return this}});Ext.reg("checkbox",Ext.form.Checkbox);Ext.form.CheckboxGroup=Ext.extend(Ext.form.Field,{columns:"auto",vertical:false,allowBlank:true,blankText:"You must select at least one item in this group",defaultType:"checkbox",groupCls:"x-form-check-group",initComponent:function(){this.addEvents("change");this.on("change",this.validate,this);Ext.form.CheckboxGroup.superclass.initComponent.call(this)},onRender:function(k,g){if(!this.el){var q={autoEl:{id:this.id},cls:this.groupCls,layout:"column",renderTo:k,bufferResize:false};var a={xtype:"container",defaultType:this.defaultType,layout:"form",defaults:{hideLabel:true,anchor:"100%"}};if(this.items[0].items){Ext.apply(q,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});for(var e=0,n=this.items.length;e0&&e%s==0){p++}if(this.items[e].fieldLabel){this.items[e].hideLabel=false}o[p].items.push(this.items[e])}}else{for(var e=0,n=this.items.length;e-1){b.setValue(true)}})},getBox:function(b){var a=null;this.eachItem(function(c){if(b==c||c.dataIndex==b||c.id==b||c.getName()==b){a=c;return false}});return a},getValue:function(){var a=[];this.eachItem(function(b){if(b.checked){a.push(b)}});return a},eachItem:function(b,a){if(this.items&&this.items.each){this.items.each(b,a||this)}},getRawValue:Ext.emptyFn,setRawValue:Ext.emptyFn});Ext.reg("checkboxgroup",Ext.form.CheckboxGroup);Ext.form.CompositeField=Ext.extend(Ext.form.Field,{defaultMargins:"0 5 0 0",skipLastItemMargin:true,isComposite:true,combineErrors:true,labelConnector:", ",initComponent:function(){var g=[],b=this.items,e;for(var d=0,c=b.length;d")},sortErrors:function(){var a=this.items;this.fieldErrors.sort("ASC",function(g,d){var c=function(b){return function(i){return i.getName()==b}};var h=a.findIndexBy(c(g.field)),e=a.findIndexBy(c(d.field));return h1){var a=this.getBox(c);if(a){a.setValue(b);if(a.checked){this.eachItem(function(d){if(d!==a){d.setValue(false)}})}}}else{this.setValueForItem(c)}},setValueForItem:function(a){a=String(a).split(",")[0];this.eachItem(function(b){b.setValue(a==b.inputValue)})},fireChecked:function(){if(!this.checkTask){this.checkTask=new Ext.util.DelayedTask(this.bufferChecked,this)}this.checkTask.delay(10)},bufferChecked:function(){var a=null;this.eachItem(function(b){if(b.checked){a=b;return false}});this.fireEvent("change",this,a)},onDestroy:function(){if(this.checkTask){this.checkTask.cancel();this.checkTask=null}Ext.form.RadioGroup.superclass.onDestroy.call(this)}});Ext.reg("radiogroup",Ext.form.RadioGroup);Ext.form.Hidden=Ext.extend(Ext.form.Field,{inputType:"hidden",shouldLayout:false,onRender:function(){Ext.form.Hidden.superclass.onRender.apply(this,arguments)},initEvents:function(){this.originalValue=this.getValue()},setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.reg("hidden",Ext.form.Hidden);Ext.form.BasicForm=Ext.extend(Ext.util.Observable,{constructor:function(b,a){Ext.apply(this,a);if(Ext.isString(this.paramOrder)){this.paramOrder=this.paramOrder.split(/[\s,|]/)}this.items=new Ext.util.MixedCollection(false,function(c){return c.getItemId()});this.addEvents("beforeaction","actionfailed","actioncomplete");if(b){this.initEl(b)}Ext.form.BasicForm.superclass.constructor.call(this)},timeout:30,paramOrder:undefined,paramsAsHash:false,waitTitle:"Please Wait...",activeAction:null,trackResetOnLoad:false,initEl:function(a){this.el=Ext.get(a);this.id=this.el.id||Ext.id();if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)}this.el.addClass("x-form")},getEl:function(){return this.el},onSubmit:function(a){a.stopEvent()},destroy:function(a){if(a!==true){this.items.each(function(b){Ext.destroy(b)});Ext.destroy(this.el)}this.items.clear();this.purgeListeners()},isValid:function(){var a=true;this.items.each(function(b){if(!b.validate()){a=false}});return a},isDirty:function(){var a=false;this.items.each(function(b){if(b.isDirty()){a=true;return false}});return a},doAction:function(b,a){if(Ext.isString(b)){b=new Ext.form.Action.ACTION_TYPES[b](this,a)}if(this.fireEvent("beforeaction",this,b)!==false){this.beforeAction(b);b.run.defer(100,b)}return this},submit:function(b){b=b||{};if(this.standardSubmit){var a=b.clientValidation===false||this.isValid();if(a){var c=this.el.dom;if(this.url&&Ext.isEmpty(c.action)){c.action=this.url}c.submit()}return a}var d=String.format("{0}submit",this.api?"direct":"");this.doAction(d,b);return this},load:function(a){var b=String.format("{0}load",this.api?"direct":"");this.doAction(b,a);return this},updateRecord:function(b){b.beginEdit();var a=b.fields,d,c;a.each(function(e){d=this.findField(e.name);if(d){c=d.getValue();if(typeof c!=undefined&&c.getGroupValue){c=c.getGroupValue()}else{if(d.eachItem){c=[];d.eachItem(function(g){c.push(g.getValue())})}}b.set(e.name,c)}},this);b.endEdit();return this},loadRecord:function(a){this.setValues(a.data);return this},beforeAction:function(a){this.items.each(function(c){if(c.isFormField&&c.syncValue){c.syncValue()}});var b=a.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.mask(b.waitMsg,"x-mask-loading")}else{if(this.waitMsgTarget){this.waitMsgTarget=Ext.get(this.waitMsgTarget);this.waitMsgTarget.mask(b.waitMsg,"x-mask-loading")}else{Ext.MessageBox.wait(b.waitMsg,b.waitTitle||this.waitTitle)}}}},afterAction:function(a,c){this.activeAction=null;var b=a.options;if(b.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()}else{Ext.MessageBox.updateProgress(1);Ext.MessageBox.hide()}}}if(c){if(b.reset){this.reset()}Ext.callback(b.success,b.scope,[this,a]);this.fireEvent("actioncomplete",this,a)}else{Ext.callback(b.failure,b.scope,[this,a]);this.fireEvent("actionfailed",this,a)}},findField:function(c){var b=this.items.get(c);if(!Ext.isObject(b)){var a=function(d){if(d.isFormField){if(d.dataIndex==c||d.id==c||d.getName()==c){b=d;return false}else{if(d.isComposite){return d.items.each(a)}else{if(d instanceof Ext.form.CheckboxGroup&&d.rendered){return d.eachItem(a)}}}}};this.items.each(a)}return b||null},markInvalid:function(h){if(Ext.isArray(h)){for(var c=0,a=h.length;c':">"),c,"")}return d.join("")},createToolbar:function(e){var c=[];var a=Ext.QuickTips&&Ext.QuickTips.isEnabled();function d(k,h,i){return{itemId:k,cls:"x-btn-icon",iconCls:"x-edit-"+k,enableToggle:h!==false,scope:e,handler:i||e.relayBtnCmd,clickEvent:"mousedown",tooltip:a?e.buttonTips[k]||undefined:undefined,overflowText:e.buttonTips[k].title||undefined,tabIndex:-1}}if(this.enableFont&&!Ext.isSafari2){var g=new Ext.Toolbar.Item({autoEl:{tag:"select",cls:"x-font-select",html:this.createFontOptions()}});c.push(g,"-")}if(this.enableFormat){c.push(d("bold"),d("italic"),d("underline"))}if(this.enableFontSize){c.push("-",d("increasefontsize",false,this.adjustFont),d("decreasefontsize",false,this.adjustFont))}if(this.enableColors){c.push("-",{itemId:"forecolor",cls:"x-btn-icon",iconCls:"x-edit-forecolor",clickEvent:"mousedown",tooltip:a?e.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,listeners:{scope:this,select:function(i,h){this.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+h:h);this.deferFocus()}},clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon",iconCls:"x-edit-backcolor",clickEvent:"mousedown",tooltip:a?e.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new Ext.menu.ColorMenu({focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,listeners:{scope:this,select:function(i,h){if(Ext.isGecko){this.execCmd("useCSS",false);this.execCmd("hilitecolor",h);this.execCmd("useCSS",true);this.deferFocus()}else{this.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+h:h);this.deferFocus()}}},clickEvent:"mousedown"})})}if(this.enableAlignments){c.push("-",d("justifyleft"),d("justifycenter"),d("justifyright"))}if(!Ext.isSafari2){if(this.enableLinks){c.push("-",d("createlink",false,this.createLink))}if(this.enableLists){c.push("-",d("insertorderedlist"),d("insertunorderedlist"))}if(this.enableSourceEdit){c.push("-",d("sourceedit",true,function(h){this.toggleSourceEdit(!this.sourceEditMode)}))}}var b=new Ext.Toolbar({renderTo:this.wrap.dom.firstChild,items:c});if(g){this.fontSelect=g.el;this.mon(this.fontSelect,"change",function(){var h=this.fontSelect.dom.value;this.relayCmd("fontname",h);this.deferFocus()},this)}this.mon(b.el,"click",function(h){h.preventDefault()});this.tb=b;this.tb.doLayout()},onDisable:function(){this.wrap.mask();Ext.form.HtmlEditor.superclass.onDisable.call(this)},onEnable:function(){this.wrap.unmask();Ext.form.HtmlEditor.superclass.onEnable.call(this)},setReadOnly:function(b){Ext.form.HtmlEditor.superclass.setReadOnly.call(this,b);if(this.initialized){if(Ext.isIE){this.getEditorBody().contentEditable=!b}else{this.setDesignMode(!b)}var a=this.getEditorBody();if(a){a.style.cursor=this.readOnly?"default":"text"}this.disableItems(b)}},getDocMarkup:function(){var a=Ext.fly(this.iframe).getHeight()-this.iframePad*2;return String.format('',this.iframePad,a)},getEditorBody:function(){var a=this.getDoc();return a.body||a.documentElement},getDoc:function(){return Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)},getWin:function(){return Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]},onRender:function(b,a){Ext.form.HtmlEditor.superclass.onRender.call(this,b,a);this.el.dom.style.border="0 none";this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");if(Ext.isIE){this.el.applyStyles("margin-top:-1px;margin-bottom:-1px;")}this.wrap=this.el.wrap({cls:"x-html-editor-wrap",cn:{cls:"x-html-editor-tb"}});this.createToolbar(this);this.disableItems(true);this.tb.doLayout();this.createIFrame();if(!this.width){var c=this.el.getSize();this.setSize(c.width,this.height||c.height)}this.resizeEl=this.positionEl=this.wrap},createIFrame:function(){var a=document.createElement("iframe");a.name=Ext.id();a.frameBorder="0";a.style.overflow="auto";a.src=Ext.SSL_SECURE_URL;this.wrap.dom.appendChild(a);this.iframe=a;this.monitorTask=Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})},initFrame:function(){Ext.TaskMgr.stop(this.monitorTask);var b=this.getDoc();this.win=this.getWin();b.open();b.write(this.getDocMarkup());b.close();var a={run:function(){var c=this.getDoc();if(c.body||c.readyState=="complete"){Ext.TaskMgr.stop(a);this.setDesignMode(true);this.initEditor.defer(10,this)}},interval:10,duration:10000,scope:this};Ext.TaskMgr.start(a)},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var a=this.getDoc();if(!a){return}if(!a.editorInitialized||this.getDesignMode()!="on"){this.initFrame()}}},setDesignMode:function(b){var a=this.getDoc();if(a){if(this.readOnly){b=false}a.designMode=(/on|true/i).test(String(b).toLowerCase())?"on":"off"}},getDesignMode:function(){var a=this.getDoc();if(!a){return""}return String(a.designMode).toLowerCase()},disableItems:function(a){if(this.fontSelect){this.fontSelect.dom.disabled=a}this.tb.items.each(function(b){if(b.getItemId()!="sourceedit"){b.setDisabled(a)}})},onResize:function(b,c){Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);if(this.el&&this.iframe){if(Ext.isNumber(b)){var e=b-this.wrap.getFrameWidth("lr");this.el.setWidth(e);this.tb.setWidth(e);this.iframe.style.width=Math.max(e,0)+"px"}if(Ext.isNumber(c)){var a=c-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();this.el.setHeight(a);this.iframe.style.height=Math.max(a,0)+"px";var d=this.getEditorBody();if(d){d.style.height=Math.max((a-(this.iframePad*2)),0)+"px"}}}},toggleSourceEdit:function(b){var d,a;if(b===undefined){b=!this.sourceEditMode}this.sourceEditMode=b===true;var c=this.tb.getComponent("sourceedit");if(c.pressed!==this.sourceEditMode){c.toggle(this.sourceEditMode);if(!c.xtbHidden){return}}if(this.sourceEditMode){this.previousSize=this.getSize();d=Ext.get(this.iframe).getHeight();this.disableItems(true);this.syncValue();this.iframe.className="x-hidden";this.el.removeClass("x-hidden");this.el.dom.removeAttribute("tabIndex");this.el.focus();this.el.dom.style.height=d+"px"}else{a=parseInt(this.el.dom.style.height,10);if(this.initialized){this.disableItems(this.readOnly)}this.pushValue();this.iframe.className="";this.el.addClass("x-hidden");this.el.dom.setAttribute("tabIndex",-1);this.deferFocus();this.setSize(this.previousSize);delete this.previousSize;this.iframe.style.height=a+"px"}this.fireEvent("editmodechange",this,this.sourceEditMode)},createLink:function(){var a=prompt(this.createLinkText,this.defaultLinkValue);if(a&&a!="http://"){this.relayCmd("createlink",a)}},initEvents:function(){this.originalValue=this.getValue()},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn,setValue:function(a){Ext.form.HtmlEditor.superclass.setValue.call(this,a);this.pushValue();return this},cleanHtml:function(a){a=String(a);if(Ext.isWebKit){a=a.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")}if(a.charCodeAt(0)==this.defaultValue.replace(/\D/g,"")){a=a.substring(1)}return a},syncValue:function(){if(this.initialized){var d=this.getEditorBody();var c=d.innerHTML;if(Ext.isWebKit){var b=d.getAttribute("style");var a=b.match(/text-align:(.*?);/i);if(a&&a[1]){c='
'+c+"
"}}c=this.cleanHtml(c);if(this.fireEvent("beforesync",this,c)!==false){this.el.dom.value=c;this.fireEvent("sync",this,c)}}},getValue:function(){this[this.sourceEditMode?"pushValue":"syncValue"]();return Ext.form.HtmlEditor.superclass.getValue.call(this)},pushValue:function(){if(this.initialized){var a=this.el.dom.value;if(!this.activated&&a.length<1){a=this.defaultValue}if(this.fireEvent("beforepush",this,a)!==false){this.getEditorBody().innerHTML=a;if(Ext.isGecko){this.setDesignMode(false);this.setDesignMode(true)}this.fireEvent("push",this,a)}}},deferFocus:function(){this.focus.defer(10,this)},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()}else{this.el.focus()}},initEditor:function(){try{var c=this.getEditorBody(),a=this.el.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),g,b;a["background-attachment"]="fixed";c.bgProperties="fixed";Ext.DomHelper.applyStyles(c,a);g=this.getDoc();if(g){try{Ext.EventManager.removeAll(g)}catch(d){}}b=this.onEditorEvent.createDelegate(this);Ext.EventManager.on(g,{mousedown:b,dblclick:b,click:b,keyup:b,buffer:100});if(Ext.isGecko){Ext.EventManager.on(g,"keypress",this.applyCommand,this)}if(Ext.isIE||Ext.isWebKit||Ext.isOpera){Ext.EventManager.on(g,"keydown",this.fixKeys,this)}g.editorInitialized=true;this.initialized=true;this.pushValue();this.setReadOnly(this.readOnly);this.fireEvent("initialize",this)}catch(d){}},beforeDestroy:function(){if(this.monitorTask){Ext.TaskMgr.stop(this.monitorTask)}if(this.rendered){Ext.destroy(this.tb);var b=this.getDoc();if(b){try{Ext.EventManager.removeAll(b);for(var c in b){delete b[c]}}catch(a){}}if(this.wrap){this.wrap.dom.innerHTML="";this.wrap.remove()}}Ext.form.HtmlEditor.superclass.beforeDestroy.call(this)},onFirstFocus:function(){this.activated=true;this.disableItems(this.readOnly);if(Ext.isGecko){this.win.focus();var a=this.win.getSelection();if(!a.focusNode||a.focusNode.nodeType!=3){var b=a.getRangeAt(0);b.selectNodeContents(this.getEditorBody());b.collapse(true);this.deferFocus()}try{this.execCmd("useCSS",true);this.execCmd("styleWithCSS",false)}catch(c){}}this.fireEvent("activate",this)},adjustFont:function(b){var d=b.getItemId()=="increasefontsize"?1:-1,c=this.getDoc(),a=parseInt(c.queryCommandValue("FontSize")||2,10);if((Ext.isSafari&&!Ext.isSafari2)||Ext.isChrome||Ext.isAir){if(a<=10){a=1+d}else{if(a<=13){a=2+d}else{if(a<=16){a=3+d}else{if(a<=18){a=4+d}else{if(a<=24){a=5+d}else{a=6+d}}}}}a=a.constrain(1,6)}else{if(Ext.isSafari){d*=2}a=Math.max(1,a+d)+(Ext.isSafari?"px":0)}this.execCmd("FontSize",a)},onEditorEvent:function(a){this.updateToolbar()},updateToolbar:function(){if(this.readOnly){return}if(!this.activated){this.onFirstFocus();return}var b=this.tb.items.map,c=this.getDoc();if(this.enableFont&&!Ext.isSafari2){var a=(c.queryCommandValue("FontName")||this.defaultFont).toLowerCase();if(a!=this.fontSelect.dom.value){this.fontSelect.dom.value=a}}if(this.enableFormat){b.bold.toggle(c.queryCommandState("bold"));b.italic.toggle(c.queryCommandState("italic"));b.underline.toggle(c.queryCommandState("underline"))}if(this.enableAlignments){b.justifyleft.toggle(c.queryCommandState("justifyleft"));b.justifycenter.toggle(c.queryCommandState("justifycenter"));b.justifyright.toggle(c.queryCommandState("justifyright"))}if(!Ext.isSafari2&&this.enableLists){b.insertorderedlist.toggle(c.queryCommandState("insertorderedlist"));b.insertunorderedlist.toggle(c.queryCommandState("insertunorderedlist"))}Ext.menu.MenuMgr.hideAll();this.syncValue()},relayBtnCmd:function(a){this.relayCmd(a.getItemId())},relayCmd:function(b,a){(function(){this.focus();this.execCmd(b,a);this.updateToolbar()}).defer(10,this)},execCmd:function(b,a){var c=this.getDoc();c.execCommand(b,false,a===undefined?null:a);this.syncValue()},applyCommand:function(b){if(b.ctrlKey){var d=b.getCharCode(),a;if(d>0){d=String.fromCharCode(d);switch(d){case"b":a="bold";break;case"i":a="italic";break;case"u":a="underline";break}if(a){this.win.focus();this.execCmd(a);this.deferFocus();b.preventDefault()}}}},insertAtCursor:function(c){if(!this.activated){return}if(Ext.isIE){this.win.focus();var b=this.getDoc(),a=b.selection.createRange();if(a){a.pasteHTML(c);this.syncValue();this.deferFocus()}}else{this.win.focus();this.execCmd("InsertHTML",c);this.deferFocus()}},fixKeys:function(){if(Ext.isIE){return function(g){var a=g.getKey(),d=this.getDoc(),b;if(a==g.TAB){g.stopEvent();b=d.selection.createRange();if(b){b.collapse(true);b.pasteHTML("    ");this.deferFocus()}}else{if(a==g.ENTER){b=d.selection.createRange();if(b){var c=b.parentElement();if(!c||c.tagName.toLowerCase()!="li"){g.stopEvent();b.pasteHTML("
");b.collapse(false);b.select()}}}}}}else{if(Ext.isOpera){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.win.focus();this.execCmd("InsertHTML","    ");this.deferFocus()}}}else{if(Ext.isWebKit){return function(b){var a=b.getKey();if(a==b.TAB){b.stopEvent();this.execCmd("InsertText","\t");this.deferFocus()}else{if(a==b.ENTER){b.stopEvent();this.execCmd("InsertHtml","

");this.deferFocus()}}}}}}}(),getToolbar:function(){return this.tb},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});Ext.reg("htmleditor",Ext.form.HtmlEditor);Ext.form.TimeField=Ext.extend(Ext.form.ComboBox,{minValue:undefined,maxValue:undefined,minText:"The time in this field must be equal to or after {0}",maxText:"The time in this field must be equal to or before {0}",invalidText:"{0} is not a valid time",format:"g:i A",altFormats:"g:ia|g:iA|g:i a|g:i A|h:i|g:i|H:i|ga|ha|gA|h a|g a|g A|gi|hi|gia|hia|g|H|gi a|hi a|giA|hiA|gi A|hi A",increment:15,mode:"local",triggerAction:"all",typeAhead:false,initDate:"1/1/2008",initDateFormat:"j/n/Y",initComponent:function(){if(Ext.isDefined(this.minValue)){this.setMinValue(this.minValue,true)}if(Ext.isDefined(this.maxValue)){this.setMaxValue(this.maxValue,true)}if(!this.store){this.generateStore(true)}Ext.form.TimeField.superclass.initComponent.call(this)},setMinValue:function(b,a){this.setLimit(b,true,a);return this},setMaxValue:function(b,a){this.setLimit(b,false,a);return this},generateStore:function(b){var c=this.minValue||new Date(this.initDate).clearTime(),a=this.maxValue||new Date(this.initDate).clearTime().add("mi",(24*60)-1),d=[];while(c<=a){d.push(c.dateFormat(this.format));c=c.add("mi",this.increment)}this.bindStore(d,b)},setLimit:function(b,g,a){var e;if(Ext.isString(b)){e=this.parseDate(b)}else{if(Ext.isDate(b)){e=b}}if(e){var c=new Date(this.initDate).clearTime();c.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds());this[g?"minValue":"maxValue"]=c;if(!a){this.generateStore()}}},getValue:function(){var a=Ext.form.TimeField.superclass.getValue.call(this);return this.formatDate(this.parseDate(a))||""},setValue:function(a){return Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(a)))},validateValue:Ext.form.DateField.prototype.validateValue,formatDate:Ext.form.DateField.prototype.formatDate,parseDate:function(h){if(!h||Ext.isDate(h)){return h}var k=this.initDate+" ",g=this.initDateFormat+" ",b=Date.parseDate(k+h,g+this.format),c=this.altFormats;if(!b&&c){if(!this.altFormatsArray){this.altFormatsArray=c.split("|")}for(var e=0,d=this.altFormatsArray,a=d.length;e=0){if(!d){c=g-1}d=false;while(c>=0){if(e.call(k||this,l,c,i)===true){return[l,c]}c--}l--}}else{if(c>=g){l++;d=false}while(l','
','
','
','
{header}
',"
",'
',"
",'
','
{body}
','',"
","
",'
 
','
 
',""),headerTpl:new Ext.Template('',"",'{cells}',"","
"),bodyTpl:new Ext.Template("{rows}"),cellTpl:new Ext.Template('','
{value}
',""),initTemplates:function(){var c=this.templates||{},d,b,g=new Ext.Template('','
',this.grid.enableHdMenu?'':"","{value}",'',"
",""),a=['','','
{body}
',"",""].join(""),e=['',"","{cells}",this.enableRowBody?a:"","","
"].join("");Ext.applyIf(c,{hcell:g,cell:this.cellTpl,body:this.bodyTpl,header:this.headerTpl,master:this.masterTpl,row:new Ext.Template('
'+e+"
"),rowInner:new Ext.Template(e)});for(b in c){d=c[b];if(d&&Ext.isFunction(d.compile)&&!d.compiled){d.disableFormats=true;d.compile()}}this.templates=c;this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")},fly:function(a){if(!this._flyweight){this._flyweight=new Ext.Element.Flyweight(document.body)}this._flyweight.dom=a;return this._flyweight},getEditorParent:function(){return this.scroller.dom},initElements:function(){var b=Ext.Element,d=Ext.get(this.grid.getGridEl().dom.firstChild),e=new b(d.child("div.x-grid3-viewport")),c=new b(e.child("div.x-grid3-header")),a=new b(e.child("div.x-grid3-scroller"));if(this.grid.hideHeaders){c.setDisplayed(false)}if(this.forceFit){a.setStyle("overflow-x","hidden")}Ext.apply(this,{el:d,mainWrap:e,scroller:a,mainHd:c,innerHd:c.child("div.x-grid3-header-inner").dom,mainBody:new b(b.fly(a).child("div.x-grid3-body")),focusEl:new b(b.fly(a).child("a")),resizeMarker:new b(d.child("div.x-grid3-resize-marker")),resizeProxy:new b(d.child("div.x-grid3-resize-proxy"))});this.focusEl.swallowEvent("click",true)},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},findCell:function(a){if(!a){return false}return this.fly(a).findParent(this.cellSelector,this.cellSelectorDepth)},findCellIndex:function(d,c){var b=this.findCell(d),a;if(b){a=this.fly(b).hasClass(c);if(!c||a){return this.getCellIndex(b)}}return false},getCellIndex:function(b){if(b){var a=b.className.match(this.colRe);if(a&&a[1]){return this.cm.getIndexById(a[1])}}return false},findHeaderCell:function(b){var a=this.findCell(b);return a&&this.fly(a).hasClass(this.hdCls)?a:null},findHeaderIndex:function(a){return this.findCellIndex(a,this.hdCls)},findRow:function(a){if(!a){return false}return this.fly(a).findParent(this.rowSelector,this.rowSelectorDepth)},findRowIndex:function(a){var b=this.findRow(a);return b?b.rowIndex:false},findRowBody:function(a){if(!a){return false}return this.fly(a).findParent(this.rowBodySelector,this.rowBodySelectorDepth)},getRow:function(a){return this.getRows()[a]},getCell:function(b,a){return Ext.fly(this.getRow(b)).query(this.cellSelector)[a]},getHeaderCell:function(a){return this.mainHd.dom.getElementsByTagName("td")[a]},addRowClass:function(b,a){var c=this.getRow(b);if(c){this.fly(c).addClass(a)}},removeRowClass:function(c,a){var b=this.getRow(c);if(b){this.fly(b).removeClass(a)}},removeRow:function(a){Ext.removeNode(this.getRow(a));this.syncFocusEl(a)},removeRows:function(c,a){var b=this.mainBody.dom,d;for(d=c;d<=a;d++){Ext.removeNode(b.childNodes[c])}this.syncFocusEl(c)},getScrollState:function(){var a=this.scroller.dom;return{left:a.scrollLeft,top:a.scrollTop}},restoreScroll:function(a){var b=this.scroller.dom;b.scrollLeft=a.left;b.scrollTop=a.top},scrollToTop:function(){var a=this.scroller.dom;a.scrollTop=0;a.scrollLeft=0},syncScroll:function(){this.syncHeaderScroll();var a=this.scroller.dom;this.grid.fireEvent("bodyscroll",a.scrollLeft,a.scrollTop)},syncHeaderScroll:function(){var a=this.innerHd,b=this.scroller.dom.scrollLeft;a.scrollLeft=b;a.scrollLeft=b},updateSortIcon:function(d,c){var a=this.sortClasses,b=a[c=="DESC"?1:0],e=this.mainHd.select("td").removeClass(a);e.item(d).addClass(b)},updateAllColumnWidths:function(){var e=this.getTotalWidth(),k=this.cm.getColumnCount(),m=this.getRows(),g=m.length,b=[],l,a,h,d,c;for(d=0;d=this.ds.getCount()){return null}d=(d!==undefined?d:0);var c=this.getRow(h),b=this.cm,e=b.getColumnCount(),a;if(!(g===false&&d===0)){while(dn){o.scrollTop=r-a}}if(e!==false){var m=parseInt(h.offsetLeft,10),k=m+h.offsetWidth,i=parseInt(o.scrollLeft,10),b=i+o.clientWidth;if(mb){o.scrollLeft=k-o.clientWidth}}}return this.getResolvedXY(s)},insertRows:function(a,i,e,h){var d=a.getCount()-1;if(!h&&i===0&&e>=d){this.fireEvent("beforerowsinserted",this,i,e);this.refresh();this.fireEvent("rowsinserted",this,i,e)}else{if(!h){this.fireEvent("beforerowsinserted",this,i,e)}var b=this.renderRows(i,e),g=this.getRow(i);if(g){if(i===0){Ext.fly(this.getRow(0)).removeClass(this.firstRowCls)}Ext.DomHelper.insertHtml("beforeBegin",g,b)}else{var c=this.getRow(d-1);if(c){Ext.fly(c).removeClass(this.lastRowCls)}Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,b)}if(!h){this.processRows(i);this.fireEvent("rowsinserted",this,i,e)}else{if(i===0||i>=d){Ext.fly(this.getRow(i)).addClass(i===0?this.firstRowCls:this.lastRowCls)}}}this.syncFocusEl(i)},deleteRows:function(a,c,b){if(a.getRowCount()<1){this.refresh()}else{this.fireEvent("beforerowsdeleted",this,c,b);this.removeRows(c,b);this.processRows(c);this.fireEvent("rowsdeleted",this,c,b)}},getColumnStyle:function(b,d){var a=this.cm,g=a.config,c=d?"":g[b].css||"",e=g[b].align;c+=String.format("width: {0};",this.getColumnWidth(b));if(a.isHidden(b)){c+="display: none; "}if(e){c+=String.format("text-align: {0};",e)}return c},getColumnWidth:function(b){var c=this.cm.getColumnWidth(b),a=this.borderWidth;if(Ext.isNumber(c)){if(Ext.isBorderBox||(Ext.isWebKit&&!Ext.isSafari2)){return c+"px"}else{return Math.max(c-a,0)+"px"}}else{return c}},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"},fitColumns:function(g,k,h){var a=this.grid,m=this.cm,t=m.getTotalWidth(false),r=this.getGridInnerWidth(),s=r-t,c=[],p=0,o=0,v,d,q;if(r<20||s===0){return false}var e=m.getColumnCount(true),n=m.getColumnCount(false),b=e-(Ext.isNumber(h)?1:0);if(b===0){b=1;h=undefined}for(q=0;qr){var u=(b==e)?p:h,l=Math.max(1,m.getColumnWidth(u)-(t-r));m.setColumnWidth(u,l,true)}if(g!==true){this.updateAllColumnWidths()}return true},autoExpand:function(l){var a=this.grid,i=this.cm,e=this.getGridInnerWidth(),c=i.getTotalWidth(false),g=a.autoExpandColumn;if(!this.userResized&&g){if(e!=c){var k=i.getIndexById(g),b=i.getColumnWidth(k),h=e-c+b,d=Math.min(Math.max(h,a.autoExpandMin),a.autoExpandMax);if(b!=d){i.setColumnWidth(k,d,true);if(l!==true){this.updateColumnWidth(k,d)}}}}},getGridInnerWidth:function(){return this.grid.getGridEl().getWidth(true)-this.getScrollOffset()},getColumnData:function(){var e=[],c=this.cm,g=c.getColumnCount(),a=this.ds.fields,d,b;for(d=0;d'+this.emptyText+"")}},updateHeaderSortState:function(){var b=this.ds.getSortState();if(!b){return}if(!this.sortState||(this.sortState.field!=b.field||this.sortState.direction!=b.direction)){this.grid.fireEvent("sortchange",this.grid,b)}this.sortState=b;var c=this.cm.findColumnIndex(b.field);if(c!=-1){var a=b.direction;this.updateSortIcon(c,a)}},clearHeaderSortState:function(){if(!this.sortState){return}this.grid.fireEvent("sortchange",this.grid,null);this.mainHd.select("td").removeClass(this.sortClasses);delete this.sortState},destroy:function(){var k=this,a=k.grid,d=a.getGridEl(),i=k.dragZone,g=k.splitZone,h=k.columnDrag,e=k.columnDrop,l=k.scrollToTopTask,c,b;if(l&&l.cancel){l.cancel()}Ext.destroyMembers(k,"colMenu","hmenu");k.initData(null,null);k.purgeListeners();Ext.fly(k.innerHd).un("click",k.handleHdDown,k);if(a.enableColumnMove){c=h.dragData;b=h.proxy;Ext.destroy(h.el,b.ghost,b.el,e.el,e.proxyTop,e.proxyBottom,c.ddel,c.header);if(b.anim){Ext.destroy(b.anim)}delete b.ghost;delete c.ddel;delete c.header;h.destroy();delete Ext.dd.DDM.locationCache[h.id];delete h._domRef;delete e.proxyTop;delete e.proxyBottom;e.destroy();delete Ext.dd.DDM.locationCache["gridHeader"+d.id];delete e._domRef;delete Ext.dd.DDM.ids[e.ddGroup]}if(g){g.destroy();delete g._domRef;delete Ext.dd.DDM.ids["gridSplitters"+d.id]}Ext.fly(k.innerHd).removeAllListeners();Ext.removeNode(k.innerHd);delete k.innerHd;Ext.destroy(k.el,k.mainWrap,k.mainHd,k.scroller,k.mainBody,k.focusEl,k.resizeMarker,k.resizeProxy,k.activeHdBtn,k._flyweight,i,g);delete a.container;if(i){i.destroy()}Ext.dd.DDM.currentTarget=null;delete Ext.dd.DDM.locationCache[d.id];Ext.EventManager.removeResizeListener(k.onWindowResize,k)},onDenyColumnHide:function(){},render:function(){if(this.autoFill){var a=this.grid.ownerCt;if(a&&a.getLayout()){a.on("afterlayout",function(){this.fitColumns(true,true);this.updateHeaders();this.updateHeaderSortState()},this,{single:true})}}else{if(this.forceFit){this.fitColumns(true,false)}else{if(this.grid.autoExpandColumn){this.autoExpand(true)}}}this.grid.getGridEl().dom.innerHTML=this.renderUI();this.afterRenderUI()},initData:function(a,e){var b=this;if(b.ds){var d=b.ds;d.un("add",b.onAdd,b);d.un("load",b.onLoad,b);d.un("clear",b.onClear,b);d.un("remove",b.onRemove,b);d.un("update",b.onUpdate,b);d.un("datachanged",b.onDataChange,b);if(d!==a&&d.autoDestroy){d.destroy()}}if(a){a.on({scope:b,load:b.onLoad,add:b.onAdd,remove:b.onRemove,update:b.onUpdate,clear:b.onClear,datachanged:b.onDataChange})}if(b.cm){var c=b.cm;c.un("configchange",b.onColConfigChange,b);c.un("widthchange",b.onColWidthChange,b);c.un("headerchange",b.onHeaderChange,b);c.un("hiddenchange",b.onHiddenChange,b);c.un("columnmoved",b.onColumnMove,b)}if(e){delete b.lastViewWidth;e.on({scope:b,configchange:b.onColConfigChange,widthchange:b.onColWidthChange,headerchange:b.onHeaderChange,hiddenchange:b.onHiddenChange,columnmoved:b.onColumnMove})}b.ds=a;b.cm=e},onDataChange:function(){this.refresh(true);this.updateHeaderSortState();this.syncFocusEl(0)},onClear:function(){this.refresh();this.syncFocusEl(0)},onUpdate:function(b,a){this.refreshRow(a)},onAdd:function(b,a,c){this.insertRows(b,c,c+(a.length-1))},onRemove:function(b,a,c,d){if(d!==true){this.fireEvent("beforerowremoved",this,c,a)}this.removeRow(c);if(d!==true){this.processRows(c);this.applyEmptyText();this.fireEvent("rowremoved",this,c,a)}},onLoad:function(){if(Ext.isGecko){if(!this.scrollToTopTask){this.scrollToTopTask=new Ext.util.DelayedTask(this.scrollToTop,this)}this.scrollToTopTask.delay(1)}else{this.scrollToTop()}},onColWidthChange:function(a,b,c){this.updateColumnWidth(b,c)},onHeaderChange:function(a,b,c){this.updateHeaders()},onHiddenChange:function(a,b,c){this.updateColumnHidden(b,c)},onColumnMove:function(a,c,b){this.indexMap=null;this.refresh(true);this.restoreScroll(this.getScrollState());this.afterMove(b);this.grid.fireEvent("columnmove",c,b)},onColConfigChange:function(){delete this.lastViewWidth;this.indexMap=null;this.refresh(true)},initUI:function(a){a.on("headerclick",this.onHeaderClick,this)},initEvents:Ext.emptyFn,onHeaderClick:function(b,a){if(this.headersDisabled||!this.cm.isSortable(a)){return}b.stopEditing(true);b.store.sort(this.cm.getDataIndex(a))},onRowOver:function(b,a){var c=this.findRowIndex(a);if(c!==false){this.addRowClass(c,this.rowOverCls)}},onRowOut:function(b,a){var c=this.findRowIndex(a);if(c!==false&&!b.within(this.getRow(c),true)){this.removeRowClass(c,this.rowOverCls)}},onRowSelect:function(a){this.addRowClass(a,this.selectedRowClass)},onRowDeselect:function(a){this.removeRowClass(a,this.selectedRowClass)},onCellSelect:function(c,b){var a=this.getCell(c,b);if(a){this.fly(a).addClass("x-grid3-cell-selected")}},onCellDeselect:function(c,b){var a=this.getCell(c,b);if(a){this.fly(a).removeClass("x-grid3-cell-selected")}},handleWheel:function(a){a.stopPropagation()},onColumnSplitterMoved:function(a,b){this.userResized=true;this.grid.colModel.setColumnWidth(a,b,true);if(this.forceFit){this.fitColumns(true,false,a);this.updateAllColumnWidths()}else{this.updateColumnWidth(a,b);this.syncHeaderScroll()}this.grid.fireEvent("columnresize",a,b)},beforeColMenuShow:function(){var b=this.cm,d=b.getColumnCount(),a=this.colMenu,c;a.removeAll();for(c=0;c0){if(!this.cm.isHidden(a-1)){return a}a--}return undefined},handleHdOver:function(c,b){var d=this.findHeaderCell(b);if(d&&!this.headersDisabled){var a=this.fly(d);this.activeHdRef=b;this.activeHdIndex=this.getCellIndex(d);this.activeHdRegion=a.getRegion();if(!this.isMenuDisabled(this.activeHdIndex,a)){a.addClass("x-grid3-hd-over");this.activeHdBtn=a.child(".x-grid3-hd-btn");if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(d.firstChild.offsetHeight-1)+"px"}}}},handleHdOut:function(b,a){var c=this.findHeaderCell(a);if(c&&(!Ext.isIE||!b.within(c,true))){this.activeHdRef=null;this.fly(c).removeClass("x-grid3-hd-over");c.style.cursor=""}},isMenuDisabled:function(a,b){return this.cm.isMenuDisabled(a)},hasRows:function(){var a=this.mainBody.dom.firstChild;return a&&a.nodeType==1&&a.className!="x-grid-empty"},isHideableColumn:function(a){return !a.hidden},bind:function(a,b){this.initData(a,b)}});Ext.grid.GridView.SplitDragZone=Ext.extend(Ext.dd.DDProxy,{constructor:function(a,b){this.grid=a;this.view=a.getView();this.marker=this.view.resizeMarker;this.proxy=this.view.resizeProxy;Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,b,"gridSplitters"+this.grid.getGridEl().id,{dragElId:Ext.id(this.proxy.dom),resizeFrame:false});this.scroll=false;this.hw=this.view.splitHandleWidth||5},b4StartDrag:function(a,e){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var d=this.view.mainWrap.getHeight();this.marker.setHeight(d);this.marker.show();this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);this.proxy.setHeight(d);var b=this.cm.getColumnWidth(this.cellIndex),c=Math.max(b-this.grid.minColumnWidth,0);this.resetConstraints();this.setXConstraint(c,1000);this.setYConstraint(0,0);this.minX=a-c;this.maxX=a+1000;this.startPos=a;Ext.dd.DDProxy.prototype.b4StartDrag.call(this,a,e)},allowHeaderDrag:function(a){return true},handleMouseDown:function(a){var h=this.view.findHeaderCell(a.getTarget());if(h&&this.allowHeaderDrag(a)){var l=this.view.fly(h).getXY(),c=l[0],i=a.getXY(),b=i[0],g=h.offsetWidth,d=false;if((b-c)<=this.hw){d=-1}else{if((c+g)-b<=this.hw){d=0}}if(d!==false){this.cm=this.grid.colModel;var k=this.view.getCellIndex(h);if(d==-1){if(k+d<0){return}while(this.cm.isHidden(k+d)){--d;if(k+d<0){return}}}this.cellIndex=k+d;this.split=h.dom;if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(a)}}}},endDrag:function(g){this.marker.hide();var a=this.view,c=Math.max(this.minX,g.getPageX()),d=c-this.startPos,b=this.dragHeadersDisabled;a.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+d);setTimeout(function(){a.headersDisabled=b},50)},autoOffset:function(){this.setDelta(0,0)}});Ext.grid.PivotGridView=Ext.extend(Ext.grid.GridView,{colHeaderCellCls:"grid-hd-group-cell",title:"",getColumnHeaders:function(){return this.grid.topAxis.buildHeaders()},getRowHeaders:function(){return this.grid.leftAxis.buildHeaders()},renderRows:function(a,r){var b=this.grid,n=b.extractData(),o=n.length,e=this.templates,q=b.renderer,h=typeof q=="function",t=this.getCellCls,m=typeof t=="function",d=e.cell,u=e.row,k=[],p={},c="width:"+this.getGridInnerWidth()+"px;",l,g,s;a=a||0;r=Ext.isDefined(r)?r:o-1;for(s=0;s','
','
','
{title}
','
','
',"
",'
',"
",'
','
','
{body}
','',"
","
",'
 
','
 
',""),initTemplates:function(){Ext.grid.PivotGridView.superclass.initTemplates.apply(this,arguments);var a=this.templates||{};if(!a.gcell){a.gcell=new Ext.XTemplate('','
',this.grid.enableHdMenu?'':"","{value}","
","")}this.templates=a;this.hrowRe=new RegExp("ux-grid-hd-group-row-(\\d+)","")},initElements:function(){Ext.grid.PivotGridView.superclass.initElements.apply(this,arguments);this.rowHeadersEl=new Ext.Element(this.scroller.child("div.x-grid3-row-headers"));this.headerTitleEl=new Ext.Element(this.mainHd.child("div.x-grid3-header-title"))},getGridInnerWidth:function(){var a=Ext.grid.PivotGridView.superclass.getGridInnerWidth.apply(this,arguments);return a-this.getTotalRowHeaderWidth()},getTotalRowHeaderWidth:function(){var d=this.getRowHeaders(),c=d.length,b=0,a;for(a=0;a0&&d>0){g=g||n.data[a[e-1].dataIndex]!=k[d-1].data[a[e-1].dataIndex]}if(g){r.push({header:p,span:o,start:b});b+=o;o=0}if(h){r.push({header:m,span:o+1,start:b});b+=o;o=0}p=m;o++}c.push({items:r,width:dimension.width||this.defaultHeaderWidth});p=undefined}return c}});Ext.grid.HeaderDragZone=Ext.extend(Ext.dd.DragZone,{maxDragWidth:120,constructor:function(a,c,b){this.grid=a;this.view=a.getView();this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDragZone.superclass.constructor.call(this,c);if(b){this.setHandleElId(Ext.id(c));this.setOuterHandleElId(Ext.id(b))}this.scroll=false},getDragData:function(c){var a=Ext.lib.Event.getTarget(c),b=this.view.findHeaderCell(a);if(b){return{ddel:b.firstChild,header:b}}return false},onInitDrag:function(a){this.dragHeadersDisabled=this.view.headersDisabled;this.view.headersDisabled=true;var b=this.dragData.ddel.cloneNode(true);b.id=Ext.id();b.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";this.proxy.update(b);return true},afterValidDrop:function(){this.completeDrop()},afterInvalidDrop:function(){this.completeDrop()},completeDrop:function(){var a=this.view,b=this.dragHeadersDisabled;setTimeout(function(){a.headersDisabled=b},50)}});Ext.grid.HeaderDropZone=Ext.extend(Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:Ext.Element.fly,constructor:function(a,c,b){this.grid=a;this.view=a.getView();this.proxyTop=Ext.DomHelper.append(document.body,{cls:"col-move-top",html:" "},true);this.proxyBottom=Ext.DomHelper.append(document.body,{cls:"col-move-bottom",html:" "},true);this.proxyTop.hide=this.proxyBottom.hide=function(){this.setLeftTop(-100,-100);this.setStyle("visibility","hidden")};this.ddGroup="gridHeader"+this.grid.getGridEl().id;Ext.grid.HeaderDropZone.superclass.constructor.call(this,a.getGridEl().dom)},getTargetFromEvent:function(c){var a=Ext.lib.Event.getTarget(c),b=this.view.findCellIndex(a);if(b!==false){return this.view.getHeaderCell(b)}},nextVisible:function(c){var b=this.view,a=this.grid.colModel;c=c.nextSibling;while(c){if(!a.isHidden(b.getCellIndex(c))){return c}c=c.nextSibling}return null},prevVisible:function(c){var b=this.view,a=this.grid.colModel;c=c.prevSibling;while(c){if(!a.isHidden(b.getCellIndex(c))){return c}c=c.prevSibling}return null},positionIndicator:function(d,l,k){var a=Ext.lib.Event.getPageX(k),g=Ext.lib.Dom.getRegion(l.firstChild),c,i,b=g.top+this.proxyOffsets[1];if((g.right-a)<=(g.right-g.left)/2){c=g.right+this.view.borderWidth;i="after"}else{c=g.left;i="before"}if(this.grid.colModel.isFixed(this.view.getCellIndex(l))){return false}c+=this.proxyOffsets[0];this.proxyTop.setLeftTop(c,b);this.proxyTop.show();if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()}this.proxyBottom.setLeftTop(c,b+this.proxyTop.dom.offsetHeight+this.bottomOffset);this.proxyBottom.show();return i},onNodeEnter:function(d,a,c,b){if(b.header!=d){this.positionIndicator(b.header,d,c)}},onNodeOver:function(g,b,d,c){var a=false;if(c.header!=g){a=this.positionIndicator(c.header,g,d)}if(!a){this.proxyTop.hide();this.proxyBottom.hide()}return a?this.dropAllowed:this.dropNotAllowed},onNodeOut:function(d,a,c,b){this.proxyTop.hide();this.proxyBottom.hide()},onNodeDrop:function(b,o,g,c){var d=c.header;if(d!=b){var l=this.grid.colModel,k=Ext.lib.Event.getPageX(g),a=Ext.lib.Dom.getRegion(b.firstChild),p=(a.right-k)<=((a.right-a.left)/2)?"after":"before",i=this.view.getCellIndex(d),m=this.view.getCellIndex(b);if(p=="after"){m++}if(i=0&&this.config[a].resizable!==false&&this.config[a].fixed!==true},setHidden:function(a,b){var d=this.config[a];if(d.hidden!==b){d.hidden=b;this.totalWidth=null;this.fireEvent("hiddenchange",this,a,b)}},setEditor:function(a,b){this.config[a].setEditor(b)},destroy:function(){var b=this.config.length,a=0;for(;a0},isSelected:function(a){var b=Ext.isNumber(a)?this.grid.store.getAt(a):a;return(b&&this.selections.key(b.id)?true:false)},isIdSelected:function(a){return(this.selections.key(a)?true:false)},handleMouseDown:function(d,i,h){if(h.button!==0||this.isLocked()){return}var a=this.grid.getView();if(h.shiftKey&&!this.singleSelect&&this.last!==false){var c=this.last;this.selectRange(c,i,h.ctrlKey);this.last=c;a.focusRow(i)}else{var b=this.isSelected(i);if(h.ctrlKey&&b){this.deselectRow(i)}else{if(!b||this.getCount()>1){this.selectRow(i,h.ctrlKey||h.shiftKey);a.focusRow(i)}}}},selectRows:function(c,d){if(!d){this.clearSelections()}for(var b=0,a=c.length;b=a;c--){this.selectRow(c,true)}}},deselectRange:function(c,b,a){if(this.isLocked()){return}for(var d=c;d<=b;d++){this.deselectRow(d,a)}},selectRow:function(b,d,a){if(this.isLocked()||(b<0||b>=this.grid.store.getCount())||(d&&this.isSelected(b))){return}var c=this.grid.store.getAt(b);if(c&&this.fireEvent("beforerowselect",this,b,d,c)!==false){if(!d||this.singleSelect){this.clearSelections()}this.selections.add(c);this.last=this.lastActive=b;if(!a){this.grid.getView().onRowSelect(b)}if(!this.silent){this.fireEvent("rowselect",this,b,c);this.fireEvent("selectionchange",this)}}},deselectRow:function(b,a){if(this.isLocked()){return}if(this.last==b){this.last=false}if(this.lastActive==b){this.lastActive=false}var c=this.grid.store.getAt(b);if(c){this.selections.remove(c);if(!a){this.grid.getView().onRowDeselect(b)}this.fireEvent("rowdeselect",this,b,c);this.fireEvent("selectionchange",this)}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)},onEditorKey:function(o,m){var d=m.getKey(),h,i=this.grid,q=i.lastEdit,l=i.activeEditor,b=m.shiftKey,p,q,a,n;if(d==m.TAB){m.stopEvent();l.completeEdit();if(b){h=i.walkCells(l.row,l.col-1,-1,this.acceptsNav,this)}else{h=i.walkCells(l.row,l.col+1,1,this.acceptsNav,this)}}else{if(d==m.ENTER){if(this.moveEditorOnEnter!==false){if(b){h=i.walkCells(q.row-1,q.col,-1,this.acceptsNav,this)}else{h=i.walkCells(q.row+1,q.col,1,this.acceptsNav,this)}}}}if(h){a=h[0];n=h[1];this.onEditorSelect(a,q.row);if(i.isEditor&&i.editing){p=i.activeEditor;if(p&&p.field.triggerBlur){p.field.triggerBlur()}}i.startEditing(a,n)}},onEditorSelect:function(b,a){if(a!=b){this.selectRow(b)}},destroy:function(){Ext.destroy(this.rowNav);this.rowNav=null;Ext.grid.RowSelectionModel.superclass.destroy.call(this)}});Ext.grid.Column=Ext.extend(Ext.util.Observable,{isColumn:true,constructor:function(b){Ext.apply(this,b);if(Ext.isString(this.renderer)){this.renderer=Ext.util.Format[this.renderer]}else{if(Ext.isObject(this.renderer)){this.scope=this.renderer.scope;this.renderer=this.renderer.fn}}if(!this.scope){this.scope=this}var a=this.editor;delete this.editor;this.setEditor(a);this.addEvents("click","contextmenu","dblclick","mousedown");Ext.grid.Column.superclass.constructor.call(this)},processEvent:function(b,d,c,g,a){return this.fireEvent(b,this,c,g,d)},destroy:function(){if(this.setEditor){this.setEditor(null)}this.purgeListeners()},renderer:function(a){return a},getEditor:function(a){return this.editable!==false?this.editor:null},setEditor:function(b){var a=this.editor;if(a){if(a.gridEditor){a.gridEditor.destroy();delete a.gridEditor}else{a.destroy()}}this.editor=null;if(b){if(!b.isXType){b=Ext.create(b,"textfield")}this.editor=b}},getCellEditor:function(b){var a=this.getEditor(b);if(a){if(!a.startEdit){if(!a.gridEditor){a.gridEditor=new Ext.grid.GridEditor(a)}a=a.gridEditor}}return a}});Ext.grid.BooleanColumn=Ext.extend(Ext.grid.Column,{trueText:"true",falseText:"false",undefinedText:" ",constructor:function(a){Ext.grid.BooleanColumn.superclass.constructor.call(this,a);var c=this.trueText,d=this.falseText,b=this.undefinedText;this.renderer=function(e){if(e===undefined){return b}if(!e||e==="false"){return d}return c}}});Ext.grid.NumberColumn=Ext.extend(Ext.grid.Column,{format:"0,000.00",constructor:function(a){Ext.grid.NumberColumn.superclass.constructor.call(this,a);this.renderer=Ext.util.Format.numberRenderer(this.format)}});Ext.grid.DateColumn=Ext.extend(Ext.grid.Column,{format:"m/d/Y",constructor:function(a){Ext.grid.DateColumn.superclass.constructor.call(this,a);this.renderer=Ext.util.Format.dateRenderer(this.format)}});Ext.grid.TemplateColumn=Ext.extend(Ext.grid.Column,{constructor:function(a){Ext.grid.TemplateColumn.superclass.constructor.call(this,a);var b=(!Ext.isPrimitive(this.tpl)&&this.tpl.compile)?this.tpl:new Ext.XTemplate(this.tpl);this.renderer=function(d,e,c){return b.apply(c.data)};this.tpl=b}});Ext.grid.ActionColumn=Ext.extend(Ext.grid.Column,{header:" ",actionIdRe:/x-action-col-(\d+)/,altText:"",constructor:function(b){var g=this,c=b.items||(g.items=[g]),a=c.length,d,e;Ext.grid.ActionColumn.superclass.constructor.call(g,b);g.renderer=function(h,i){h=Ext.isFunction(b.renderer)?b.renderer.apply(this,arguments)||"":"";i.css+=" x-action-col-cell";for(d=0;d"}return h}},destroy:function(){delete this.items;delete this.renderer;return Ext.grid.ActionColumn.superclass.destroy.apply(this,arguments)},processEvent:function(c,i,d,k,b){var a=i.getTarget().className.match(this.actionIdRe),h,g;if(a&&(h=this.items[parseInt(a[1],10)])){if(c=="click"){(g=h.handler||this.handler)&&g.call(h.scope||this.scope||this,d,k,b,h,i)}else{if((c=="mousedown")&&(h.stopSelection!==false)){return false}}}return Ext.grid.ActionColumn.superclass.processEvent.apply(this,arguments)}});Ext.grid.Column.types={gridcolumn:Ext.grid.Column,booleancolumn:Ext.grid.BooleanColumn,numbercolumn:Ext.grid.NumberColumn,datecolumn:Ext.grid.DateColumn,templatecolumn:Ext.grid.TemplateColumn,actioncolumn:Ext.grid.ActionColumn};Ext.grid.RowNumberer=Ext.extend(Object,{header:"",width:23,sortable:false,constructor:function(a){Ext.apply(this,a);if(this.rowspan){this.renderer=this.renderer.createDelegate(this)}},fixed:true,hideable:false,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(b,c,a,d){if(this.rowspan){c.cellAttr='rowspan="'+this.rowspan+'"'}return d+1}});Ext.grid.CheckboxSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'
 
',width:20,sortable:false,menuDisabled:true,fixed:true,hideable:false,dataIndex:"",id:"checker",isColumn:true,constructor:function(){Ext.grid.CheckboxSelectionModel.superclass.constructor.apply(this,arguments);if(this.checkOnly){this.handleMouseDown=Ext.emptyFn}},initEvents:function(){Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);this.grid.on("render",function(){Ext.fly(this.grid.getView().innerHd).on("mousedown",this.onHdMouseDown,this)},this)},processEvent:function(b,d,c,g,a){if(b=="mousedown"){this.onMouseDown(d,d.getTarget());return false}else{return Ext.grid.Column.prototype.processEvent.apply(this,arguments)}},onMouseDown:function(c,b){if(c.button===0&&b.className=="x-grid3-row-checker"){c.stopEvent();var d=c.getTarget(".x-grid3-row");if(d){var a=d.rowIndex;if(this.isSelected(a)){this.deselectRow(a)}else{this.selectRow(a,true);this.grid.getView().focusRow(a)}}}},onHdMouseDown:function(c,a){if(a.className=="x-grid3-hd-checker"){c.stopEvent();var b=Ext.fly(a.parentNode);var d=b.hasClass("x-grid3-hd-checker-on");if(d){b.removeClass("x-grid3-hd-checker-on");this.clearSelections()}else{b.addClass("x-grid3-hd-checker-on");this.selectAll()}}},renderer:function(b,c,a){return'
 
'},onEditorSelect:function(b,a){if(a!=b&&!this.checkOnly){this.selectRow(b)}}});Ext.grid.CellSelectionModel=Ext.extend(Ext.grid.AbstractSelectionModel,{constructor:function(a){Ext.apply(this,a);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange");Ext.grid.CellSelectionModel.superclass.constructor.call(this)},initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);this.grid.on(Ext.EventManager.getKeyEvent(),this.handleKeyDown,this);this.grid.getView().on({scope:this,refresh:this.onViewChange,rowupdated:this.onRowUpdated,beforerowremoved:this.clearSelections,beforerowsinserted:this.clearSelections});if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},beforeEdit:function(a){this.select(a.row,a.column,false,true,a.record)},onRowUpdated:function(a,b,c){if(this.selection&&this.selection.record==c){a.onCellSelect(b,this.selection.cell[1])}},onViewChange:function(){this.clearSelections(true)},getSelectedCell:function(){return this.selection?this.selection.cell:null},clearSelections:function(b){var a=this.selection;if(a){if(b!==true){this.grid.view.onCellDeselect(a.cell[0],a.cell[1])}this.selection=null;this.fireEvent("selectionchange",this,null)}},hasSelection:function(){return this.selection?true:false},handleMouseDown:function(b,d,a,c){if(c.button!==0||this.isLocked()){return}this.select(d,a)},select:function(g,c,b,e,d){if(this.fireEvent("beforecellselect",this,g,c)!==false){this.clearSelections();d=d||this.grid.store.getAt(g);this.selection={record:d,cell:[g,c]};if(!b){var a=this.grid.getView();a.onCellSelect(g,c);if(e!==true){a.focusCell(g,c)}}this.fireEvent("cellselect",this,g,c);this.fireEvent("selectionchange",this,this.selection)}},isSelectable:function(c,b,a){return !a.isHidden(b)},onEditorKey:function(b,a){if(a.getKey()==a.TAB){this.handleKeyDown(a)}},handleKeyDown:function(l){if(!l.isNavKeyPress()){return}var d=l.getKey(),i=this.grid,q=this.selection,b=this,n=function(g,c,e){return i.walkCells(g,c,e,i.isEditor&&i.editing?b.acceptsNav:b.isSelectable,b)},p,h,a,m,o;switch(d){case l.ESC:case l.PAGE_UP:case l.PAGE_DOWN:break;default:l.stopEvent();break}if(!q){p=n(0,0,1);if(p){this.select(p[0],p[1])}return}p=q.cell;a=p[0];m=p[1];switch(d){case l.TAB:if(l.shiftKey){h=n(a,m-1,-1)}else{h=n(a,m+1,1)}break;case l.DOWN:h=n(a+1,m,1);break;case l.UP:h=n(a-1,m,-1);break;case l.RIGHT:h=n(a,m+1,1);break;case l.LEFT:h=n(a,m-1,-1);break;case l.ENTER:if(i.isEditor&&!i.editing){i.startEditing(a,m);return}break}if(h){a=h[0];m=h[1];this.select(a,m);if(i.isEditor&&i.editing){o=i.activeEditor;if(o&&o.field.triggerBlur){o.field.triggerBlur()}i.startEditing(a,m)}}},acceptsNav:function(c,b,a){return !a.isHidden(b)&&a.isCellEditable(b,c)}});Ext.grid.EditorGridPanel=Ext.extend(Ext.grid.GridPanel,{clicksToEdit:2,forceValidation:false,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){Ext.grid.EditorGridPanel.superclass.initComponent.call(this);if(!this.selModel){this.selModel=new Ext.grid.CellSelectionModel()}this.activeEditor=null;this.addEvents("beforeedit","afteredit","validateedit")},initEvents:function(){Ext.grid.EditorGridPanel.superclass.initEvents.call(this);this.getGridEl().on("mousewheel",this.stopEditing.createDelegate(this,[true]),this);this.on("columnresize",this.stopEditing,this,[true]);if(this.clicksToEdit==1){this.on("cellclick",this.onCellDblClick,this)}else{var a=this.getView();if(this.clicksToEdit=="auto"&&a.mainBody){a.mainBody.on("mousedown",this.onAutoEditClick,this)}this.on("celldblclick",this.onCellDblClick,this)}},onResize:function(){Ext.grid.EditorGridPanel.superclass.onResize.apply(this,arguments);var a=this.activeEditor;if(this.editing&&a){a.realign(true)}},onCellDblClick:function(b,c,a){this.startEditing(c,a)},onAutoEditClick:function(c,b){if(c.button!==0){return}var g=this.view.findRowIndex(b),a=this.view.findCellIndex(b);if(g!==false&&a!==false){this.stopEditing();if(this.selModel.getSelectedCell){var d=this.selModel.getSelectedCell();if(d&&d[0]===g&&d[1]===a){this.startEditing(g,a)}}else{if(this.selModel.isSelected(g)){this.startEditing(g,a)}}}},onEditComplete:function(b,d,a){this.editing=false;this.lastActiveEditor=this.activeEditor;this.activeEditor=null;var c=b.record,h=this.colModel.getDataIndex(b.col);d=this.postEditValue(d,a,c,h);if(this.forceValidation===true||String(d)!==String(a)){var g={grid:this,record:c,field:h,originalValue:a,value:d,row:b.row,column:b.col,cancel:false};if(this.fireEvent("validateedit",g)!==false&&!g.cancel&&String(d)!==String(a)){c.set(h,g.value);delete g.cancel;this.fireEvent("afteredit",g)}}this.view.focusCell(b.row,b.col)},startEditing:function(i,c){this.stopEditing();if(this.colModel.isCellEditable(c,i)){this.view.ensureVisible(i,c,true);var d=this.store.getAt(i),h=this.colModel.getDataIndex(c),g={grid:this,record:d,field:h,value:d.data[h],row:i,column:c,cancel:false};if(this.fireEvent("beforeedit",g)!==false&&!g.cancel){this.editing=true;var b=this.colModel.getCellEditor(c,i);if(!b){return}if(!b.rendered){b.parentEl=this.view.getEditorParent(b);b.on({scope:this,render:{fn:function(e){e.field.focus(false,true)},single:true,scope:this},specialkey:function(l,k){this.getSelectionModel().onEditorKey(l,k)},complete:this.onEditComplete,canceledit:this.stopEditing.createDelegate(this,[true])})}Ext.apply(b,{row:i,col:c,record:d});this.lastEdit={row:i,col:c};this.activeEditor=b;b.selectSameEditor=(this.activeEditor==this.lastActiveEditor);var a=this.preEditValue(d,h);b.startEdit(this.view.getCell(i,c).firstChild,Ext.isDefined(a)?a:"");(function(){delete b.selectSameEditor}).defer(50)}}},preEditValue:function(a,c){var b=a.data[c];return this.autoEncode&&Ext.isString(b)?Ext.util.Format.htmlDecode(b):b},postEditValue:function(c,a,b,d){return this.autoEncode&&Ext.isString(c)?Ext.util.Format.htmlEncode(c):c},stopEditing:function(b){if(this.editing){var a=this.lastActiveEditor=this.activeEditor;if(a){a[b===true?"cancelEdit":"completeEdit"]();this.view.focusCell(a.row,a.col)}this.activeEditor=null}this.editing=false}});Ext.reg("editorgrid",Ext.grid.EditorGridPanel);Ext.grid.GridEditor=function(b,a){Ext.grid.GridEditor.superclass.constructor.call(this,b,a);b.monitorTab=false};Ext.extend(Ext.grid.GridEditor,Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});Ext.grid.PropertyRecord=Ext.data.Record.create([{name:"name",type:"string"},"value"]);Ext.grid.PropertyStore=Ext.extend(Ext.util.Observable,{constructor:function(a,b){this.grid=a;this.store=new Ext.data.Store({recordType:Ext.grid.PropertyRecord});this.store.on("update",this.onUpdate,this);if(b){this.setSource(b)}Ext.grid.PropertyStore.superclass.constructor.call(this)},setSource:function(c){this.source=c;this.store.removeAll();var b=[];for(var a in c){if(this.isEditableValue(c[a])){b.push(new Ext.grid.PropertyRecord({name:a,value:c[a]},a))}}this.store.loadRecords({records:b},{},true)},onUpdate:function(e,a,d){if(d==Ext.data.Record.EDIT){var b=a.data.value;var c=a.modified.value;if(this.grid.fireEvent("beforepropertychange",this.source,a.id,b,c)!==false){this.source[a.id]=b;a.commit();this.grid.fireEvent("propertychange",this.source,a.id,b,c)}else{a.reject()}}},getProperty:function(a){return this.store.getAt(a)},isEditableValue:function(a){return Ext.isPrimitive(a)||Ext.isDate(a)},setValue:function(d,c,a){var b=this.getRec(d);if(b){b.set("value",c);this.source[d]=c}else{if(a){this.source[d]=c;b=new Ext.grid.PropertyRecord({name:d,value:c},d);this.store.add(b)}}},remove:function(b){var a=this.getRec(b);if(a){this.store.remove(a);delete this.source[b]}},getRec:function(a){return this.store.getById(a)},getSource:function(){return this.source}});Ext.grid.PropertyColumnModel=Ext.extend(Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",constructor:function(c,b){var d=Ext.grid,e=Ext.form;this.grid=c;d.PropertyColumnModel.superclass.constructor.call(this,[{header:this.nameText,width:50,sortable:true,dataIndex:"name",id:"name",menuDisabled:true},{header:this.valueText,width:50,resizable:false,dataIndex:"value",id:"value",menuDisabled:true}]);this.store=b;var a=new e.Field({autoCreate:{tag:"select",children:[{tag:"option",value:"true",html:this.trueText},{tag:"option",value:"false",html:this.falseText}]},getValue:function(){return this.el.dom.value=="true"}});this.editors={date:new d.GridEditor(new e.DateField({selectOnFocus:true})),string:new d.GridEditor(new e.TextField({selectOnFocus:true})),number:new d.GridEditor(new e.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new d.GridEditor(a,{autoSize:"both"})};this.renderCellDelegate=this.renderCell.createDelegate(this);this.renderPropDelegate=this.renderProp.createDelegate(this)},renderDate:function(a){return a.dateFormat(this.dateFormat)},renderBool:function(a){return this[a?"trueText":"falseText"]},isCellEditable:function(a,b){return a==1},getRenderer:function(a){return a==1?this.renderCellDelegate:this.renderPropDelegate},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(d,b,c){var a=this.grid.customRenderers[c.get("name")];if(a){return a.apply(this,arguments)}var e=d;if(Ext.isDate(d)){e=this.renderDate(d)}else{if(typeof d=="boolean"){e=this.renderBool(d)}}return Ext.util.Format.htmlEncode(e)},getPropertyName:function(b){var a=this.grid.propertyNames;return a&&a[b]?a[b]:b},getCellEditor:function(a,e){var b=this.store.getProperty(e),d=b.data.name,c=b.data.value;if(this.grid.customEditors[d]){return this.grid.customEditors[d]}if(Ext.isDate(c)){return this.editors.date}else{if(typeof c=="number"){return this.editors.number}else{if(typeof c=="boolean"){return this.editors["boolean"]}else{return this.editors.string}}}},destroy:function(){Ext.grid.PropertyColumnModel.superclass.destroy.call(this);this.destroyEditors(this.editors);this.destroyEditors(this.grid.customEditors)},destroyEditors:function(b){for(var a in b){Ext.destroy(b[a])}}});Ext.grid.PropertyGrid=Ext.extend(Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customRenderers=this.customRenderers||{};this.customEditors=this.customEditors||{};this.lastEditRow=null;var b=new Ext.grid.PropertyStore(this);this.propStore=b;var a=new Ext.grid.PropertyColumnModel(this,b);b.store.sort("name","ASC");this.addEvents("beforepropertychange","propertychange");this.cm=a;this.ds=b.store;Ext.grid.PropertyGrid.superclass.initComponent.call(this);this.mon(this.selModel,"beforecellselect",function(e,d,c){if(c===0){this.startEditing.defer(200,this,[d,1]);return false}},this)},onRender:function(){Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);this.getGridEl().addClass("x-props-grid")},afterRender:function(){Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);if(this.source){this.setSource(this.source)}},setSource:function(a){this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()},setProperty:function(c,b,a){this.propStore.setValue(c,b,a)},removeProperty:function(a){this.propStore.remove(a)}});Ext.reg("propertygrid",Ext.grid.PropertyGrid);Ext.grid.GroupingView=Ext.extend(Ext.grid.GridView,{groupByText:"Group By This Field",showGroupsText:"Show in Groups",hideGroupedColumn:false,showGroupName:true,startCollapsed:false,enableGrouping:true,enableGroupingMenu:true,enableNoGroups:true,emptyGroupText:"(None)",ignoreAdd:false,groupTextTpl:"{text}",groupMode:"value",cancelEditOnToggle:true,initTemplates:function(){Ext.grid.GroupingView.superclass.initTemplates.call(this);this.state={};var a=this.grid.getSelectionModel();a.on(a.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('
','
',this.groupTextTpl,"
",'
')}this.startGroup.compile();if(!this.endGroup){this.endGroup="
"}},findGroup:function(a){return Ext.fly(a).up(".x-grid-group",this.mainBody.dom)},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]},onAdd:function(d,a,b){if(this.canGroup()&&!this.ignoreAdd){var c=this.getScrollState();this.fireEvent("beforerowsinserted",d,b,b+(a.length-1));this.refresh();this.restoreScroll(c);this.fireEvent("rowsinserted",d,b,b+(a.length-1))}else{if(!this.canGroup()){Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)}}},onRemove:function(e,a,b,d){Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);var c=document.getElementById(a._groupId);if(c&&c.childNodes[1].childNodes.length<1){Ext.removeNode(c)}this.applyEmptyText()},refreshRow:function(a){if(this.ds.getCount()==1){this.refresh()}else{this.isUpdating=true;Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);this.isUpdating=false}},beforeMenuShow:function(){var c,a=this.hmenu.items,b=this.cm.config[this.hdCtxIndex].groupable===false;if((c=a.get("groupBy"))){c.setDisabled(b)}if((c=a.get("showGroups"))){c.setDisabled(b);c.setChecked(this.canGroup(),true)}},renderUI:function(){var a=Ext.grid.GroupingView.superclass.renderUI.call(this);if(this.enableGroupingMenu&&this.hmenu){this.hmenu.add("-",{itemId:"groupBy",text:this.groupByText,handler:this.onGroupByClick,scope:this,iconCls:"x-group-by-icon"});if(this.enableNoGroups){this.hmenu.add({itemId:"showGroups",text:this.showGroupsText,checked:true,checkHandler:this.onShowGroupsClick,scope:this})}this.hmenu.on("beforeshow",this.beforeMenuShow,this)}return a},processEvent:function(b,i){Ext.grid.GroupingView.superclass.processEvent.call(this,b,i);var h=i.getTarget(".x-grid-group-hd",this.mainBody);if(h){var g=this.getGroupField(),d=this.getPrefix(g),a=h.id.substring(d.length),c=new RegExp("gp-"+Ext.escapeRe(g)+"--hd");a=a.substr(0,a.length-3);if(a||c.test(h.id)){this.grid.fireEvent("group"+b,this.grid,g,a,i)}if(b=="mousedown"&&i.button==0){this.toggleGroup(h.parentNode)}}},onGroupByClick:function(){var a=this.grid;this.enableGrouping=true;a.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));a.fireEvent("groupchange",a,a.store.getGroupState());this.beforeMenuShow();this.refresh()},onShowGroupsClick:function(a,b){this.enableGrouping=b;if(b){this.onGroupByClick()}else{this.grid.store.clearGrouping();this.grid.fireEvent("groupchange",this,null)}},toggleRowIndex:function(c,a){if(!this.canGroup()){return}var b=this.getRow(c);if(b){this.toggleGroup(this.findGroup(b),a)}},toggleGroup:function(c,b){var a=Ext.get(c);b=Ext.isDefined(b)?b:a.hasClass("x-grid-group-collapsed");if(this.state[a.id]!==b){if(this.cancelEditOnToggle!==false){this.grid.stopEditing(true)}this.state[a.id]=b;a[b?"removeClass":"addClass"]("x-grid-group-collapsed")}},toggleAllGroups:function(c){var b=this.getGroups();for(var d=0,a=b.length;d0){return setTimeout(d,c)}d();return 0}});Ext.applyIf(String,{format:function(b){var a=Ext.toArray(arguments,1);return b.replace(/\{(\d+)\}/g,function(c,d){return a[d]})}});Ext.applyIf(Array.prototype,{indexOf:function(b,c){var a=this.length;c=c||0;c+=(c<0)?a:0;for(;c0){for(var p=0;p0);if(!A){A=true;for(I=0;I=0){B=s.substr(0,A).toLowerCase();if(s.charAt(A+1)==" "){++A}C[B]=s.substr(A+1)}})}catch(z){}return{tId:u.tId,status:v?204:w.status,statusText:v?"No Content":w.statusText,getResponseHeader:function(s){return C[s.toLowerCase()]},getAllResponseHeaders:function(){return x},responseText:w.responseText,responseXML:w.responseXML,argument:y}}function o(s){if(s.tId){k.conn[s.tId]=null}s.conn=null;s=null}function f(x,y,t,s){if(!y){o(x);return}var v,u;try{if(x.conn.status!==undefined&&x.conn.status!=0){v=x.conn.status}else{v=13030}}catch(w){v=13030}if((v>=200&&v<300)||(Ext.isIE&&v==1223)){u=p(x,y.argument);if(y.success){if(!y.scope){y.success(u)}else{y.success.apply(y.scope,[u])}}}else{switch(v){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:u=e(x.tId,y.argument,(t?t:false),s);if(y.failure){if(!y.scope){y.failure(u)}else{y.failure.apply(y.scope,[u])}}break;default:u=p(x,y.argument);if(y.failure){if(!y.scope){y.failure(u)}else{y.failure.apply(y.scope,[u])}}}}o(x);u=null}function m(u,x,s,w,t,v){if(s&&s.readyState==4){clearInterval(t[w]);t[w]=null;if(v){clearTimeout(k.timeout[w]);k.timeout[w]=null}f(u,x)}}function r(s,t){k.abort(s,t,true)}function n(u,x){x=x||{};var s=u.conn,w=u.tId,t=k.poll,v=x.timeout||null;if(v){k.conn[w]=s;k.timeout[w]=setTimeout(r.createCallback(u,x),v)}t[w]=setInterval(m.createCallback(u,x,s,w,t,v),k.pollInterval)}function i(w,t,v,s){var u=l()||null;if(u){u.conn.open(w,t,true);if(k.useDefaultXhrHeader){j("X-Requested-With",k.defaultXhrHeader)}if(s&&k.useDefaultHeader&&(!k.headers||!k.headers[d])){j(d,k.defaultPostHeader)}if(k.defaultHeaders||k.headers){h(u)}n(u,v);u.conn.send(s||null)}return u}function l(){var t;try{if(t=q(k.transactionId)){k.transactionId++}}catch(s){}finally{return t}}function q(v){var s;try{s=new XMLHttpRequest()}catch(u){for(var t=0;t0&&isFinite(w)){if(r.curFrame+w>=v){w=v-(u+1)}r.curFrame+=w}}};g.Bezier=new function(){this.getPosition=function(p,o){var r=p.length,m=[],q=1-o,l,k;for(l=0;l0&&!Ext.isArray(s[0])){s=[s]}else{}Ext.fly(p,"_anim").position();A.setXY(p,j(x)?x:A.getXY(p));o=w.getAttr("points");if(j(y)){q=k.call(w,y,o);for(r=0,t=s.length;r0){n=n.concat(s)}n[n.length]=q}else{m.setRunAttr.call(this,u)}}});var k=function(n,p){var o=g.Dom.getXY(this.el);return[n[0]-o[0]+p[0],n[1]-o[1]+p[1]]}})()})();(function(){var d=Math.abs,i=Math.PI,h=Math.asin,g=Math.pow,e=Math.sin,f=Ext.lib;Ext.apply(f.Easing,{easeBoth:function(k,j,m,l){return((k/=l/2)<1)?m/2*k*k+j:-m/2*((--k)*(k-2)-1)+j},easeInStrong:function(k,j,m,l){return m*(k/=l)*k*k*k+j},easeOutStrong:function(k,j,m,l){return -m*((k=k/l-1)*k*k*k-1)+j},easeBothStrong:function(k,j,m,l){return((k/=l/2)<1)?m/2*k*k*k*k+j:-m/2*((k-=2)*k*k*k-2)+j},elasticIn:function(l,j,q,o,k,n){if(l==0||(l/=o)==1){return l==0?j:j+q}n=n||(o*0.3);var m;if(k>=d(q)){m=n/(2*i)*h(q/k)}else{k=q;m=n/4}return -(k*g(2,10*(l-=1))*e((l*o-m)*(2*i)/n))+j},elasticOut:function(l,j,q,o,k,n){if(l==0||(l/=o)==1){return l==0?j:j+q}n=n||(o*0.3);var m;if(k>=d(q)){m=n/(2*i)*h(q/k)}else{k=q;m=n/4}return k*g(2,-10*l)*e((l*o-m)*(2*i)/n)+q+j},elasticBoth:function(l,j,q,o,k,n){if(l==0||(l/=o/2)==2){return l==0?j:j+q}n=n||(o*(0.3*1.5));var m;if(k>=d(q)){m=n/(2*i)*h(q/k)}else{k=q;m=n/4}return l<1?-0.5*(k*g(2,10*(l-=1))*e((l*o-m)*(2*i)/n))+j:k*g(2,-10*(l-=1))*e((l*o-m)*(2*i)/n)*0.5+q+j},backIn:function(k,j,n,m,l){l=l||1.70158;return n*(k/=m)*k*((l+1)*k-l)+j},backOut:function(k,j,n,m,l){if(!l){l=1.70158}return n*((k=k/m-1)*k*((l+1)*k+l)+1)+j},backBoth:function(k,j,n,m,l){l=l||1.70158;return((k/=m/2)<1)?n/2*(k*k*(((l*=(1.525))+1)*k-l))+j:n/2*((k-=2)*k*(((l*=(1.525))+1)*k+l)+2)+j},bounceIn:function(k,j,m,l){return m-f.Easing.bounceOut(l-k,0,m,l)+j},bounceOut:function(k,j,m,l){if((k/=l)<(1/2.75)){return m*(7.5625*k*k)+j}else{if(k<(2/2.75)){return m*(7.5625*(k-=(1.5/2.75))*k+0.75)+j}else{if(k<(2.5/2.75)){return m*(7.5625*(k-=(2.25/2.75))*k+0.9375)+j}}}return m*(7.5625*(k-=(2.625/2.75))*k+0.984375)+j},bounceBoth:function(k,j,m,l){return(k - - + + -
- - -

html::purify($album->title))) ?>

-
-

- $flash_minimum_version)) ?> -

- - <?=for_js() ?> /> - -
-
diff --git a/modules/organize/views/organize_frame.html.php b/modules/organize/views/organize_frame.html.php new file mode 100644 index 00000000..2abea898 --- /dev/null +++ b/modules/organize/views/organize_frame.html.php @@ -0,0 +1,23 @@ + + + +