/* http://simon.incutio.com/archive/2004/05/26/addLoadEvent */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			if (oldonload) {
			    oldonload();
			}
			func();
		}
	}
}

/* http://www.dustindiaz.com/getelementsbyclass/ */
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/* by Jeremy Keith */
function insertAfter(newElement, targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	}
	else {
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}

function buttonEndings() {
	if (!document.getElementsByTagName) {
		return false
	}
	
	var buttons = getElementsByClass("button");
	/* loop through all buttons and attach a child div */
	for (i=0; i < buttons.length; i++) {
		var div = document.createElement("div");
		div.className = "buttonEnding";
		insertAfter(div, buttons[i]);
	}
}

function buttonStyler() {
	if (!document.getElementsByTagName) {
		return false
	}
	var buttons = getElementsByClass("btn");
	/* loop through all buttons and add onmouseover and onmouseout code */
	
	if (document.addEventListener)
	{
		for (i=0; i < buttons.length; i++) 
		{
			buttons[i].addEventListener ("onmouseover", hovin, false);
			buttons[i].addEventListener ("onmouseout", hovout, false);
		}
	}
	else
	{
		for (i=0; i < buttons.length; i++) 
		{
			buttons[i].attachEvent("onmouseover", hovin);
			buttons[i].attachEvent("onmouseout", hovout);
		}
	}
}

function downloadButtonStyler() {
	if (!document.getElementsByTagName) {
		return false
	}
	var buttons = getElementsByClass("btn2");
	/* loop through all buttons and add onmouseover and onmouseout code */
	
	if (document.addEventListener)
	{
		for (i=0; i < buttons.length; i++) 
		{
			buttons[i].addEventListener ("onmouseover", hovin2, false);
			buttons[i].addEventListener ("onmouseout", hovout2, false);
		}
	}
	else
	{
		for (i=0; i < buttons.length; i++) 
		{
			buttons[i].attachEvent("onmouseover", hovin2);
			buttons[i].attachEvent("onmouseout", hovout2);
		}
	}
}

function hovHandler(loc,cls) {
  if(loc.className)
    loc.className=cls;
}

function hovin(evt)
{
	var e_out; 
	var ie_var="srcElement"; 
	var moz_var="target"; 
	var prop_var="id"; 
	// target for Moz, et al. - srcElement for IE 
	evt[moz_var]? e_out=evt[moz_var] : e_out=evt[ie_var]; 
	hovHandler(e_out, "btn btnhov");
}

function hovout(evt)
{
	var e_out; 
	var ie_var="srcElement"; 
	var moz_var="target"; 
	var prop_var="id"; 
	// target for Moz, et al. - srcElement for IE 
	evt[moz_var]? e_out=evt[moz_var] : e_out=evt[ie_var]; 
	hovHandler(e_out, "btn");
}

function hovin2(evt)
{
	var e_out; 
	var ie_var="srcElement"; 
	var moz_var="target"; 
	var prop_var="id"; 
	// target for Moz, et al. - srcElement for IE 
	evt[moz_var]? e_out=evt[moz_var] : e_out=evt[ie_var]; 
	hovHandler(e_out, "btn2 btnhov2");
}

function hovout2(evt)
{
	var e_out; 
	var ie_var="srcElement"; 
	var moz_var="target"; 
	var prop_var="id"; 
	// target for Moz, et al. - srcElement for IE 
	evt[moz_var]? e_out=evt[moz_var] : e_out=evt[ie_var]; 
	hovHandler(e_out, "btn2");
}


addLoadEvent(buttonStyler);
