var idNames = new Array('login','categories','saleItems','searchbox','shoppingcart','featured','popular','secureSite','mailinglist', 'siteDocsLeft', 'cartNavi');
var theRules = {
		'#categories h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('categories-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('categories-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#saleItems h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('saleItems-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('saleItems-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#login h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('login-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('login-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},

		'#searchbox h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('searchbox-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('searchbox-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#shoppingcart h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('shoppingcart-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('shoppingcart-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#featured h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('featured-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('featured-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#popular h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('popular-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('popular-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#secureSite h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('secureSite-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('secureSite-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#cartNavi h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('cartNavi-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('cartNavi-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#siteDocsLeft h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('siteDocsLeft-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('siteDocsLeft-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
				}
			}		
		},
		'#mailinglist h3' : function(el){
			el.onclick = function(){
				if (Element.hasClassName(this, 'invisible')) {
					new Effect.BlindDown('mailinglist-body');
					Element.removeClassName(this, 'invisible');
					setCookie(this.parentNode.id, '', 365);
				} else {
					new Effect.BlindUp('mailinglist-body');
					Element.addClassName(this, 'invisible');
					setCookie(this.parentNode.id, 'invisible', 365);
			}
		}		
	}
};

Behaviour.register(theRules);
Behaviour.addLoadEvent(do_onload);

function do_onload() {
		
		// Id names of all the "boxes"
		boxIds = $("login","categories","saleItems","searchbox","shoppingcart","featured","popular","secureSite","mailinglist", "siteDocsLeft", "cartNavi");	
		
		for (i = 0; i < boxIds.length; i++) {
			if (boxIds[i]) {
				cookieValue = readCookie(boxIds[i].id);
				if (cookieValue == 'invisible') {
					var h3 = boxIds[i].getElementsByTagName('h3');
					Element.addClassName(h3[0], 'invisible');
					var kids = boxIds[i].childNodes;
					for (j = 1; j < kids.length; j++) {
						if (kids[j].id) {
							Element.hide(kids[j]);
						}
					}
				}
			}		
		}	
	}
	
	function setCookie(name,value,days) {
	 if (days) {
		 var date = new Date();
		 date.setTime(date.getTime()+(days*24*60*60*1000));
		 var expires = ";expires="+date.toGMTString();
	 } else {
		 expires = "";
	 }
	 document.cookie = name+"="+value+expires+";path=/";
	}
		
	function readCookie(name) {
	 var needle = name + "=";
	 var cookieArray = document.cookie.split(';');
	 for(var i=0;i < cookieArray.length;i++) {
		 var pair = cookieArray[i];
		 while (pair.charAt(0)==' ') {
			 pair = pair.substring(1, pair.length);
		 }
		 if (pair.indexOf(needle) == 0) {
			 return pair.substring(needle.length, pair.length);
		 }
	 }
	 return null;
	}
