//////////////////////////////////////////////////////// //Cookie Manipulation //////////////////////////////////////////////////////// function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : ""); } function DeleteCookie (name) { var exp = new Date(); exp.setTime (exp.getTime() - 1); var cval = GetCookie (name); document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString(); } function getCookieVal(offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } //////////////////////////////////////////////////////// //////////////////////////////////////////////////////// /* Script by: www.jtricks.com * Version: 20071127 * Latest version: * www.jtricks.com/javascript/navigation/fixed_menu.html */ fixedMenuId = 'fixeddiv'; var fixedMenu = { hasInner: typeof(window.innerWidth) == 'number', hasElement: document.documentElement != null && document.documentElement.clientWidth, menu: document.getElementById ? document.getElementById(fixedMenuId) : document.all ? document.all[fixedMenuId] : document.layers[fixedMenuId] }; fixedMenu.computeShifts = function() { fixedMenu.shiftX = fixedMenu.hasInner ? pageXOffset : fixedMenu.hasElement ? document.documentElement.scrollLeft : document.body.scrollLeft; if (fixedMenu.targetLeft > 0) fixedMenu.shiftX += fixedMenu.targetLeft; else { fixedMenu.shiftX += (fixedMenu.hasElement ? document.documentElement.clientWidth : fixedMenu.hasInner ? window.innerWidth - 20 : document.body.clientWidth) - fixedMenu.targetRight - fixedMenu.menu.offsetWidth; } fixedMenu.shiftY = fixedMenu.hasInner ? pageYOffset : fixedMenu.hasElement ? document.documentElement.scrollTop : document.body.scrollTop; if (fixedMenu.targetTop > 0) fixedMenu.shiftY += fixedMenu.targetTop; else { fixedMenu.shiftY += (fixedMenu.hasElement ? document.documentElement.clientHeight : fixedMenu.hasInner ? window.innerHeight - 20 : document.body.clientHeight) - fixedMenu.targetBottom - fixedMenu.menu.offsetHeight; } }; fixedMenu.moveMenu = function() { fixedMenu.computeShifts(); if (fixedMenu.currentX != fixedMenu.shiftX || fixedMenu.currentY != fixedMenu.shiftY) { fixedMenu.currentX = fixedMenu.shiftX; fixedMenu.currentY = fixedMenu.shiftY; if (document.layers) { fixedMenu.menu.left = fixedMenu.currentX; fixedMenu.menu.top = fixedMenu.currentY; } else { fixedMenu.menu.style.left = fixedMenu.currentX + 'px'; fixedMenu.menu.style.top = fixedMenu.currentY + 'px'; } } fixedMenu.menu.style.right = ''; fixedMenu.menu.style.bottom = ''; }; fixedMenu.floatMenu = function() { fixedMenu.moveMenu(); setTimeout('fixedMenu.floatMenu()', 20); }; // addEvent designed by Aaron Moore fixedMenu.addEvent = function(element, listener, handler) { if(typeof element[listener] != 'function' || typeof element[listener + '_num'] == 'undefined') { element[listener + '_num'] = 0; if (typeof element[listener] == 'function') { element[listener + 0] = element[listener]; element[listener + '_num']++; } element[listener] = function(e) { var r = true; e = (e) ? e : window.event; for(var i = 0; i < element[listener + '_num']; i++) if(element[listener + i](e) === false) r = false; return r; } } //if handler is not already stored, assign it for(var i = 0; i < element[listener + '_num']; i++) if(element[listener + i] == handler) return; element[listener + element[listener + '_num']] = handler; element[listener + '_num']++; }; fixedMenu.supportsFixed = function() { var testDiv = document.createElement("div"); testDiv.id = "testingPositionFixed"; testDiv.style.position = "fixed"; testDiv.style.top = "0px"; testDiv.style.right = "0px"; document.body.appendChild(testDiv); var offset = 1; if (typeof testDiv.offsetTop == "number" && testDiv.offsetTop != null && testDiv.offsetTop != "undefined") { offset = parseInt(testDiv.offsetTop); } if (offset == 0) { return true; } return false; }; fixedMenu.init = function() { if (fixedMenu.supportsFixed()) fixedMenu.menu.style.position = "fixed"; else { var ob = document.layers ? fixedMenu.menu : fixedMenu.menu.style; fixedMenu.targetLeft = parseInt(ob.left); fixedMenu.targetTop = parseInt(ob.top); fixedMenu.targetRight = parseInt(ob.right); fixedMenu.targetBottom = parseInt(ob.bottom); if (document.layers) { menu.left = 0; menu.top = 0; } fixedMenu.addEvent(window, 'onscroll', fixedMenu.moveMenu); fixedMenu.floatMenu(); } }; fixedMenu.addEvent(window, 'onload', fixedMenu.init);