var Rico={Version:"1.1rc1",prototypeVersion:parseFloat(Prototype.Version.split(".")[0]+"."+Prototype.Version.split(".")[1])};if((typeof Prototype=="undefined")||Rico.prototypeVersion<1.3){throw ("Rico requires the Prototype JavaScript framework >= 1.3");}Rico.ArrayExtensions=new Array();if(Object.prototype.extend){Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Object.prototype.extend;}else{Object.prototype.extend=function(_1){return Object.extend.apply(this,[this,_1]);};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Object.prototype.extend;}if(Array.prototype.push){Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.push;}if(!Array.prototype.remove){Array.prototype.remove=function(dx){if(isNaN(dx)||dx>this.length){return false;}for(var i=0,n=0;i<this.length;i++){if(i!=dx){this[n++]=this[i];}}this.length-=1;};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.remove;}if(!Array.prototype.removeItem){Array.prototype.removeItem=function(_4){for(var i=0;i<this.length;i++){if(this[i]==_4){this.remove(i);break;}}};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.removeItem;}if(!Array.prototype.indices){Array.prototype.indices=function(){var _6=new Array();for(index in this){var _7=false;for(var i=0;i<Rico.ArrayExtensions.length;i++){if(this[index]==Rico.ArrayExtensions[i]){_7=true;break;}}if(!_7){_6[_6.length]=index;}}return _6;};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.indices;}if(window.DOMParser&&window.XMLSerializer&&window.Node&&Node.prototype&&Node.prototype.__defineGetter__){if(!Document.prototype.loadXML){Document.prototype.loadXML=function(s){var _a=(new DOMParser()).parseFromString(s,"text/xml");while(this.hasChildNodes()){this.removeChild(this.lastChild);}for(var i=0;i<_a.childNodes.length;i++){this.appendChild(this.importNode(_a.childNodes[i],true));}};}Document.prototype.__defineGetter__("xml",function(){return (new XMLSerializer()).serializeToString(this);});}document.getElementsByTagAndClassName=function(_c,_d){if(_c==null){_c="*";}var _e=document.getElementsByTagName(_c)||document.all;var _f=new Array();if(_d==null){return _e;}for(var i=0;i<_e.length;i++){var _11=_e[i];var _12=_11.className.split(" ");for(var j=0;j<_12.length;j++){if(_12[j]==_d){_f.push(_11);break;}}}return _f;};Rico.Accordion=Class.create();Rico.Accordion.prototype={initialize:function(_14,_15){this.container=$(_14);this.lastExpandedTab=null;this.accordionTabs=new Array();this.setOptions(_15);this._attachBehaviors();if(!_14){return;}this.container.style.borderBottom=this.options.borderBottom+" solid "+this.options.borderColor;this.container.style.borderTop=this.options.borderTop+" solid "+this.options.borderColor;if(this.options.onLoadShowTab>=this.accordionTabs.length){this.options.onLoadShowTab=0;}for(var i=0;i<this.accordionTabs.length;i++){if(i!=this.options.onLoadShowTab){this.accordionTabs[i].collapse();this.accordionTabs[i].content.style.display="none";}}this.lastExpandedTab=this.accordionTabs[this.options.onLoadShowTab];if(this.options.panelHeight=="auto"){var _17=(this.options.onloadShowTab===0)?1:0;var _18=parseInt(RicoUtil.getElementsComputedStyle(this.accordionTabs[_17].titleBar,"height"));if(isNaN(_18)){_18=this.accordionTabs[_17].titleBar.offsetHeight;}var _19=this.accordionTabs.length*_18;var _1a=parseInt(RicoUtil.getElementsComputedStyle(this.container.parentNode,"height"));if(isNaN(_1a)){_1a=this.container.parentNode.offsetHeight;}this.options.panelHeight=_1a-_19-2;}this.lastExpandedTab.content.style.height=this.options.panelHeight+"px";this.lastExpandedTab.showExpanded();this.lastExpandedTab.titleBar.style.fontWeight=this.options.expandedFontWeight;},setOptions:function(_1b){this.options={expandedBg:"#63699c",hoverBg:"#63699c",collapsedBg:"#6b79a5",expandedTextColor:"#ffffff",expandedFontWeight:"bold",hoverTextColor:"#ffffff",collapsedTextColor:"#ced7ef",collapsedFontWeight:"normal",hoverTextColor:"#ffffff",borderColor:"#1f669b",panelHeight:200,onHideTab:null,onShowTab:null,onLoadShowTab:0};Object.extend(this.options,_1b||{});},showTabByIndex:function(_1c,_1d){var _1e=arguments.length==1?true:_1d;this.showTab(this.accordionTabs[_1c],_1e);},showTab:function(_1f,_20){var _21=arguments.length==1?true:_20;if(this.options.onHideTab){this.options.onHideTab(this.lastExpandedTab);}this.lastExpandedTab.showCollapsed();var _22=this;var _23=this.lastExpandedTab;this.lastExpandedTab.content.style.height=(this.options.panelHeight-1)+"px";_1f.content.style.display="";_1f.titleBar.style.fontWeight=this.options.expandedFontWeight;if(_21){new Rico.Effect.AccordionSize(this.lastExpandedTab.content,_1f.content,1,this.options.panelHeight,100,10,{complete:function(){_22.showTabDone(_23);}});this.lastExpandedTab=_1f;}else{this.lastExpandedTab.content.style.height="1px";_1f.content.style.height=this.options.panelHeight+"px";this.lastExpandedTab=_1f;this.showTabDone(_23);}},showTabDone:function(_24){_24.content.style.display="none";this.lastExpandedTab.showExpanded();if(this.options.onShowTab){this.options.onShowTab(this.lastExpandedTab);}},_attachBehaviors:function(){var _25=this._getDirectChildrenByTag(this.container,"DIV");for(var i=0;i<_25.length;i++){var _27=this._getDirectChildrenByTag(_25[i],"DIV");if(_27.length!=2){continue;}var _28=_27[0];var _29=_27[1];this.accordionTabs.push(new Rico.Accordion.Tab(this,_28,_29));}},_getDirectChildrenByTag:function(e,_2b){var _2c=new Array();var _2d=e.childNodes;for(var i=0;i<_2d.length;i++){if(_2d[i]&&_2d[i].tagName&&_2d[i].tagName==_2b){_2c.push(_2d[i]);}}return _2c;}};Rico.Accordion.Tab=Class.create();Rico.Accordion.Tab.prototype={initialize:function(_2f,_30,_31){this.accordion=_2f;this.titleBar=_30;this.content=_31;this._attachBehaviors();},collapse:function(){this.showCollapsed();this.content.style.height="1px";},showCollapsed:function(){this.expanded=false;this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg;this.titleBar.style.color=this.accordion.options.collapsedTextColor;this.titleBar.style.fontWeight=this.accordion.options.collapsedFontWeight;this.content.style.overflow="hidden";},showExpanded:function(){this.expanded=true;this.titleBar.style.backgroundColor=this.accordion.options.expandedBg;this.titleBar.style.color=this.accordion.options.expandedTextColor;this.content.style.overflow="visible";},titleBarClicked:function(e){if(this.accordion.lastExpandedTab==this){return;}this.accordion.showTab(this);},hover:function(e){this.titleBar.style.backgroundColor=this.accordion.options.hoverBg;this.titleBar.style.color=this.accordion.options.hoverTextColor;},unhover:function(e){if(this.expanded){this.titleBar.style.backgroundColor=this.accordion.options.expandedBg;this.titleBar.style.color=this.accordion.options.expandedTextColor;}else{this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg;this.titleBar.style.color=this.accordion.options.collapsedTextColor;}},_attachBehaviors:function(){this.content.style.border=this.accordion.options.border+" solid "+this.accordion.options.borderColor;this.content.style.borderTopWidth="0px";this.content.style.borderBottomWidth="0px";this.content.style.margin="0px";this.titleBar.onclick=this.titleBarClicked.bindAsEventListener(this);this.titleBar.onmouseover=this.hover.bindAsEventListener(this);this.titleBar.onmouseout=this.unhover.bindAsEventListener(this);}};Rico.AjaxEngine=Class.create();Rico.AjaxEngine.prototype={initialize:function(){this.ajaxElements=new Array();this.ajaxObjects=new Array();this.requestURLS=new Array();this.options={};},registerAjaxElement:function(_35,_36){if(!_36){_36=$(_35);}this.ajaxElements[_35]=_36;},registerAjaxObject:function(_37,_38){this.ajaxObjects[_37]=_38;},registerRequest:function(_39,_3a){this.requestURLS[_39]=_3a;},sendRequest:function(_3b,_3c){if(arguments.length>=2){if(typeof arguments[1]=="string"){_3c={parameters:this._createQueryString(arguments,1)};}}this.sendRequestWithData(_3b,null,_3c);},sendRequestWithData:function(_3d,_3e,_3f){var _40=this.requestURLS[_3d];if(_40==null){return;}if(arguments.length>=3){if(typeof arguments[2]=="string"){_3f.parameters=this._createQueryString(arguments,2);}}new Ajax.Request(_40,this._requestOptions(_3f,_3e));},sendRequestAndUpdate:function(_41,_42,_43){if(arguments.length>=3){if(typeof arguments[2]=="string"){_43.parameters=this._createQueryString(arguments,2);}}this.sendRequestWithDataAndUpdate(_41,null,_42,_43);},sendRequestWithDataAndUpdate:function(_44,_45,_46,_47){var _48=this.requestURLS[_44];if(_48==null){return;}if(arguments.length>=4){if(typeof arguments[3]=="string"){_47.parameters=this._createQueryString(arguments,3);}}var _49=this._requestOptions(_47,_45);new Ajax.Updater(_46,_48,_49);},_requestOptions:function(_4a,_4b){var _4c=["X-Rico-Version",Rico.Version];var _4d="post";if(_4b==null){if(Rico.prototypeVersion<1.4){_4c.push("Content-type","text/xml");}else{_4d="get";}}(!_4a)?_4a={}:"";if(!_4a._RicoOptionsProcessed){if(_4a.onComplete){_4a.onRicoComplete=_4a.onComplete;}if(_4a.overrideOnComplete){_4a.onComplete=_4a.overrideOnComplete;}else{_4a.onComplete=this._onRequestComplete.bind(this);}_4a._RicoOptionsProcessed=true;}this.options={requestHeaders:_4c,parameters:_4a.parameters,postBody:_4b,method:_4d,onComplete:_4a.onComplete};Object.extend(this.options,_4a);return this.options;},_createQueryString:function(_4e,_4f){var _50="";for(var i=_4f;i<_4e.length;i++){if(i!=_4f){_50+="&";}var _52=_4e[i];if(_52.name!=undefined&&_52.value!=undefined){_50+=_52.name+"="+escape(_52.value);}else{var _53=_52.indexOf("=");var _54=_52.substring(0,_53);var _55=_52.substring(_53+1);_50+=_54+"="+escape(_55);}}return _50;},_onRequestComplete:function(_56){if(!_56){return;}if(_56.status!=200){return;}var _57=_56.responseXML.getElementsByTagName("ajax-response");if(_57==null||_57.length!=1){return;}this._processAjaxResponse(_57[0].childNodes);var _58=this.options.onRicoComplete;if(_58!=null){_58();}},_processAjaxResponse:function(_59){for(var i=0;i<_59.length;i++){var _5b=_59[i];if(_5b.nodeType!=1){continue;}var _5c=_5b.getAttribute("type");var _5d=_5b.getAttribute("id");if(_5c=="object"){this._processAjaxObjectUpdate(this.ajaxObjects[_5d],_5b);}else{if(_5c=="element"){this._processAjaxElementUpdate(this.ajaxElements[_5d],_5b);}else{alert("unrecognized AjaxResponse type : "+_5c);}}}},_processAjaxObjectUpdate:function(_5e,_5f){_5e.ajaxUpdate(_5f);},_processAjaxElementUpdate:function(_60,_61){_60.innerHTML=RicoUtil.getContentAsString(_61);}};var ajaxEngine=new Rico.AjaxEngine();Rico.Color=Class.create();Rico.Color.prototype={initialize:function(red,_63,_64){this.rgb={r:red,g:_63,b:_64};},setRed:function(r){this.rgb.r=r;},setGreen:function(g){this.rgb.g=g;},setBlue:function(b){this.rgb.b=b;},setHue:function(h){var hsb=this.asHSB();hsb.h=h;this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,hsb.b);},setSaturation:function(s){var hsb=this.asHSB();hsb.s=s;this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,hsb.b);},setBrightness:function(b){var hsb=this.asHSB();hsb.b=b;this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,hsb.b);},darken:function(_6e){var hsb=this.asHSB();this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,Math.max(hsb.b-_6e,0));},brighten:function(_70){var hsb=this.asHSB();this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,Math.min(hsb.b+_70,1));},blend:function(_72){this.rgb.r=Math.floor((this.rgb.r+_72.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+_72.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+_72.rgb.b)/2);},isBright:function(){var hsb=this.asHSB();return this.asHSB().b>0.5;},isDark:function(){return !this.isBright();},asRGB:function(){return "rgb("+this.rgb.r+","+this.rgb.g+","+this.rgb.b+")";},asHex:function(){return "#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart();},asHSB:function(){return Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b);},toString:function(){return this.asHex();}};Rico.Color.createFromHex=function(_74){if(_74.length==4){var _75=_74;var _76="#";for(var i=1;i<4;i++){_76+=(_75.charAt(i)+_75.charAt(i));}}if(_76.indexOf("#")==0){_76=_76.substring(1);}var red=_76.substring(0,2);var _79=_76.substring(2,4);var _7a=_76.substring(4,6);return new Rico.Color(parseInt(red,16),parseInt(_79,16),parseInt(_7a,16));};Rico.Color.createColorFromBackground=function(_7b){var _7c=RicoUtil.getElementsComputedStyle($(_7b),"backgroundColor","background-color");if(_7c=="transparent"&&_7b.parentNode){return Rico.Color.createColorFromBackground(_7b.parentNode);}if(_7c==null){return new Rico.Color(255,255,255);}if(_7c.indexOf("rgb(")==0){var _7d=_7c.substring(4,_7c.length-1);var _7e=_7d.split(",");return new Rico.Color(parseInt(_7e[0]),parseInt(_7e[1]),parseInt(_7e[2]));}else{if(_7c.indexOf("#")==0){return Rico.Color.createFromHex(_7c);}else{return new Rico.Color(255,255,255);}}};Rico.Color.HSBtoRGB=function(hue,_80,_81){var red=0;var _83=0;var _84=0;if(_80==0){red=parseInt(_81*255+0.5);_83=red;_84=red;}else{var h=(hue-Math.floor(hue))*6;var f=h-Math.floor(h);var p=_81*(1-_80);var q=_81*(1-_80*f);var t=_81*(1-(_80*(1-f)));switch(parseInt(h)){case 0:red=(_81*255+0.5);_83=(t*255+0.5);_84=(p*255+0.5);break;case 1:red=(q*255+0.5);_83=(_81*255+0.5);_84=(p*255+0.5);break;case 2:red=(p*255+0.5);_83=(_81*255+0.5);_84=(t*255+0.5);break;case 3:red=(p*255+0.5);_83=(q*255+0.5);_84=(_81*255+0.5);break;case 4:red=(t*255+0.5);_83=(p*255+0.5);_84=(_81*255+0.5);break;case 5:red=(_81*255+0.5);_83=(p*255+0.5);_84=(q*255+0.5);break;}}return {r:parseInt(red),g:parseInt(_83),b:parseInt(_84)};};Rico.Color.RGBtoHSB=function(r,g,b){var hue;var _8e;var _8f;var _90=(r>g)?r:g;if(b>_90){_90=b;}var _91=(r<g)?r:g;if(b<_91){_91=b;}_8f=_90/255;if(_90!=0){_8e=(_90-_91)/_90;}else{_8e=0;}if(_8e==0){hue=0;}else{var _92=(_90-r)/(_90-_91);var _93=(_90-g)/(_90-_91);var _94=(_90-b)/(_90-_91);if(r==_90){hue=_94-_93;}else{if(g==_90){hue=2+_92-_94;}else{hue=4+_93-_92;}}hue=hue/6;if(hue<0){hue=hue+1;}}return {h:hue,s:_8e,b:_8f};};Rico.Corner={round:function(e,_96){var e=$(e);this._setOptions(_96);var _98=this.options.color;if(this.options.color=="fromElement"){_98=this._background(e);}var _99=this.options.bgColor;if(this.options.bgColor=="fromParent"){_99=this._background(e.offsetParent);}this._roundCornersImpl(e,_98,_99);},_roundCornersImpl:function(e,_9b,_9c){if(this.options.border){this._renderBorder(e,_9c);}if(this._isTopRounded()){this._roundTopCorners(e,_9b,_9c);}if(this._isBottomRounded()){this._roundBottomCorners(e,_9b,_9c);}},_renderBorder:function(el,_9e){var _9f="1px solid "+this._borderColor(_9e);var _a0="border-left: "+_9f;var _a1="border-right: "+_9f;var _a2="style='"+_a0+";"+_a1+"'";el.innerHTML="<div "+_a2+">"+el.innerHTML+"</div>";},_roundTopCorners:function(el,_a4,_a5){var _a6=this._createCorner(_a5);for(var i=0;i<this.options.numSlices;i++){_a6.appendChild(this._createCornerSlice(_a4,_a5,i,"top"));}el.style.paddingTop=0;el.insertBefore(_a6,el.firstChild);},_roundBottomCorners:function(el,_a9,_aa){var _ab=this._createCorner(_aa);for(var i=(this.options.numSlices-1);i>=0;i--){_ab.appendChild(this._createCornerSlice(_a9,_aa,i,"bottom"));}el.style.paddingBottom=0;el.appendChild(_ab);},_createCorner:function(_ad){var _ae=document.createElement("div");_ae.style.backgroundColor=(this._isTransparent()?"transparent":_ad);return _ae;},_createCornerSlice:function(_af,_b0,n,_b2){var _b3=document.createElement("span");var _b4=_b3.style;_b4.backgroundColor=_af;_b4.display="block";_b4.height="1px";_b4.overflow="hidden";_b4.fontSize="1px";var _b5=this._borderColor(_af,_b0);if(this.options.border&&n==0){_b4.borderTopStyle="solid";_b4.borderTopWidth="1px";_b4.borderLeftWidth="0px";_b4.borderRightWidth="0px";_b4.borderBottomWidth="0px";_b4.height="0px";_b4.borderColor=_b5;}else{if(_b5){_b4.borderColor=_b5;_b4.borderStyle="solid";_b4.borderWidth="0px 1px";}}if(!this.options.compact&&(n==(this.options.numSlices-1))){_b4.height="2px";}this._setMargin(_b3,n,_b2);this._setBorder(_b3,n,_b2);return _b3;},_setOptions:function(_b6){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false};Object.extend(this.options,_b6||{});this.options.numSlices=this.options.compact?2:4;if(this._isTransparent()){this.options.blend=false;}},_whichSideTop:function(){if(this._hasString(this.options.corners,"all","top")){return "";}if(this.options.corners.indexOf("tl")>=0&&this.options.corners.indexOf("tr")>=0){return "";}if(this.options.corners.indexOf("tl")>=0){return "left";}else{if(this.options.corners.indexOf("tr")>=0){return "right";}}return "";},_whichSideBottom:function(){if(this._hasString(this.options.corners,"all","bottom")){return "";}if(this.options.corners.indexOf("bl")>=0&&this.options.corners.indexOf("br")>=0){return "";}if(this.options.corners.indexOf("bl")>=0){return "left";}else{if(this.options.corners.indexOf("br")>=0){return "right";}}return "";},_borderColor:function(_b7,_b8){if(_b7=="transparent"){return _b8;}else{if(this.options.border){return this.options.border;}else{if(this.options.blend){return this._blend(_b8,_b7);}else{return "";}}}},_setMargin:function(el,n,_bb){var _bc=this._marginSize(n);var _bd=_bb=="top"?this._whichSideTop():this._whichSideBottom();if(_bd=="left"){el.style.marginLeft=_bc+"px";el.style.marginRight="0px";}else{if(_bd=="right"){el.style.marginRight=_bc+"px";el.style.marginLeft="0px";}else{el.style.marginLeft=_bc+"px";el.style.marginRight=_bc+"px";}}},_setBorder:function(el,n,_c0){var _c1=this._borderSize(n);var _c2=_c0=="top"?this._whichSideTop():this._whichSideBottom();if(_c2=="left"){el.style.borderLeftWidth=_c1+"px";el.style.borderRightWidth="0px";}else{if(_c2=="right"){el.style.borderRightWidth=_c1+"px";el.style.borderLeftWidth="0px";}else{el.style.borderLeftWidth=_c1+"px";el.style.borderRightWidth=_c1+"px";}}if(this.options.border!=false){el.style.borderLeftWidth=_c1+"px";}el.style.borderRightWidth=_c1+"px";},_marginSize:function(n){if(this._isTransparent()){return 0;}var _c4=[5,3,2,1];var _c5=[3,2,1,0];var _c6=[2,1];var _c7=[1,0];if(this.options.compact&&this.options.blend){return _c7[n];}else{if(this.options.compact){return _c6[n];}else{if(this.options.blend){return _c5[n];}else{return _c4[n];}}}},_borderSize:function(n){var _c9=[5,3,2,1];var _ca=[2,1,1,1];var _cb=[1,0];var _cc=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent())){return 1;}else{if(this.options.compact){return _cb[n];}else{if(this.options.blend){return _ca[n];}else{if(this.options.border){return _cc[n];}else{if(this._isTransparent()){return _c9[n];}}}}}return 0;},_hasString:function(str){for(var i=1;i<arguments.length;i++){if(str.indexOf(arguments[i])>=0){return true;}}return false;},_blend:function(c1,c2){var cc1=Rico.Color.createFromHex(c1);cc1.blend(Rico.Color.createFromHex(c2));return cc1;},_background:function(el){try{return Rico.Color.createColorFromBackground(el).asHex();}catch(err){return "#ffffff";}},_isTransparent:function(){return this.options.color=="transparent";},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr");},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br");},_hasSingleTextChild:function(el){return el.childNodes.length==1&&el.childNodes[0].nodeType==3;}};Rico.DragAndDrop=Class.create();Rico.DragAndDrop.prototype={initialize:function(){this.dropZones=new Array();this.draggables=new Array();this.currentDragObjects=new Array();this.dragElement=null;this.lastSelectedDraggable=null;this.currentDragObjectVisible=false;this.interestedInMotionEvents=false;this._mouseDown=this._mouseDownHandler.bindAsEventListener(this);this._mouseMove=this._mouseMoveHandler.bindAsEventListener(this);this._mouseUp=this._mouseUpHandler.bindAsEventListener(this);},registerDropZone:function(_d4){this.dropZones[this.dropZones.length]=_d4;},deregisterDropZone:function(_d5){var _d6=new Array();var j=0;for(var i=0;i<this.dropZones.length;i++){if(this.dropZones[i]!=_d5){_d6[j++]=this.dropZones[i];}}this.dropZones=_d6;},clearDropZones:function(){this.dropZones=new Array();},registerDraggable:function(_d9){this.draggables[this.draggables.length]=_d9;this._addMouseDownHandler(_d9);},clearSelection:function(){for(var i=0;i<this.currentDragObjects.length;i++){this.currentDragObjects[i].deselect();}this.currentDragObjects=new Array();this.lastSelectedDraggable=null;},hasSelection:function(){return this.currentDragObjects.length>0;},setStartDragFromElement:function(e,_dc){this.origPos=RicoUtil.toDocumentPosition(_dc);this.startx=e.screenX-this.origPos.x;this.starty=e.screenY-this.origPos.y;this.interestedInMotionEvents=this.hasSelection();this._terminateEvent(e);},updateSelection:function(_dd,_de){if(!_de){this.clearSelection();}if(_dd.isSelected()){this.currentDragObjects.removeItem(_dd);_dd.deselect();if(_dd==this.lastSelectedDraggable){this.lastSelectedDraggable=null;}}else{this.currentDragObjects[this.currentDragObjects.length]=_dd;_dd.select();this.lastSelectedDraggable=_dd;}},_mouseDownHandler:function(e){if(arguments.length==0){e=event;}var _e0=e.which!=undefined;if((_e0&&e.which!=1)||(!_e0&&e.button!=1)){return;}var _e1=e.target?e.target:e.srcElement;var _e2=_e1.draggable;var _e3=_e1;while(_e2==null&&_e3.parentNode){_e3=_e3.parentNode;_e2=_e3.draggable;}if(_e2==null){return;}this.updateSelection(_e2,e.ctrlKey);if(this.hasSelection()){for(var i=0;i<this.dropZones.length;i++){this.dropZones[i].clearPositionCache();}}this.setStartDragFromElement(e,_e2.getMouseDownHTMLElement());},_mouseMoveHandler:function(e){var _e6=e.which!=undefined;if(!this.interestedInMotionEvents){return;}if(!this.hasSelection()){return;}if(!this.currentDragObjectVisible){this._startDrag(e);}if(!this.activatedDropZones){this._activateRegisteredDropZones();}this._updateDraggableLocation(e);this._updateDropZonesHover(e);this._terminateEvent(e);},_makeDraggableObjectVisible:function(e){if(!this.hasSelection()){return;}var _e8;if(this.currentDragObjects.length>1){_e8=this.currentDragObjects[0].getMultiObjectDragGUI(this.currentDragObjects);}else{_e8=this.currentDragObjects[0].getSingleObjectDragGUI();}if(RicoUtil.getElementsComputedStyle(_e8,"position")!="absolute"){_e8.style.position="absolute";}if(_e8.parentNode==null||_e8.parentNode.nodeType==11){document.body.appendChild(_e8);}this.dragElement=_e8;this._updateDraggableLocation(e);this.currentDragObjectVisible=true;},_updateDraggableLocation:function(e){var _ea=this.dragElement.style;_ea.left=(e.screenX-this.startx)+"px";_ea.top=(e.screenY-this.starty)+"px";},_updateDropZonesHover:function(e){var n=this.dropZones.length;for(var i=0;i<n;i++){if(!this._mousePointInDropZone(e,this.dropZones[i])){this.dropZones[i].hideHover();}}for(var i=0;i<n;i++){if(this._mousePointInDropZone(e,this.dropZones[i])){if(this.dropZones[i].canAccept(this.currentDragObjects)){this.dropZones[i].showHover();}}}},_startDrag:function(e){for(var i=0;i<this.currentDragObjects.length;i++){this.currentDragObjects[i].startDrag();}this._makeDraggableObjectVisible(e);},_mouseUpHandler:function(e){if(!this.hasSelection()){return;}var _f2=e.which!=undefined;if((_f2&&e.which!=1)||(!_f2&&e.button!=1)){return;}this.interestedInMotionEvents=false;if(this.dragElement==null){this._terminateEvent(e);return;}if(this._placeDraggableInDropZone(e)){this._completeDropOperation(e);}else{this._terminateEvent(e);new Effect.Position(this.dragElement,this.origPos.x,this.origPos.y,200,20,{complete:this._doCancelDragProcessing.bind(this)});}Event.stopObserving(document.body,"mousemove",this._mouseMove);Event.stopObserving(document.body,"mouseup",this._mouseUp);},_retTrue:function(){return true;},_completeDropOperation:function(e){if(this.dragElement!=this.currentDragObjects[0].getMouseDownHTMLElement()){if(this.dragElement.parentNode!=null){this.dragElement.parentNode.removeChild(this.dragElement);}}this._deactivateRegisteredDropZones();this._endDrag();this.clearSelection();this.dragElement=null;this.currentDragObjectVisible=false;this._terminateEvent(e);},_doCancelDragProcessing:function(){this._cancelDrag();if(this.dragElement!=this.currentDragObjects[0].getMouseDownHTMLElement()&&this.dragElement){if(this.dragElement.parentNode!=null){this.dragElement.parentNode.removeChild(this.dragElement);}}this._deactivateRegisteredDropZones();this.dragElement=null;this.currentDragObjectVisible=false;},_placeDraggableInDropZone:function(e){var _f5=false;var n=this.dropZones.length;for(var i=0;i<n;i++){if(this._mousePointInDropZone(e,this.dropZones[i])){if(this.dropZones[i].canAccept(this.currentDragObjects)){this.dropZones[i].hideHover();this.dropZones[i].accept(this.currentDragObjects);_f5=true;break;}}}return _f5;},_cancelDrag:function(){for(var i=0;i<this.currentDragObjects.length;i++){this.currentDragObjects[i].cancelDrag();}},_endDrag:function(){for(var i=0;i<this.currentDragObjects.length;i++){this.currentDragObjects[i].endDrag();}},_mousePointInDropZone:function(e,_fb){var _fc=_fb.getAbsoluteRect();return e.clientX>_fc.left&&e.clientX<_fc.right&&e.clientY>_fc.top&&e.clientY<_fc.bottom;},_addMouseDownHandler:function(_fd){htmlElement=_fd.getMouseDownHTMLElement();if(htmlElement!=null){htmlElement.draggable=_fd;Event.observe(htmlElement,"mousedown",this._onmousedown.bindAsEventListener(this));Event.observe(htmlElement,"mousedown",this._mouseDown);}},_activateRegisteredDropZones:function(){var n=this.dropZones.length;for(var i=0;i<n;i++){var _100=this.dropZones[i];if(_100.canAccept(this.currentDragObjects)){_100.activate();}}this.activatedDropZones=true;},_deactivateRegisteredDropZones:function(){var n=this.dropZones.length;for(var i=0;i<n;i++){this.dropZones[i].deactivate();}this.activatedDropZones=false;},_onmousedown:function(){Event.observe(document.body,"mousemove",this._mouseMove);Event.observe(document.body,"mouseup",this._mouseUp);},_terminateEvent:function(e){if(e.stopPropagation!=undefined){e.stopPropagation();}else{if(e.cancelBubble!=undefined){e.cancelBubble=true;}}if(e.preventDefault!=undefined){e.preventDefault();}else{e.returnValue=false;}},initializeEventHandlers:function(){if(typeof document.implementation!="undefined"&&document.implementation.hasFeature("HTML","1.0")&&document.implementation.hasFeature("Events","2.0")&&document.implementation.hasFeature("CSS","2.0")){document.addEventListener("mouseup",this._mouseUpHandler.bindAsEventListener(this),false);document.addEventListener("mousemove",this._mouseMoveHandler.bindAsEventListener(this),false);}else{document.attachEvent("onmouseup",this._mouseUpHandler.bindAsEventListener(this));document.attachEvent("onmousemove",this._mouseMoveHandler.bindAsEventListener(this));}}};var dndMgr=new Rico.DragAndDrop();dndMgr.initializeEventHandlers();Rico.Draggable=Class.create();Rico.Draggable.prototype={initialize:function(type,_105){this.type=type;this.htmlElement=$(_105);this.selected=false;},getMouseDownHTMLElement:function(){return this.htmlElement;},select:function(){this.selected=true;if(this.showingSelected){return;}var _106=this.getMouseDownHTMLElement();var _107=Rico.Color.createColorFromBackground(_106);_107.isBright()?_107.darken(0.033):_107.brighten(0.033);this.saveBackground=RicoUtil.getElementsComputedStyle(_106,"backgroundColor","background-color");_106.style.backgroundColor=_107.asHex();this.showingSelected=true;},deselect:function(){this.selected=false;if(!this.showingSelected){return;}var _108=this.getMouseDownHTMLElement();_108.style.backgroundColor=this.saveBackground;this.showingSelected=false;},isSelected:function(){return this.selected;},startDrag:function(){},cancelDrag:function(){},endDrag:function(){},getSingleObjectDragGUI:function(){return this.htmlElement;},getMultiObjectDragGUI:function(_109){return this.htmlElement;},getDroppedGUI:function(){return this.htmlElement;},toString:function(){return this.type+":"+this.htmlElement+":";}};Rico.Dropzone=Class.create();Rico.Dropzone.prototype={initialize:function(_10a){this.htmlElement=$(_10a);this.absoluteRect=null;},getHTMLElement:function(){return this.htmlElement;},clearPositionCache:function(){this.absoluteRect=null;},getAbsoluteRect:function(){if(this.absoluteRect==null){var _10b=this.getHTMLElement();var pos=RicoUtil.toViewportPosition(_10b);this.absoluteRect={top:pos.y,left:pos.x,bottom:pos.y+_10b.offsetHeight,right:pos.x+_10b.offsetWidth};}return this.absoluteRect;},activate:function(){var _10d=this.getHTMLElement();if(_10d==null||this.showingActive){return;}this.showingActive=true;this.saveBackgroundColor=_10d.style.backgroundColor;var _10e="#ffea84";var _10f=Rico.Color.createColorFromBackground(_10d);if(_10f==null){_10d.style.backgroundColor=_10e;}else{_10f.isBright()?_10f.darken(0.2):_10f.brighten(0.2);_10d.style.backgroundColor=_10f.asHex();}},deactivate:function(){var _110=this.getHTMLElement();if(_110==null||!this.showingActive){return;}_110.style.backgroundColor=this.saveBackgroundColor;this.showingActive=false;this.saveBackgroundColor=null;},showHover:function(){var _111=this.getHTMLElement();if(_111==null||this.showingHover){return;}this.saveBorderWidth=_111.style.borderWidth;this.saveBorderStyle=_111.style.borderStyle;this.saveBorderColor=_111.style.borderColor;this.showingHover=true;_111.style.borderWidth="1px";_111.style.borderStyle="solid";_111.style.borderColor="#ffff00";},hideHover:function(){var _112=this.getHTMLElement();if(_112==null||!this.showingHover){return;}_112.style.borderWidth=this.saveBorderWidth;_112.style.borderStyle=this.saveBorderStyle;_112.style.borderColor=this.saveBorderColor;this.showingHover=false;},canAccept:function(_113){return true;},accept:function(_114){var _115=this.getHTMLElement();if(_115==null){return;}n=_114.length;for(var i=0;i<n;i++){var _117=_114[i].getDroppedGUI();if(RicoUtil.getElementsComputedStyle(_117,"position")=="absolute"){_117.style.position="static";_117.style.top="";_117.style.top="";}_115.appendChild(_117);}}};if(window.Effect==undefined){Rico.Effect={};}Rico.Effect.SizeAndPosition=Class.create();Rico.Effect.SizeAndPosition.prototype={initialize:function(_118,x,y,w,h,_11d,_11e,_11f){this.element=$(_118);this.x=x;this.y=y;this.w=w;this.h=h;this.duration=_11d;this.steps=_11e;this.options=arguments[7]||{};this.sizeAndPosition();},sizeAndPosition:function(){if(this.isFinished()){if(this.options.complete){this.options.complete(this);}return;}if(this.timer){clearTimeout(this.timer);}var _120=Math.round(this.duration/this.steps);var _121=this.element.offsetLeft;var _122=this.element.offsetTop;var _123=this.element.offsetWidth;var _124=this.element.offsetHeight;this.x=(this.x)?this.x:_121;this.y=(this.y)?this.y:_122;this.w=(this.w)?this.w:_123;this.h=(this.h)?this.h:_124;var difX=this.steps>0?(this.x-_121)/this.steps:0;var difY=this.steps>0?(this.y-_122)/this.steps:0;var difW=this.steps>0?(this.w-_123)/this.steps:0;var difH=this.steps>0?(this.h-_124)/this.steps:0;this.moveBy(difX,difY);this.resizeBy(difW,difH);this.duration-=_120;this.steps--;this.timer=setTimeout(this.sizeAndPosition.bind(this),_120);},isFinished:function(){return this.steps<=0;},moveBy:function(difX,difY){var _12b=this.element.offsetLeft;var _12c=this.element.offsetTop;var _12d=parseInt(difX);var _12e=parseInt(difY);var _12f=this.element.style;if(_12d!=0){_12f.left=(_12b+_12d)+"px";}if(_12e!=0){_12f.top=(_12c+_12e)+"px";}},resizeBy:function(difW,difH){var _132=this.element.offsetWidth;var _133=this.element.offsetHeight;var _134=parseInt(difW);var _135=parseInt(difH);var _136=this.element.style;if(_134!=0){_136.width=(_132+_134)+"px";}if(_135!=0){_136.height=(_133+_135)+"px";}}};Rico.Effect.Size=Class.create();Rico.Effect.Size.prototype={initialize:function(_137,w,h,_13a,_13b,_13c){new Rico.Effect.SizeAndPosition(_137,null,null,w,h,_13a,_13b,_13c);}};Rico.Effect.Position=Class.create();Rico.Effect.Position.prototype={initialize:function(_13d,x,y,_140,_141,_142){new Rico.Effect.SizeAndPosition(_13d,x,y,null,null,_140,_141,_142);}};Rico.Effect.Round=Class.create();Rico.Effect.Round.prototype={initialize:function(_143,_144,_145){var _146=document.getElementsByTagAndClassName(_143,_144);for(var i=0;i<_146.length;i++){Rico.Corner.round(_146[i],_145);}}};Rico.Effect.FadeTo=Class.create();Rico.Effect.FadeTo.prototype={initialize:function(_148,_149,_14a,_14b,_14c){this.element=$(_148);this.opacity=_149;this.duration=_14a;this.steps=_14b;this.options=arguments[4]||{};this.fadeTo();},fadeTo:function(){if(this.isFinished()){if(this.options.complete){this.options.complete(this);}return;}if(this.timer){clearTimeout(this.timer);}var _14d=Math.round(this.duration/this.steps);var _14e=this.getElementOpacity();var _14f=this.steps>0?(this.opacity-_14e)/this.steps:0;this.changeOpacityBy(_14f);this.duration-=_14d;this.steps--;this.timer=setTimeout(this.fadeTo.bind(this),_14d);},changeOpacityBy:function(v){var _151=this.getElementOpacity();var _152=Math.max(0,Math.min(_151+v,1));this.element.ricoOpacity=_152;this.element.style.filter="alpha(opacity:"+Math.round(_152*100)+")";this.element.style.opacity=_152;},isFinished:function(){return this.steps<=0;},getElementOpacity:function(){if(this.element.ricoOpacity==undefined){var _153=RicoUtil.getElementsComputedStyle(this.element,"opacity");this.element.ricoOpacity=_153!=undefined?_153:1;}return parseFloat(this.element.ricoOpacity);}};Rico.Effect.AccordionSize=Class.create();Rico.Effect.AccordionSize.prototype={initialize:function(e1,e2,_156,end,_158,_159,_15a){this.e1=$(e1);this.e2=$(e2);this.start=_156;this.end=end;this.duration=_158;this.steps=_159;this.options=arguments[6]||{};this.accordionSize();},accordionSize:function(){if(this.isFinished()){this.e1.style.height=this.start+"px";this.e2.style.height=this.end+"px";if(this.options.complete){this.options.complete(this);}return;}if(this.timer){clearTimeout(this.timer);}var _15b=Math.round(this.duration/this.steps);var diff=this.steps>0?(parseInt(this.e1.offsetHeight)-this.start)/this.steps:0;this.resizeBy(diff);this.duration-=_15b;this.steps--;this.timer=setTimeout(this.accordionSize.bind(this),_15b);},isFinished:function(){return this.steps<=0;},resizeBy:function(diff){var _15e=this.e1.offsetHeight;var _15f=this.e2.offsetHeight;var _160=parseInt(diff);if(diff!=0){this.e1.style.height=(_15e-_160)+"px";this.e2.style.height=(_15f+_160)+"px";}}};Rico.LiveGridMetaData=Class.create();Rico.LiveGridMetaData.prototype={initialize:function(_161,_162,_163,_164){this.pageSize=_161;this.totalRows=_162;this.setOptions(_164);this.ArrowHeight=16;this.columnCount=_163;},setOptions:function(_165){this.options={largeBufferSize:7,nearLimitFactor:0.2};Object.extend(this.options,_165||{});},getPageSize:function(){return this.pageSize;},getTotalRows:function(){return this.totalRows;},setTotalRows:function(n){this.totalRows=n;},getLargeBufferSize:function(){return parseInt(this.options.largeBufferSize*this.pageSize);},getLimitTolerance:function(){return parseInt(this.getLargeBufferSize()*this.options.nearLimitFactor);}};Rico.LiveGridScroller=Class.create();Rico.LiveGridScroller.prototype={initialize:function(_167,_168){this.isIE=navigator.userAgent.toLowerCase().indexOf("msie")>=0;this.liveGrid=_167;this.metaData=_167.metaData;this.createScrollBar();this.scrollTimeout=null;this.lastScrollPos=0;this.viewPort=_168;this.rows=new Array();},isUnPlugged:function(){return this.scrollerDiv.onscroll==null;},plugin:function(){this.scrollerDiv.onscroll=this.handleScroll.bindAsEventListener(this);},unplug:function(){this.scrollerDiv.onscroll=null;},sizeIEHeaderHack:function(){if(!this.isIE){return;}var _169=$(this.liveGrid.tableId+"_header");if(_169){_169.rows[0].cells[0].style.width=(_169.rows[0].cells[0].offsetWidth+1)+"px";}},createScrollBar:function(){var _16a=this.liveGrid.viewPort.visibleHeight();this.scrollerDiv=document.createElement("div");var _16b=this.scrollerDiv.style;_16b.borderRight=this.liveGrid.options.scrollerBorderRight;_16b.position="relative";_16b.left=this.isIE?"-6px":"-3px";_16b.width="19px";_16b.height=_16a+"px";_16b.overflow="auto";this.heightDiv=document.createElement("div");this.heightDiv.style.width="1px";this.heightDiv.style.height=parseInt(_16a*this.metaData.getTotalRows()/this.metaData.getPageSize())+"px";this.scrollerDiv.appendChild(this.heightDiv);this.scrollerDiv.onscroll=this.handleScroll.bindAsEventListener(this);var _16c=this.liveGrid.table;_16c.parentNode.parentNode.insertBefore(this.scrollerDiv,_16c.parentNode.nextSibling);var _16d=this.isIE?"mousewheel":"DOMMouseScroll";Event.observe(_16c,_16d,function(evt){if(evt.wheelDelta>=0||evt.detail<0){this.scrollerDiv.scrollTop-=(2*this.viewPort.rowHeight);}else{this.scrollerDiv.scrollTop+=(2*this.viewPort.rowHeight);}this.handleScroll(false);}.bindAsEventListener(this),false);},updateSize:function(){var _16f=this.liveGrid.table;var _170=this.viewPort.visibleHeight();this.heightDiv.style.height=parseInt(_170*this.metaData.getTotalRows()/this.metaData.getPageSize())+"px";},rowToPixel:function(_171){return (_171/this.metaData.getTotalRows())*this.heightDiv.offsetHeight;},moveScroll:function(_172){this.scrollerDiv.scrollTop=this.rowToPixel(_172);if(this.metaData.options.onscroll){this.metaData.options.onscroll(this.liveGrid,_172);}},handleScroll:function(){if(this.scrollTimeout){clearTimeout(this.scrollTimeout);}var _173=this.lastScrollPos-this.scrollerDiv.scrollTop;if(_173!=0){var r=this.scrollerDiv.scrollTop%this.viewPort.rowHeight;if(r!=0){this.unplug();if(_173<0){this.scrollerDiv.scrollTop+=(this.viewPort.rowHeight-r);}else{this.scrollerDiv.scrollTop-=r;}this.plugin();}}var _175=parseInt(this.scrollerDiv.scrollTop/this.viewPort.rowHeight);this.liveGrid.requestContentRefresh(_175);this.viewPort.scrollTo(this.scrollerDiv.scrollTop);if(this.metaData.options.onscroll){this.metaData.options.onscroll(this.liveGrid,_175);}this.scrollTimeout=setTimeout(this.scrollIdle.bind(this),1200);this.lastScrollPos=this.scrollerDiv.scrollTop;},scrollIdle:function(){if(this.metaData.options.onscrollidle){this.metaData.options.onscrollidle();}}};Rico.LiveGridBuffer=Class.create();Rico.LiveGridBuffer.prototype={initialize:function(_176,_177){this.startPos=0;this.size=0;this.metaData=_176;this.rows=new Array();this.updateInProgress=false;this.viewPort=_177;this.maxBufferSize=_176.getLargeBufferSize()*2;this.maxFetchSize=_176.getLargeBufferSize();this.lastOffset=0;},getBlankRow:function(){if(!this.blankRow){this.blankRow=new Array();for(var i=0;i<this.metaData.columnCount;i++){this.blankRow[i]="&nbsp;";}}return this.blankRow;},loadRows:function(_179){var _17a=_179.getElementsByTagName("rows")[0];this.updateUI=_17a.getAttribute("update_ui")=="true";var _17b=new Array();var trs=_17a.getElementsByTagName("tr");for(var i=0;i<trs.length;i++){var row=_17b[i]=new Array();var _17f=trs[i].getElementsByTagName("td");for(var j=0;j<_17f.length;j++){var cell=_17f[j];var _182=cell.getAttribute("convert_spaces")=="true";var _183=RicoUtil.getContentAsString(cell);row[j]=_182?this.convertSpaces(_183):_183;if(!row[j]){row[j]="&nbsp;";}}}return _17b;},update:function(_184,_185){var _186=this.loadRows(_184);if(this.rows.length==0){this.rows=_186;this.size=this.rows.length;this.startPos=_185;return;}if(_185>this.startPos){if(this.startPos+this.rows.length<_185){this.rows=_186;this.startPos=_185;}else{this.rows=this.rows.concat(_186.slice(0,_186.length));if(this.rows.length>this.maxBufferSize){var _187=this.rows.length;this.rows=this.rows.slice(this.rows.length-this.maxBufferSize,this.rows.length);this.startPos=this.startPos+(_187-this.rows.length);}}}else{if(_185+_186.length<this.startPos){this.rows=_186;}else{this.rows=_186.slice(0,this.startPos).concat(this.rows);if(this.rows.length>this.maxBufferSize){this.rows=this.rows.slice(0,this.maxBufferSize);}}this.startPos=_185;}this.size=this.rows.length;},clear:function(){this.rows=new Array();this.startPos=0;this.size=0;},isOverlapping:function(_188,size){return ((_188<this.endPos())&&(this.startPos<_188+size))||(this.endPos()==0);},isInRange:function(_18a){return (_18a>=this.startPos)&&(_18a+this.metaData.getPageSize()<=this.endPos());},isNearingTopLimit:function(_18b){return _18b-this.startPos<this.metaData.getLimitTolerance();},endPos:function(){return this.startPos+this.rows.length;},isNearingBottomLimit:function(_18c){return this.endPos()-(_18c+this.metaData.getPageSize())<this.metaData.getLimitTolerance();},isAtTop:function(){return this.startPos==0;},isAtBottom:function(){return this.endPos()==this.metaData.getTotalRows();},isNearingLimit:function(_18d){return (!this.isAtTop()&&this.isNearingTopLimit(_18d))||(!this.isAtBottom()&&this.isNearingBottomLimit(_18d));},getFetchSize:function(_18e){var _18f=this.getFetchOffset(_18e);var _190=0;if(_18f>=this.startPos){var _191=this.maxFetchSize+_18f;if(_191>this.metaData.totalRows){_191=this.metaData.totalRows;}_190=_191-_18f;if(_18f==0&&_190<this.maxFetchSize){_190=this.maxFetchSize;}}else{var _192=this.startPos-_18f;if(_192>this.maxFetchSize){_192=this.maxFetchSize;}}return _192;},getFetchOffset:function(_193){var _194=_193;if(_193>this.startPos){_194=(_193>this.endPos())?_193:this.endPos();}else{if(_193+this.maxFetchSize>=this.startPos){var _195=this.startPos-this.maxFetchSize;if(_195<0){_195=0;}}}this.lastOffset=_195;return _195;},getRows:function(_196,_197){var _198=_196-this.startPos;var _199=_198+_197;if(_199>this.size){_199=this.size;}var _19a=new Array();var _19b=0;for(var i=_198;i<_199;i++){_19a[_19b++]=this.rows[i];}return _19a;},convertSpaces:function(s){return s.split(" ").join("&nbsp;");}};Rico.GridViewPort=Class.create();Rico.GridViewPort.prototype={initialize:function(_19e,_19f,_1a0,_1a1,_1a2){this.lastDisplayedStartPos=0;this.div=_19e.parentNode;this.table=_19e;this.rowHeight=_19f;this.div.style.height=this.rowHeight*_1a0;this.div.style.overflow="hidden";this.buffer=_1a1;this.liveGrid=_1a2;this.visibleRows=_1a0+1;this.lastPixelOffset=0;this.startPos=0;},populateRow:function(_1a3,row){for(var j=0;j<row.length;j++){_1a3.cells[j].innerHTML=row[j];}},bufferChanged:function(){this.refreshContents(parseInt(this.lastPixelOffset/this.rowHeight));},clearRows:function(){if(!this.isBlank){this.liveGrid.table.className=this.liveGrid.options.loadingClass;for(var i=0;i<this.visibleRows;i++){this.populateRow(this.table.rows[i],this.buffer.getBlankRow());}this.isBlank=true;}},clearContents:function(){this.clearRows();this.scrollTo(0);this.startPos=0;this.lastStartPos=-1;},refreshContents:function(_1a7){if(_1a7==this.lastRowPos&&!this.isPartialBlank&&!this.isBlank){return;}if((_1a7+this.visibleRows<this.buffer.startPos)||(this.buffer.startPos+this.buffer.size<_1a7)||(this.buffer.size==0)){this.clearRows();return;}this.isBlank=false;var _1a8=this.buffer.startPos>_1a7;var _1a9=_1a8?this.buffer.startPos:_1a7;var _1aa=(this.buffer.startPos+this.buffer.size<_1a7+this.visibleRows)?this.buffer.startPos+this.buffer.size:_1a7+this.visibleRows;var _1ab=_1aa-_1a9;var rows=this.buffer.getRows(_1a9,_1ab);var _1ad=this.visibleRows-_1ab;var _1ae=_1a8?0:_1ab;var _1af=_1a8?_1ad:0;for(var i=0;i<rows.length;i++){this.populateRow(this.table.rows[i+_1af],rows[i]);}for(var i=0;i<_1ad;i++){this.populateRow(this.table.rows[i+_1ae],this.buffer.getBlankRow());}this.isPartialBlank=_1ad>0;this.lastRowPos=_1a7;this.liveGrid.table.className=this.liveGrid.options.tableClass;var _1b2=this.liveGrid.options.onRefreshComplete;if(_1b2!=null){_1b2();}},scrollTo:function(_1b3){if(this.lastPixelOffset==_1b3){return;}this.refreshContents(parseInt(_1b3/this.rowHeight));this.div.scrollTop=_1b3%this.rowHeight;this.lastPixelOffset=_1b3;},visibleHeight:function(){return parseInt(RicoUtil.getElementsComputedStyle(this.div,"height"));}};Rico.LiveGridRequest=Class.create();Rico.LiveGridRequest.prototype={initialize:function(_1b4,_1b5){this.requestOffset=_1b4;}};Rico.LiveGrid=Class.create();Rico.LiveGrid.prototype={initialize:function(_1b6,_1b7,_1b8,url,_1ba,_1bb){this.options={tableClass:$(_1b6).className,loadingClass:$(_1b6).className,scrollerBorderRight:"1px solid #ababab",bufferTimeout:20000,sortAscendImg:"images/sort_asc.gif",sortDescendImg:"images/sort_desc.gif",sortImageWidth:9,sortImageHeight:5,ajaxSortURLParms:[],onRefreshComplete:null,requestParameters:null,inlineStyles:true};Object.extend(this.options,_1ba||{});this.ajaxOptions={parameters:null};Object.extend(this.ajaxOptions,_1bb||{});this.tableId=_1b6;this.table=$(_1b6);this.addLiveGridHtml();var _1bc=this.table.rows[0].cells.length;this.metaData=new Rico.LiveGridMetaData(_1b7,_1b8,_1bc,_1ba);this.buffer=new Rico.LiveGridBuffer(this.metaData);var _1bd=this.table.rows.length;this.viewPort=new Rico.GridViewPort(this.table,this.table.offsetHeight/_1bd,_1b7,this.buffer,this);this.scroller=new Rico.LiveGridScroller(this,this.viewPort);this.options.sortHandler=this.sortHandler.bind(this);if($(_1b6+"_header")){this.sort=new Rico.LiveGridSort(_1b6+"_header",this.options);}this.processingRequest=null;this.unprocessedRequest=null;this.initAjax(url);if(this.options.prefetchBuffer||this.options.prefetchOffset>0){var _1be=0;if(this.options.offset){_1be=this.options.offset;this.scroller.moveScroll(_1be);this.viewPort.scrollTo(this.scroller.rowToPixel(_1be));}if(this.options.sortCol){this.sortCol=_1ba.sortCol;this.sortDir=_1ba.sortDir;}this.requestContentRefresh(_1be);}},addLiveGridHtml:function(){if(this.table.getElementsByTagName("thead").length>0){var _1bf=this.table.cloneNode(true);_1bf.setAttribute("id",this.tableId+"_header");_1bf.setAttribute("class",this.table.className+"_header");for(var i=0;i<_1bf.tBodies.length;i++){_1bf.removeChild(_1bf.tBodies[i]);}this.table.deleteTHead();this.table.parentNode.insertBefore(_1bf,this.table);}new Insertion.Before(this.table,"<div id='"+this.tableId+"_container'></div>");this.table.previousSibling.appendChild(this.table);new Insertion.Before(this.table,"<div id='"+this.tableId+"_viewport' style='float:left;'></div>");this.table.previousSibling.appendChild(this.table);},resetContents:function(){this.scroller.moveScroll(0);this.buffer.clear();this.viewPort.clearContents();},sortHandler:function(_1c1){if(!_1c1){return;}this.sortCol=_1c1.name;this.sortDir=_1c1.currentSort;this.resetContents();this.requestContentRefresh(0);},adjustRowSize:function(){},setTotalRows:function(_1c2){this.resetContents();this.metaData.setTotalRows(_1c2);this.scroller.updateSize();},initAjax:function(url){ajaxEngine.registerRequest(this.tableId+"_request",url);ajaxEngine.registerAjaxObject(this.tableId+"_updater",this);},invokeAjax:function(){},handleTimedOut:function(){this.processingRequest=null;this.processQueuedRequest();},fetchBuffer:function(_1c4){if(this.buffer.isInRange(_1c4)&&!this.buffer.isNearingLimit(_1c4)){return;}if(this.processingRequest){this.unprocessedRequest=new Rico.LiveGridRequest(_1c4);return;}var _1c5=this.buffer.getFetchOffset(_1c4);this.processingRequest=new Rico.LiveGridRequest(_1c4);this.processingRequest.bufferOffset=_1c5;var _1c6=this.buffer.getFetchSize(_1c4);var _1c7=false;var _1c8;if(this.options.requestParameters){_1c8=this._createQueryString(this.options.requestParameters,0);}_1c8=(_1c8==null)?"":_1c8+"&";_1c8=_1c8+"id="+this.tableId+"&page_size="+_1c6+"&offset="+_1c5;if(this.sortCol){_1c8=_1c8+"&sort_col="+escape(this.sortCol)+"&sort_dir="+this.sortDir;}this.ajaxOptions.parameters=_1c8;ajaxEngine.sendRequest(this.tableId+"_request",this.ajaxOptions);this.timeoutHandler=setTimeout(this.handleTimedOut.bind(this),this.options.bufferTimeout);},setRequestParams:function(){this.options.requestParameters=[];for(var i=0;i<arguments.length;i++){this.options.requestParameters[i]=arguments[i];}},requestContentRefresh:function(_1ca){this.fetchBuffer(_1ca);},ajaxUpdate:function(_1cb){try{clearTimeout(this.timeoutHandler);this.buffer.update(_1cb,this.processingRequest.bufferOffset);this.viewPort.bufferChanged();}catch(err){}finally{this.processingRequest=null;}this.processQueuedRequest();},_createQueryString:function(_1cc,_1cd){var _1ce="";if(!_1cc){return _1ce;}for(var i=_1cd;i<_1cc.length;i++){if(i!=_1cd){_1ce+="&";}var _1d0=_1cc[i];if(_1d0.name!=undefined&&_1d0.value!=undefined){_1ce+=_1d0.name+"="+escape(_1d0.value);}else{var ePos=_1d0.indexOf("=");var _1d2=_1d0.substring(0,ePos);var _1d3=_1d0.substring(ePos+1);_1ce+=_1d2+"="+escape(_1d3);}}return _1ce;},processQueuedRequest:function(){if(this.unprocessedRequest!=null){this.requestContentRefresh(this.unprocessedRequest.requestOffset);this.unprocessedRequest=null;}}};Rico.LiveGridSort=Class.create();Rico.LiveGridSort.prototype={initialize:function(_1d4,_1d5){this.headerTableId=_1d4;this.headerTable=$(_1d4);this.options=_1d5;this.setOptions();this.applySortBehavior();if(this.options.sortCol){this.setSortUI(this.options.sortCol,this.options.sortDir);}},setSortUI:function(_1d6,_1d7){var cols=this.options.columns;for(var i=0;i<cols.length;i++){if(cols[i].name==_1d6){this.setColumnSort(i,_1d7);break;}}},setOptions:function(){new Image().src=this.options.sortAscendImg;new Image().src=this.options.sortDescendImg;this.sort=this.options.sortHandler;if(!this.options.columns){this.options.columns=this.introspectForColumnInfo();}else{this.options.columns=this.convertToTableColumns(this.options.columns);}},applySortBehavior:function(){var _1da=this.headerTable.rows[0];var _1db=_1da.cells;for(var i=0;i<_1db.length;i++){this.addSortBehaviorToColumn(i,_1db[i]);}},addSortBehaviorToColumn:function(n,cell){if(this.options.columns[n].isSortable()){cell.id=this.headerTableId+"_"+n;cell.style.cursor="pointer";cell.onclick=this.headerCellClicked.bindAsEventListener(this);cell.innerHTML=cell.innerHTML+"<span id=\""+this.headerTableId+"_img_"+n+"\">"+"&nbsp;&nbsp;&nbsp;</span>";}},headerCellClicked:function(evt){var _1e0=evt.target?evt.target:evt.srcElement;var _1e1=_1e0.id;var _1e2=parseInt(_1e1.substring(_1e1.lastIndexOf("_")+1));var _1e3=this.getSortedColumnIndex();if(_1e3!=-1){if(_1e3!=_1e2){this.removeColumnSort(_1e3);this.setColumnSort(_1e2,Rico.TableColumn.SORT_ASC);}else{this.toggleColumnSort(_1e3);}}else{this.setColumnSort(_1e2,Rico.TableColumn.SORT_ASC);}if(this.options.sortHandler){this.options.sortHandler(this.options.columns[_1e2]);}},removeColumnSort:function(n){this.options.columns[n].setUnsorted();this.setSortImage(n);},setColumnSort:function(n,_1e6){if(isNaN(n)){return;}this.options.columns[n].setSorted(_1e6);this.setSortImage(n);},toggleColumnSort:function(n){this.options.columns[n].toggleSort();this.setSortImage(n);},setSortImage:function(n){var _1e9=this.options.columns[n].getSortDirection();var _1ea=$(this.headerTableId+"_img_"+n);if(_1e9==Rico.TableColumn.UNSORTED){_1ea.innerHTML="&nbsp;&nbsp;";}else{if(_1e9==Rico.TableColumn.SORT_ASC){_1ea.innerHTML="&nbsp;&nbsp;<img width=\""+this.options.sortImageWidth+"\" "+"height=\""+this.options.sortImageHeight+"\" "+"src=\""+this.options.sortAscendImg+"\"/>";}else{if(_1e9==Rico.TableColumn.SORT_DESC){_1ea.innerHTML="&nbsp;&nbsp;<img width=\""+this.options.sortImageWidth+"\" "+"height=\""+this.options.sortImageHeight+"\" "+"src=\""+this.options.sortDescendImg+"\"/>";}}}},getSortedColumnIndex:function(){var cols=this.options.columns;for(var i=0;i<cols.length;i++){if(cols[i].isSorted()){return i;}}return -1;},introspectForColumnInfo:function(){var _1ed=new Array();var _1ee=this.headerTable.rows[0];var _1ef=_1ee.cells;for(var i=0;i<_1ef.length;i++){_1ed.push(new Rico.TableColumn(this.deriveColumnNameFromCell(_1ef[i],i),true));}return _1ed;},convertToTableColumns:function(cols){var _1f2=new Array();for(var i=0;i<cols.length;i++){_1f2.push(new Rico.TableColumn(cols[i][0],cols[i][1]));}return _1f2;},deriveColumnNameFromCell:function(cell,_1f5){var _1f6=cell.innerText!=undefined?cell.innerText:cell.textContent;return _1f6?_1f6.toLowerCase().split(" ").join("_"):"col_"+_1f5;}};Rico.TableColumn=Class.create();Rico.TableColumn.UNSORTED=0;Rico.TableColumn.SORT_ASC="ASC";Rico.TableColumn.SORT_DESC="DESC";Rico.TableColumn.prototype={initialize:function(name,_1f8){this.name=name;this.sortable=_1f8;this.currentSort=Rico.TableColumn.UNSORTED;},isSortable:function(){return this.sortable;},isSorted:function(){return this.currentSort!=Rico.TableColumn.UNSORTED;},getSortDirection:function(){return this.currentSort;},toggleSort:function(){if(this.currentSort==Rico.TableColumn.UNSORTED||this.currentSort==Rico.TableColumn.SORT_DESC){this.currentSort=Rico.TableColumn.SORT_ASC;}else{if(this.currentSort==Rico.TableColumn.SORT_ASC){this.currentSort=Rico.TableColumn.SORT_DESC;}}},setUnsorted:function(_1f9){this.setSorted(Rico.TableColumn.UNSORTED);},setSorted:function(_1fa){this.currentSort=_1fa;}};Rico.ArrayExtensions=new Array();if(Object.prototype.extend){Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Object.prototype.extend;}else{Object.prototype.extend=function(_1fb){return Object.extend.apply(this,[this,_1fb]);};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Object.prototype.extend;}if(Array.prototype.push){Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.push;}if(!Array.prototype.remove){Array.prototype.remove=function(dx){if(isNaN(dx)||dx>this.length){return false;}for(var i=0,n=0;i<this.length;i++){if(i!=dx){this[n++]=this[i];}}this.length-=1;};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.remove;}if(!Array.prototype.removeItem){Array.prototype.removeItem=function(item){for(var i=0;i<this.length;i++){if(this[i]==item){this.remove(i);break;}}};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.removeItem;}if(!Array.prototype.indices){Array.prototype.indices=function(){var _200=new Array();for(index in this){var _201=false;for(var i=0;i<Rico.ArrayExtensions.length;i++){if(this[index]==Rico.ArrayExtensions[i]){_201=true;break;}}if(!_201){_200[_200.length]=index;}}return _200;};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.indices;}Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.unique;Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.inArray;if(window.DOMParser&&window.XMLSerializer&&window.Node&&Node.prototype&&Node.prototype.__defineGetter__){if(!Document.prototype.loadXML){Document.prototype.loadXML=function(s){var doc2=(new DOMParser()).parseFromString(s,"text/xml");while(this.hasChildNodes()){this.removeChild(this.lastChild);}for(var i=0;i<doc2.childNodes.length;i++){this.appendChild(this.importNode(doc2.childNodes[i],true));}};}Document.prototype.__defineGetter__("xml",function(){return (new XMLSerializer()).serializeToString(this);});}document.getElementsByTagAndClassName=function(_206,_207){if(_206==null){_206="*";}var _208=document.getElementsByTagName(_206)||document.all;var _209=new Array();if(_207==null){return _208;}for(var i=0;i<_208.length;i++){var _20b=_208[i];var _20c=_20b.className.split(" ");for(var j=0;j<_20c.length;j++){if(_20c[j]==_207){_209.push(_20b);break;}}}return _209;};var RicoUtil={getElementsComputedStyle:function(_20e,_20f,_210){if(arguments.length==2){_210=_20f;}var el=$(_20e);if(el.currentStyle){return el.currentStyle[_20f];}else{return document.defaultView.getComputedStyle(el,null).getPropertyValue(_210);}},createXmlDocument:function(){if(document.implementation&&document.implementation.createDocument){var doc=document.implementation.createDocument("","",null);if(doc.readyState==null){doc.readyState=1;doc.addEventListener("load",function(){doc.readyState=4;if(typeof doc.onreadystatechange=="function"){doc.onreadystatechange();}},false);}return doc;}if(window.ActiveXObject){return Try.these(function(){return new ActiveXObject("MSXML2.DomDocument");},function(){return new ActiveXObject("Microsoft.DomDocument");},function(){return new ActiveXObject("MSXML.DomDocument");},function(){return new ActiveXObject("MSXML3.DomDocument");})||false;}return null;},getContentAsString:function(_213){return _213.xml!=undefined?this._getContentAsStringIE(_213):this._getContentAsStringMozilla(_213);},_getContentAsStringIE:function(_214){var _215="";for(var i=0;i<_214.childNodes.length;i++){var n=_214.childNodes[i];if(n.nodeType==4){_215+=n.nodeValue;}else{_215+=n.xml;}}return _215;},_getContentAsStringMozilla:function(_218){var _219=new XMLSerializer();var _21a="";for(var i=0;i<_218.childNodes.length;i++){var n=_218.childNodes[i];if(n.nodeType==4){_21a+=n.nodeValue;}else{_21a+=_219.serializeToString(n);}}return _21a;},toViewportPosition:function(_21d){return this._toAbsolute(_21d,true);},toDocumentPosition:function(_21e){return this._toAbsolute(_21e,false);},_toAbsolute:function(_21f,_220){if(navigator.userAgent.toLowerCase().indexOf("msie")==-1){return this._toAbsoluteMozilla(_21f,_220);}var x=0;var y=0;var _223=_21f;while(_223){var _224=0;var _225=0;if(_223!=_21f){var _226=parseInt(this.getElementsComputedStyle(_223,"borderLeftWidth"));var _227=parseInt(this.getElementsComputedStyle(_223,"borderTopWidth"));_226=isNaN(_226)?0:_226;_227=isNaN(_227)?0:_227;}x+=_223.offsetLeft-_223.scrollLeft+_226;y+=_223.offsetTop-_223.scrollTop+_227;_223=_223.offsetParent;}if(_220){x-=this.docScrollLeft();y-=this.docScrollTop();}return {x:x,y:y};},_toAbsoluteMozilla:function(_228,_229){var x=0;var y=0;var _22c=_228;while(_22c){x+=_22c.offsetLeft;y+=_22c.offsetTop;_22c=_22c.offsetParent;}_22c=_228;while(_22c&&_22c!=document.body&&_22c!=document.documentElement){if(_22c.scrollLeft){x-=_22c.scrollLeft;}if(_22c.scrollTop){y-=_22c.scrollTop;}_22c=_22c.parentNode;}if(_229){x-=this.docScrollLeft();y-=this.docScrollTop();}return {x:x,y:y};},docScrollLeft:function(){if(window.pageXOffset){return window.pageXOffset;}else{if(document.documentElement&&document.documentElement.scrollLeft){return document.documentElement.scrollLeft;}else{if(document.body){return document.body.scrollLeft;}else{return 0;}}}},docScrollTop:function(){if(window.pageYOffset){return window.pageYOffset;}else{if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop;}else{if(document.body){return document.body.scrollTop;}else{return 0;}}}}};