 
/**
 *  (C) Luis Huancapaza
 *  CHANGED MK: DELETED prototype library from this file
**/

if(typeof Prototype=='undefined')
throw("Rico requires the Prototype JavaScript framework");var Rico={Version:'1.1.2',prototypeVersion:parseFloat(Prototype.Version.split(".")[0]+"."+Prototype.Version.split(".")[1]),init:function(){var elements=document.getElementsByTagName('script');for(var i=0;i<elements.length;i++){if(!elements[i].src)continue;var src=elements[i].src.toLowerCase();if(src.indexOf("ricocommon.js")==-1)continue;src=src.substring(0,src.lastIndexOf('/')+1);this.jsDir=src;this.cssDir=src.replace(/js\/$/,'css/');this.imgDir=src.replace(/js\/$/,'images/');break;}}}
if(Rico.prototypeVersion<1.3)
throw("Rico requires Prototype JavaScript framework version 1.3 or greater");Rico.init();Rico.ArrayExtensions=new Array();if(Object.prototype.extend){Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Object.prototype.extend;}else{Object.prototype.extend=function(object){return Object.extend.apply(this,[this,object]);}
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.pushHTMLCollection){Array.prototype.pushHTMLCollection=function(HTMLCol){for(var i=0;i<HTMLCol.length;i++)
this.push(HTMLCol.item(i))};Rico.ArrayExtensions[Rico.ArrayExtensions.length]=Array.prototype.pushHTMLCollection;}
if(!Array.prototype.indices){Array.prototype.indices=function(){var indexArray=new Array();for(index in this){var ignoreThis=false;for(var i=0;i<Rico.ArrayExtensions.length;i++){if(this[index]==Rico.ArrayExtensions[i]){ignoreThis=true;break;}}
if(!ignoreThis)
indexArray[indexArray.length]=index;}
return indexArray;}
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 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(tagName,className){if(tagName==null)
tagName='*';var children=document.getElementsByTagName(tagName)||document.all;var elements=new Array();if(className==null)
return children;for(var i=0;i<children.length;i++){var child=children[i];var classNames=child.className.split(' ');for(var j=0;j<classNames.length;j++){if(classNames[j]==className){elements.push(child);break;}}}
return elements;}
var RicoUtil={getElementsComputedStyle:function(htmlElement,cssProperty,mozillaEquivalentCSS){if(arguments.length==2)
mozillaEquivalentCSS=cssProperty;var el=$(htmlElement);if(el.currentStyle)
return el.currentStyle[cssProperty];else
return document.defaultView.getComputedStyle(el,null).getPropertyValue(mozillaEquivalentCSS);},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;},getInnerText:function(el){if(typeof el=="string")return el;if(typeof el=="undefined"){return el};var cs=el.childNodes;var l=cs.length;if(el.innerText)return el.innerText;var str="";for(var i=0;i<l;i++){switch(cs[i].nodeType){case 1:str+=(cs[i].tagName.toLowerCase()=='img')?cs[i].src:ts_getInnerText(cs[i]);break;case 3:str+=cs[i].nodeValue;break;}}
return str;},getContentAsString:function(parentNode){return parentNode.xml!=undefined?this._getContentAsStringIE(parentNode):this._getContentAsStringMozilla(parentNode);},_getContentAsStringIE:function(parentNode){var contentStr="";for(var i=0;i<parentNode.childNodes.length;i++){var n=parentNode.childNodes[i];if(n.nodeType==4){contentStr+=n.nodeValue;}
else{contentStr+=n.xml;}}
return contentStr;},_getContentAsStringMozilla:function(parentNode){var xmlSerializer=new XMLSerializer();var contentStr="";for(var i=0;i<parentNode.childNodes.length;i++){var n=parentNode.childNodes[i];if(n.nodeType==4){contentStr+=n.nodeValue;}
else{contentStr+=xmlSerializer.serializeToString(n);}}
return contentStr;},docElement:(document.compatMode&&document.compatMode.indexOf("CSS")!=-1)?document.documentElement:document.body,windowHeight:function(){return window.innerHeight?innerHeight:this.docElement.clientHeight;},windowWidth:function(){return window.innerWidth?innerWidth:this.docElement.clientWidth;},toViewportPosition:function(element){if(element.all&&!window.opera&&element.currentStyle)
return this._toAbsolute(element,true);else
return this._toAbsoluteMozilla(element,true);},toDocumentPosition:function(element){return this._toAbsolute(element,false);},_toAbsolute:function(element,accountForDocScroll){var x=0;var y=0;var audity='';var parent=element;while(parent){var borderXOffset=0;var borderYOffset=0;if(parent!=element){var borderXOffset=parseInt(this.getElementsComputedStyle(parent,"borderLeftWidth"));var borderYOffset=parseInt(this.getElementsComputedStyle(parent,"borderTopWidth"));borderXOffset=isNaN(borderXOffset)?0:borderXOffset;borderYOffset=isNaN(borderYOffset)?0:borderYOffset;}
audity+='/'+parent.offsetTop;x+=parent.offsetLeft-parent.scrollLeft+borderXOffset;y+=parent.offsetTop-parent.scrollTop+borderYOffset;parent=parent.offsetParent;}
if(accountForDocScroll){x-=this.docScrollLeft();y-=this.docScrollTop();}
return{x:x,y:y,ie:1,yaudit:audity};},_toAbsoluteMozilla:function(element,accountForDocScroll){var x=0;var y=0;var audit='';var parent=element;while(parent){x+=parent.offsetLeft;y+=parent.offsetTop;audit+='/'+parent.tagName+'='+parent.offsetLeft;parent=parent.offsetParent;}
parent=element;while(parent&&parent!=document.body&&parent!=document.documentElement){if(parent.scrollLeft){x-=parent.scrollLeft;}
if(parent.scrollTop)
y-=parent.scrollTop;parent=parent.parentNode;}
if(accountForDocScroll){x-=this.docScrollLeft();y-=this.docScrollTop();}
return{x:x,y:y,ie:0,yaudit:audit};},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;},nan2zero:function(n){return isNaN(n)||typeof(n)==undefined?0:n;},eventKey:function(e){if(typeof(e.keyCode)=='number'){return e.keyCode;}else if(typeof(e.which)=='number'){return e.which;}else if(typeof(e.charCode)=='number'){return e.charCode;}
return-1;},getPreviosSiblingByTagName:function(el,tagName){var sib=el.previousSibling;while(sib){if((sib.tagName==tagName)&&(sib.style.display!='none'))return sib;sib=sib.previousSibling;}
return null;},getParentByTagName:function(el,tagName){var par=el;while(par){if(par.tagName==tagName)return par;par=par.parentNode;}
return null;},wrapChildren:function(el,cls,id,wrapperTag){var tag=wrapperTag?wrapperTag:'div';var wrapper=document.createElement(tag);if(id)wrapper.id=id;if(cls)wrapper.className=cls;while(el.firstChild)
wrapper.appendChild(el.firstChild);el.appendChild(wrapper);return wrapper;},formatPosNumber:function(posnum,decPlaces,thouSep,decPoint){var a=posnum.toFixed(decPlaces).split(/\./);if(thouSep){var rgx=/(\d+)(\d{3})/;while(rgx.test(a[0]))
a[0]=a[0].replace(rgx,'$1'+thouSep+'$2');}
return a.join(decPoint);},DOMNode_insertAfter:function(newChild,refChild){var parentx=refChild.parentNode;if(parentx.lastChild==refChild){return parentx.appendChild(newChild);}
else{return parentx.insertBefore(newChild,refChild.nextSibling);}},isKonqueror:navigator.userAgent.toLowerCase().indexOf("konqueror")>=0,isSafari:navigator.userAgent.toLowerCase().indexOf("safari")>=0,isOpera:(typeof(window.opera)=='object')&&(window.opera!=null),isIE:(typeof(document.all)=='object')&&(!window.opera),startTime:new Date(),timeStamp:function(){var stamp=new Date();return(stamp.getTime()-this.startTime.getTime())+": ";}};Number.prototype.zf=function(slen){var s=this.toString();while(s.length<slen)s='0'+s;return s;}
Date.prototype.formatDate=function(fmt){var datefmt=RicoTranslate.dateFmt;var d=this;switch(typeof fmt){case'object':if(typeof fmt.dateFmt=='string')datefmt=fmt.dateFmt;break;case'string':datefmt=fmt;break;}
return datefmt.replace(/(yyyy|mmmm|mmm|mm|dddd|ddd|dd|hh|nn|ss|a\/p)/gi,function($1)
{switch($1.toLowerCase())
{case'yyyy':return d.getFullYear();case'mmmm':return RicoTranslate.monthNames[d.getMonth()];case'mmm':return RicoTranslate.monthNames[d.getMonth()].substr(0,3);case'mm':return(d.getMonth()+1).zf(2);case'dddd':return RicoTranslate.dayNames[d.getDay()];case'ddd':return RicoTranslate.dayNames[d.getDay()].substr(0,3);case'dd':return d.getDate().zf(2);case'hh':return((h=d.getHours()%12)?h:12).zf(2);case'nn':return d.getMinutes().zf(2);case'ss':return d.getSeconds().zf(2);case'a/p':return d.getHours()<12?'a':'p';}});}
String.prototype.formatDate=function(fmt){var s=this.replace(/-/g,'/');var d=new Date(s);return isNaN(d)?this:d.formatDate(fmt);}
String.prototype.formatNumber=function(fmt){var n=parseFloat(this);if(isNaN(n))return this;if(typeof fmt.multiplier=='number')n*=fmt.multiplier;var decPlaces=typeof fmt.decPlaces=='number'?fmt.decPlaces:0;var thouSep=typeof fmt.thouSep=='string'?fmt.thouSep:RicoTranslate.thouSep;var decPoint=typeof fmt.decPoint=='string'?fmt.decPoint:RicoTranslate.decPoint;var prefix=fmt.prefix||"";var suffix=fmt.suffix||"";var negSign=typeof fmt.negSign=='string'?fmt.negSign:"L";negSign=negSign.toUpperCase();var s,cls;if(n<0.0){s=RicoUtil.formatPosNumber(-n,decPlaces,thouSep,decPoint);if(negSign=="P")s="("+s+")";s=prefix+s;if(negSign=="L")s="-"+s;if(negSign=="T")s+="-";cls='negNumber';}else{cls=n==0.0?'zeroNumber':'posNumber';s=prefix+RicoUtil.formatPosNumber(n,decPlaces,thouSep,decPoint);}
return"<span class='"+cls+"'>"+s+suffix+"</span>";}
var RicoTranslate={phrases:new Array(),thouSep:",",decPoint:".",langCode:"en",re:/^(\W*)\b(.*)\b(\W*)$/,dateFmt:"mm/dd/yyyy",monthNames:['January','February','March','April','May','June','July','August','September','October','November','December'],dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],addPhrase:function(fromPhrase,toPhrase){this.phrases[fromPhrase]=toPhrase;},getPhrase:function(fromPhrase){var words=fromPhrase.split(/\t/);var transWord,translated='';for(var i=0;i<words.length;i++){if(this.re.exec(words[i])){transWord=this.phrases[RegExp.$2];translated+=(typeof transWord=='string')?RegExp.$1+transWord+RegExp.$3:words[i];}else{translated+=words[i];}}
return translated;}}
Rico.Shim=Class.create();if(RicoUtil.isIE){Rico.Shim.prototype={initialize:function(){this.ifr=document.createElement('iframe');this.ifr.style.position="absolute";this.ifr.style.display="none";document.body.appendChild(this.ifr);},hide:function(){this.ifr.style.display="none";},show:function(DivRef){this.ifr.style.width=DivRef.offsetWidth;this.ifr.style.height=DivRef.offsetHeight;this.ifr.style.top=DivRef.style.top;this.ifr.style.left=DivRef.style.left;this.ifr.style.zIndex=DivRef.currentStyle.zIndex-1;this.ifr.style.display="block";}}}else{Rico.Shim.prototype={initialize:function(){},hide:function(){},show:function(){}}}
Rico.Menu=Class.create();Rico.Menu.prototype={initialize:function(defaultWidth,hideOnEscape,hideOnClick){this.defaultMenuWidth=(typeof defaultWidth=='string')?defaultWidth:"15em";this.hideOnEscape=(typeof hideOnEscape=='boolean')?hideOnEscape:true;this.hideOnClick=(typeof hideOnClick=='boolean')?hideOnClick:true;this.hideFunc=null;},createDiv:function(){if(this.div)return;this.div=document.createElement('div');this.div.className='ricoMenu';this.div.style.position="absolute";this.div.style.width=this.defaultMenuWidth;document.body.appendChild(this.div);this.width=this.div.offsetWidth
this.shim=new Rico.Shim();this.hidemenu();if(this.hideOnClick){Event.observe(this.div,"click",this.ignoreClick.bindAsEventListener(this),false);Event.observe(document,"click",this.cancelmenu.bindAsEventListener(this),false);}
if(this.hideOnEscape)
Event.observe(document,"keyup",this.checkKey.bindAsEventListener(this),false);},ignoreClick:function(e){Event.stop(e);return false;},checkKey:function(e){if(RicoUtil.eventKey(e)==27)this.cancelmenu(e);return true;},showmenu:function(e,hidefunc){Event.stop(e);this.hideFunc=hidefunc;if(this.div.childNodes.length==0){this.cancelmenu();return false;}
var newLeft=RicoUtil.docScrollLeft()+e.clientX;if(e.clientX+this.width>RicoUtil.windowWidth())newLeft-=this.width;this.div.style.left=newLeft+"px";var newTop=RicoUtil.docScrollTop()+e.clientY;this.div.style.top=newTop+"px";this.div.style.display="block";var contentHt=this.div.offsetHeight;if(e.clientY+contentHt>RicoUtil.windowHeight()){newTop=Math.max(newTop-contentHt,0);this.div.style.top=newTop+"px";}
this.shim.show(this.div);return false;},clearMenu:function(){this.div.innerHTML="";this.defaultAction=null;},addMenuHeading:function(hdg,translate){var el=document.createElement('div')
el.innerHTML=(translate==null||translate==true)?RicoTranslate.getPhrase(hdg):hdg;el.className='ricoMenuHeading';this.div.appendChild(el);},addMenuBreak:function(){var brk=document.createElement('div');brk.className="ricoMenuBreak";this.div.appendChild(brk);},addMenuItem:function(menutext,action,enabled,title,translate){var a=document.createElement('a');if(arguments.length<3||enabled){switch(typeof action){case'function':a.href="#";a.onclick=action;break;case'string':a.href=action;break}
a.className='enabled';if(this.defaultAction==null)this.defaultAction=action;}else{a.disabled=true;a.className='disabled';}
a.innerHTML=(translate==null||translate==true)?RicoTranslate.getPhrase(menutext):menutext;if(title!=null)
a.title=(translate==null||translate==true)?RicoTranslate.getPhrase(title):title;this.div.appendChild(a);},isVisible:function(){return this.div&&this.div.style.display!="none";},cancelmenu:function(){if(this.hideFunc)this.hideFunc();this.hidemenu();},hidemenu:function(){if(!this.div)return;this.shim.hide();this.div.style.display="none";this.hideFunc=null;}};Rico.Color=Class.create();Rico.Color.prototype={initialize:function(red,green,blue){this.rgb={r:red,g:green,b:blue};},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(percent){var hsb=this.asHSB();this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,Math.max(hsb.b-percent,0));},brighten:function(percent){var hsb=this.asHSB();this.rgb=Rico.Color.HSBtoRGB(hsb.h,hsb.s,Math.min(hsb.b+percent,1));},blend:function(other){this.rgb.r=Math.floor((this.rgb.r+other.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+other.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+other.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(hexCode){if(hexCode.length==4){var shortHexCode=hexCode;var hexCode='#';for(var i=1;i<4;i++)hexCode+=(shortHexCode.charAt(i)+
shortHexCode.charAt(i));}
if(hexCode.indexOf('#')==0)
hexCode=hexCode.substring(1);var red=hexCode.substring(0,2);var green=hexCode.substring(2,4);var blue=hexCode.substring(4,6);return new Rico.Color(parseInt(red,16),parseInt(green,16),parseInt(blue,16));}
Rico.Color.createColorFromBackground=function(elem){var actualColor=RicoUtil.getElementsComputedStyle($(elem),"backgroundColor","background-color");if(actualColor=="transparent"&&elem.parentNode)
return Rico.Color.createColorFromBackground(elem.parentNode);if(actualColor==null)
return new Rico.Color(255,255,255);if(actualColor.indexOf("rgb(")==0){var colors=actualColor.substring(4,actualColor.length-1);var colorArray=colors.split(",");return new Rico.Color(parseInt(colorArray[0]),parseInt(colorArray[1]),parseInt(colorArray[2]));}
else if(actualColor.indexOf("#")==0){return Rico.Color.createFromHex(actualColor);}
else
return new Rico.Color(255,255,255);}
Rico.Color.HSBtoRGB=function(hue,saturation,brightness){var red=0;var green=0;var blue=0;if(saturation==0){red=parseInt(brightness*255.0+0.5);green=red;blue=red;}
else{var h=(hue-Math.floor(hue))*6.0;var f=h-Math.floor(h);var p=brightness*(1.0-saturation);var q=brightness*(1.0-saturation*f);var t=brightness*(1.0-(saturation*(1.0-f)));switch(parseInt(h)){case 0:red=(brightness*255.0+0.5);green=(t*255.0+0.5);blue=(p*255.0+0.5);break;case 1:red=(q*255.0+0.5);green=(brightness*255.0+0.5);blue=(p*255.0+0.5);break;case 2:red=(p*255.0+0.5);green=(brightness*255.0+0.5);blue=(t*255.0+0.5);break;case 3:red=(p*255.0+0.5);green=(q*255.0+0.5);blue=(brightness*255.0+0.5);break;case 4:red=(t*255.0+0.5);green=(p*255.0+0.5);blue=(brightness*255.0+0.5);break;case 5:red=(brightness*255.0+0.5);green=(p*255.0+0.5);blue=(q*255.0+0.5);break;}}
return{r:parseInt(red),g:parseInt(green),b:parseInt(blue)};}
Rico.Color.RGBtoHSB=function(r,g,b){var hue;var saturation;var brightness;var cmax=(r>g)?r:g;if(b>cmax)
cmax=b;var cmin=(r<g)?r:g;if(b<cmin)
cmin=b;brightness=cmax/255.0;if(cmax!=0)
saturation=(cmax-cmin)/cmax;else
saturation=0;if(saturation==0)
hue=0;else{var redc=(cmax-r)/(cmax-cmin);var greenc=(cmax-g)/(cmax-cmin);var bluec=(cmax-b)/(cmax-cmin);if(r==cmax)
hue=bluec-greenc;else if(g==cmax)
hue=2.0+redc-bluec;else
hue=4.0+greenc-redc;hue=hue/6.0;if(hue<0)
hue=hue+1.0;}
return{h:hue,s:saturation,b:brightness};}
Rico.Corner={round:function(e,options){var e=$(e);this._setOptions(options);var color=this.options.color;if(this.options.color=="fromElement")
color=this._background(e);var bgColor=this.options.bgColor;if(this.options.bgColor=="fromParent")
bgColor=this._background(e.offsetParent);this._roundCornersImpl(e,color,bgColor);},_roundCornersImpl:function(e,color,bgColor){if(this.options.border)
this._renderBorder(e,bgColor);if(this._isTopRounded())
this._roundTopCorners(e,color,bgColor);if(this._isBottomRounded())
this._roundBottomCorners(e,color,bgColor);},_renderBorder:function(el,bgColor){var borderValue="1px solid "+this._borderColor(bgColor);var borderL="border-left: "+borderValue;var borderR="border-right: "+borderValue;var style="style='"+borderL+";"+borderR+"'";el.innerHTML="<div "+style+">"+el.innerHTML+"</div>"},_roundTopCorners:function(el,color,bgColor){var corner=this._createCorner(bgColor);for(var i=0;i<this.options.numSlices;i++)
corner.appendChild(this._createCornerSlice(color,bgColor,i,"top"));el.style.paddingTop=0;el.insertBefore(corner,el.firstChild);},_roundBottomCorners:function(el,color,bgColor){var corner=this._createCorner(bgColor);for(var i=(this.options.numSlices-1);i>=0;i--)
corner.appendChild(this._createCornerSlice(color,bgColor,i,"bottom"));el.style.paddingBottom=0;el.appendChild(corner);},_createCorner:function(bgColor){var corner=document.createElement("div");corner.style.backgroundColor=(this._isTransparent()?"transparent":bgColor);return corner;},_createCornerSlice:function(color,bgColor,n,position){var slice=document.createElement("span");var inStyle=slice.style;inStyle.backgroundColor=color;inStyle.display="block";inStyle.height="1px";inStyle.overflow="hidden";inStyle.fontSize="1px";var borderColor=this._borderColor(color,bgColor);if(this.options.border&&n==0){inStyle.borderTopStyle="solid";inStyle.borderTopWidth="1px";inStyle.borderLeftWidth="0px";inStyle.borderRightWidth="0px";inStyle.borderBottomWidth="0px";inStyle.height="0px";inStyle.borderColor=borderColor;}
else if(borderColor){inStyle.borderColor=borderColor;inStyle.borderStyle="solid";inStyle.borderWidth="0px 1px";}
if(!this.options.compact&&(n==(this.options.numSlices-1)))
inStyle.height="2px";this._setMargin(slice,n,position);this._setBorder(slice,n,position);return slice;},_setOptions:function(options){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false}
Object.extend(this.options,options||{});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(color,bgColor){if(color=="transparent")
return bgColor;else if(this.options.border)
return this.options.border;else if(this.options.blend)
return this._blend(bgColor,color);else
return"";},_setMargin:function(el,n,corners){var marginSize=this._marginSize(n);var whichSide=corners=="top"?this._whichSideTop():this._whichSideBottom();if(whichSide=="left"){el.style.marginLeft=marginSize+"px";el.style.marginRight="0px";}
else if(whichSide=="right"){el.style.marginRight=marginSize+"px";el.style.marginLeft="0px";}
else{el.style.marginLeft=marginSize+"px";el.style.marginRight=marginSize+"px";}},_setBorder:function(el,n,corners){var borderSize=this._borderSize(n);var whichSide=corners=="top"?this._whichSideTop():this._whichSideBottom();if(whichSide=="left"){el.style.borderLeftWidth=borderSize+"px";el.style.borderRightWidth="0px";}
else if(whichSide=="right"){el.style.borderRightWidth=borderSize+"px";el.style.borderLeftWidth="0px";}
else{el.style.borderLeftWidth=borderSize+"px";el.style.borderRightWidth=borderSize+"px";}
if(this.options.border!=false)
el.style.borderLeftWidth=borderSize+"px";el.style.borderRightWidth=borderSize+"px";},_marginSize:function(n){if(this._isTransparent())
return 0;var marginSizes=[5,3,2,1];var blendedMarginSizes=[3,2,1,0];var compactMarginSizes=[2,1];var smBlendedMarginSizes=[1,0];if(this.options.compact&&this.options.blend)
return smBlendedMarginSizes[n];else if(this.options.compact)
return compactMarginSizes[n];else if(this.options.blend)
return blendedMarginSizes[n];else
return marginSizes[n];},_borderSize:function(n){var transparentBorderSizes=[5,3,2,1];var blendedBorderSizes=[2,1,1,1];var compactBorderSizes=[1,0];var actualBorderSizes=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent()))
return 1;else if(this.options.compact)
return compactBorderSizes[n];else if(this.options.blend)
return blendedBorderSizes[n];else if(this.options.border)
return actualBorderSizes[n];else if(this._isTransparent())
return transparentBorderSizes[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(aDropZone){this.dropZones[this.dropZones.length]=aDropZone;},deregisterDropZone:function(aDropZone){var newDropZones=new Array();var j=0;for(var i=0;i<this.dropZones.length;i++){if(this.dropZones[i]!=aDropZone)
newDropZones[j++]=this.dropZones[i];}
this.dropZones=newDropZones;},clearDropZones:function(){this.dropZones=new Array();},registerDraggable:function(aDraggable){this.draggables[this.draggables.length]=aDraggable;this._addMouseDownHandler(aDraggable);},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,mouseDownElement){this.origPos=RicoUtil.toDocumentPosition(mouseDownElement);this.startx=e.screenX-this.origPos.x
this.starty=e.screenY-this.origPos.y
this.interestedInMotionEvents=this.hasSelection();this._terminateEvent(e);},updateSelection:function(draggable,extendSelection){if(!extendSelection)
this.clearSelection();if(draggable.isSelected()){this.currentDragObjects.removeItem(draggable);draggable.deselect();if(draggable==this.lastSelectedDraggable)
this.lastSelectedDraggable=null;}
else{this.currentDragObjects[this.currentDragObjects.length]=draggable;draggable.select();this.lastSelectedDraggable=draggable;}},_mouseDownHandler:function(e){if(arguments.length==0)
e=event;var nsEvent=e.which!=undefined;if((nsEvent&&e.which!=1)||(!nsEvent&&e.button!=1))
return;var eventTarget=e.target?e.target:e.srcElement;var draggableObject=eventTarget.draggable;var candidate=eventTarget;while(draggableObject==null&&candidate.parentNode){candidate=candidate.parentNode;draggableObject=candidate.draggable;}
if(draggableObject==null)
return;this.updateSelection(draggableObject,e.ctrlKey);if(this.hasSelection())
for(var i=0;i<this.dropZones.length;i++)
this.dropZones[i].clearPositionCache();this.setStartDragFromElement(e,draggableObject.getMouseDownHTMLElement());},_mouseMoveHandler:function(e){var nsEvent=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 dragElement;if(this.currentDragObjects.length>1)
dragElement=this.currentDragObjects[0].getMultiObjectDragGUI(this.currentDragObjects);else
dragElement=this.currentDragObjects[0].getSingleObjectDragGUI();if(RicoUtil.getElementsComputedStyle(dragElement,"position")!="absolute")
dragElement.style.position="absolute";if(dragElement.parentNode==null||dragElement.parentNode.nodeType==11)
document.body.appendChild(dragElement);this.dragElement=dragElement;this._updateDraggableLocation(e);this.currentDragObjectVisible=true;},_leftOffset:function(e){return e.offsetX?document.body.scrollLeft:0},_topOffset:function(e){return e.offsetY?document.body.scrollTop:0},_updateDraggableLocation:function(e){var dragObjectStyle=this.dragElement.style;dragObjectStyle.left=(e.screenX+this._leftOffset(e)-this.startx)+"px"
dragObjectStyle.top=(e.screenY+this._topOffset(e)-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 nsEvent=e.which!=undefined;if((nsEvent&&e.which!=1)||(!nsEvent&&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 Rico.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 foundDropZone=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);foundDropZone=true;break;}}}
return foundDropZone;},_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,dropZone){var absoluteRect=dropZone.getAbsoluteRect();return e.clientX>absoluteRect.left+this._leftOffset(e)&&e.clientX<absoluteRect.right+this._leftOffset(e)&&e.clientY>absoluteRect.top+this._topOffset(e)&&e.clientY<absoluteRect.bottom+this._topOffset(e);},_addMouseDownHandler:function(aDraggable)
{htmlElement=aDraggable.getMouseDownHTMLElement();if(htmlElement!=null){htmlElement.draggable=aDraggable;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 dropZone=this.dropZones[i];if(dropZone.canAccept(this.currentDragObjects))
dropZone.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){Event.stop(e);},initializeEventHandlers:function(){Event.observe(document,"mouseup",this._mouseUpHandler.bindAsEventListener(this));Event.observe(document,"mousemove",this._mouseMoveHandler.bindAsEventListener(this));}}
var dndMgr=new Rico.DragAndDrop();dndMgr.initializeEventHandlers();Rico.Draggable=Class.create();Rico.Draggable.prototype={initialize:function(type,htmlElement){this.type=type;this.htmlElement=$(htmlElement);this.selected=false;},getMouseDownHTMLElement:function(){return this.htmlElement;},select:function(){this.selected=true;if(this.showingSelected)
return;var htmlElement=this.getMouseDownHTMLElement();var color=Rico.Color.createColorFromBackground(htmlElement);color.isBright()?color.darken(0.033):color.brighten(0.033);this.saveBackground=RicoUtil.getElementsComputedStyle(htmlElement,"backgroundColor","background-color");htmlElement.style.backgroundColor=color.asHex();this.showingSelected=true;},deselect:function(){this.selected=false;if(!this.showingSelected)
return;var htmlElement=this.getMouseDownHTMLElement();htmlElement.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(draggables){return this.htmlElement;},getDroppedGUI:function(){return this.htmlElement;},toString:function(){return this.type+":"+this.htmlElement+":";}}
Rico.Dropzone=Class.create();Rico.Dropzone.prototype={initialize:function(htmlElement){this.htmlElement=$(htmlElement);this.absoluteRect=null;},getHTMLElement:function(){return this.htmlElement;},clearPositionCache:function(){this.absoluteRect=null;},getAbsoluteRect:function(){if(this.absoluteRect==null){var htmlElement=this.getHTMLElement();var pos=RicoUtil.toViewportPosition(htmlElement);this.absoluteRect={top:pos.y,left:pos.x,bottom:pos.y+htmlElement.offsetHeight,right:pos.x+htmlElement.offsetWidth};}
return this.absoluteRect;},activate:function(){var htmlElement=this.getHTMLElement();if(htmlElement==null||this.showingActive)
return;this.showingActive=true;this.saveBackgroundColor=htmlElement.style.backgroundColor;var fallbackColor="#ffea84";var currentColor=Rico.Color.createColorFromBackground(htmlElement);if(currentColor==null)
htmlElement.style.backgroundColor=fallbackColor;else{currentColor.isBright()?currentColor.darken(0.2):currentColor.brighten(0.2);htmlElement.style.backgroundColor=currentColor.asHex();}},deactivate:function(){var htmlElement=this.getHTMLElement();if(htmlElement==null||!this.showingActive)
return;htmlElement.style.backgroundColor=this.saveBackgroundColor;this.showingActive=false;this.saveBackgroundColor=null;},showHover:function(){var htmlElement=this.getHTMLElement();if(htmlElement==null||this.showingHover)
return;this.saveBorderWidth=htmlElement.style.borderWidth;this.saveBorderStyle=htmlElement.style.borderStyle;this.saveBorderColor=htmlElement.style.borderColor;this.showingHover=true;htmlElement.style.borderWidth="1px";htmlElement.style.borderStyle="solid";htmlElement.style.borderColor="#ffff00";},hideHover:function(){var htmlElement=this.getHTMLElement();if(htmlElement==null||!this.showingHover)
return;htmlElement.style.borderWidth=this.saveBorderWidth;htmlElement.style.borderStyle=this.saveBorderStyle;htmlElement.style.borderColor=this.saveBorderColor;this.showingHover=false;},canAccept:function(draggableObjects){return true;},accept:function(draggableObjects){var htmlElement=this.getHTMLElement();if(htmlElement==null)
return;n=draggableObjects.length;for(var i=0;i<n;i++)
{var theGUI=draggableObjects[i].getDroppedGUI();if(RicoUtil.getElementsComputedStyle(theGUI,"position")=="absolute")
{theGUI.style.position="static";theGUI.style.top="";theGUI.style.top="";}
htmlElement.appendChild(theGUI);}}}
Rico.Effect={};Rico.Effect.SizeAndPosition=Class.create();Rico.Effect.SizeAndPosition.prototype={initialize:function(element,x,y,w,h,duration,steps,options){this.element=$(element);this.x=x;this.y=y;this.w=w;this.h=h;this.duration=duration;this.steps=steps;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 stepDuration=Math.round(this.duration/this.steps);var currentX=this.element.offsetLeft;var currentY=this.element.offsetTop;var currentW=this.element.offsetWidth;var currentH=this.element.offsetHeight;this.x=(this.x)?this.x:currentX;this.y=(this.y)?this.y:currentY;this.w=(this.w)?this.w:currentW;this.h=(this.h)?this.h:currentH;var difX=this.steps>0?(this.x-currentX)/this.steps:0;var difY=this.steps>0?(this.y-currentY)/this.steps:0;var difW=this.steps>0?(this.w-currentW)/this.steps:0;var difH=this.steps>0?(this.h-currentH)/this.steps:0;this.moveBy(difX,difY);this.resizeBy(difW,difH);this.duration-=stepDuration;this.steps--;this.timer=setTimeout(this.sizeAndPosition.bind(this),stepDuration);},isFinished:function(){return this.steps<=0;},moveBy:function(difX,difY){var currentLeft=this.element.offsetLeft;var currentTop=this.element.offsetTop;var intDifX=parseInt(difX);var intDifY=parseInt(difY);var style=this.element.style;if(intDifX!=0)
style.left=(currentLeft+intDifX)+"px";if(intDifY!=0)
style.top=(currentTop+intDifY)+"px";},resizeBy:function(difW,difH){var currentWidth=this.element.offsetWidth;var currentHeight=this.element.offsetHeight;var intDifW=parseInt(difW);var intDifH=parseInt(difH);var style=this.element.style;if(intDifW!=0)
style.width=(currentWidth+intDifW)+"px";if(intDifH!=0)
style.height=(currentHeight+intDifH)+"px";}}
Rico.Effect.Size=Class.create();Rico.Effect.Size.prototype={initialize:function(element,w,h,duration,steps,options){new Rico.Effect.SizeAndPosition(element,null,null,w,h,duration,steps,options);}}
Rico.Effect.Position=Class.create();Rico.Effect.Position.prototype={initialize:function(element,x,y,duration,steps,options){new Rico.Effect.SizeAndPosition(element,x,y,null,null,duration,steps,options);}}
Rico.Effect.Round=Class.create();Rico.Effect.Round.prototype={initialize:function(tagName,className,options){var elements=document.getElementsByTagAndClassName(tagName,className);for(var i=0;i<elements.length;i++)
Rico.Corner.round(elements[i],options);}};Rico.Effect.FadeTo=Class.create();Rico.Effect.FadeTo.prototype={initialize:function(element,opacity,duration,steps,options){this.element=$(element);this.opacity=opacity;this.duration=duration;this.steps=steps;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 stepDuration=Math.round(this.duration/this.steps);var currentOpacity=this.getElementOpacity();var delta=this.steps>0?(this.opacity-currentOpacity)/this.steps:0;this.changeOpacityBy(delta);this.duration-=stepDuration;this.steps--;this.timer=setTimeout(this.fadeTo.bind(this),stepDuration);},changeOpacityBy:function(v){var currentOpacity=this.getElementOpacity();var newOpacity=Math.max(0,Math.min(currentOpacity+v,1));this.element.ricoOpacity=newOpacity;this.element.style.filter="alpha(opacity:"+Math.round(newOpacity*100)+")";this.element.style.opacity=newOpacity;;},isFinished:function(){return this.steps<=0;},getElementOpacity:function(){if(this.element.ricoOpacity==undefined){var opacity=RicoUtil.getElementsComputedStyle(this.element,'opacity');this.element.ricoOpacity=opacity!=undefined?opacity:1.0;}
return parseFloat(this.element.ricoOpacity);}}
Rico.Effect.AccordionSize=Class.create();Rico.Effect.AccordionSize.prototype={initialize:function(e1,e2,start,end,duration,steps,options){this.e1=$(e1);this.e2=$(e2);this.start=start;this.end=end;this.duration=duration;this.steps=steps;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 stepDuration=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-=stepDuration;this.steps--;this.timer=setTimeout(this.accordionSize.bind(this),stepDuration);},isFinished:function(){return this.steps<=0;},resizeBy:function(diff){var h1Height=this.e1.offsetHeight;var h2Height=this.e2.offsetHeight;var intDiff=parseInt(diff);if(diff!=0){this.e1.style.height=(h1Height-intDiff)+"px";this.e2.style.height=(h2Height+intDiff)+"px";}}};Rico.Accordion=Class.create();Rico.Accordion.prototype={initialize:function(container,options){this.container=$(container);if(!this.container)return;this.lastExpandedTab=null;this.accordionTabs=new Array();this.setOptions(options);this._attachBehaviors();if(this.options.panelWidth)this.container.style.width=this.options.panelWidth+"px";if(this.options.tabLocation=='inline'&&!this.options.fixborders)
this.container.style.borderBottom='1px solid '+this.options.borderColor;if(this.options.loadedTab>=this.accordionTabs.length)
this.options.loadedTab=0;var flag=(this.options.panelHeight=="auto");for(var i=0;i<this.accordionTabs.length;i++){this.accordionTabs[i].content.style.display="inline";this.accordionTabs[i].content.style.margin="0px";if(i!=this.options.loadedTab){this.accordionTabs[i].collapse();this.accordionTabs[i].content.style.display='none';this.accordionTabs[i].content.style.height='1px';if(this.options.panelHeight=='auto'){this.accordionTabs[i].content.style.overflowY='hidden';}else{this.accordionTabs[i].content.style.overflowY='auto';}}else{this.accordionTabs[i].showExpanded(flag);this.accordionTabs[i].content.style.display='block';if(this.options.panelHeight=='auto'){this.accordionTabs[i].content.style.height=this.accordionTabs[i].content.scrollHeight+"px";}else{this.accordionTabs[i].content.style.overflowY='auto';this.accordionTabs[i].content.style.height=this.options.panelHeight+"px";}
this.lastExpandedTab=this.accordionTabs[i];}
this.accordionTabs[i].content.style.overflowX='hidden';}},setOptions:function(options){this.options={expandedBg:'#63699c',hoverBg:'#63699c',collapsedBg:'#6b79a5',expandedTextColor:'#ffffff',expandedFontWeight:'bold',hoverTextColor:'#ffffff',collapsedTextColor:'#ced7ef',collapsedFontWeight:'normal',borderColor:'#6b79a5',panelHeight:200,onShowTab:null,loadedTab:0,tabLocation:'inline',tabSpacing:'1',panelWidth:0,mode:"normal",roundCorners:false,fixborders:false,expandedBgImg:false,collapsedBgImg:false,tabLocations:'inline',hoverImg:false,duration:false,transitionColor:false,enabled:true}
Object.extend(this.options,options||{});},showTabByIndex:function(anIndex,animate){var doAnimate=arguments.length==1?true:animate;if(anIndex<this.accordionTabs.length&&anIndex>=0){var accordionTab=this.accordionTabs[anIndex];this.showTab(accordionTab,doAnimate);}else if(anIndex<0){this.showTabHide(this.accordionTabs.length-1,"desc");}},showTabHide:function(index,mode){if(!mode)mode="desc";var accordion=this;var accordionTab;if((mode=="desc"&&index>=0)||(mode=="asc"&&index<accordion.accordionTabs.length)){var newIndex
if(mode=="desc")newIndex=index-1;else newIndex=index+1;accordionTab=this.accordionTabs[index];var colapsed=(parseInt(accordionTab.content.offsetHeight)<=2)?true:false;if(!colapsed){accordionTab.content.style.display='';new Rico.Effect.AccordionSize(accordionTab.content,this.options.panelHeight,100,10,{mode:"free",complete:function(){accordion.showTabHide(newIndex)}});}else{accordion.showTabHide(newIndex);}}else{for(var i=0;i<=(this.accordionTabs.length-1);i++){accordionTab=this.accordionTabs[i];accordion.showTabDone(accordionTab,false,true,{showCollapsed:function(){}});}
this.lastExpandedTab=null;}},showTab:function(accordionTab,animate){var doAnimate=(this.options.tabLocation=='inline')&&(arguments.length==1?true:animate);var colapsed=(parseInt(accordionTab.content.offsetHeight)<=2)?true:false;var accordion=this;var lastExpandedTab=this.lastExpandedTab;var size;var size2;var state=this.options.panelHeight;var tColor=this.options.transitionColor;if(!this.lastExpandedTab){this.lastExpandedTab=accordionTab;}
accordionTab.content.style.display='';if(!(this.options.mode=="free"&&doAnimate)&&!(state=="auto")&&doAnimate&&(accordionTab.content.offsetHeight<=5)&&(this.lastExpandedTab.content.offsetHeight>5)){this.lastExpandedTab.content.style.height=(this.lastExpandedTab.content.offsetHeight-1)+"px";}
if(this.options.mode=="free"&&doAnimate&&this.lastExpandedTab!=accordionTab)
this.lastExpandedTab.content.style.overflowY="auto";else
this.lastExpandedTab.content.style.overflowY="hidden";var factor=1.0;if(RicoUtil.isIE){factor=1.3;}
if(state=="auto"){size=accordionTab.content.scrollHeight+incr;size2=parseInt(this.lastExpandedTab.content.scrollHeight)+incr;var incr=5;accordionTab.content.style.overflowY='hidden';size=accordionTab.content.scrollHeight+incr;size2=this.lastExpandedTab.content.scrollHeight+incr;if(this.options.duration){duration2=duration=this.options.duration*factor;}else{duration=parseInt(size*factor);duration2=parseInt(size2*factor);}}else{accordionTab.content.style.overflowY='hidden';size2=size=state;if(this.options.duration){duration2=duration=this.options.duration*factor;}else{duration=duration2=parseInt(size*factor);}}
if(this.options.mode=="free"&&doAnimate){new Rico.Effect.AccordionSize(accordionTab.content,size,duration,(duration/10),{mode:this.options.mode,color:tColor,complete:function(){accordion.showTabDone(accordionTab,colapsed,true,{showCollapsed:function(){}})}});}else{if(this.lastExpandedTab==accordionTab){if((this.options.loadedTab==-2&&doAnimate)||colapsed||(this.options.mode=="free"&&!doAnimate)){accordionTab.content.style.overflowY="hidden";new Rico.Effect.AccordionSize(accordionTab.content,size,duration,(duration/10),{mode:"free",color:tColor,complete:function(){accordion.showTabDone(accordionTab,colapsed,true,{showCollapsed:function(){}})}});if(!colapsed)this.lastExpandedTab=false;}else{accordionTab.content.style.overflowY="auto";}}else{if(state=="auto"){accordionTab.content.style.display='none';new Rico.Effect.AccordionSize(lastExpandedTab.content,size2,duration2,(duration2/10),{mode:"free",color:tColor,complete:function(){accordionTab.showExpanded(true);lastExpandedTab.showCollapsed(true,true);accordionTab.content.style.display='';lastExpandedTab.content.style.display='none';new Rico.Effect.AccordionSize(accordionTab.content,size,duration,(duration/10),{mode:"free",color:tColor,complete:function(){lastExpandedTab.content.style.display='';accordion.showTabDone(accordionTab,colapsed,true,lastExpandedTab)}});}});this.lastExpandedTab=accordionTab;}else if(doAnimate){new Rico.Effect.AccordionSize(this.lastExpandedTab.content,size+1,duration,(duration/10),{couple:accordionTab.content,mode:this.options.mode,color:tColor,complete:function(){accordion.showTabDone(accordionTab,colapsed,true,lastExpandedTab)}});this.lastExpandedTab=accordionTab;}else{if(this.options.mode=="free"||colapsed)this.showTabDone(accordionTab,colapsed,false,lastExpandedTab);if(colapsed)this.lastExpandedTab=accordionTab;}}}},showTabDone:function(expandedTab,colapsed,doAnimate,contractedTab){var flag=(this.options.panelHeight=="auto");if(colapsed){expandedTab.showExpanded(flag);contractedTab.showCollapsed();if(!doAnimate){if(expandedTab!=contractedTab){contractedTab.content.style.height="1px";contractedTab.content.style.display='none';}}
if(!flag)
expandedTab.content.style.height=this.options.panelHeight+"px";}else{if(this.options.mode=="free"){expandedTab.showCollapsed();if(!doAnimate){expandedTab.content.style.height="1px";contractedTab.content.style.height="1px";expandedTab.content.style.display='none';contractedTab.content.style.display='none';}}else{if(doAnimate){if(expandedTab!=contractedTab){expandedTab.showCollapsed();expandedTab.content.style.height="1px";expandedTab.content.style.display='none';}}else{contractedTab.content.style.height="1px";contractedTab.content.style.display='none';contractedTab.showCollapsed();expandedTab.showExpanded(flag);}}}
if(this.options.onShowTab)this.options.onShowTab(this.lastExpandedTab);},_attachBehaviors:function(){var panels=this._getDirectChildrenByTag(this.container,'DIV');var viewport=null;var tabs=null;if(this.options.tabLocation!='inline'){viewport=document.createElement('div');viewport.style.border="1px solid "+this.options.borderColor;viewport.style.clear="both";this.container.insertBefore(viewport,this.container.firstChild);tabs=document.createElement('div');tabs.style.overflowY="hidden";tabs.style.backgroundColor="transparent";if(this.options.tabLocation=='top'){this.container.insertBefore(tabs,this.container.firstChild);}else if(this.options.tabLocation=='bottom'){this.container.appendChild(tabs);}
this.container.style.overflowY='hidden';}
for(var i=0;i<panels.length;i++){var tabChildren=this._getDirectChildrenByTag(panels[i],'DIV');if(tabChildren.length!=2){alert('Warning: panel '+i+' has '+tabChildren.length+' children (expected 2');continue;}
var tabTitleBar=tabChildren[0];var tabContentBox=tabChildren[1];if(this.options.tabLocation!='inline'){var cad;var flag;if(tabTitleBar.textContent)cad=tabTitleBar.textContent;else cad=tabTitleBar.innerText;cad=cad.replace(/^\s*|\s*$/g,"");cad=cad.substring(0,10);tabTitleBar.overflow="hidden";tabContentBox.style.clear='left';tabContentBox.style.overflowX='hidden';viewport.appendChild(tabContentBox);tabTitleBar.style.padding='0px';if(this.options.roundCorners){if(this.options.tabLocation=='top')
tabTitleBar.style.marginTop='-5px';else if(this.options.tabLocation=='bottom')
tabTitleBar.style.marginBottom='-5px';}
var tabWrapper=document.createElement('div');tabWrapper.appendChild(tabTitleBar);if(RicoUtil.isIE)
tabWrapper.style.styleFloat='left';else
tabWrapper.style.cssFloat='left';tabWrapper.style.textAlign='center';if(i>0)tabWrapper.style.marginLeft=this.options.tabSpacing+'px';if(this.options.panelWidth){if((Math.floor(this.options.panelWidth)/(parseInt(tabChildren.length)+1)-((i>0)?this.options.tabSpacing:0))<=300)
tabWrapper.style.width=(Math.floor(this.options.panelWidth)/(tabChildren.length+2)-((i>0)?this.options.tabSpacing:0))+'px';else
tabWrapper.style.width=300/tabChildren.length;}else{if((Math.floor(tabContentBox.offsetWidth)/tabChildren.length)<=300){tabWrapper.style.width=((Math.floor(tabContentBox.offsetWidth)/(tabChildren.length))-((i>0)?this.options.tabSpacing:0))+'px';}else{tabWrapper.style.width=300/tabChildren.length;}}
tabWrapper.style.styleFloat="left";tabs.appendChild(tabWrapper);if(this.options.roundCorners){Rico.Corner.round(tabWrapper,{corners:this.options.tabLocation,color:'transparent'});}
this.accordionTabs.push(new Rico.Accordion.Tab(this,tabWrapper,tabContentBox));}
else
this.accordionTabs.push(new Rico.Accordion.Tab(this,tabTitleBar,tabContentBox));}},_getDirectChildrenByTag:function(e,tagName){var kids=new Array();var allKids=e.childNodes;for(var i=0;i<allKids.length;i++)
if(allKids[i]&&allKids[i].tagName&&allKids[i].tagName==tagName)
kids.push(allKids[i]);return kids;}};Rico.Accordion.Tab=Class.create();Rico.Accordion.Tab.prototype={initialize:function(accordion,titleBar,content){this.accordion=accordion;this.titleBar=titleBar;this.content=content;this._attachBehaviors();},collapse:function(){this.showCollapsed();this.content.style.height="1px";},showCollapsed:function(inprocess){this.expanded=false;if(this.accordion.options.collapsedBgImg)
this.titleBar.style.backgroundImage="url("+this.accordion.options.collapsedBgImg+")";else
this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg;this.titleBar.style.color=this.accordion.options.collapsedTextColor;this.titleBar.style.fontWeight=this.accordion.options.collapsedFontWeight;if(!inprocess)
this.content.style.display='none';},showExpanded:function(flag,inprocess){this.expanded=true;this.titleBar.style.fontWeight=this.accordion.options.expandedFontWeight;if(this.accordion.options.expandedBgImg)
this.titleBar.style.backgroundImage="url("+this.accordion.options.expandedBgImg+")";else
this.titleBar.style.backgroundColor=this.accordion.options.expandedBg;this.titleBar.style.color=this.accordion.options.expandedTextColor;if(!inprocess){this.content.style.display='block';if(flag){this.content.style.overflowY="hidden";}else{this.content.style.overflowY="auto";}
this.content.style.overflowX="hidden";}},titleBarClicked:function(e){if(this.accordion.options.enabled==true)
this.accordion.showTab(this);},hover:function(e){if(this.accordion.options.hoverImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.hoverImg+")";}else{this.titleBar.style.backgroundColor=this.accordion.options.hoverBg;}
this.titleBar.style.color=this.accordion.options.hoverTextColor;},unhover:function(e){if(this.expanded){if(this.accordion.options.expandedBgImg)
this.titleBar.style.backgroundImage="url("+this.accordion.options.expandedBgImg+")";else
this.titleBar.style.backgroundColor=this.accordion.options.expandedBg;this.titleBar.style.color=this.accordion.options.expandedTextColor;this.titleBar.style.fontWeight=this.accordion.options.expandedFontWeight;}
else{if(this.accordion.options.collapsedBgImg)
this.titleBar.style.backgroundImage="url("+this.accordion.options.collapsedBgImg+")";else
this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg;this.titleBar.style.color=this.accordion.options.collapsedTextColor;}},_attachBehaviors:function(){if(this.accordion.options.tabLocations=='inline'){if(this.accordion.options.borderColor){this.content.style.border="1px solid "+this.accordion.options.borderColor;this.content.style.borderTopWidth="0px";this.content.style.borderBottomWidth="0px";this.content.style.margin="0px";if(this.accordion.options.fixborders){var myParent=this.content.parentNode;var bottom=document.createElement('div');bottom.style.borderTop="1px solid "+this.accordion.options.borderColor;myParent.appendChild(bottom);var top=document.createElement('div');top.style.borderBottom="1px solid "+this.accordion.options.borderColor;myParent.insertBefore(top,this.content);}}else if(this.accordion.options.fixborders!=true){this.content.style.border="0px";this.content.style.margin="0px";var myParent=this.content.parentNode;var bottom=document.createElement('div');bottom.style.height="5px";bottom.style.overflow="hidden";bottom.style.backgroundImage="url("+this.accordion.options.fixborders+")";bottom.style.backgroundRepeat="no-repeat";myParent.appendChild(bottom);}}
Event.observe(this.titleBar,"click",this.titleBarClicked.bindAsEventListener(this));Event.observe(this.titleBar,"mouseover",this.hover.bindAsEventListener(this));Event.observe(this.titleBar,"mouseout",this.unhover.bindAsEventListener(this));}};Rico.Effect.AccordionSize=Class.create();Rico.Effect.AccordionSize.prototype={initialize:function(e2,size,duration,steps,options){this.e1=(options.couple&&!options.free)?$(options.couple):{offsetHeight:0,style:{height:0,display:0}};this.e2=$(e2);this.size=(this.e1.offsetHeight>this.e2.offsetHeight)?(this.e1.offsetHeight):((this.e2.offsetHeight>1)?(this.e2.offsetHeight):(size));this.options=arguments[4]||{};if(this.options.color){this.color1=this.e1.style.color;this.color2=this.e2.style.color;this.e1.style.color=this.options.color;this.e2.style.color=this.options.color;}
var margin=10;this.mode=(options.couple&&(options.mode!="free"))?((parseInt(this.e1.offsetHeight)-parseInt(this.e2.offsetHeight)>=margin)?0:3):(this.e2.offsetHeight<=margin?2:1);this.diff=(steps>=0)?parseInt((this.size-1)/steps):0;if(this.diff){realSize=this.diff*steps;aditional=this.size-realSize;aditionalSteps=parseInt(aditional/this.diff);steps+=aditionalSteps;}
this.counter=steps;this.stepDuration=(steps>=0)?(Math.round(duration/steps)):0;this.accordionSize();},accordionSize:function(){if(this.isFinished()){if(this.e1.style.height<=5){this.e1.style.height="1px";}
if(this.e2.style.height<=5){this.e2.style.height="1px";}
if(this.options.color){this.e1.style.color=this.color1;this.e2.style.color=this.color2;}
if(this.options.complete)
this.options.complete(this);return;}
if(this.timer)clearTimeout(this.timer);var diff;if((this.counter<=1)&&(this.size-parseInt(this.e2.style.height)>=0)){if(this.mode==0||this.mode==2)
diff=this.size-parseInt(this.e2.offsetHeight);else
diff=-parseInt(this.e2.offsetHeight)+1;}else{if(this.mode==0||this.mode==2)
diff=this.diff;else
diff=-this.diff;}
var stepDuration=this.stepDuration;this.counter--;this.resizeBy(diff);this.timer=setTimeout(this.accordionSize.bind(this),stepDuration);},isFinished:function(){return this.counter<=0;},resizeBy:function(diff){var intDiff=parseInt(diff);if(this.mode==0||this.mode==3)var h1Height=this.e1.offsetHeight;var h2Height=this.e2.offsetHeight;if(parseInt(this.mode)==0||parseInt(this.mode)==3){this.e1.style.height=(h1Height-intDiff)+"px";}
this.e2.style.height=(h2Height+intDiff)+"px";}};