function createCookie(name,value,days) {

	if (days) {

		var date = new Date();

		date.setTime(date.getTime()+(days*24*60*60*1000));

		var expires = "; expires="+date.toGMTString();

	}

	else var expires = "";

	document.cookie = name+"="+value+expires+"; path=/";

}



function readCookie(name) {

	var nameEQ = name + "=";

	var ca = document.cookie.split(';');

	for(var i=0;i < ca.length;i++) {

		var c = ca[i];

		while (c.charAt(0)==' ') c = c.substring(1,c.length);

		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);

	}

	return null;

}



function eraseCookie(name) {

	createCookie(name,"",-1);

}

		var Site = {
	
			start: function(){
				if($('vertical')) Site.vertical();
			},
			
			vertical: function(){
				var list = $$('#vertical li div.collapse');
				var headings = $$('#vertical li h3');
				var collapsibles = new Array();
			
				
				headings.each( function(heading, i) {
					
					var collapsible = new Fx.Slide(list[i], { 
						duration: 400, 
						transition: Fx.Transitions.linear,
						onComplete: function(request){ 
							var open = request.getStyle('margin-top').toInt()
							
							var myElement = $(window);
						
							
							if (!Browser.Engine.webkit){
				
								if(open >= 0) new Fx.Scroll(myElement).toElement(headings[i]);
							};
						}
					
							
					
					});
	
					
					collapsibles[i] = collapsible;
				
					
					if (readCookie("menu_"+i+"_"+document.title)) {
					
						collapsible.show();
						}
						else {
						collapsible.hide();
					
						}
					
					
					heading.onclick = function(){
						var span = $E('span', heading);
						
						
						if(span){
							var newHTML = span.innerHTML == '+' ? '-' : '+';
							span.setHTML(newHTML);
						}
						
						if (readCookie("menu_"+i+"_"+document.title)){
							eraseCookie("menu_"+i+"_"+document.title);		
						}
				    	else{
							createCookie("menu_"+i+"_"+document.title, "menu_"+i+"_"+document.title+"_expanded", 7);
						
						}
					
						
						collapsible.toggle();
						return false;
					}
					
					
					
										
					//collapsible.hide();
					
				});
				
				$('collapse-all').onclick = function(){
					headings.each( function(heading, i) {
						collapsibles[i].hide();
						
						if (readCookie("menu_"+i+"_"+document.title)){
							eraseCookie("menu_"+i+"_"+document.title);		
						};
						var span = $E('span', heading);
						if(span) span.setHTML('+');
					});
					return false;
				}
				
				$('expand-all').onclick = function(){
					headings.each( function(heading, i) {
						collapsibles[i].show();
						if (!readCookie("menu_"+i+"_"+document.title)){
							createCookie("menu_"+i+"_"+document.title, "menu_"+i+"_"+document.title+"_expanded", 7);		
						};
						var span = $E('span', heading);
						if(span) span.setHTML('-');
					});
					return false;
				}
			}
		};
		window.addEvent('domready', Site.start);