
/*-----------------------------------------------------------------------------------------------*/
var obj = new wp_Cookie({ expires : 1, expires_unit : "weeks" });

var expander = Class.create();
expander.prototype = {

	initialize: function(container,options) {
		if (!$(container)) {
			return false;
		}
		
		this.options = Object.extend({
			speed : 10,
			classNames : {
				toggle : 'expander-toggle',
				toggleActive : 'expanded',
				content : 'expander-content'
			}
		}, options || {});
		
		this.duration = ((11-this.options.speed)*0.15);

		var toggles = $$('#'+container+' .'+this.options.classNames.toggle);
		toggles.each(function(toggle) {
			Event.observe(toggle, 'click', this.toggle.bind(this,toggle), false);
			toggle.onclick = function() {return false;};
			this.startup(toggle);
		}.bind(this));
		
		
	},
	
	toggle : function(toggle) {
		if ($(toggle).hasClassName(this.options.classNames.toggleActive)) {
			this.deactivate(toggle);
		} else {
			this.activate(toggle,true);
		}
	},
	
	activate : function(toggle,animate) {
		$(toggle).addClassName(this.options.classNames.toggleActive);
		var content = $(toggle).next('.'+this.options.classNames.content);
		
		new Effect.BlindDown(content, {
		  duration: this.duration
		});
		
	},
	
	deactivate : function(toggle) {
		$(toggle).removeClassName(this.options.classNames.toggleActive);
		var content = $(toggle).next('.'+this.options.classNames.content);
		
		new Effect.BlindUp(content, {
		  duration: this.duration
		});
	},
	
	startup : function(toggle) {
		if ($(toggle).hasClassName(this.options.classNames.toggleActive)) {
			this.activate(toggle,true);
		} else {
			this.deactivate(toggle);
		}
	}
	
}


var f_expander = Class.create();
f_expander.prototype = {

	initialize: function(container,options) {
		if (!$(container)) {
			return false;
		}
		
		this.options = Object.extend({
			speed : 10,
			mainContent : 'content',
			toggle : 'footer-toggle-button',
			content : 'footer-top',
			toggleActive : 'expanded',
			closeHeight : 0,
			openHeight : 0,
			closeMargin : 0,
			openMargin : 0
		}, options || {});
		
		
		
		var myvar = obj.get("footerup");
		if(!myvar){
			obj.set("footerup","true");
			myvar = obj.get("footerup");
		}
		
		this.duration = ((11-this.options.speed)*0.15);
		
		var toggle = $(this.options.toggle);
		Event.observe(toggle, 'click', this.toggle.bind(this,toggle), false);
		toggle.onclick = function() {return false;};
		this.startup(toggle);
		
		var content = $(this.options.content);
		$(content).setStyle({display:'block'});

		$(content).setStyle({
			height:'0px',
			display:'block',
			overflow:'hidden'
		});
		
		this.container = container;
		
	},
	
	toggle : function(toggle) {
		if ($(toggle).hasClassName(this.options.toggleActive)) {
			this.deactivate(toggle);
		} else {
			this.activate(toggle,true);
		}
	},
	
	activate : function(toggle,animate) {
		obj.set("footerup","true");
		$(toggle).addClassName(this.options.toggleActive);
		var content = $(this.options.content);
		var mainContent = $(this.options.mainContent);
		
		if(animate){
			new Effect.Morph(content, {
			  style: 'height: '+this.options.openHeight+'px;', 
			  duration: this.duration
			});
			new Effect.Morph(mainContent, {
			  style: 'margin-bottom: 260px;', 
			  duration: this.duration
			});
			new Effect.Morph(this.container, {
			  style: 'margin-top: '+this.options.openMargin+'px;', 
			  duration: this.duration
			});
		} else {
			$(content).setStyle({
				'height' : $(content).origHeight+'px'
			});
		}
		
	},
	
	deactivate : function(toggle) {
		obj.set("footerup","false");
		$(toggle).removeClassName(this.options.toggleActive);
		var content = $(this.options.content);
		var mainContent = $(this.options.mainContent);
		
		new Effect.Morph(content, {
		  style: 'height: '+this.options.closeHeight+'px;',
		  duration: this.duration
		});
		new Effect.Morph(mainContent, {
		  style: 'margin-bottom: 80px;', 
		  duration: this.duration
		});
		new Effect.Morph(this.container, {
		  style: 'margin-top: '+this.options.closeMargin+'px;',
		  duration: this.duration
		});	
	},
	
	startup : function(toggle) {
		if ($(toggle).hasClassName(this.options.toggleActive)) {
			this.activate(toggle,true);
		} else {
			this.deactivate(toggle);
		}
	}
	
}
	