



// function setActiveStyleSheet(title) {
//   var i, a, main;
//   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
//     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
//       a.disabled = true;
//       if(a.getAttribute("title") == title) a.disabled = false;
//     }
//   }
// }
// 
// function getActiveStyleSheet() {
//   var i, a;
//   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
//     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
//   }
//   return null;
// }
// 
// function getPreferredStyleSheet() {
//   var i, a;
//   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
//     if(a.getAttribute("rel").indexOf("style") != -1
//        && a.getAttribute("rel").indexOf("alt") == -1
//        && a.getAttribute("title")
//        ) return a.getAttribute("title");
//   }
//   return null;
// }
// 
// function createCookie(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 nameEQ = name + "=";
//   var ca = document.cookie.split(';');
//   for(var i=0;i < ca.length;i++) {
//     var c = ca[i];
//     while (c.charAt(0)==' ') c = c.substring(1,c.length);
//     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
//   }
//   return null;
// }
// 
// window.onload = function(e) {
//   var cookie = readCookie("style");
//   var title = cookie ? cookie : getPreferredStyleSheet();
//   setActiveStyleSheet(title);
// }
// 
// window.onunload = function(e) {
//   var title = getActiveStyleSheet();
//   createCookie("style", title, 365);
// }
// 
// var cookie = readCookie("style");
// var title = cookie ? cookie : getPreferredStyleSheet();
// setActiveStyleSheet(title);
// 
// 
// 
// // from http://www.kryogenix.org
// // by Scott Andrew - http://scottandrew.com
// // add an eventlistener to browsers that can do it somehow.
// function addEvent(obj, evType, fn)
// 	{
// 	if (obj.addEventListener)
// 		{
// 		obj.addEventListener(evType, fn, false);
// 		return true;
// 		}
// 	else if (obj.attachEvent)
// 		{
// 		var r = obj.attachEvent('on'+evType, fn);
// 		return r;
// 		}
// 	else
// 		{
// 		return false;
// 		}
// 	}
// 
// function floatImages()
// 	{
// 	// adapted from http://www.dithered.com/javascript/browser_detect/
// 	//**************************************************************//
// 	// sniff user agent
// 	var userAgent = navigator.userAgent.toLowerCase();
// 
// 	// if Mozilla 1.4 then quit
// 	if ((userAgent.indexOf('gecko') != -1) && (userAgent.indexOf('gecko/') + 14 == userAgent.length) && (parseFloat(userAgent.substring(userAgent.indexOf('rv:') + 3)) == '1.4')) return;
// 
// 	// if Opera then quit
// 	if (document.all && window.Event) return;
// 	//**************************************************************//
// 
// 	// check this browser can cope with what we want to do
// 	if (!document.getElementById) return;
// 	var blogDiv = document.getElementById('blog');
// 	if (!blogDiv) return;
// 	if (!blogDiv.offsetWidth) return;
// 
// 	blogDiv.className = (blogDiv.offsetWidth >= 500) ? "float-images" : "block-images";
// 	}
// 
// // Blockquote citations
// 
// // Simon Willison's work:
// // http://simon.incutio.com/archive/2002/12/20/#blockquoteCitations
// 
// // Also Dunstan Orchard's work:
// // http://1976design.com/blog/archive/2003/11/10/updates/
// function blockquoteCite()
// 	{
// 	if (!document.createElementNS)
// 		{
// 		document.createElementNS = function(ns, elt)
// 			{
// 			return document.createElement(elt);
// 			}
// 		}
// 	quotes = document.getElementsByTagName('blockquote');
// 	for (i = 0; i < quotes.length; i++)
// 		{
// 		var cite = quotes[i].getAttribute('cite');
// 		// value of cite attribute should only contain URI, not any other
// 		if ((cite) && (cite != ''))
// 			{
// 			newlink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
// 			newlink.setAttribute('href', cite);
// 			newlink.className = 'cite-link';
// 			newlink.appendChild(document.createTextNode(cite));
// 			newdiv = document.createElementNS('http://www.w3.org/1999/xhtml', 'cite');
// 			newdiv.className = 'blockquote-cite';
// 			newdiv.appendChild(document.createTextNode('Source: '));
// 			newdiv.appendChild(newlink);
// 			quotes[i].appendChild(newdiv);
// 			quotes[i].removeAttribute('cite');
// 			}
// 		}
// 	}
// 
// // Ins and Del tags citations
// function insdelCite()
// 	{
// 	if (!document.createElementNS)
// 		{
// 		document.createElementNS = function(ns, elt)
// 			{
// 			return document.createElement(elt);
// 			}
// 		}
// 	var insdel = new Array(2);
// 	insdel[0] = document.getElementsByTagName('ins');
// 	insdel[1] = document.getElementsByTagName('del');
// 	for (var i=0; i<insdel.length; i++)
// 		{
// 		if (insdel[i])
// 			{
// 			for (var id=0; id<insdel[i].length; id++)
// 				{
// 				var isdl = insdel[i][id].getAttribute('cite');
// 				if ((isdl) && (isdl != ""))
// 					{
// 					idlink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
// 					idlink.setAttribute('href', isdl);
// 					idlink.className = 'cite-link ' + (i == 0 ? 'ins-cite' : 'del-cite');
// 					idlink.setAttribute('title','citation of ' + (i == 0 ? 'added' : 'deleted') + ' text');
// 					idlink.appendChild(document.createTextNode('#'));
// 					insdel[i][id].appendChild(idlink);
// 					insdel[i][id].removeAttribute('cite');
// 					}
// 				}
// 			}
// 		}
// 	}
// 
// // Force IE not to show alternate text as tooltip
// function noAltTooltip()
// 	{
// 	images = document.getElementsByTagName('img');
// 	for (var i = 0; i < images.length; i++)
// 		{
// 		var title = images[i].getAttribute('title');
// 		var alt = images[i].getAttribute('alt');
// 		if ((document.all) && (alt) && (!title))
// 			{
// 			images[i].setAttribute('title', '');
// 			}
// 		}
// 	}
// 
// // Nice Titles
// 
// // original code by Stuart Langridge 2003-11
// // with additions to the code by other good people
// // http://www.kryogenix.org/code/browser/nicetitle/
// // thank you, sir
// 
// // modified by Peter Janes 2003-03-25
// // http://peterjanes.ca/blog/archives/2003/03/25/nicetitles-for-ins-and-del
// // added in ins and del tags
// 
// // modified by Dunstan Orchard 2003-11-18
// // http://1976design.com/blog/
// // added in accesskey information
// // tried ever-so-hard, but couldn't work out how to do what Ethan did
// 
// // final genius touch by by Ethan Marcotte 2003-11-18
// // http://www.sidesh0w.com/
// // worked out how to delay showing the popups to make them more like the browser's own
// 
// // set the namespace
// var XHTMLNS = 'http://www.w3.org/1999/xhtml';
// var CURRENT_NICE_TITLE;
// 
// // browser sniff
// var browser = new Browser();
// 
// // determine browser and version.
// function Browser()
// 	{
// 	var ua, s, i;
// 
// 	this.isIE = false;
// 	this.isNS = false;
// 	this.version = null;
// 
// 	ua = navigator.userAgent;
// 
// 	s = 'MSIE';
// 	if ((i = ua.indexOf(s)) >= 0)
// 		{
// 		this.isIE = true;
// 		this.version = parseFloat(ua.substr(i + s.length));
// 		return;
// 		}
// 
// 	s = 'Netscape6/';
// 	if ((i = ua.indexOf(s)) >= 0)
// 		{
// 		this.isNS = true;
// 		this.version = parseFloat(ua.substr(i + s.length));
// 		return;
// 		}
// 
// 	// treat any other 'Gecko' browser as NS 6.1.
// 	s = 'Gecko';
// 	if ((i = ua.indexOf(s)) >= 0)
// 		{
// 		this.isNS = true;
// 		this.version = 6.1;
// 		return;
// 		}
// 	}
// 
// // 2003-11-19 sidesh0w
// // set delay vars to emulate normal hover delay
// var delay;
// var interval = 0.60;
// 
// // this function runs on window load
// // it runs through all the links on the page as starts listening for actions
// function makeNiceTitles()
// 	{
// 	if (!document.createElement || !document.getElementsByTagName) return;
// 	if (!document.createElementNS)
// 		{
// 		document.createElementNS = function(ns, elt)
// 			{
// 			return document.createElement(elt);
// 			}
// 		}
// 
// 	// do regular links
// 	if (!document.links)
// 		{
// 		document.links = document.getElementsByTagName('a');
// 		}
// 	for (var ti=0; ti<document.links.length; ti++)
// 		{
// 		var lnk = document.links[ti];
// 		// * I added specific class names here..
// 		if (lnk.title)
// 			{
// 			lnk.setAttribute('nicetitle', lnk.title);
// 			lnk.removeAttribute('title');
// 			addEvent(lnk, 'mouseover', showDelay);
// 			addEvent(lnk, 'mouseout', hideNiceTitle);
// 			addEvent(lnk, 'focus', showDelay);
// 			addEvent(lnk, 'blur', hideNiceTitle);
// 			}
// 		}
// 
// 	// 2003-03-25 Peter Janes
// 	// do ins and del tags
// 	var tags = new Array(2);
// 	tags[0] = document.getElementsByTagName('ins');
// 	tags[1] = document.getElementsByTagName('del');
// 	for (var tt=0; tt<tags.length; tt++)
// 		{
// 		if (tags[tt])
// 			{
// 			for (var ti=0; ti<tags[tt].length; ti++)
// 				{
// 				var tag = tags[tt][ti];
// 				if (tag.dateTime)
// 					{
// 					var strDate = tag.dateTime;
// 					// HTML/ISO8601 date: yyyy-mm-ddThh:mm:ssTZD (Z, -hh:mm, +hh:mm)
// 					var month = strDate.substring(5,7);
// 					var day = strDate.substring(8,10);
// 					if (month[0] == '0')
// 						{
// 						month = month[1];
// 						}
// 					if (day[0] == '0')
// 						{
// 						day = day[1];
// 						}
// 					var dtIns = new Date(strDate.substring(0,4), month-1, day, strDate.substring(11,13), strDate.substring(14,16), strDate.substring(17,19));
// 					tag.setAttribute('nicetitle', (tt == 0 ? 'Added' : 'Deleted') + ' on ' + dtIns.toString());
// 					addEvent(tag, 'mouseover', showDelay);
// 					addEvent(tag, 'mouseout', hideNiceTitle);
// 					addEvent(tag, 'focus', showDelay);
// 					addEvent(tag, 'blur', hideNiceTitle);
// 					}
// 				}
// 			}
// 		}
// 	}
// 
// function findPosition(oLink)
// 	{
// 	if (oLink.offsetParent)
// 		{
// 		for (var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent)
// 			{
// 			posX += oLink.offsetLeft;
// 			posY += oLink.offsetTop;
// 			}
// 		return [posX, posY];
// 		}
// 	else
// 		{
// 		return [oLink.x, oLink.y];
// 		}
// 	}
// 
// function getParent(el, pTagName)
// 	{
// 	if (el == null)
// 		{
// 		return null;
// 		}
// 	// gecko bug, supposed to be uppercase
// 	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())
// 		{
// 		return el;
// 		}
// 	else
// 		{
// 		return getParent(el.parentNode, pTagName);
// 		}
// 	}
// 
// // 2003-11-19 sidesh0w
// // trailerpark wrapper function
// function showDelay(e)
// 	{
//     if (window.event && window.event.srcElement)
// 		{
//         lnk = window.event.srcElement
// 		}
// 	else if (e && e.target)
// 		{
//         lnk = e.target
// 		}
//     if (!lnk) return;
// 
// 	// lnk is a textnode or an elementnode that's not ins/del
//     if (lnk.nodeType == 3 || (lnk.nodeType == 1 && lnk.tagName.toLowerCase() != 'ins' && lnk.tagName.toLowerCase() != 'del'))
// 		{
// 		// ascend parents until we hit a link
// 		lnk = getParent(lnk, 'a');
// 		}
// 
// 	delay = setTimeout("showNiceTitle(lnk)", interval * 1000);
// 	}
// 
// // build and show the nice titles
// function showNiceTitle(link)
// 	{
//     if (CURRENT_NICE_TITLE) hideNiceTitle(CURRENT_NICE_TITLE);
//     if (!document.getElementsByTagName) return;
// 
//     nicetitle = lnk.getAttribute('nicetitle');
// 
//     var d = document.createElementNS(XHTMLNS, 'div');
//     d.className = 'nicetitle';
//     var dc = document.createElementNS(XHTMLNS, 'div');
//     dc.className = 'nicetitle-content';
//     d.appendChild(dc);
//     tnt = document.createTextNode(nicetitle);
//     pat = document.createElementNS(XHTMLNS, 'p');
//     pat.className = 'titletext';
//     pat.appendChild(tnt);
// 
// 	// 2003-11-18 Dunstan Orchard
// 	// added in accesskey info
// 	if (lnk.accessKey)
// 		{
//         axs = document.createTextNode(' [' + lnk.accessKey + ']');
// 		axsk = document.createElementNS(XHTMLNS, 'span');
//         axsk.className = 'accesskey';
//         axsk.appendChild(axs);
// 		pat.appendChild(axsk);
// 		}
//     dc.appendChild(pat);
// 
//     if (lnk.href)
// 		{
//         tnd = document.createTextNode(lnk.href);
//         pad = document.createElementNS(XHTMLNS, 'p');
//         pad.className = 'destination';
//         pad.appendChild(tnd);
//         dc.appendChild(pad);
// 		}
// 
//     STD_WIDTH = 300;
// 
// 	if (lnk.href)
// 		{
//         h = lnk.href.length;
// 		}
// 	else
// 		{
// 		h = nicetitle.length;
// 		}
// 
//     if (nicetitle.length)
// 		{
// 		t = nicetitle.length;
// 		}
// 
//     h_pixels = h*6;
// 	t_pixels = t*10;
// 
//     if (h_pixels > STD_WIDTH)
// 		{
//         w = h_pixels;
// 		}
// 	else if ((STD_WIDTH>t_pixels) && (t_pixels>h_pixels))
// 		{
//         w = t_pixels;
// 		}
// 	else if ((STD_WIDTH>t_pixels) && (h_pixels>t_pixels))
// 		{
//         w = h_pixels;
// 		}
// 	else
// 		{
//         w = STD_WIDTH;
// 		}
// 
//     d.style.width = w + 'px';
// 
//     mpos = findPosition(lnk);
//     mx = mpos[0];
//     my = mpos[1];
// 
//     d.style.left = (mx+15) + 'px';
//     d.style.top = (my+35) + 'px';
// 
//     if (window.innerWidth && ((mx+w) > window.innerWidth))
// 		{
//         d.style.left = (window.innerWidth - w - 25) + 'px';
// 		}
//     if (document.body.scrollWidth && ((mx+w) > document.body.scrollWidth))
// 		{
//         d.style.left = (document.body.scrollWidth - w - 25) + 'px';
// 		}
// 
//     document.getElementsByTagName('body')[0].appendChild(d);
// 
//     CURRENT_NICE_TITLE = d;
// 	}
// 
// function hideNiceTitle(e)
// 	{
// 	// 2003-11-19 sidesh0w
// 	// clearTimeout
// 	if (delay) clearTimeout(delay);
// 	if (!document.getElementsByTagName) return;
// 	if (CURRENT_NICE_TITLE)
// 		{
// 		document.getElementsByTagName('body')[0].removeChild(CURRENT_NICE_TITLE);
// 		CURRENT_NICE_TITLE = null;
// 		}
// 	}
// 
// addEvent(window, "load", floatImages);
// addEvent(window, "resize", floatImages);
// addEvent(window, "load", blockquoteCite);
// addEvent(window, "load", insdelCite);
// addEvent(window, "load", noAltTooltip);
// addEvent(window, "load", makeNiceTitles);