$(function()
{
	var sitemap, gutters, a, gutter, closed, className, ret;
	// gutters are open by default
	
	$('.gutterbutton').click(function(e)
	{
		if (window.ItemMan && ItemMan.isEditing()) return;
		toggleGutter(this.parentNode);
	});
	
	sitemapButtons = $('#opensitemap, #closesitemap');
	sitemapButtons.click(function(e)
	{
		if (window.ItemMan && ItemMan.isEditing()) return;
		toggleGutter($('#sitemapgutter').get(0));
	});
	
	
	sitemap = $('#sitemapgutter').get(0);
	sitemap._closed = true;
	classAppend(sitemap, 'gutterClosed');
	$(sitemap).width(1);
	if (readCookie("gutter_sitemapgutter") === null)
	{
		createCookie("gutter_sitemapgutter", "1", 1);
	}
	
	
	gutters = $('.gutter');
	for (a = 0; a < gutters.length; a++)
	{
		gutter = gutters.get(a);
		
		className = ' ' + gutter.className + ' ';
		ret = /\s+gutterSize(\d+)\s+/.exec(className);
		gutter._size = ret ? ret[1] : '200';
		ret = /\s+gutterMinSize(\d+)\s+/.exec(className);
		gutter._minSize = ret ? ret[1] : '1';
		
		gutter.style.overflow = "hidden"; // needed for jquery
		
		if (gutter.getAttribute('id'))
		{
			closed = readCookie("gutter_" + gutter.getAttribute('id')) == "1";
			
			gutter.style.width = (closed ? gutter._minSize : gutter._size) + "px";
			//$(gutter).width(closed ? gutter._minSize : gutter._size);
			if (closed != gutter._closed)
			{
				if (closed)
					classAppend(gutter, 'gutterClosed');
				
				gutter._closed = closed;
			}
		}
	}
	
	function toggleGutter(gutter)
	{
		var id;
		id = gutter.getAttribute('id');
		if (gutter._closed)
		{
			gutter._closed = false;
			if (id)
				createCookie("gutter_" + id, "0", 1);
			
			classRemove(gutter, 'gutterClosed');
			$(gutter).animate({
				width: gutter._size + "px"
			}, 500, "swing");
		}
		else
		{
			gutter._closed = true;
			if (id)
				createCookie("gutter_" + id, "1", 1);
			
			classAppend(gutter, 'gutterClosed');
			$(gutter).animate({
				width: gutter._minSize + "px"
			}, 500, "swing");
			
			
		}
	}
});