function overBtn(btn, hoverTop, outTop){
    $(btn).select('span').each(
    	function(el){
	   		el.setStyle({backgroundPosition: '0px -' + hoverTop + 'px'});
		}
	);
}
function outBtn(btn, hoverTop, outTop){
    $(btn).select('span').each(function(el) {
   		el.setStyle({backgroundPosition: '0px ' + outTop + 'px'});
    });
}

// 20px Buttons (grey border)
var smallhoverTop=20;
var smalloutTop=3;

// 26px Button (black or red background)
var normhoverTop=26;
var normoutTop=3;

// 19px Button (black background)
var smallBlackhoverTop=19;
var smallBlackoutTop=3;

/** IE Hacks **/
if (evilBrowserInformation.evilVersion == 6) {//if ie 6
    smallhoverTop=23;
    smalloutTop=0;
    
    // 26px Button (black or red background)
    var normhoverTop=29;
    var normoutTop=0;

    // 19px Button (black background)
    var smallBlackhoverTop=22;
    var smallBlackoutTop=0;    
}
if (evilBrowserInformation.evilVersion == 7) {
    smallhoverTop=23;
    smalloutTop=0;
    
    // 26px Button (black or red background)
    var normhoverTop=28;
    var normoutTop=1;

    // 19px Button (black background)
    var smallBlackhoverTop=22;
    var smallBlackoutTop=0;   
}

function BtnOver(btn){
    overBtn(btn, smallhoverTop, smalloutTop);
}
function BtnOut(btn){
    outBtn(btn, smallhoverTop, smalloutTop);
}

function normBtnOver(btn){
    overBtn(btn, normhoverTop, normoutTop);
}
function normBtnOut(btn){
    outBtn(btn, normhoverTop, normoutTop);
}

function smallBlackBtnOver(btn){
    overBtn(btn, smallBlackhoverTop, smallBlackoutTop);
}
function smallBlackBtnOut(btn){
    outBtn(btn, smallBlackhoverTop, smallBlackoutTop);
}

function smallBtnOver(btn){
    overBtn(btn, smallhoverTop, smalloutTop);
}
function smallBtnOut(btn){
    outBtn(btn, smallhoverTop, smalloutTop);
}

function formSubmit(domElement, name)
{
	var actEle = findParentForm(domElement);
	actEle.appendChild(getActionAsHiddenInput(name));			
	actEle.submit();
}

function iBoxFormSubmit(domElement, name, callback)
{
	var form = findParentForm(domElement);
	form.appendChild(getActionAsHiddenInput(name));			
	
	var postBody = Form.serialize(form);
	Form.disable(form);
	var ajaxUrl = form.action;
	
	var ajaxData = {
		method: 'post', 
		postBody: postBody, 
		onSuccess: function(transport) {
			iBox.show(transport.responseText);
			if(callback){
				callback();
			}
		}
	};	
	
	new Ajax.Request( ajaxUrl, ajaxData );
}

function statusFormSubmit(formname,name)
{
	var f = $(formname);
	if (f) {
		f.appendChild(getActionAsHiddenInput(name));
		f.submit();
	}
}
function formReset(domElement)
{
	findParentForm(domElement).reset();
}

function getActionAsHiddenInput(name)
{
	var a = document.createElement('input');
	a.setAttribute('type', 'hidden');
	a.setAttribute('name', name);
	a.setAttribute('value', '1');
	return a;
}

function findParentForm(ele)
{
	var actEle = ele;
	while(actEle.nodeName.toUpperCase() != 'FORM')
	{
		actEle = actEle.parentNode;
	}
	return actEle;
}