var Clientcide={version:"2.1.0",setAssetLocation:function(b){var a=function(c){return c.replace(/\/\//g,"/")};if(window.StickyWin&&StickyWin.UI){StickyWin.UI.implement({options:{baseHref:a(b+"/stickyWinHTML/")}});if(StickyWin.Alert){StickyWin.Alert.implement({options:{baseHref:b+"/simple.error.popup"}})}if(StickyWin.UI.Pointy){StickyWin.UI.Pointy.implement({options:{baseHref:a(b+"/PointyTip/")}})}}if(window.TagMaker){TagMaker.implement({options:{baseHref:a(b+"/tips/")}})}if(window.ProductPicker){ProductPicker.implement({options:{baseHref:a(b+"/Picker")}})}if(window.Autocompleter){Autocompleter.Base.implement({options:{baseHref:a(b+"/autocompleter/")}})}if(window.Lightbox){Lightbox.implement({options:{assetBaseUrl:a(b+"/slimbox/")}})}if(window.Waiter){Waiter.implement({options:{baseHref:a(b+"/waiter/")}})}},preLoadCss:function(){if(window.StickyWin&&StickyWin.ui){StickyWin.ui()}if(window.StickyWin&&StickyWin.pointy){StickyWin.pointy()}Clientcide.preloaded=true;return true},preloaded:false};(function(){if(!window.addEvent){return}var a=function(){if(window.dbug){dbug.log("preloading clientcide css")}if(!Clientcide.preloaded){Clientcide.preLoadCss()}};window.addEvent("domready",a);window.addEvent("load",a)})();setCNETAssetBaseHref=Clientcide.setAssetLocation;var dbug={logged:[],timers:{},firebug:false,enabled:false,log:function(){dbug.logged.push(arguments)},nolog:function(a){dbug.logged.push(arguments)},time:function(a){dbug.timers[a]=new Date().getTime()},timeEnd:function(b){if(dbug.timers[b]){var a=new Date().getTime()-dbug.timers[b];dbug.timers[b]=false;dbug.log("%s: %s",b,a)}else{dbug.log("no such timer: %s",b)}},enable:function(d){var c=window.firebug?firebug.d.console.cmd:window.console;if((!!window.console&&!!window.console.warn)||window.firebug){try{dbug.enabled=true;dbug.log=function(){(c.debug||c.log).apply(c,arguments)};dbug.time=function(){c.time.apply(c,arguments)};dbug.timeEnd=function(){c.timeEnd.apply(c,arguments)};if(!d){dbug.log("enabling dbug")}for(var a=0;a<dbug.logged.length;a++){dbug.log.apply(c,dbug.logged[a])}dbug.logged=[]}catch(b){dbug.enable.delay(400)}}},disable:function(){if(dbug.firebug){dbug.enabled=false}dbug.log=dbug.nolog;dbug.time=function(){};dbug.timeEnd=function(){}},cookie:function(b){var a=document.cookie.match("(?:^|;)\\s*jsdebug=([^;]*)");var d=a?unescape(a[1]):false;if((!$defined(b)&&d!="true")||($defined(b)&&b)){dbug.enable();dbug.log("setting debugging cookie");var c=new Date();c.setTime(c.getTime()+(24*60*60*1000));document.cookie="jsdebug=true;expires="+c.toGMTString()+";path=/;"}else{dbug.disableCookie()}},disableCookie:function(){dbug.log("disabling debugging cookie");document.cookie="jsdebug=false;path=/;"}};(function(){var b=!!window.console||!!window.firebug;var e=window.firebug?window.firebug.d.console.cmd:window.console;var a=["debug","info","warn","error","assert","dir","dirxml"];var d=["trace","group","groupEnd","profile","profileEnd","count"];function c(g,h){for(var f=0;f<g.length;f++){dbug[g[f]]=(b&&e[g[f]])?e[g[f]]:h}}c(a,dbug.log);c(d,function(){})})();if((!!window.console&&!!window.console.warn)||window.firebug){dbug.firebug=true;var value=document.cookie.match("(?:^|;)\\s*jsdebug=([^;]*)");var debugCookie=value?unescape(value[1]):false;if(window.location.href.indexOf("jsdebug=true")>0||debugCookie=="true"){dbug.enable()}if(debugCookie=="true"){dbug.log("debugging cookie enabled")}if(window.location.href.indexOf("jsdebugCookie=true")>0){dbug.cookie();if(!dbug.enabled){dbug.enable()}}if(window.location.href.indexOf("jsdebugCookie=false")>0){dbug.disableCookie()}}Class.ToElement=new Class({toElement:function(){return this.element}});var ToElement=Class.ToElement;var StyleWriter=new Class({createStyle:function(a,b){window.addEvent("domready",function(){try{if(document.id(b)&&b){return}var c=new Element("style",{id:b||""}).inject($$("head")[0]);if(Browser.Engine.trident){c.styleSheet.cssText=a}else{c.set("text",a)}}catch(d){dbug.log("error: %s",d)}}.bind(this))}});var StickyWin=new Class({Binds:["destroy","hide","togglepin","esc"],Implements:[Options,Events,StyleWriter,Class.ToElement],options:{closeClassName:"closeSticky",pinClassName:"pinSticky",content:"",zIndex:10000,className:"",width:false,height:false,timeout:-1,allowMultipleByClass:false,allowMultiple:true,showNow:true,useIframeShim:true,iframeShimSelector:"",destroyOnClose:false,closeOnClickOut:false,closeOnEsc:false},css:'.SWclearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}.SWclearfix {display: inline-table;} * html .SWclearfix {height: 1%;} .SWclearfix {display: block;}',initialize:function(a){this.options.inject=this.options.inject||{target:document.body,where:"bottom"};this.setOptions(a);this.id=this.options.id||"StickyWin_"+new Date().getTime();this.makeWindow();if(this.options.content){this.setContent(this.options.content)}if(this.options.timeout>0){this.addEvent("onDisplay",function(){this.hide.delay(this.options.timeout,this)}.bind(this))}this.createStyle(this.css,"StickyWinClearFix");if(this.options.closeOnClickOut||this.options.closeOnEsc){this.attach()}if(this.options.destroyOnClose){this.addEvent("close",this.destroy)}if(this.options.showNow){this.show()}},attach:function(b){var a=$pick(b,true)?"addEvents":"removeEvents";var c={};if(this.options.closeOnClickOut){c.click=this.esc}if(this.options.closeOnEsc){c.keyup=this.esc}document[a](c)},esc:function(a){if(a.key=="esc"){this.hide()}if(a.type=="click"&&this.element!=a.target&&!this.element.hasChild(a.target)){this.hide()}},makeWindow:function(){this.destroyOthers();if(!document.id(this.id)){this.win=new Element("div",{id:this.id}).addClass(this.options.className).addClass("StickyWinInstance").addClass("SWclearfix").setStyles({display:"none",position:"absolute",zIndex:this.options.zIndex}).inject(this.options.inject.target,this.options.inject.where).store("StickyWin",this)}else{this.win=document.id(this.id)}this.element=this.win;if(this.options.width&&$type(this.options.width.toInt())=="number"){this.win.setStyle("width",this.options.width.toInt())}if(this.options.height&&$type(this.options.height.toInt())=="number"){this.win.setStyle("height",this.options.height.toInt())}return this},show:function(a){this.showWin();if(!a){this.fireEvent("display")}if(this.options.useIframeShim){this.showIframeShim()}this.visible=true;return this},showWin:function(){if(!this.positioned){this.position()}this.win.show()},hide:function(a){if($type(a)=="event"||!a){this.fireEvent("close")}this.hideWin();if(this.options.useIframeShim){this.hideIframeShim()}this.visible=false;return this},hideWin:function(){this.win.setStyle("display","none")},destroyOthers:function(){if(!this.options.allowMultipleByClass||!this.options.allowMultiple){$$("div.StickyWinInstance").each(function(a){if(!this.options.allowMultiple||(!this.options.allowMultipleByClass&&a.hasClass(this.options.className))){a.retrieve("StickyWin").destroy()}},this)}},setContent:function(a){if(this.win.getChildren().length>0){this.win.empty()}if($type(a)=="string"){this.win.set("html",a)}else{if(document.id(a)){this.win.adopt(a)}}this.win.getElements("."+this.options.closeClassName).each(function(b){b.addEvent("click",this.hide)},this);this.win.getElements("."+this.options.pinClassName).each(function(b){b.addEvent("click",this.togglepin)},this);return this},position:function(a){this.positioned=true;this.setOptions(a);this.win.position({allowNegative:$pick(this.options.allowNegative,this.options.relativeTo!=document.body),relativeTo:this.options.relativeTo,position:this.options.position,offset:this.options.offset,edge:this.options.edge});if(this.shim){this.shim.position()}return this},pin:function(a){if(!this.win.pin){dbug.log("you must include element.pin.js!");return this}this.pinned=$pick(a,true);this.win.pin(a);return this},unpin:function(){return this.pin(false)},togglepin:function(){return this.pin(!this.pinned)},makeIframeShim:function(){if(!this.shim){var a=(this.options.iframeShimSelector)?this.win.getElement(this.options.iframeShimSelector):this.win;this.shim=new IframeShim(a,{display:false,name:"StickyWinShim"})}},showIframeShim:function(){if(this.options.useIframeShim){this.makeIframeShim();this.shim.show()}},hideIframeShim:function(){if(this.shim){this.shim.hide()}},destroy:function(){if(this.win){this.win.destroy()}if(this.options.useIframeShim&&this.shim){this.shim.destroy()}if(document.id("modalOverlay")){document.id("modalOverlay").destroy()}this.fireEvent("destroy")}});StickyWin.UI=new Class({Implements:[Options,Class.ToElement,StyleWriter],options:{width:300,css:"div.DefaultStickyWin {font-family:verdana; font-size:11px; line-height: 13px;}div.DefaultStickyWin div.top_ul{background:url({%baseHref%}full.png) top left no-repeat; height:30px; width:15px; float:left}div.DefaultStickyWin div.top_ur{position:relative; left:0px !important; left:-4px; background:url({%baseHref%}full.png) top right !important; height:30px; margin:0px 0px 0px 15px !important; margin-right:-4px; padding:0px}div.DefaultStickyWin h1.caption{clear: none !important; margin:0px !important; overflow: hidden; padding:0 !important; font-weight:bold; color:#fff; font-size:14px !important; position:relative; top:8px !important; left:5px !important; float: left; height: 22px !important;}div.DefaultStickyWin div.middle, div.DefaultStickyWin div.closeBody {background:url({%baseHref%}body.png) top left repeat-y; margin:0px 20px 0px 0px !important;	margin-bottom: -3px; position: relative;	top: 0px !important; top: -3px;}div.DefaultStickyWin div.body{background:url({%baseHref%}body.png) top right repeat-y; padding:8px 30px 8px 0px !important; margin-left:5px !important; position:relative; right:-20px !important; z-index: 1;}div.DefaultStickyWin div.bottom{clear:both;}div.DefaultStickyWin div.bottom_ll{background:url({%baseHref%}full.png) bottom left no-repeat; width:15px; height:15px; float:left}div.DefaultStickyWin div.bottom_lr{background:url({%baseHref%}full.png) bottom right; position:relative; left:0px !important; left:-4px; margin:0px 0px 0px 15px !important; margin-right:-4px; height:15px}div.DefaultStickyWin div.closeButtons{text-align: center; background:url({%baseHref%}body.png) top right repeat-y; padding: 4px 30px 8px 0px; margin-left:5px; position:relative; right:-20px}div.DefaultStickyWin a.button:hover{background:url({%baseHref%}big_button_over.gif) repeat-x}div.DefaultStickyWin a.button {background:url({%baseHref%}big_button.gif) repeat-x; margin: 2px 8px 2px 8px; padding: 2px 12px; cursor:pointer; border: 1px solid #999 !important; text-decoration:none; color: #000 !important;}div.DefaultStickyWin div.closeButton{width:13px; height:13px; background:url({%baseHref%}closebtn.gif) no-repeat; position: absolute; right: 0px; margin:10px 15px 0px 0px !important; cursor:pointer;top:0px}div.DefaultStickyWin div.dragHandle {	width: 11px;	height: 25px;	position: relative;	top: 5px;	left: -3px;	cursor: move;	background: url({%baseHref%}drag_corner.gif); float: left;}",cornerHandle:false,cssClass:"",baseHref:"http://all-terra.ru/images/sticky/",buttons:[],cssId:"defaultStickyWinStyle",cssClassName:"DefaultStickyWin",closeButton:true},initialize:function(){var a=this.getArgs(arguments);this.setOptions(a.options);this.legacy();var b=this.options.css.substitute({baseHref:this.options.baseHref},/\\?\{%([^}]+)%\}/g);if(Browser.Engine.trident4){b=b.replace(/png/g,"gif")}this.createStyle(b,this.options.cssId);this.build();if(a.caption||a.body){this.setContent(a.caption,a.body)}},getArgs:function(){return StickyWin.UI.getArgs.apply(this,arguments)},legacy:function(){var a=this.options;if(a.confirmTxt){a.buttons.push({text:a.confirmTxt,onClick:a.onConfirm||$empty})}if(a.closeTxt){a.buttons.push({text:a.closeTxt,onClick:a.onClose||$empty})}},build:function(){var e=this.options;var d=new Element("div",{"class":e.cssClassName});if(e.width){d.setStyle("width",e.width)}this.element=d;this.element.store("StickyWinUI",this);if(e.cssClass){d.addClass(e.cssClass)}var a=new Element("div").addClass("body");this.body=a;var c=new Element("div").addClass("top_ur");this.top_ur=c;this.top=new Element("div").addClass("top").adopt(new Element("div").addClass("top_ul")).adopt(c);d.adopt(this.top);if(e.cornerHandle){new Element("div").addClass("dragHandle").inject(c,"top")}d.adopt(new Element("div").addClass("middle").adopt(a));if(e.buttons.length>0){var b=new Element("div").addClass("closeButtons");e.buttons.each(function(g){if(g.properties&&g.properties.className){g.properties["class"]=g.properties.className;delete g.properties.className}var f=$merge({"class":"closeSticky"},g.properties);new Element("a").addEvent("click",g.onClick||$empty).appendText(g.text).inject(b).set(f).addClass("button")});d.adopt(new Element("div").addClass("closeBody").adopt(b))}d.adopt(new Element("div").addClass("bottom").adopt(new Element("div").addClass("bottom_ll")).adopt(new Element("div").addClass("bottom_lr")));if(this.options.closeButton){d.adopt(new Element("div").addClass("closeButton").addClass("closeSticky"))}return this},makeCaption:function(b){if(!b){return this.destroyCaption()}this.caption=b;var c=this.options;var a=new Element("h1").addClass("caption").set("title","Переместить");if(c.width){a.setStyle("width",(c.width-(c.cornerHandle?55:40)-(c.closeButton?10:0)))}if(document.id(this.caption)){a.adopt(this.caption)}else{a.set("html",this.caption)}this.top_ur.adopt(a);this.h1=a;if(!this.options.cornerHandle){this.h1.addClass("dragHandle")}return this},destroyCaption:function(){if(this.h1){this.h1.destroy();this.h1=null}return this},setContent:function(){var a=this.getArgs.apply(this,arguments);var c=a.caption;var b=a.body;if(this.h1){this.destroyCaption()}this.makeCaption(c);if(document.id(b)){this.body.empty().adopt(b)}else{this.body.set("html",b)}return this}});StickyWin.UI.getArgs=function(){var f;switch($type(arguments[0])){case"arguments":f=arguments[0];break;case"array":f=arguments[0];break;default:f=arguments}var g=f[0],h=f[1];var e=Array.link(f,{options:Object.type});if(f.length==3||(!e.options&&f.length==2)){e.caption=g;e.body=h}else{if(($type(h)=="object"||!h)&&g&&$type(g)!="object"){e.body=g}}return e};StickyWin.ui=function(c,b,a){return document.id(new StickyWin.UI(c,b,a))};var stickyWinHTML=StickyWin.ui;StickyWin.UI.Pointy=new Class({Extends:StickyWin.UI,options:{theme:"dark",themes:{dark:{bgColor:"#fbf999",fgColor:"#000",imgset:"dark"},light:{bgColor:"#fbf999",fgColor:"#000",imgset:"light"}},css:"div.DefaultPointyTip {vertical-align: auto; position: relative;}div.DefaultPointyTip * {text-align:left !important}div.DefaultPointyTip .pointyWrapper div.body{border-left:1px solid #000; background: #fbf999; color: #000; left: 0px; right: 0px !important;padding:  0px 10px !important;margin-left: 0px !important;font-family: verdana;font-size: 11px;line-height: 13px;position: relative;}div.DefaultPointyTip .pointyWrapper div.top {position: relative;height: 25px; overflow: visible;}div.DefaultPointyTip .pointyWrapper div.top_ul{background: url({%baseHref%}{%imgset%}_back.png) top left no-repeat;width: 8px;height: 25px; position: absolute; left: 0px;}div.DefaultPointyTip .pointyWrapper div.top_ur{background: url({%baseHref%}{%imgset%}_back.png) top right !important;margin: 0 0 0 8px !important;height: 25px;position: relative;left: 0px !important;padding: 0;}div.DefaultPointyTip .pointyWrapper h1.caption{color: #000;left: 0px !important;top: 4px !important;clear: none !important;overflow: hidden;font-weight: 700;font-size: 12px !important;position: relative;float: left;height: 22px !important;margin: 0 !important;padding: 0 !important;}div.DefaultPointyTip .pointyWrapper div.middle, div.DefaultPointyTip .pointyWrapper div.closeBody{border-right:1px solid #000;background:  #fbf999;margin: 0 0px 0 0 !important;position: relative;top: 0 !important;}div.DefaultPointyTip .pointyWrapper div.bottom {clear: both; width: 100% !important; background: none; height: 6px} div.DefaultPointyTip .pointyWrapper div.bottom_ll{font-size:1; background: url({%baseHref%}{%imgset%}_back.png) bottom left no-repeat;width: 6px;height: 6px;position: absolute; left: 0px;}div.DefaultPointyTip .pointyWrapper div.bottom_lr{font-size:1; background: url({%baseHref%}{%imgset%}_back.png) bottom right;height: 6px;margin: 0 0 0 6px !important;position: relative;left: 0 !important;}div.DefaultPointyTip .pointyWrapper div.noCaption{ height: 6px; overflow: hidden}div.DefaultPointyTip .pointyWrapper div.closeButton{width:13px; height:13px; background:url({%baseHref%}{%imgset%}_x.png) no-repeat; position: absolute; right: 0px; margin:0px !important; cursor:pointer; z-index: 1; top: 4px;}div.DefaultPointyTip .pointyWrapper div.pointyDivot {background: url({%divot%}) no-repeat;}",baseHref:"http://all-terra.ru/images/sticky/",divot:"{%baseHref%}{%imgset%}_divot.png",divotSize:22,direction:12,cssId:"defaultPointyTipStyle",cssClassName:"DefaultPointyTip"},initialize:function(){var b=this.getArgs(arguments);this.setOptions(b.options);$extend(this.options,this.options.themes[this.options.theme]);this.options.divot=this.options.divot.substitute(this.options,/\\?\{%([^}]+)%\}/g);if(Browser.Engine.trident4){this.options.divot=this.options.divot.replace(/png/g,"gif")}this.options.css=this.options.css.substitute(this.options,/\\?\{%([^}]+)%\}/g);if(b.options&&b.options.theme){while(!this.id){var a=$random(0,999999999);if(!StickyWin.UI.Pointy[a]){StickyWin.UI.Pointy[a]=this;this.id=a}}this.options.css=this.options.css.replace(/div\.DefaultPointyTip/g,"div#pointy_"+this.id);this.options.cssId="pointyTipStyle_"+this.id}if($type(this.options.direction)=="string"){var c={left:9,right:3,up:12,down:6};this.options.direction=c[this.options.direction]}this.parent(b.caption,b.body,this.options);if(this.id){document.id(this).set("id","pointy_"+this.id)}},build:function(){this.parent();var a=this.options;this.pointyWrapper=new Element("div",{"class":"pointyWrapper"}).inject(document.id(this));document.id(this).getChildren().each(function(f){if(f!=this.pointyWrapper){this.pointyWrapper.grab(f)}},this);var d=a.divotSize;var b=d;var c=(a.width-a.divotSize)/2;var e=function(){switch(a.direction){case 12:case 1:case 11:return{height:b/2};case 5:case 6:case 7:return{height:b/2,backgroundPosition:"0 -"+b/2+"px"};case 8:case 9:case 10:return{width:d/2};case 2:case 3:case 4:return{width:d/2,backgroundPosition:"100%"}}};this.pointer=new Element("div",{styles:$extend({width:d,height:b,overflow:"hidden"},e()),"class":"pointyDivot pointy_"+a.direction}).inject(this.pointyWrapper)},expose:function(){if(document.id(this).getStyle("display")!="none"&&document.id(document.body).hasChild(document.id(this))){return $empty}document.id(this).setStyles({visibility:"hidden",position:"absolute"});var a;if(!document.body.hasChild(document.id(this))){document.id(this).inject(document.body);a=true}return(function(){if(a){document.id(this).dispose()}document.id(this).setStyles({visibility:"visible",position:"relative"})}).bind(this)},positionPointer:function(e){if(!this.pointer){return}var f=e||this.options;var c;var b=f.direction;switch(b){case 12:case 1:case 11:c={edge:{x:"center",y:"bottom"},position:{x:b==12?"center":b==1?"right":"left",y:"top"},offset:{x:(b==12?0:b==1?-1:1)*f.divotSize,y:1}};break;case 2:case 3:case 4:c={edge:{x:"left",y:"center"},position:{x:"right",y:b==3?"center":b==2?"top":"bottom"},offset:{x:-1,y:(b==3?0:b==4?-1:1)*f.divotSize}};break;case 5:case 6:case 7:c={edge:{x:"center",y:"top"},position:{x:b==6?"center":b==5?"right":"left",y:"bottom"},offset:{x:(b==6?0:b==5?-1:1)*f.divotSize,y:-1}};break;case 8:case 9:case 10:c={edge:{x:"right",y:"center"},position:{x:"left",y:b==9?"center":b==10?"top":"bottom"},offset:{x:1,y:(b==9?0:b==8?-1:1)*f.divotSize}};break}var a=this.expose();this.pointer.position($extend({relativeTo:this.pointyWrapper},c,e));a()},setContent:function(b,a){this.parent(b,a);this.top[this.h1?"removeClass":"addClass"]("noCaption");if(Browser.Engine.trident4){document.id(this).getElements(".bottom_ll, .bottom_lr").setStyle("font-size",1)}if(this.options.closeButton){this.body.setStyle("margin-right",6)}this.positionPointer();return this},makeCaption:function(a){this.parent(a);if(this.options.width&&this.h1){this.h1.setStyle("width",(this.options.width-(this.options.closeButton?25:15)))}}});StickyWin.UI.pointy=function(c,b,a){return document.id(new StickyWin.UI.Pointy(c,b,a))};StickyWin.ui.pointy=StickyWin.UI.pointy;StickyWin.PointyTip=new Class({Extends:StickyWin,options:{point:"left",pointyOptions:{}},initialize:function(){var c=this.getArgs(arguments);this.setOptions(c.options);var e=this.options.pointyOptions;var b=e.direction;if(!b){var a={left:9,right:3,up:12,down:6};b=a[this.options.point];if(!b){b=this.options.point}e.direction=b}if(!e.width){e.width=this.options.width}this.pointy=new StickyWin.UI.Pointy(c.caption,c.body,e);this.options.content=null;this.setOptions(c.options,this.getPositionSettings());this.parent(this.options);this.win.empty().adopt(document.id(this.pointy));this.attachHandlers(this.win);if(this.options.showNow){this.position()}},getArgs:function(){return StickyWin.UI.getArgs.apply(this,arguments)},getPositionSettings:function(){var a=this.pointy.options.divotSize;var b=this.options.point;switch(b){case"left":case 8:case 9:case 10:return{edge:{x:"left",y:b==10?"top":b==8?"bottom":"center"},position:{x:"right",y:"center"},offset:{x:a}};case"right":case 2:case 3:case 4:return{edge:{x:"right",y:b==2?"top":b==4?"bottom":"center"},position:{x:"left",y:"center"},offset:{x:-a}};case"up":case 11:case 12:case 1:return{edge:{x:b==11?"left":b==1?"right":"center",y:"top"},position:{x:"center",y:"bottom"},offset:{y:a,x:b==11?-a:b==1?a:0}};case"down":case 5:case 6:case 7:return{edge:{x:b==7?"left":b==5?"right":"center",y:"bottom"},position:{x:"center",y:"top"},offset:{y:-a,x:b==7?-a:b==5?a:0}}}},setContent:function(){var a=this.getArgs(arguments);this.pointy.setContent(a.caption,a.body);[this.pointy.h1,this.pointy.body].each(this.attachHandlers,this);if(this.visible){this.position()}return this},showWin:function(){this.parent();this.pointy.positionPointer()},position:function(a){this.parent(a);this.pointy.positionPointer()},attachHandlers:function(a){if(!a){return}a.getElements("."+this.options.closeClassName).addEvent("click",function(){this.hide()}.bind(this));a.getElements("."+this.options.pinClassName).addEvent("click",function(){this.togglepin()}.bind(this))}});FormValidator.Tips=new Class({Extends:FormValidator.Inline,options:{pointyTipOptions:{point:"left",width:250}},showAdvice:function(d,f){var e=this.getAdvice(f);if(e&&!e.visible){e.show();e.position();e.pointy.positionPointer()}},hideAdvice:function(d,f){var e=this.getAdvice(f);if(e&&e.visible){e.show()}},getAdvice:function(e,d){var f=Array.link(arguments,{field:Element.type});return f.field.retrieve("PointyTip")},advices:[],makeAdvice:function(n,m,o,k){if(!o&&!k){return}var p=m.retrieve("PointyTip");if(!p){var i=k?"warning-advice":"validation-advice";var l=new Element("ul",{styles:{margin:0,padding:0,listStyle:"none"}});var j=this.makeAdviceItem(n,m);if(j){l.adopt(j)}m.store("validationMsgs",l);p=new StickyWin.PointyTip(this.options.tipCaption,l,$merge(this.options.pointyTipOptions,{showNow:false,relativeTo:m,inject:{target:this.element}}));this.advices.push(p);p.msgs={};m.store("PointyTip",p);document.id(p).addClass(i).set("id","advice-"+n+"-"+this.getFieldId(m))}m.store("advice-"+n,p);this.appendAdvice(n,m,o,k);p.pointy.positionPointer();return p},validateField:function(k,l){var h=this.getAdvice(k);var m=this.advices.some(function(a){return a.visible});if(m&&this.options.serial){if(h&&h.visible){var j=this.parent(k,l);if(!k.hasClass("validation-failed")){h.hide()}}return j}var n=k.retrieve("validationMsgs");if(n){n.getChildren().hide()}if(k.hasClass("validation-failed")||k.hasClass("warning")){if(h){h.show()}}if(this.options.serial){var i=this.element.getElements(".validation-failed, .warning");if(i.length){i.each(function(a,b){var c=this.getAdvice(a);if(c){c.hide()}},this)}}return this.parent(k,l)},makeAdviceItem:function(l,j,g,i){if(!g&&!i){return}var h=this.getAdvice(j);var k=this.makeAdviceMsg(j,g,i);if(h&&h.msgs[l]){return h.msgs[l].set("html",k)}return new Element("li",{html:k,style:{display:"none"}})},makeAdviceMsg:function(h,f,g){var e=(g)?this.warningPrefix:this.errorPrefix;e+=(this.options.useTitles)?h.title||f:f;return e},appendAdvice:function(k,j,l,i){var g=this.getAdvice(j);if(g.msgs[k]){return g.msgs[k].set("html",this.makeAdviceMsg(j,l,i)).show()}var h=this.makeAdviceItem(k,j,l,i);if(!h){return}h.inject(j.retrieve("validationMsgs")).show();g.msgs[k]=h},insertAdvice:function(f,g){var e=g.get("validatorProps");if(!e.msgPos||!document.id(e.msgPos)){switch(g.type.toLowerCase()){case"radio":var h=g.getParent().adopt(f);break;default:document.id(f).inject(document.id(g),"after")}}else{document.id(e.msgPos).grab(f)}f.position()}});(function(){var d=function(a){return{Extends:a,options:{url:"",showNow:false,requestOptions:{method:"get",evalScripts:true},wrapWithUi:false,caption:"",uiOptions:{},handleResponse:function(f){var b="";this.Request.response.text.stripScripts(function(e){b+=e});if(this.options.wrapWithUi){f=StickyWin.ui(this.options.caption,f,this.options.uiOptions)}this.setContent(f);this.show();if(this.evalScripts){$exec(b)}}},initialize:function(b){var f;if(b&&b.showNow){f=true;b.showNow=false}this.parent(b);this.evalScripts=this.options.requestOptions.evalScripts;this.options.requestOptions.evalScripts=false;this.createRequest();if(f){this.update()}},createRequest:function(){this.Request=new Request(this.options.requestOptions).addEvent("onSuccess",this.options.handleResponse.bind(this))},update:function(b,f){this.Request.setOptions(f).send({url:b||this.options.url});return this}}};try{StickyWin.Ajax=new Class(d(StickyWin))}catch(c){}try{StickyWin.Modal.Ajax=new Class(d(StickyWin.Modal))}catch(c){}})();StickyWin.Modal=new Class({Extends:StickyWin,options:{modalize:true,maskOptions:{},hideOnClick:true,getWindowManager:function(){return StickyWin.ModalWM}},initialize:function(b){this.options.maskTarget=this.options.maskTarget||document.body;this.setOptions(b);this.mask=new Mask(this.options.maskTarget,this.maskOptions).addEvent("click",function(){if(this.options.hideOnClick){this.hide()}}.bind(this));this.parent(b)},show:function(b){if($pick(b,this.options.modalize)){this.mask.show()}this.parent()},hide:function(b){if($pick(b,true)){this.mask.hide()}this.parent()}});zIndexBase:11000;if(StickyWin.Fx){StickyWin.Fx.Modal=StickyWin.Modal}StickyWin=Class.refactor(StickyWin,{options:{draggable:false,dragOptions:{},dragHandleSelector:".dragHandle",resizable:false,resizeOptions:{},resizeHandleSelector:""},setContent:function(b){this.previous(b);if(this.options.draggable){this.makeDraggable()}if(this.options.resizable){this.makeResizable()}return this},makeDraggable:function(){var f=this.toggleVisible(true);if(this.options.useIframeShim){this.makeIframeShim();var d=(this.options.dragOptions.onComplete||$empty);this.options.dragOptions.onComplete=function(){d();this.shim.position()}.bind(this)}if(this.options.dragHandleSelector){var e=this.win.getElement(this.options.dragHandleSelector);if(e){e.setStyle("cursor","move");this.options.dragOptions.handle=e}}this.win.makeDraggable(this.options.dragOptions);if(f){this.toggleVisible(false)}},makeResizable:function(){var f=this.toggleVisible(true);if(this.options.useIframeShim){this.makeIframeShim();var d=(this.options.resizeOptions.onComplete||$empty);this.options.resizeOptions.onComplete=function(){d();this.shim.position()}.bind(this)}if(this.options.resizeHandleSelector){var e=this.win.getElement(this.options.resizeHandleSelector);if(e){this.options.resizeOptions.handle=this.win.getElement(this.options.resizeHandleSelector)}}this.win.makeResizable(this.options.resizeOptions);if(f){this.toggleVisible(false)}},toggleVisible:function(b){if(!this.visible&&Browser.Engine.webkit&&$pick(b,true)){this.win.setStyles({display:"block",opacity:0});return true}else{if(!$pick(b,false)){this.win.setStyles({display:"none",opacity:1});return false}}return false}});StickyWin.Fx=StickyWin;var Modalizer=new Class({defaultModalStyle:{display:"block",position:"fixed",top:0,left:0,"z-index":5000,"background-color":"#333",opacity:0.8},setModalOptions:function(b){this.modalOptions=$merge({width:(window.getScrollSize().x),height:(window.getScrollSize().y),elementsToHide:"select, embed"+(Browser.Engine.trident?"":", object"),hideOnClick:true,modalStyle:{},updateOnResize:true,layerId:"modalOverlay",onModalHide:$empty,onModalShow:$empty},this.modalOptions,b);return this},layer:function(){if(!this.modalOptions.layerId){this.setModalOptions()}return document.id(this.modalOptions.layerId)||new Element("div",{id:this.modalOptions.layerId}).inject(document.body)},resize:function(){if(this.layer()){this.layer().setStyles({width:(window.getScrollSize().x),height:(window.getScrollSize().y)})}},setModalStyle:function(b){this.modalOptions.modalStyle=b;this.modalStyle=$merge(this.defaultModalStyle,{width:this.modalOptions.width,height:this.modalOptions.height},b);if(this.layer()){this.layer().setStyles(this.modalStyle)}return(this.modalStyle)},modalShow:function(b){this.setModalOptions(b);this.layer().setStyles(this.setModalStyle(this.modalOptions.modalStyle));if(Browser.Engine.trident4){this.layer().setStyle("position","absolute")}this.layer().removeEvents("click").addEvent("click",function(){this.modalHide(this.modalOptions.hideOnClick)}.bind(this));this.bound=this.bound||{};if(!this.bound.resize&&this.modalOptions.updateOnResize){this.bound.resize=this.resize.bind(this);window.addEvent("resize",this.bound.resize)}if($type(this.modalOptions.onModalShow)=="function"){this.modalOptions.onModalShow()}this.togglePopThroughElements(0);this.layer().setStyle("display","block");return this},modalHide:function(d,c){if(d===false){return false}this.togglePopThroughElements(1);if($type(this.modalOptions.onModalHide)=="function"){this.modalOptions.onModalHide()}this.layer().setStyle("display","none");if(this.modalOptions.updateOnResize){this.bound=this.bound||{};if(!this.bound.resize){this.bound.resize=this.resize.bind(this)}window.removeEvent("resize",this.bound.resize)}return this},togglePopThroughElements:function(b){if(Browser.Engine.trident4||(Browser.Engine.gecko&&Browser.Platform.mac)){$$(this.modalOptions.elementsToHide).each(function(a){a.setStyle("opacity",b)})}}});var Mask=new Class({Implements:[Options,Events],Binds:["resize"],options:{style:{},"class":"mask",maskMargins:false,useIframeShim:true},initialize:function(c,d){this.target=document.id(c)||document.body;this.target.store("mask",this);this.setOptions(d);this.render();this.inject()},render:function(){this.element=new Element("div",{"class":this.options["class"],id:this.options.id||"mask-"+$time(),styles:$merge(this.options.style,{display:"none"}),events:{click:function(){this.fireEvent("click");if(this.options.hideOnClick){this.hide()}}.bind(this)}});this.hidden=true},toElement:function(){return this.element},inject:function(c,d){d=d||this.options.inject?this.options.inject.where:""||this.target==document.body?"inside":"after";c=c||this.options.inject?this.options.inject.target:""||this.target;this.element.inject(c,d);if(this.options.useIframeShim){this.shim=new IframeShim(this.element);this.addEvents({show:this.shim.show.bind(this.shim),hide:this.shim.hide.bind(this.shim),destroy:this.shim.destroy.bind(this.shim)})}},position:function(){this.resize(this.options.width,this.options.height);this.element.position({relativeTo:this.target,position:"topLeft",ignoreMargins:!this.options.maskMargins,ignoreScroll:this.target==document.body});return this},resize:function(g,h){var f={styles:["padding","border"]};if(this.options.maskMargins){f.styles.push("margin")}var i=this.target.getComputedSize(f);if(this.target==document.body){var j=window.getSize();if(i.totalHeight<j.y){i.totalHeight=j.y}if(i.totalWidth<j.x){i.totalWidth=j.x}}this.element.setStyles({width:$pick(g,i.totalWidth,i.x),height:$pick(h,i.totalHeight,i.y)});return this},show:function(){if(!this.hidden){return this}this.target.addEvent("resize",this.resize);if(this.target!=document.body){document.id(document.body).addEvent("resize",this.resize)}this.position();this.showMask.apply(this,arguments);return this},showMask:function(){this.element.setStyle("display","block");this.hidden=false;this.fireEvent("show")},hide:function(){if(this.hidden){return this}this.target.removeEvent("resize",this.resize);this.hideMask.apply(this,arguments);if(this.options.destroyOnHide){return this.destroy()}return this},hideMask:function(){this.element.setStyle("display","none");this.hidden=true;this.fireEvent("hide")},toggle:function(){this[this.hidden?"show":"hide"]()},destroy:function(){this.hide();this.element.destroy();this.fireEvent("destroy");this.target.eliminate("mask")}});Element.Properties.mask={set:function(c){var d=this.retrieve("mask");return this.eliminate("mask").store("mask:options",c)},get:function(b){if(b||!this.retrieve("mask")){if(this.retrieve("mask")){this.retrieve("mask").destroy()}if(b||!this.retrieve("mask:options")){this.set("mask",b)}this.store("mask",new Mask(this,this.retrieve("mask:options")))}return this.retrieve("mask")}};Element.implement({mask:function(b){this.get("mask",b).show();return this},unmask:function(){this.get("mask").hide();return this}});var SimpleSlideShow=new Class({Implements:[Events,Options,Chain],options:{startIndex:0,slides:[],currentSlideClass:"currentSlide",currentIndexContainer:false,maxContainer:false,nextLink:false,prevLink:false,wrap:true,disabledLinkClass:"disabled",onNext:$empty,onPrev:$empty,onSlideClick:$empty,onSlideDisplay:$empty,crossFadeOptions:{}},initialize:function(a){this.setOptions(a);var b=this.options.slides;this.makeSlides(b);this.setCounters();this.setUpNav();this.now=this.options.startIndex;if(this.slides.length>0){this.show(this.now)}},slides:[],setCounters:function(){if(document.id(this.options.currentIndexContainer)){document.id(this.options.currentIndexContainer).set("html",this.now+1)}if(document.id(this.options.maxContainer)){document.id(this.options.maxContainer).set("html",this.slides.length)}},makeSlides:function(a){a.each(function(b,c){if(c!=this.now){b.setStyle("display","none")}else{b.setStyle("display","block")}this.makeSlide(b)},this)},makeSlide:function(a){a.addEvent("mouseenter",function(b){a.setStyle("cursor","pointer")}.bind(this));a.addEvent("mouseleave",function(b){a.setStyle("cursor","default")}.bind(this));a.addEvent("click",function(){this.forward();ginf(this.now+1-1);this.fireEvent("onSlideClick")}.bind(this));a.addEvent("mousewheel",function(b){if(b.wheel>=0){b.preventDefault();this.forward();ginf(this.now+1-1)}}.bind(this));this.slides.include(a)},setUpNav:function(){if(document.id(this.options.nextLink)){document.id(this.options.nextLink).addEvent("click",function(){this.forward()}.bind(this))}if(document.id(this.options.prevLink)){document.id(this.options.prevLink).addEvent("click",function(){this.back()}.bind(this))}},disableLinks:function(b){if(this.options.wrap){return}b=$pick(b,this.now);var d=document.id(this.options.prevLink);var c=document.id(this.options.nextLink);var a=this.options.disabledLinkClass;if(b>0){if(d){d.removeClass(a)}if(b===this.slides.length-1&&c){c.addClass(a)}else{if(c){c.removeClass(a)}}}else{if(this.slides.length>0&&c){c.removeClass(a)}if(d){d.addClass(a)}}},forward:function(){if($type(this.now)&&this.now<this.slides.length-1){this.show(this.now+1)}else{if($type(this.now)&&this.options.wrap){this.show(0)}else{if(!$type(this.now)){this.show(this.options.startIndex)}}}this.fireEvent("next");ginf(this.now+1-1);return this},back:function(){if(this.now>0){this.show(this.now-1);ginf(this.now-2);this.fireEvent("onPrev")}else{if(this.options.wrap&&this.slides.length>1){this.show(this.slides.length-1);this.fireEvent("prev");ginf(this.now-2)}}return this},show:function(c){if(this.showing){return this.chain(this.show.bind(this,c))}var b=this.now;var d=this.slides[c];function a(f,g){f.setStyle("display","block");if(!Browser.Engine.trident4){if(g){f.setStyle("opacity",0)}f.set("tween",this.options.crossFadeOptions).get("tween").start("opacity",1).chain(function(){this.showing=false;this.disableLinks();this.callChain();this.fireEvent("onSlideDisplay",c)}.bind(this))}}if(d){if($type(this.now)&&this.now!=c){if(!Browser.Engine.trident4){var e=this.slides[this.now].get("tween");e.setOptions(this.options.crossFadeOptions);this.showing=true;e.start("opacity",0).chain(function(){this.slides[b].setStyle("display","none");d.addClass(this.options.currentSlideClass);a.run([d,true],this);this.fireEvent("onSlideDisplay",c)}.bind(this))}else{this.slides[this.now].setStyle("display","none");a.run(d,this)}}else{a.run(d,this)}this.now=c;this.setCounters()}},slideClick:function(){this.fireEvent("onSlideClick",[this.slides[this.now],this.now])}});SimpleSlideShow.Carousel=new Class({Extends:SimpleSlideShow,Implements:[Class.ToElement],Binds:["makeSlide"],options:{sliderWidth:999999},initialize:function(a,b){this.setOptions(b);this.container=document.id(a);this.element=new Element("div").wraps(this.container).setStyles({width:this.container.getSize().x,overflow:"hidden",position:"relative"});this.container.setStyles({width:this.options.sliderWidth,position:"relative"});this.parent(b)},makeSlides:function(a){this.slides=[];a.each(this.makeSlide)},makeSlide:function(a){if(a.retrieve("slideSetup")){return}a.store("slideSetup",true);a.show();var b=new Element("div",{styles:{"float":"left",width:document.id(this).getSize().x}}).wraps(a);this.parent(b);this.slides.erase(a);this.setCounters();b.show();b.inject(this.container)},show:function(b){if(!this.container){return}this.fx=this.fx||new Fx.Tween(this.container.setStyle("left",0),$merge({property:"left"},this.options.crossFadeOptions));if(this.showing){return this.chain(this.show.bind(this,b))}var a=this.now;var c=this.slides[b];if(c){if(this.now!=b){this.fx.start(-c.getPosition(this.container).x).chain(function(){c.addClass(this.options.currentSlideClass);this.showing=false;this.disableLinks();this.callChain();this.fireEvent("onSlideDisplay",b)}.bind(this))}this.now=b;this.setCounters()}}});var SimpleImageSlideShow;(function(){var a=function(c,b){return{Extends:c,Implements:Class.ToElement,options:{imgUrls:[],imgClass:"screenshot",container:false},initialize:function(){var d=Array.link(arguments,{options:Object.type,container:$defined});this.container=document.id(d.container)||(d.options?document.id(d.options.container):false);if(b){this.parent(this.container,d.options)}else{this.parent(d.options)}this.options.imgUrls.each(function(e){this.addImg(e)},this);this.show(this.options.startIndex)},addImg:function(e){if(this.container){var d=new Element("img",{src:e,id:this.options.imgClass+this.slides.length}).addClass(this.options.imgClass).setStyle("display","none").inject(this.container).addEvent("click",this.slideClick.bind(this));this.slides.push(d);this.makeSlide(d);this.setCounters()}return this}}};SimpleImageSlideShow=new Class(a(SimpleSlideShow));SimpleImageSlideShow.Carousel=new Class(a(SimpleSlideShow.Carousel,true))})();var TabSwapper=new Class({Implements:[Options,Events],options:{selectedClass:"tabSelected",mouseoverClass:"tabOver",deselectedClass:"",rearrangeDOM:true,initPanel:0,smooth:false,smoothSize:false,maxSize:null,effectOptions:{duration:500},cookieName:null,cookieDays:999},tabs:[],sections:[],clickers:[],sectionFx:[],initialize:function(a){this.setOptions(a);var b=this.setup();if(b){return b}if(this.options.cookieName&&this.recall()){this.show(this.recall().toInt())}else{this.show(this.options.initPanel)}},setup:function(){var a=this.options;sections=$$(a.sections);tabs=$$(a.tabs);if(tabs[0]&&tabs[0].retrieve("tabSwapper")){return tabs[0].retrieve("tabSwapper")}clickers=$$(a.clickers);tabs.each(function(c,b){this.addTab(c,sections[b],clickers[b],b)},this)},addTab:function(c,d,a,b){c=document.id(c);a=document.id(a);d=document.id(d);if(this.tabs.indexOf(c)>=0&&c.retrieve("tabbered")&&this.tabs.indexOf(c)!=b&&this.options.rearrangeDOM){this.moveTab(this.tabs.indexOf(c),b);return this}if(!$defined(b)){b=this.tabs.length}if(b>0&&this.tabs[b-1]&&this.options.rearrangeDOM){c.inject(this.tabs[b-1],"after");d.inject(this.tabs[b-1].retrieve("section"),"after")}this.tabs.splice(b,0,c);a=a||c;c.addEvents({mouseout:function(){c.removeClass(this.options.mouseoverClass)}.bind(this),mouseover:function(){c.addClass(this.options.mouseoverClass)}.bind(this)});a.addEvent("click",function(g){g.preventDefault();this.show(b);try{$$(".fc-tbx table").each(function(e){e.hide()})}catch(f){}}.bind(this));c.store("tabbered",true);c.store("section",d);c.store("clicker",a);this.hideSection(b);return this},removeTab:function(b){var a=this.tabs[this.now];if(this.now==b){if(b>0){this.show(b-1)}else{if(b<this.tabs.length){this.show(b+1)}}}this.now=this.tabs.indexOf(a);return this},moveTab:function(h,g){var c=this.tabs[h];var b=c.retrieve("clicker");var e=c.retrieve("section");var a=this.tabs[g];var f=a.retrieve("clicker");var d=a.retrieve("section");this.tabs.erase(c).splice(g,0,c);c.inject(a,"before");b.inject(f,"before");e.inject(d,"before");return this},show:function(a){if(!$chk(this.now)){this.tabs.each(function(c,b){if(a!=b){this.hideSection(b)}},this)}this.showSection(a).save(a);return this},save:function(a){if(this.options.cookieName){Cookie.write(this.options.cookieName,a,{duration:this.options.cookieDays})}return this},recall:function(){return(this.options.cookieName)?$pick(Cookie.read(this.options.cookieName),false):false},hideSection:function(a){var c=this.tabs[a];if(!c){return this}var b=c.retrieve("section");if(!b){return this}if(b.getStyle("display")!="none"){this.lastHeight=b.getSize().y;b.setStyle("display","none");c.swapClass(this.options.selectedClass,this.options.deselectedClass);this.fireEvent("onBackground",[a,b,c])}return this},showSection:function(a){var e=this.tabs[a];if(!e){return this}var b=e.retrieve("section");if(!b){return this}var f=this.options.smooth&&!Browser.Engine.trident4;if(this.now!=a){if(!e.retrieve("tabFx")){e.store("tabFx",new Fx.Morph(b,this.options.effectOptions))}var h=b.getStyle("overflow");var g={display:"block",overflow:"hidden"};if(f){g.opacity=0}var d=false;if(f){d={opacity:1}}else{if(b.getStyle("opacity").toInt()<1){b.setStyle("opacity",1);if(!this.options.smoothSize){this.fireEvent("onActiveAfterFx",[a,b,e])}}}if(this.options.smoothSize){var c=b.getDimensions().height;if($chk(this.options.maxSize)&&this.options.maxSize<c){c=this.options.maxSize}if(!d){d={}}d.height=c}if($chk(this.now)){this.hideSection(this.now)}if(this.options.smoothSize&&this.lastHeight){g.height=this.lastHeight}b.setStyles(g);if(d){e.retrieve("tabFx").start(d).chain(function(){this.fireEvent("onActiveAfterFx",[a,b,e]);b.setStyles({height:this.options.maxSize==d.height?this.options.maxSize:"auto",overflow:h});b.getElements("input, textarea").setStyle("opacity",1)}.bind(this))}this.now=a;this.fireEvent("onActive",[a,b,e])}e.swapClass(this.options.deselectedClass,this.options.selectedClass);return this}});
var MultipleOpenAccordion = new Class({
	Implements: [Options, Events, Chain],
	options: {
		togglers: [],
		elements: [],
		openAll: false,
		firstElementsOpen: [0],
		fixedHeight: false,
		fixedWidth: false,
		height: true,
		opacity: true,
		width: false
//	onActive: $empty,
//	onBackground: $empty
	},
	togglers: [],
	elements: [],
	initialize: function(options){
		var args = Array.link(arguments, {options: Object.type, elements: Array.type});
		this.setOptions(args.options);
		elements = $$(this.options.elements);
		$$(this.options.togglers).each(function(toggler, idx){
			this.addSection(toggler, elements[idx], idx);
		}, this);
		if (this.togglers.length) {
			if (this.options.openAll) this.showAll();
			else this.toggleSections(this.options.firstElementsOpen, false, true);
		}
		this.openSections = this.showSections.bind(this);
		this.closeSections = this.hideSections.bind(this);
	},
	addSection: function(toggler, element){
		toggler = document.id(toggler);
		element = document.id(element);
		var test = this.togglers.contains(toggler);
		var len = this.togglers.length;
		this.togglers.include(toggler);
		this.elements.include(element);
		var idx = this.togglers.indexOf(toggler);
		toggler.addEvent('click', this.toggleSection.bind(this, idx));
		var mode;
		if (this.options.height && this.options.width) mode = "both";
		else mode = (this.options.height)?"vertical":"horizontal";
		element.store('reveal', new Fx.Reveal(element, {
			transitionOpacity: this.options.opacity,
			mode: mode,
			heightOverride: this.options.fixedHeight,
			widthOverride: this.options.fixedWidth
		}));
		return this;
	},
	onComplete: function(idx, callChain){
		this.fireEvent(this.elements[idx].isDisplayed()?'onActive':'onBackground', [this.togglers[idx], this.elements[idx]]);
		this.callChain();
		return this;
	},
	showSection: function(idx, useFx){
		this.toggleSection(idx, useFx, true);
	},
	hideSection: function(idx, useFx){
		this.toggleSection(idx, useFx, false);
	},
	toggleSection: function(idx, useFx, show, callChain){
		var method = show?'reveal':$defined(show)?'dissolve':'toggle';
		callChain = $pick(callChain, true);
		var el = this.elements[idx];
		if ($pick(useFx, true)) {
			el.retrieve('reveal')[method]().chain(
				this.onComplete.bind(this, [idx, callChain])
			);
		} else {
				if (method == "toggle") el.togglek();
				else el[method == "reveal"?'show':'hide']();
				this.onComplete(idx, callChain);
		}
		return this;
	},
	toggleAll: function(useFx, show){
		var method = show?'reveal':$chk(show)?'disolve':'toggle';
		var last = this.elements.getLast();
		this.elements.each(function(el, idx){
			this.toggleSection(idx, useFx, show, el == last);
		}, this);
		return this;
	},
	toggleSections: function(sections, useFx, show) {
		last = sections.getLast();
		this.elements.each(function(el,idx){
			this.toggleSection(idx, useFx, sections.contains(idx)?show:!show, idx == last);
		}, this);
		return this;
	},
	showSections: function(sections, useFx){
		sections.each(function(i){
			this.showSection(i, useFx);
		}, this);
	},
	hideSections: function(sections, useFx){
		sections.each(function(i){
			this.hideSection(i, useFx);
		}, this);
	},
	showAll: function(useFx){
		return this.toggleAll(useFx, true);
	},
	hideAll: function(useFx){
		return this.toggleAll(useFx, false);
	}
});


var divScroller = new Class({
	
	Implements: Options,
	
		options: {
			offset: 20,
			scrollElement: document
		},

	initialize: function(element, options) {
		this.setOptions(options);
		this.element = document.id(element);
		this.scrollElement = document.id(this.options.scrollElement);
		this.originalPosition = this.element.getPosition();
		this.bound = {
			scroll: this.scroll.bind(this),
			resize: this.resize.bind(this)
		};
		this.attachWindow();
		this.checkHeight();
	},
	
	attachScroll: function(){
		this.scrollElement.addEvent('scroll', this.bound.scroll);
		return this;
	},
	
	attachWindow: function(){
		window.addEvent('resize', this.bound.resize);
		return this;
	},
			
	detachScroll: function(){
		this.scrollElement.removeEvent('scroll', this.bound.scroll);
		return this;
	},
	
	detachWindow: function(){
		window.removeEvent('resize', this.bound.resize);
		return this;
	},
	
	checkHeight: function(){
		if(document.getSize().y < this.element.getSize().y) {
			this.detachScroll().reset();
		} else {
			this.attachScroll().scroll();
		}
		return this;
	},
	
	isPinned: function(){
		return (this.element.retrieve('pinned'));
	},
	
	scroll: function(){
		var collision = (this.scrollElement.getScroll().y >= this.originalPosition.y - this.options.offset);
		var isPinned = this.isPinned();
		if(collision) {
			if(!isPinned) {
				this.element.pin().setStyle('top', this.options.offset.toInt());
			};
		} else {
			if(isPinned) this.reset();
		};
		return this;
	},
	
	resize: function(){
		if(this.isPinned()) this.reset();
		this.checkHeight();
		return this;
	},
	
	reset: function(){
		if(this.isPinned()) this.element.unpin().setStyle('position','');
	}
});

