var isExtended = Cookie.get('sidebar_extended') == "1" ? 1 : 0;
var height = 200;
var width = 130;
var slideDuration = 1000;
var opacityDuration = 1500;
var showOpenAnimationOnPageLoad = 1;

function extendContract(){
	var obj = $('sideBarTab');
	
	if(obj.childNodes && obj.childNodes.length) {
		obj = obj.childNodes[0];
	} else {
		obj = null;
	}
	
	if(isExtended == 0){
		sideBarSlide(0, height, 0, width);
		sideBarOpacity(0, 1);
		
		isExtended = 1;
		
		if(obj!=null && obj.src!=null) {
			// make expand tab arrow image face left (inwards)
			obj.src = obj.src.replace(/(\.[^.]+)$/, '-active$1');
		}
	}else{
		sideBarSlide(height, 0, width, 0);
		sideBarOpacity(1, 0);
		
		isExtended = 0;
		
		if(obj!=null && obj.src!=null) {
			// make expand tab arrow image face right (outwards)
			obj.src = obj.src.replace(/-active(\.[^.]+)$/, '$1');
		}
	}
	Cookie.set('sidebar_extended', isExtended ? "1" : "0", {duration:365, path: "/"});
}

function sideBarSlide(fromHeight, toHeight, fromWidth, toWidth){
		var myEffects = new Fx.Styles('sideBarContents', {duration: slideDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'height': [fromHeight, toHeight],
			 'width': [fromWidth, toWidth]
		});
}

function sideBarOpacity(from, to){
		var myEffects = new Fx.Styles('sideBarContents', {duration: opacityDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'opacity': [from, to]
		});
}

function init(){
	$('sideBarTab').addEvent('click', function(){extendContract()});
	
	if(isExtended) {
	    var slideDurationAfterLoad = slideDuration;
	    var opacityDurationAfterLoad = opacityDuration;
	    if(!showOpenAnimationOnPageLoad) {
		slideDuration = 0;
		opacityDuration = 0;
	    }
	    isExtended = 0;
	    extendContract();
	    slideDuration = slideDurationAfterLoad;
	    opacityDuration = opacityDurationAfterLoad;
	}
}

window.addEvent('load', function(){init()});