//*****************************************************************************
// Collapse of category function script.
//
// From "Aqua Soft.org skin ported to SMF"
// http://www.simplemachines.org/community/index.php?topic=30772.0
//*****************************************************************************

// figure out our browser type...

var dom_engine = '';
if (document.getElementById)
	dom_engine = 1;					// mozilla, opera etc..
else if (document.all)
	dom_engine = 0;					// IE (pls die, kthx)
else if (document.layers)
	dom_engine = 2;					// NS4, should never happen :P

var active_menu = "";
var mouse_over_menu = "";

function getObject(id)
{
	if(dom_engine == 1)
		obj = document.getElementById(id);
	else if(dom_engine == 0)
		obj = document.all[id];
	else if(dom_engine == 2)
		obj = document.layers[id];
		
	return obj;
}

function getCookieFromDocument(cookie_name)
{
	cname = cookie_name + "=";
	clength = document.cookie.length;
	begin = 0;
	
	while (begin < clength) {
	    vbegin = begin + cname.length;
	    if (document.cookie.substring(begin, vbegin) == cname) {
		var end = document.cookie.indexOf (";", vbegin);
		if (end == -1) {
		    end = clength;
		}
		return unescape(document.cookie.substring(vbegin, end));
	    }
	    begin = document.cookie.indexOf(" ", begin) + 1;
	    if (begin == 0)	{
		break;
	    }
	}
	return null;
}

function setCookieToDocument(cookie_name, cookie_expiredate, cookie_value)
{
    document.cookie=cookie_name+"="+escape(cookie_value)+"; expires="+cookie_expiredate.toGMTString()+"; path=/";
}

function saveObjectToCookie(obj, mode, cookiename)
{
	var already_collapsed=getCookieFromDocument(cookiename);
	var temp = new Array();
	cookieExpireDate = new Date();
	cookieExpireDate.setTime(cookieExpireDate.getTime() + 86400*1000*300);			// 300 days expiration date

	if (already_collapsed) {
	    already_collapsed = already_collapsed.split("\n");

	    for (i in already_collapsed) {
		if (already_collapsed[i] != obj && already_collapsed[i] != "")
		    temp[temp.length] = already_collapsed[i];
	    }
	}

	if (mode)
	    temp[temp.length] = obj;

	setCookieToDocument(cookiename, cookieExpireDate, temp.join("\n"));
}

function doCollapseObject(id, cookiename)
{
	obj = getObject(id);	
	imageid = getObject("img_" + id);
	tempobj = getObject(id);
			
	if (obj.style.display == "none") {	// object is collapsed, show it, clear the cookie
	    obj.style.display = "";
	    saveObjectToCookie(id, 0, cookiename);
	    if (imageid) {
		imageid.src = imageid.src.replace('expand_b.gif', 'collapse_b.gif');
	    }
	} else {				// hide the object, save it to the cookie
	    obj.style.display = "none";
	    saveObjectToCookie(id, 1, cookiename);
	    if (imageid) {
		imageid.src = imageid.src.replace('collapse_b.gif', 'expand_b.gif');
	    }
	}
	return false;
}


