//***************************************************************************** // 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; }