if(Object.isUndefined(npr)){var npr={}}npr.DropDownManager={dropdowns:[],register:function(A){this.dropdowns.push(A)},unregister:function(A){this.dropdowns=this.dropdowns.reject(function(B){return B==A})},hideAllExcept:function(A){this.dropdowns.each(function(B){if(B!=A){B.hide()}})}};npr.DropDown=Class.create({initialize:function(){var A=Object.extend({mode:1,picker:null,list:null,single:false,propagateSelection:false,hideOnSelect:false,selectionChangeCallback:null,header:null,footer:null,boxClass:"DropDownBox",headerClass:"DropDownHeader",listClass:"DropDownList",footerClass:"DropDownFooter"},arguments[0]||{});npr.DropDownManager.register(this);this._items=[];this._lastSelectItem=null;this._mode=A.mode;this._created=false;this._boxElement=null;this._headerElement=null;this._listElement=null;this._footerElement=null;if(this._mode==1){this._uiPickerElement=A.picker}if(this._mode==2){this._uiListElement=A.list}this._selectionChangeCallback=A.selectionChangeCallback;this._single=A.single;this._propagateSelection=A.propagateSelection;this._hideOnSelect=A.hideOnSelect;this._header=A.header;this._footer=A.footer;this._boxClass=A.boxClass;this._headerClass=A.headerClass;this._listClass=A.listClass;this._footerClass=A.footerClass;if(this._mode==1){this._switchClickEvent=this._switchClick.bindAsEventListener(this);Event.observe(this._uiPickerElement,"click",this._switchClickEvent);this._documentClickEvent=this._documentClick.bindAsEventListener(this);Event.observe(document,"click",this._documentClickEvent)}else{if(this._mode==2){this._create()}}},_isCreated:function(){return this._created},_create:function(E){if(this._isCreated()){return }if(Prototype.Browser.IE&&this._mode==1){this._shim=new Element("iframe",{styles:{position:"absolute",filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)",display:"none"},src:"javascript:false;",frameborder:"0"})}var C=null;if(this._mode==1){C=new Element("div");C.addClassName(this._boxClass);C.hide()}else{if(this._mode==2){C=this._uiListElement}}var B=new Element("div");B.addClassName(this._headerClass);if(this._header==null){B.hide()}else{B.update(this._header)}C.appendChild(B);var D=new Element("div");D.addClassName(this._listClass);this._items.each(function(F){D.appendChild(F._getElement(E))});C.appendChild(D);var A=new Element("div");A.addClassName(this._footerClass);if(this._footer==null){A.hide()}else{A.update(this._footer)}C.appendChild(A);if(this._mode==1){document.body.appendChild(C)}if(Prototype.Browser.IE&&this._mode==1){$(document.body).insert(this._shim)}this._boxElement=C;this._headerElement=B;this._listElement=D;this._footerElement=A;this._created=true},_destroy:function(){if(!this._isCreated()){return }if(this._mode==1){Event.stopObserving(this._uiPickerElement,"click",this._switchClickEvent);this._boxElement.remove()}else{if(this._mode==2){this._uiListElement.update()}}npr.DropDownManager.unregister(this)},_documentClick:function(D){if(this._isCreated()){var B=Event.pointer(D).x;var E=Event.pointer(D).y;var A=this._boxElement.getDimensions();var C=this._boxElement.positionedOffset();if(C.left<=B&&B<=C.left+A.width&&C.top<=E&&E<=C.top+A.height){return }if(this._boxElement.visible()){if(Prototype.Browser.IE&&this._mode==1){this._shim.hide()}this._boxElement.hide()}}},_switchClick:function(A){A.stop();if(this._isCreated()&&this._boxElement.visible()){this._hide()}else{this._show()}},_show:function(D){npr.DropDownManager.hideAllExcept(this);this._create(false);var C=this._uiPickerElement.getDimensions();var E=this._uiPickerElement.positionedOffset();var B={left:(E.left)+"px",top:(E.top+C.height)+"px"};this._boxElement.setStyle(B).setStyle({zIndex:10000000,position:"absolute"});if(Prototype.Browser.IE&&this._mode==1){var A=this._boxElement.getDimensions();this._shim.setStyle(Object.extend(Object.extend(A,B),{zIndex:9999999})).show()}this._boxElement.show()},_hide:function(){if(this._isCreated()){if(Prototype.Browser.IE&&this._mode==1){this._shim.hide()}this._boxElement.hide()}},_updateSelection:function(A){if(this._single&&this._lastSelectItem!=null){exceptionItem=this._lastSelectItem;this._items.each(function(B){B._deselectAllExcept(exceptionItem)})}if(this._selectionChangeCallback!=null){this._selectionChangeCallback()}if(A&&this._hideOnSelect){this._hide()}},forceCreate:function(){this._create(true)},setHeader:function(A){this._header=A;if(this._isCreated()){if(this._header==null){this._headerElement.hide()}else{this._headerElement.show();this._headerElement.update(this._header)}}},setFooter:function(A){this._footer=A;if(this._isCreated()){if(this._footer==null){this._footerElement.hide()}else{this._footerElement.show();this._footerElement.update(this._footer)}}},hide:function(){return this._hide()},setSelectionChangeCallback:function(A){this._selectionChangeCallback=A},hasItems:function(){return this._items.length!=0},getItems:function(){return this._items},hasSelectedItems:function(){return this.getSelectedItems().length>0},getSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isSelected()){A.push(B)}});return A},getAllSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isSelected()){A.push(B)}var C=B.getAllSelectedItems();C.each(function(D){A.push(D)})});return A},hasPartialSelectedItems:function(){return this.getPartialSelectedItems().length>0},getPartialSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isPartialSelected()){A.push(B)}});return A},addItem:function(A){A._control=this;A._parent=null;if(this._isCreated()){this._listElement.appendChild(A._getElement(false));if(A.isSelected()){this._updateSelection(false)}}this._items.push(A);return A},removeItem:function(A){A._remove();this._items[this._items.indexOf(A)]=null;this._items=this._items.reduce();this._updateSelection(false)},clearItems:function(){this._items.each(function(A){A._remove()});this._items=[];this._updateSelection(false)},selectAll:function(){this._items.each(function(A){A._selectAll()});this._updateSelection(false)},deselectAll:function(){this._items.each(function(A){A._deselectAll()});this._updateSelection(false)},expandAll:function(){this._items.each(function(A){A._expandAll()})},collapseAll:function(){this._items.each(function(A){A._collapseAll()})}});npr.DropDownItem=Class.create({initialize:function(){var A=Object.extend({text:null,extra:null,allowSelection:true,showCheckBox:true,textAsAnchor:false,selected:false,expanded:false,itemClass:"DropDownItem",itemSelectedClass:"DropDownItemSelected",itemPartialSelectedClass:"DropDownItemPartialSelected",itemUnselectedClass:"DropDownItemUnselected",itemAccordionClass:"DropDownItemAccordion",itemAccordionExpandedClass:"DropDownItemAccordionExpanded",itemAccordionCollapsedClass:"DropDownItemAccordionCollapsed",itemSelectorClass:"DropDownItemSelector",itemTextClass:"DropDownItemText",itemListClass:"DropDownItemList"},arguments[0]||{});this._control=null;this._parent=null;this._boxElement=null;this._itemElement=null;this._accordionElement=null;this._selectorElement=null;this._checkBoxElement=null;this._textElement=null;this._listElement=null;this._items=[];this._text=A.text;this._textAsAnchor=A.textAsAnchor;this._allowSelection=A.allowSelection;this._showCheckBox=A.showCheckBox;this._extra=A.extra;this._selected=A.allowSelection&&A.selected;this._expanded=A.expanded;this._itemClass=A.itemClass;this._itemSelectedClass=A.itemSelectedClass;this._itemPartialSelectedClass=A.itemPartialSelectedClass;this._itemUnselectedClass=A.itemUnselectedClass;this._itemAccordionClass=A.itemAccordionClass;this._itemAccordionExpandedClass=A.itemAccordionExpandedClass;this._itemAccordionCollapsedClass=A.itemAccordionCollapsedClass;this._itemSelectorClass=A.itemSelectorClass;this._itemTextClass=A.itemTextClass;this._itemListClass=A.itemListClass;this._textClickEvent=this._textClick.bindAsEventListener(this);this._accordionClickEvent=this._accordionClick.bindAsEventListener(this);this._checkBoxClickEvent=this._checkBoxClick.bindAsEventListener(this)},_isCreated:function(){return(this._boxElement!=null)},_create:function(G){if(this._isCreated()){return }var D=new Element("div");var C=new Element("div");C.addClassName(this._itemClass);if(this.isSelected()){C.addClassName(this._itemSelectedClass)}else{if(this.isPartialSelected()){C.addClassName(this._itemPartialSelectedClass)}else{C.addClassName(this._itemUnselectedClass)}}D.appendChild(C);var F=new Element("div");F.addClassName(this._itemAccordionClass);if(this.isExpanded()){F.addClassName(this._itemAccordionExpandedClass)}else{F.addClassName(this._itemAccordionCollapsedClass)}if(!this.hasItems()){F.hide()}C.appendChild(F);var H=new Element("div");H.addClassName(this._itemSelectorClass);if(!this.allowSelection()){H.hide()}var B;B=new Element("input",{type:"checkbox"});if(!this.showCheckBox()){B.hide()}H.appendChild(B);B.checked=this.isSelected();if(window.ie){B.defaultChecked=this.isSelected()}C.appendChild(H);var A;if(this._textAsAnchor){A=new Element("a",{href:"#"})}else{A=new Element("div")}A.addClassName(this._itemTextClass);if(this.getText()==null){A.hide()}else{A.update(this._text)}C.appendChild(A);var E=new Element("div");E.addClassName(this._itemListClass);if(G||this.isExpanded()){this._childsCreated=true;this._items.each(function(I){E.appendChild(I._getElement(G))})}if(!this.hasItems()||!this.isExpanded()){E.hide()}D.appendChild(E);this._boxElement=D;this._itemElement=C;this._accordionElement=F;this._selectorElement=H;this._checkBoxElement=B;this._textElement=A;this._listElement=E;Event.observe(this._textElement,"click",this._textClickEvent);Event.observe(this._accordionElement,"click",this._accordionClickEvent);Event.observe(this._checkBoxElement,"click",this._checkBoxClickEvent)},_createChilds:function(){this._childsCreated=true;this._items.each(function(A){this._listElement.appendChild(A._getElement(false))}.bind(this))},_destroy:function(){if(!this._isCreated()){return }Event.stopObserving(this._textElement,"click",this._textClickEvent);Event.stopObserving(this._accordionElement,"click",this._accordionClickEvent);Event.stopObserving(this._checkBoxElement,"click",this._checkBoxClickEvent);this._boxElement.remove()},_remove:function(){if(this._childsCreated){this._items.each(function(A){A._remove()})}this._destroy()},_getElement:function(A){this._create(A);return this._boxElement},_updateSelectionUI:function(){if(this._isCreated()){if(this.allowSelection()){this._selectorElement.show()}else{this._selectorElement.hide()}var A=this.getSelectedItems();if(A.length>0){this._textElement.update(this._text+" ("+A.length+")")}else{this._textElement.update(this._text)}if(this.isSelected()){this._checkBoxElement.checked=true;this._itemElement.addClassName(this._itemSelectedClass);this._itemElement.removeClassName(this._itemPartialSelectedClass);this._itemElement.removeClassName(this._itemUnselectedClass)}else{if(this.isPartialSelected()){this._checkBoxElement.checked=false;this._itemElement.addClassName(this._itemPartialSelectedClass);this._itemElement.removeClassName(this._itemSelectedClass);this._itemElement.removeClassName(this._itemUnselectedClass)}else{this._checkBoxElement.checked=false;this._itemElement.addClassName(this._itemUnselectedClass);this._itemElement.removeClassName(this._itemPartialSelectedClass);this._itemElement.removeClassName(this._itemSelectedClass)}}}},_updateSelection:function(A){this._updateSelectionUI();if(this._parent==null){this._control._updateSelection(A)}else{this._parent._updateSelection(A)}},_propagateSelection:function(){if(!this._control._single&&this._control._propagateSelection){selected=this._allowSelection&&this._selected;this._items.each(function(A){A._propagateChildSelection(selected)});if(this._parent!=null){this._parent._propagateParentSelection()}}},_propagateChildSelection:function(A){A=this._allowSelection&&A;this._selected=A;this._items.each(function(B){B._propagateChildSelection(A)});this._updateSelectionUI()},_propagateParentSelection:function(){selected=this._allowSelection&&this.getSelectedItems().length==this.getItems().length;this._selected=selected;if(this._parent!=null){this._parent._propagateParentSelection()}},_deselectAllExcept:function(A){this._items.each(function(B){B._deselectAllExcept(A)});if(A!=this){this._selected=false;this._updateSelectionUI()}},_updateAccordionUI:function(){if(this._isCreated()){if(this.hasItems()){this._accordionElement.show()}else{this._accordionElement.hide()}if(this.isExpanded()){this._accordionElement.addClassName(this._itemAccordionExpandedClass);this._accordionElement.removeClassName(this._itemAccordionCollapsedClass);this._listElement.show()}else{this._accordionElement.addClassName(this._itemAccordionCollapsedClass);this._accordionElement.removeClassName(this._itemAccordionExpandedClass);this._listElement.hide()}}},_updateAccordion:function(){this._updateAccordionUI()},_selectAll:function(){this._control._lastSelectItem=this;this._selected=this._allowSelection||true;this._items.each(function(A){A._selectAll()});this._updateSelectionUI()},_deselectAll:function(){this._selected=false;this._items.each(function(A){A._deselectAll()});this._updateSelectionUI()},_expandAll:function(){this._expanded=true;if(!this._childsCreated){this._createChilds()}this._items.each(function(A){A._expandAll()});this._updateAccordionUI()},_collapseAll:function(){this._expanded=false;this._items.each(function(A){A._collapseAll()});this._updateAccordionUI()},_textClick:function(A){A.stop();if(this.allowSelection()){this._selected=!this._selected;if(this.isSelected()){this._control._lastSelectItem=this}this._propagateSelection();this._updateSelection(true)}else{if(this.hasItems()){this._expanded=!this._expanded;if(this._expanded&&!this._childsCreated){this._createChilds()}this._updateAccordion()}}},_checkBoxClick:function(A){this._selected=this._checkBoxElement.checked;if(this.isSelected()){this._control._lastSelectItem=this}this._propagateSelection();this._updateSelection(true)},_accordionClick:function(A){if(this.hasItems()){this._expanded=!this._expanded;if(this._expanded&&!this._childsCreated){this._createChilds()}this._updateAccordion()}},getParent:function(){return this._parent},getText:function(){return this._text},setText:function(A){this._text=A;if(this._isCreated()){if(this._text==null){this._textElement.hide()}else{this._textElement.show();this._textElement.update(this._text)}}},getExtra:function(){return this._extra},setExtra:function(A){this._extra=A},allowSelection:function(){return this._allowSelection},showCheckBox:function(){return this._showCheckBox},setAllowSelection:function(A){if(A){this._allowSelection=true}else{this._allowSelection=false}this._updateSelection(false)},isSelected:function(){return this._allowSelection&&this._selected},isExpanded:function(){return this._items.length!=0&&this._expanded},isPartialSelected:function(){return(this.isSelected()||this.hasPartialSelectedItems())},select:function(){this._control._lastSelectItem=this;this._selected=this._allowSelection||true;this._propagateSelection();this._updateSelection(false)},deselect:function(){this._selected=false;this._propagateSelection();this._updateSelection(false)},expand:function(){this._expanded=true;if(!this._childsCreated){this._createChilds()}this._updateAccordion()},collapse:function(){this._expanded=false;this._updateAccordion()},hasItems:function(){return this._items.length!=0},getItems:function(){return this._items},hasSelectedItems:function(){return this.getSelectedItems().length>0},getSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isSelected()){A.push(B)}});return A},getAllSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isSelected()){A.push(B)}var C=B.getAllSelectedItems();C.each(function(D){A.push(D)})});return A},hasPartialSelectedItems:function(){return this.getPartialSelectedItems().length>0},getPartialSelectedItems:function(){var A=[];this._items.each(function(B){if(B.isPartialSelected()){A.push(B)}});return A},addItem:function(A){A._control=this._control;A._parent=this;if(this._childsCreated){this._listElement.appendChild(A._getElement(false))}this._items.push(A);var B=false;if(!A._control._single&&A._control._propagateSelection){this._propagateParentSelection();B=true}if(A.isSelected()){this._control._lastSelectItem=A;B=true}if(B){this._updateSelection(false)}this._updateAccordion();return A},removeItem:function(A){if(this._childsCreated){A._remove()}this._items[this._items.indexOf(A)]=null;this._items=this._items.reduce();this._updateSelection(false)},clearItems:function(){if(this._childsCreated){this._items.each(function(A){A._remove()})}this._items=[];this._updateSelection(false)},selectAll:function(){this._control._lastSelectItem=this;this._selected=this._allowSelection||true;this._items.each(function(A){A._selectAll()});if(this._parent!=null){this._parent._propagateParentSelection()}this._updateSelection(false)},deselectAll:function(){this._selected=false;this._items.each(function(A){A._deselectAll()});if(this._parent!=null){this._parent._propagateParentSelection()}this._updateSelection(false)},expandAll:function(){this._expanded=true;if(!this._childsCreated){this._createChilds()}this._items.each(function(A){A._expandAll()});this._updateAccordion()},collapseAll:function(){this._expanded=false;this._items.each(function(A){A._collapseAll()});this._updateAccordion()}});