﻿<!--//
function getObject(objectID){
	if (document.all!=null){
		return document.all[objectID];
	} else if (document.getElementById){
		return document.getElementById(objectID);
	}
}

function getElementsByClassName(clsName){
	var retVal = new Array();
	var elements = document.getElementsByTagName("*");
	for(var i = 0;i < elements.length;i++){
		if(elements[i].className.indexOf(" ") >= 0){
			var classes = elements[i].className.split(" ");
			for(var j = 0;j < classes.length;j++){
				if(classes[j] == clsName){
					retVal.push(elements[i]);
				}
			}
		} else if(elements[i].className == clsName){
			retVal.push(elements[i]);
		}
	}
	return retVal;
}

/* SUBNAV COLLAPSE/REVEAL */
var subnavYears;
var subnavAnimationInterval = 10;
var subnavAnimationSteps = 30;
var subnavAnimations;
var subnavAnimationRunning;
var subnavAnimationTimer;

// Initial Call After Render of Subnav with Year to Display
function subnavInit(){
	var subnavHandle;
	subnavAnimations = new Array();
	subnavAnimationRunning = false;
	subnavYears = getElementsByClassName("subnav");
	for (var i = 0; i < subnavYears.length; i++){
		subnavHandle = getObject(subnavYears[i].id + "year");
		subnavYears[i].minWidth = subnavHandle.offsetWidth;
		subnavYears[i].fullWidth = subnavYears[i].offsetWidth;
	}
	subnavShow(getYearFromURL(), true);
}

function getYearFromURL(){
    var year = location.pathname.substring(1, location.pathname.indexOf("/", 1));
    return year;
}

// Onclick of Year in Subnav
function subnavShow(year, initial){
	for (var i = 0; i < subnavYears.length; i++){
		if (subnavYears[i].id.indexOf(year) == -1){
			subnavCollapse(subnavYears[i], initial);
		} else {
			subnavExpand(subnavYears[i], initial);
		}
	}
}

// Collapse Subnav
function subnavCollapse(subnav, initial){
	if (initial){
		subnav.style.width = subnav.minWidth + "px";
	} else {
		subnavAnimateTo(subnav, subnav.minWidth);
	}
}

// Expand Subnav
function subnavExpand(subnav, initial){
	if (initial){
		subnav.style.width = subnav.fullWidth + "px";
	} else {
		subnavAnimateTo(subnav, subnav.fullWidth);
	}
}

// Create Animation Object with start, end, delta and steps
function subnavAnimateTo(subnav, finalWidth){
	var animObj = new Object();
	animObj.target = subnav;
	animObj.initial = subnav.offsetWidth;
	animObj.final = finalWidth;
	animObj.stepsTaken = 0;
	animObj.steps = subnavAnimationSteps;
	animObj.delta = (animObj.final - animObj.initial) / animObj.steps;
	subnavAnimations.push(animObj);
	subnavAnimateInit();
}

// Start Animation Engine if not already running
function subnavAnimateInit(){
	if (!subnavAnimationRunning){
		subnavAnimateRun();
	}
}

// Iterative Animation by time interval per step of animation
function subnavAnimateRun(){ 
	subnavAnimationRunning = true;
	var activeAnimations = new Array();
	for (var i = 0; i < subnavAnimations.length; i++){
		subnavAnimations[i].target.style.width = (subnavAnimations[i].initial + (subnavAnimations[i].stepsTaken * subnavAnimations[i].delta)) + "px";
		subnavAnimations[i].stepsTaken++;
		if (subnavAnimations[i].stepsTaken <= subnavAnimations[i].steps){
			activeAnimations.push(subnavAnimations[i]);
		}
	}
	subnavAnimations = activeAnimations;
	if (subnavAnimations.length > 0){
		subnavAnimationTimer = setTimeout("subnavAnimateRun()", subnavAnimationInterval);
	} else {
		subnavAnimationRunning = false;
	}
}       
//-->