/* Adding and removing events */
function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}
function stopEvent(e) {
	if(!e) var e = window.event;
	e.cancelBubble = true;
	e.returnValue = false;
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
	return false;
}
/* Dropdowns */
sfHover = function() {
	var sfEls = document.getElementById("navMain").getElementsByTagName('LI');
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
/* Accordions */
initAccordion = function() {
	if (!document.getElementById('content')) return false;
	possAcc = document.getElementById('content').getElementsByTagName('div');
	possAccLength = possAcc.length;
	for (var i=0; i<possAccLength; i++) {
		if (possAcc[i].className.match(new RegExp("accordion\\b"))) {
			addEvent(possAcc[i].getElementsByTagName('h3')[0], 'click', triggerAccordion);
			if (!possAcc[i].className.match(new RegExp("active\\b"))) possAcc[i].className+=" closed";
		}
	}
}
triggerAccordion = function() {
	elP = this.parentNode;
	el = elP.getElementsByTagName('div')[0];
	if (elP.className.match(new RegExp(" closed\\b"))) {
		var curH = 0;
		el.style.visibility = 'hidden';
		el.style.position = 'absolute';
		elP.className=this.parentNode.className.replace(new RegExp(" closed\\b"), "");
		var endH = el.offsetHeight;
		el.style.overflow = 'hidden';
		el.style.height = '0';
		el.style.visibility = 'visible';
		el.style.position = 'relative';
		var time = endH/10;
		var step = endH/time;
		function fDown() {
			curH += step;
			el.style.height = curH+"px";
			if (curH < endH) {
				setTimeout(fDown, time);
			} else {
				el.style.height = 'auto';
				el.style.overflow = 'visible';
			}
		}
		fDown();
	} else {
		var curH = el.offsetHeight;
		var endH = 0;
		el.style.overflow = 'hidden';
		var time = curH/18;
		var step = curH/time;
		function fUp() {
			curH -= step;
			if (curH < 0) curH = 0;
			el.style.height = curH+"px";
			if (curH > endH) {
				setTimeout(fUp, time);
			} else {
				el.style.height = 'auto';
				el.style.overflow = 'visible';
				elP.className+=" closed";
			}
		}
		fUp();
	}
}
/* Tabs */
initTabs = function() {
	if (!document.getElementById('tabbedContent')) return;
	document.getElementById('tabbedContent').className = 'js';
	divs = document.getElementById('tabbedContent').getElementsByTagName('div');
	nav = document.getElementById('tabbedNav').getElementsByTagName('li');
	divsLength = divs.length;
	j=0;
	for (i=0;i<divsLength;i++) {
		if (divs[i].parentNode.id == 'tabbedContent') {
			if (divs[i].className != 'active') divs[i].className = 'closed';
			addEvent(nav[j].getElementsByTagName('a')[0], 'click', triggerTab);
			j++;
		}
	}
}
triggerTab = function(e) {
	divs = document.getElementById('tabbedContent').getElementsByTagName('div');
	nav = document.getElementById('tabbedNav').getElementsByTagName('li');
	divsLength = divs.length;
	j=0;
	for (i=0;i<divsLength;i++) {
		if (divs[i].parentNode.id == 'tabbedContent') {
			divs[i].className = 'closed';
			nav[j].className = '';
			if (this.parentNode == nav[j]) {
				current = i; 
				currentNav = j;
			}
			j++;
		}
	}
	divs[current].className = 'active';
	nav[currentNav].className = 'selected';
	return stopEvent(e);
}
/* Input fields focus */
addEvent(window, 'load', function() {
	inputs = document.getElementsByTagName('input');
	values = new Array();
	inputsL = inputs.length;
	for (i=0;i<inputsL;i++) {
		if (inputs[i].type == 'text' && inputs[i].className == 'default') {
			values[inputs[i].name] = inputs[i].value;
			addEvent(inputs[i], 'focus', function() {
				if (this.value == values[this.name]) this.value = '';
				addEvent(this, 'blur', function() {
					if (this.value == '') this.value = values[this.name];
				});
			});
		}
	}
	initAccordion();
	initTabs();
});


/* sIFR */
var helvetica57 = {src: 'sifr/helvetica_neue_57.swf'};
var helvetica67 = {src: 'sifr/helvetica_neue_67.swf'};
sIFR.activate(helvetica57, helvetica67);
sIFR.replace(helvetica57, {selector: '#content h1', wmode: 'transparent', css: ['.sIFR-root {background: #ffffff; color: #007CC2; text-transform: uppercase}']});
sIFR.replace(helvetica57, {selector: '#sidebar h2', wmode: 'transparent', css: ['.sIFR-root {color: #007CC2; text-transform: uppercase} .sIFR-root a {color: #007CC2; text-decoration: none;} .sIFR-root a:hover {color: #007CC2; text-decoration: none;}']});
sIFR.replace(helvetica57, {selector: '#contentSpotlight h2', wmode: 'transparent', css: ['.sIFR-root {color: #007CC2; text-transform: uppercase} .sIFR-root a {color: #007CC2; text-decoration: none;} .sIFR-root a:hover {color: #007CC2; text-decoration: none;}']});
sIFR.replace(helvetica67, {selector: '#introduction h2', wmode: 'transparent', css: ['.sIFR-root {background: #60B3E2; color: #ffffff;}']});
sIFR.replace(helvetica67, {selector: '#spotlight h2', wmode: 'transparent', css: ['.sIFR-root {background: #6dbd0e; color: #ffffff; text-transform: uppercase;} .sIFR-root a {color: #ffffff; text-decoration: none;} .sIFR-root a:hover {color: #ffffff; text-decoration: none;}']});
sIFR.replace(helvetica57, {selector: '#navLocal p strong', wmode: 'transparent', css: ['.sIFR-root {background: #60b3e2; color: #dfeff8; text-transform: uppercase}']});