/* Eitido (c) 2011 - Norman Geiersbach */
var MoreSwitch=new Class({Implements:[Options],options:{host:null,readMoreText:'read more',readLessText:'read less',fx:{duration:'normal',link:'cancel',transition:'linear'}},id:null,elements:{container:null,content:null,toggle:null},height:0,isHidden:false,initialize:function(options){this.setOptions(options);this.generate();},generate:function(){var host=$type(this.options.host)=='string'?$(this.options.host):this.options.host;if(host==null)return false;this.elements.container=host.getElement('.more-content');if(this.elements.container==null)return false;this.elements.container.setStyle('overflow','hidden')
this.height=this.elements.container.getSize().y;this.isHidden=true;this.elements.toggle=new Element('a',{'href':'#','text':this.options.readMoreText}).addClass('more-toggle').addClass('more-toggle-on').addEvent('click',function(){this.toggle();return false;}.bindWithEvent(this));this.fx=new Fx.Tween(this.elements.container.setStyle('height','0'),{duration:this.options.fx.duration,link:this.options.fx.link,transition:this.options.fx.transition}).addEvent('complete',function(){this.update();}.bindWithEvent(this));this.elements.toggle.inject(this.elements.container,'before');},toggle:function(){if(this.elements.container==null)return false;this.fx.start('height',this.isHidden?this.height:0);this.isHidden=!this.isHidden;},update:function(){if(this.elements.toggle==null)return false;if(this.isHidden){this.elements.toggle.set('text',this.options.readMoreText);this.elements.toggle.addClass('more-toggle-on');this.elements.toggle.removeClass('more-toggle-off');}else{this.elements.toggle.set('text',this.options.readLessText);this.elements.toggle.addClass('more-toggle-off');this.elements.toggle.removeClass('more-toggle-on');}}});
