// Categories.js
// (C) Squirrel.be
// Author: Maarten Balliauw
//
// If you make use of this script without prior notice to the author,
// you are violencing the copyrights and intellectual property rights
// of Squirrel.be

// Settings
var srcbtminnc = "images/columns/open.gif";
var srcbtminc = "images/columns/closed.gif";
var cookienamelayout = 'sgnllayout';

// Page layout
var arr_layout = new Array();
var arr_layout_names = new Array();

// Minimize or maximize a certain category
function minimizer (categoryid, save) {
	var objTBL = 'document.all.T_'+ categoryid;
	var objIMG = 'document.all.I_'+ categoryid;

	if (arr_layout[categoryid] == 0) {
		if (save != 'no') {
			max(categoryid, objTBL, objIMG, save);
		} else {
			min(categoryid, objTBL, objIMG, save);
		}
	} else if (arr_layout[categoryid] == 1) {
		if (save != 'no') {
			min(categoryid, objTBL, objIMG, save);
		} else {
			max(categoryid, objTBL, objIMG, save);
		}
	} else {
		arr_layout_names[arr_layout_names.length] = categoryid;
		min(categoryid, objTBL, objIMG, save);
	}
}
function min (categoryID, objTBL, objIMG, save) {
	arr_layout[categoryID] = 0;
	if (eval(objIMG)) {
		eval(objTBL).style.display = 'none';
		eval(objIMG).src = srcbtminc;
		if (save != 'no') {
			savelayout();
		}
	}
}
function max (categoryID, objTBL, objIMG, save) {
	arr_layout[categoryID] = 1;
	if (eval(objIMG)) {
		eval(objTBL).style.display = 'block';
		eval(objIMG).src = srcbtminnc;
		if (save != 'no') {
			savelayout();
		}
	}
}

// Save the minimize and maximize layout in a cookie
function savelayout () {
	var arr_cookie = new Array();
	var cc = '';
	
	for (var i = 0; i < arr_layout_names.length; i++) {
		arr_cookie[i] = arr_layout_names[i] + '=' + arr_layout[arr_layout_names[i]];
	}

	cc = arr_cookie.join("&");
	delCookieVal(cookienamelayout);
	setCookie(cookienamelayout,cc);

	return true;
}

// Initialise the page layout
function initlayout () {
	var temp = new Array();
	var c = getCookie(cookienamelayout);

	if ((c.indexOf('&') != -1) && (c != '*')) {
		c = c.substr(1);
		temp = c.split("&");
		for (var i = 0; i < temp.length; i++) {
			var temp2 = new Array();
			temp2 = temp[i].split("=");
			arr_layout_names[i] = temp2[0];
			arr_layout[arr_layout_names[i]] = temp2[1];
		
			minimizer(arr_layout_names[i], 'no');
		}
	} else if (c != '*') {
		c = c.substr(1);
		var temp2 = new Array();
		temp2 = c.split("=");
		arr_layout_names[0] = temp2[0];
		arr_layout[arr_layout_names[0]] = temp2[1];
		minimizer(arr_layout_names[0], 'no');
	}
}

// Cookie handling	
function setCookie (cookiename, cookiecontents) {
  	var expire = new Date ();
  	document.cookie = cookiename + "= " + escape (cookiecontents) + "; expires=Tue, 01-Jan-2020 00:00:01 GMT; path=/; domain=.gedeelte.nl;"            
}
function getCookie (cookiename) {
	var i = 0;
  	while (i < document.cookie.length) {
    	var j = i + cookiename.length;
    	if (document.cookie.substring(i, j) == cookiename) {
    		var leng = document.cookie.indexOf (";", j);
    		if (leng == -1) leng = document.cookie.length;
    			return unescape(document.cookie.substring(j, leng));
    	}
    		i = document.cookie.indexOf(" ", i) + 1;
    		if (i == 0) break; 
	}
 	return "*";
}
function delCookie(cookiename) {
	document.cookie = cookiename + "=; expires=Thu, 01-Jan-70 00:00:01 GMT;";
	document.cookie = cookiename + "=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/; domain=.gedeelte.nl;";	
	window.location.reload();
	return true;
}
function delCookieVal(cookiename) {
	setCookie(cookiename,'');
	return true;
}
