//----------------------------------------------------------------------
// Start her up

document.observe( 'dom:loaded', initPage );


//----------------------------------------------------------------------
// initPage

function initPage()
{
	// Navigation subnav menus
	initNav();
	
	// External links
	initExternalLinks();
	
	// Search Form
	initSearchForm();
	
	// Home Features
	initHomeFeatures();
	
	// Home Sidebar Tabs
	initHomeTabs();
}


//----------------------------------------------------------------------
// initNav

function initNav()
{	
	var navNodes = $('main-nav').select('ul.level-1')[0].childElements();
	
	for ( var i = 0; i < navNodes.length; i++ )
	{
		navNodes[i].observe( 'mouseenter', function( event )
		{
			this.addClassName( 'hover' );
		});
		
		navNodes[i].observe( 'mouseleave', function( event )
		{
			this.removeClassName( 'hover' );
		});
	}
}


//----------------------------------------------------------------------
// initExternalLinks

function initExternalLinks()
{	
	// set any external links to target='_blank'
//	var hostname = window.location.hostname.sub('www.','').toLowerCase();
//	if ( hostname.empty() ) return;
//	var aLinks = $$Find('a');
//	
//	for ( var i = 0; i < aLinks.length; i++ )
//	{
//		var aLink = aLinks[i];
//		var url = aLink.readAttribute('href').toLowerCase();
//		
//		if ( url.startsWith('http://') || url.startsWith('https://') )
//		{
//			if ( url.startsWith('http://') ) url = url.sub('http://','');
//			else if ( url.startsWith('https://') ) url = url.sub('https://','');
//			if ( url.startsWith('www.') ) url = url.sub('www.','');
//			if ( !url.startsWith( hostname ) ) aLink.writeAttribute('target', '_blank');
//		}
//	}
}


//----------------------------------------------------------------------
// initSearchForm

function initSearchForm()
{	
	if ( !$('search-form') ) return;
	
	var labels = $('search-form').select('label');
	for ( var i = 0; i < labels.length; i++ )
	{
		var inputId = labels[i].readAttribute('for');
		var label = labels[i].innerHTML;
		var input = $(inputId)
		input._label = label;
		input.value = input._label;
		input.observe( 'focus', onFormElFocus );
		input.observe( 'blur', onFormElBlur );
	}
}
function onFormElFocus( event )
{
	//Event.stop( event );
	var input =  $(event.element());
	var curVal = input.getValue();
	if ( curVal == input._label ) input.clear();
}
function onFormElBlur( event )
{
	//Event.stop( event );
	var input = $(event.element());
	var curVal = input.getValue();
	if ( curVal.blank() ) input.value = input._label;
}


//----------------------------------------------------------------------
// initHomeFeatures

function initHomeFeatures()
{
	if ( !$('home-features') ) return;
	var features = $('home-features').select('.home-feature');
	var divControls = new Element('div', { 'id': 'home-feature-ctrls' });
	var ulControls = new Element('ul');
	features._isTweening = false;
	
	for ( var i = 0; i < features.length; i++ )
	{
		var liButton = new Element('li').update( i + 1 );
		liButton._i = i;
		liButton.observe( 'click', onFeatureClick );
		liButton.observe( 'mouseover', onFeatureOver );
		liButton.observe( 'mouseout', onFeatureOut );
		ulControls.insert( liButton );
		
		features[i].removeClassName('selected');
		features[i].setOpacity( 0.0 ).hide();
	}
	
	divControls.insert( ulControls );
	$('home-features').insert( divControls );
	
	setFeature( 0 );
}
function onFeatureOver( event )
{
	Event.stop( event );
	var liButton = event.findElement('li');
	liButton.addClassName('hover');
}
function onFeatureOut( event )
{
	Event.stop( event );
	var liButton = event.findElement('li');
	liButton.removeClassName('hover');
}
function onFeatureClick( event )
{
	Event.stop( event );
	var liButton = event.findElement('li');
	if ( !liButton.hasClassName('selected') && !$('home-features')._isTweening ) setFeature( liButton._i );
}
function setFeature( iSel )
{
//	$('home-features')._isTweening = true;	
//	var features = $('home-features').select('.home-feature');
//	var buttons = $('home-feature-ctrls').select('li');
//	
//	for ( var i = 0; i < features.length; i++ )
//	{
//		if ( features[i].hasClassName('selected') )
//		{
//			buttons[i].removeClassName('selected');
//			features[i].removeClassName('selected');
//			features[i].fade({ to: 0.0, duration: 1.0, transition: Effect.Transitions.sinoidal });
//		}
//	}
//	buttons[ iSel ].addClassName('selected');
//	features[ iSel ].addClassName('selected');
//	features[ iSel ].appear({ to: 1.0, duration: 1.0, transition: Effect.Transitions.sinoidal, queue: 'end', afterFinish: function() { $('home-features')._isTweening = false; } });
}


//----------------------------------------------------------------------
// initHomeTabs

function initHomeTabs()
{
//	if ( !$('home-sidebar') ) return;
//	
//	$('home-sidebar').addClassName('tabs');
//	var tabs = $('home-sidebar').childElements();
//	var divControls = new Element('div', { 'id': 'home-sidebar-ctrls' });
//	var ulControls = new Element('ul');
//	
//	var buttons = new Array();
//	buttons.push( new Element('li', { 'id': 'home-sidebar-ctrls-news' }).update( 'News' ) );
//	buttons.push( new Element('li', { 'id': 'home-sidebar-ctrls-quick' }).update( 'Quick Links' ) );
//	buttons.push( new Element('li', { 'id': 'home-sidebar-ctrls-how' }).update( 'How Do I' ) );
//	
//	for ( var i = 0; i < buttons.length; i++ )
//	{
//		var liButton = buttons[i]
//		liButton._i = i;
//		liButton.observe( 'click', onTabClick );
//		ulControls.insert( liButton );
//		
//		tabs[i].addClassName('tab').hide();
//	}
//	
//	divControls.insert( ulControls );
//	$('home-sidebar').insert( divControls );
//	
//	setTab( 0 );
}
function onTabClick( event )
{
	Event.stop( event );
	var liButton = event.findElement('li');
	if ( !liButton.hasClassName('selected') ) setTab( liButton._i );
}
function setTab( iSel )
{
	var tabs = $('home-sidebar').select('.tab');
	var buttons = $('home-sidebar-ctrls').select('li');
	
	for ( var i = 0; i < tabs.length; i++ )
	{
		if ( tabs[i].hasClassName('selected') )
		{
			buttons[i].removeClassName('selected');
			tabs[i].removeClassName('selected').hide();
		}
	}
	buttons[ iSel ].addClassName('selected');
	tabs[ iSel ].addClassName('selected').show();	
}


/* Added javascript */

var sCookie = "UserStyleSheet" //Name of user style sheet Cookie
var sCssId = "CustomStyle"

var oLastCSS = readCookie (sCookie); // Get the last stylesheet from the cookie

if (undefined != oLastCSS){loadCssFile (oLastCSS);} // Load the last stylesheet saved in the Cookie
  
 function loadCssFile(filename){
 //Load a stylesheet and saves in a Cookie
  createCookie (sCookie, filename, 365);
 
 var oStyleSheet = document.getElementById(sCssId)
 if (undefined != oStyleSheet) { // If the style link was already added, change the Href
    oStyleSheet.setAttribute("href", filename)}
 else{ // Add a Css link
  var fileref=document.createElement("link");
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", filename);
    fileref.setAttribute("id", sCssId);
    document.getElementsByTagName("head")[0].appendChild(fileref);
    }
}

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

