
var slimstatfile = '/slimstat-js/js.stats.php';

function SlimStat() {
	var ref = escape(document.referrer);
	var res = escape(document.URL);
	
	var img = document.createElement('img');
	img.setAttribute('id','slimstatimg');
	img.setAttribute('width','1');
	img.setAttribute('height','1');
	img.setAttribute('alt','');
	img.setAttribute('src',slimstatfile+'?ref='+ref+'&res='+res);
	if (document.documentElement) {
		document.documentElement.appendChild(img);
	} else {
		document.appendChild(img);
	}
}



MochiKit.Signal.connect(window, 'onload', 
	function(){
		
		// Style up Abbreviations in IE.
		styleAbbr();
		doForms();
		//expandColumns();
		
		// Create a slimstat image to record statistics
		SlimStat();
		
		emailAntiSpam(" at ", " dot ");
		
		window.location._oldhash = window.location.hash;
		
		// Listener for location change
		setInterval(function(){
			if(window.location._oldhash != window.location.hash)
			{
				window.location._oldhash = window.location.hash;
				MochiKit.Signal.signal(window.location, 'changeLocation');
			}
		
		}, 100);
		

		
		
		// Also record changes of hash location
		MochiKit.Signal.connect(window.location, 'changeLocation', SlimStat); // Trigger a SlimStat call
		
		
	}
);

function styleAbbr() {
  var oldBodyText, newBodyText, reg
  if (document.all) {
    oldBodyText = document.body.innerHTML;
    reg = /<ABBR([^>]*)>([^<]*)<\/ABBR>/g;
    newBodyText = oldBodyText.replace(reg, '<ABBR $1><SPAN class=\"abbr\" $1>$2</SPAN></ABBR>');
    document.body.innerHTML = newBodyText;
  }
}


function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function expandColumns() {

	document.getElementById('nav').style.height = document.getElementById('main_content').offsetHeight + "px"
	return;
	var elm = document.getElementById('columns');
	elm.style.height = 'auto';
	var x = elm.offsetHeight;
	elm.style.height = x + "px";
}


function doForms(){
	
	log(MochiKit.DOM.getElementsByTagAndClassName("li", "optional"));
	MochiKit.Iter.forEach(
		MochiKit.DOM.getElementsByTagAndClassName("li", "optional"),
		MochiKit.Style.hideElement	
	);

}

function emailAntiSpam(atString, dotString, containerClassName){
	if(!atString) atString = " [at] ";
	if(!dotString) dotString = " [dot] ";
	if(!containerClassName) containerClassName = "email";
	MochiKit.Base.map(
		function(emailContainer){
			var emailAddress = MochiKit.DOM.scrapeText(emailContainer).replace(atString, "@").replace(dotString, ".");
			MochiKit.DOM.replaceChildNodes(emailContainer, MochiKit.DOM.A({'href': 'mailto:'+emailAddress}, emailAddress));
		},
		MochiKit.DOM.getElementsByTagAndClassName(null, containerClassName)
	);
}