
/*	Global variable*/
var scrollJump = 800;
var scrollSpeed = 4;
var scrollElement = 'contents';
var currentSection = 'tab-1';



//	Highligh the first tab as active
function primeToolbar()
{
//loop thru <a> tags in tabs div

// set their id as 'tab-i'

// attach a click event with return false


	addClass(document.getElementById(currentSection), "active");
	return true;
}
addLoadEvent(primeToolbar);


//	Update highlighed menu tab and work out scroll amount
function initScroll(hook) 
{
	// adjust the menu tabs
	previousSection = currentSection;
	currentSection = hook;

	addClass(document.getElementById(currentSection), "active");
	removeClass(document.getElementById(previousSection), "active");

	// call the scroll routine
	scrollAmount = hook.split("-")[1];
	scrollLeft = ((scrollAmount*scrollJump)*-1)+scrollJump;
	slideElement(scrollElement, scrollLeft, 0, scrollSpeed)
}



//	slideElement: Originally written by Jeremy Keith (http://adactio.com/)
function slideElement(elementId, x, y, inc) 
{

	var element = document.getElementById(elementId);

	if (element.sliding) clearTimeout(element.sliding);
	
	if (!element.xpos) element.xpos = 0;
	if (!element.ypos) element.ypos = 0;

	if (element.xpos == x && element.ypos == y) return true;

	if (element.xpos > x) {
		var dist = Math.ceil((element.xpos-x)/inc);
		element.xpos = element.xpos - dist;
	}

	if (element.xpos < x) {
		var dist = Math.ceil((x-element.xpos)/inc);
		element.xpos = element.xpos + dist;
	}

	if (element.ypos > y) {
		var dist = Math.ceil((element.ypos-y)/inc);
		element.ypos = element.ypos - dist;
	}

	if (element.ypos < y) {
		var dist = Math.ceil((y-element.ypos)/inc);
		element.ypos = element.ypos + dist;
	}

	element.style.left = element.xpos+'px';
	element.style.top = element.ypos+'px';

	element.sliding = setTimeout('slideElement("'+elementId+'",'+x+','+y+','+inc+')',20);
}



//	addClass, removeClass, hasClass originally written by http://themaninblue.com
function addClass(target, classValue)
{
    if (!hasClass(target, classValue))
    {
        if (target.className == "")
        {
            target.className = classValue;
        }
        else
        {
            target.className += " " + classValue;
        }
    }

    return true;
};



function removeClass(target, classValue)
{
    var removedClass = target.className;
    var pattern = new RegExp("(^| )" + classValue + "( |$)");

    removedClass = removedClass.replace(pattern, "$1");
    removedClass = removedClass.replace(/ $/, "");

    target.className = removedClass;

    return true;
};



function hasClass(target, classValue)
{
    var pattern = new RegExp("(^| )" + classValue + "( |$)");
    
    if (target.className.match(pattern))
    {
    	return true;
    }
    
    return false;
};



/*	Add Load Event: written by Simon Willison(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() {
			oldonload();
			func();
		}
	}
}

