function initDetailsToggle() {
	try {
		var cookies = parseCookies();
		if( cookies!=null && cookies["showDetails"]!=null ) {
			showDetails = cookies["showDetails"]=="true";
		}
	} catch(e) {}
	setDetailsState( showDetails );
}

function insertDetailsButton() {
	document.write('<a accesskey="d" id="detailsButton" href="javascript:toggleDetails();"></a>');
}

function toggleDetails() {
	setDetailsState( !showDetails );
}

var showDetails = false;
function setDetailsState( state ) {
	showDetails = state;
	try {
		setCookie( "showDetails", showDetails, 365 );
	} catch( e ) {}
	var entry = document.getElementById("entry");
	if( entry!=null ) {
		entry.className = state?"long":null;
	}
	var btn = document.getElementById("detailsButton");
	if( btn!=null ) {
		if( btn.firstChild!=null ) btn.removeChild( btn.firstChild );
		btn.appendChild( document.createTextNode(showDetails?"Hide details":"Show details") );		
	}	
}

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  }
}

function parseCookies() {
	var cookies = new Array();
	var cookieSet = document.cookie.split(';');
	for( var i=0; i<cookieSet.length; i++ ) {
		var cookieStr = cookieSet[i]; var cookie = {}; var startIdx = 0;
		while( cookieStr.charAt(startIdx)==' ') startIdx++;
		cookie.name = cookieSet[i].substring( startIdx, cookieStr.indexOf('=') );
		cookie.value = cookieSet[i].substring( startIdx+cookie.name.length+1 );
		cookies[ cookie.name ] = cookie.value;
	}
	return cookies;
}

function setCookie( name, value, days, path ) {
	var expires;
	if( days ) {
		var expDate = new Date();
		expDate = new Date( expDate.getTime()+days*24*60*60*1000 );
		expires = expDate.toGMTString();
	} else {
		expires = null;
	}
	document.cookie = name+"="+value+"; path="+(path?path:"/")+(expires?"; expires="+expires:"");
}

addEvent( window, "load", initDetailsToggle, false );
