
/*	Global variables */
var scrollJump = 800;
var scrollSpeed = 4;
var scrollElement = 'contents';
var currentSection = 'tab-1';
var startSection = 1;
var totalSections = countSections();

//	Highligh the first tab as active
function primeToolbar()
{

	totalSections = countSections();

	if(!document.getElementById(currentSection)) {
		return false; }

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

}
addLoadEvent(primeToolbar);


function countSections() {

	var allElements = document.getElementsByTagName('*');

	for (var i=0; i<allElements.length; i++)
	{
		if (allElements[i].className.indexOf("subpage") !=-1)
		{
			totalSections++;
		}
	}

// 	alert(totalSections);

}


function  nextScroll(max) {
	if(startSection >= max) return;
	startSection++;
	initScroll('page-'+startSection);
	updateText(max);

}

function  prevScroll(max) {
	if(startSection == 1) return;
	startSection--;
	initScroll('page-'+startSection);
	updateText(max);

}

function 	updateText(max){
	document.getElementById('scrollPosition').innerHTML = startSection+' of '+max;

}

//	Update highlighed menu tab and work out scroll amount
function initScroll(hook) 
{




	// adjust the menu tabs
	previousSection = currentSection;
	currentSection = hook;

// 	alert(previousSection+currentSection);

	if(document.getElementById('tabs')) {
		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: Adapted from scroll routine 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;
};



