/*!======================================================================*\
|| #################################################################### ||
|| # vBulletin 4.0.6
|| # ---------------------------------------------------------------- # ||
|| # Copyright ©2000-2010 vBulletin Solutions Inc. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

vB_XHTML_Ready.subscribe(init_sidebar);

function init_sidebar()
{
	new vBSidebar();
}

function vBSidebar()
{
	this.init();
}

vBSidebar.prototype.init = function()
{
	this.sidebar_button = YAHOO.util.Dom.get('sidebar_button');
	this.sidebar_container = YAHOO.util.Dom.get('sidebar_container');
	this.sidebar = YAHOO.util.Dom.get('sidebar');
	this.content_container = YAHOO.util.Dom.get('content_container');
	this.content = YAHOO.util.Dom.get('content');

	YAHOO.util.Event.on(this.sidebar_button, "click", this.toggle_collapse, this, true);

	//
	var collapsed = fetch_cookie('vbulletin_sidebar_collapse');
	if (collapsed == '1')
	{
		this.collapse(false);
	}
}

vBSidebar.prototype.toggle_collapse = function(e)
{
	YAHOO.util.Event.stopEvent(e);
	
	if (YAHOO.util.Dom.getStyle(this.sidebar, "display") == "none")
	{
		this.expand();
	}
	else
	{
		this.collapse(true);
	}
	return false;
}

vBSidebar.prototype.collapse = function(doanim) {
	var sidebar_button = this.sidebar_button;
	if (doanim)
	{
		var myAnim = new YAHOO.util.Anim(this.sidebar, {opacity:{from:1,to:0}}, 0.3);
		myAnim.onComplete.subscribe(function (e, x, sidebarobj) {
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar, "display", "none");
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar_container, "width", "0");

			var myAnim2;
			if (sidebar_align == 'right')
			{
				myAnim2 = new YAHOO.util.Anim(sidebarobj.content_container, {marginRight:{to:0}}, 0.3);
				myAnim2.animate();
				myAnim2 = new YAHOO.util.Anim(sidebarobj.content, {marginRight:{to:0}}, 0.3);
				myAnim2.onComplete.subscribe(function () {
					YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-expanded.png');
				});
				myAnim2.animate();
			}
			else
			{
				myAnim2 = new YAHOO.util.Anim(sidebarobj.content_container, {marginLeft:{to:0}}, 0.3);
				myAnim2.animate();
				myAnim2 = new YAHOO.util.Anim(sidebarobj.content, {marginLeft:{to:0}}, 0.3);
				myAnim2.onComplete.subscribe(function () {
					YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-expanded-left.png');
				});
				myAnim2.animate();
			}
		}, this);
		myAnim.animate();
	}
	else
	{
		YAHOO.util.Dom.setStyle(this.sidebar, "display", "none");
		YAHOO.util.Dom.setStyle(this.sidebar_container, "width", "0");
		if (sidebar_align == 'right')
		{
			YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-expanded.png');
			YAHOO.util.Dom.setStyle(this.content_container, "marginRight", "0");
			YAHOO.util.Dom.setStyle(this.content, "marginRight", "0");
		}
		else
		{
			YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-expanded-left.png');
			YAHOO.util.Dom.setStyle(this.content_container, "marginLeft", "0");
			YAHOO.util.Dom.setStyle(this.content, "marginLeft", "0");
		}
	}
	this.save_collapsed('1');

}//collapse


vBSidebar.prototype.expand = function() {
	var myAnim;
	var sidebar_button = this.sidebar_button;
	if (sidebar_align == 'right')
	{
		myAnim = new YAHOO.util.Anim(this.content_container, {marginRight:{to:(0-content_container_margin)}}, 0.3);
		myAnim.animate();
		myAnim = new YAHOO.util.Anim(this.content, {marginRight:{to:content_container_margin}}, 0.3);
		myAnim.onComplete.subscribe(function (e, x, sidebarobj) {
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar, "display", "")
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar_container, "width", sidebar_width + "px");
			var myAnim2 = new YAHOO.util.Anim(sidebarobj.sidebar, {opacity:{from:0,to:1}}, 0.3);
			myAnim2.onComplete.subscribe(function () {
				YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-collapsed.png');
			});
			myAnim2.animate();
		}, this);
		myAnim.animate();
	}
	else
	{
		myAnim = new YAHOO.util.Anim(this.content_container, {marginLeft:{to:(0-content_container_margin)}}, 0.3);
		myAnim.animate();
		myAnim = new YAHOO.util.Anim(this.content, {marginLeft:{to:content_container_margin}}, 0.3);
		myAnim.onComplete.subscribe(function (e, x, sidebarobj) {
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar, "display", "")
			YAHOO.util.Dom.setStyle(sidebarobj.sidebar_container, "width", sidebar_width + "px");
			var myAnim2 = new YAHOO.util.Anim(sidebarobj.sidebar, {opacity:{from:0,to:1}}, 0.3);
			myAnim2.onComplete.subscribe(function () {
				YAHOO.util.Dom.setAttribute(sidebar_button, 'src', IMGDIR_MISC + '/tab-collapsed-left.png');
			});
			myAnim2.animate();
		}, this);
		myAnim.animate();
	}
	this.save_collapsed('0');
}//expand

vBSidebar.prototype.save_collapsed = function(status)
{
	expires = new Date();
	expires.setTime(expires.getTime() + (1000 * 86400 * 365));
	set_cookie('vbulletin_sidebar_collapse', status, expires);
}
