/*
 * runOnLoad.js: portable registration for onload event handlers.
 * 
 * This module defines a single runOnLoad() function for portably registering
 * functions that can be safely invoked only when the document is fully loaded
 * and the DOM is available.
 *
 * Functions registered with runOnLoad() will not be passed any arguments when
 * invoked. They will not be invoked as a method of any meaningful object, and
 * the this keyword should not be used.  Functions registered with runOnLoad()
 * will be invoked in the order in which they were registered.  There is no
 * way to deregister a function once it has been passed to runOnLoad().
 *
 * In old browsers that do not support addEventListener() or attachEvent(),
 * this function relies on the DOM Level 0 window.onload property and will not
 * work correctly when used in documents that set the onload attribute
 * of their <body> or <frameset> tags.
 */
function runOnLoad(f) {
    if (runOnLoad.loaded) f();    // If already loaded, just invoke f() now.
    else runOnLoad.funcs.push(f); // Otherwise, store it for later
}

runOnLoad.funcs = []; // The array of functions to call when the document loads
runOnLoad.loaded = false; // The functions have not been run yet.

// Run all registered functions in the order in which they were registered.
// It is safe to call runOnLoad.run() more than once: invocations after the
// first do nothing. It is safe for an initialization function to call
// runOnLoad() to register another function.
runOnLoad.run = function() {
    if (runOnLoad.loaded) return;  // If we've already run, do nothing

    for(var i = 0; i < runOnLoad.funcs.length; i++) {
        try { runOnLoad.funcs[i](); }
        catch(e) { /* An exception in one function shouldn't stop the rest */ }
    }
    
    runOnLoad.loaded = true; // Remember that we've already run once.
    delete runOnLoad.funcs;  // But don't remember the functions themselves.
    delete runOnLoad.run;    // And forget about this function too!
};

// Register runOnLoad.run() as the onload event handler for the window
if (window.addEventListener)
    window.addEventListener("load", runOnLoad.run, false);
else if (window.attachEvent) window.attachEvent("onload", runOnLoad.run);
else window.onload = runOnLoad.run;

function hideDiv(divName) {
	document.getElementById(divName).style.display = 'none';
}

function buildHomeNav() {
	var divNav = $("#nav");
	var navContent = buildNavContent("page/");
	divNav.append(navContent);

	$(".btn-slide").click(function(){
		$("#panel").slideToggle("slow");
		$(this).toggleClass("active"); return false;
	});
}

function buildInternalNav() {
	var divNav = $("#nav");
	var navContent = buildNavContent("");
	divNav.append(navContent);

	$(".btn-slide").click(function(){
		$("#panel").slideToggle("slow");
		$(this).toggleClass("active"); return false;
	});
}

function buildNavContent(prefix) {
	var divNav = "<ul>";
		divNav += "<li class='go_home'>";
			divNav +="<a href='../index.html'>Home</a>";
		divNav +="</li>";
		divNav +="<li class='slide_content'>";
			divNav +="<div id='panel'>";
				divNav +="<h2>Web Map</h2>";
				divNav +="<br />";
				divNav +="<div class='m_right colum'>";
					divNav +="<p>Software</p>";
					divNav +="<ul>";
						divNav +="<li><a href='" + prefix + "software_60secondcocktails.html'>60 Second Cocktails</a></li>";
						divNav +="<li><a href='" + prefix + "software_augmentedibiza.html'>Augmented Ibiza</a></li>";
						divNav +="<li><a href='" + prefix + "software_oscarsguide.html'>Awards Guide: The Oscars®</a></li>";
						//divNav +="<li><a href='" + prefix + "software_razzieguide.html'>Awards Guide: The Razzies®</a></li>";
						divNav +="<li><a href='" + prefix + "software_partyplanner.html'>Heineken® Party Planner</a></li>";
						divNav +="<li><a href='" + prefix + "software_twitpod.html'>#nowplaying</a></li>";
						divNav +="<li><a href='" + prefix + "software_facetunes.html'>Now Playing!</a></li>";
						divNav +="<li><a href='" + prefix + "software_points_tracker.html'>Points Tracker</a></li>";
						divNav +="<li><a href='" + prefix + "software_sales.html'>Sales Tracker</a></li>";
						divNav +="<li><a href='" + prefix + "software_smartgrid.html'>SmartGrid</a></li>";
						divNav +="<li><a href='" + prefix + "software_broadwayapp.html'>The Broadway App</a></li>";
						divNav +="<li><a href='" + prefix + "software_kingjames.html'>The King James Bible</a></li>";
						divNav +="<li><a href='" + prefix + "software_writeraid.html'>Writer Aid</a></li>";
					divNav +="</ul>";
				divNav +="</div>";
				divNav +="<div class='m_right colum'>";
					divNav +="<p>Games</p>";
					divNav +="<ul>";
						divNav +="<li><a href='" + prefix + "games_alphabattle.html'>AlphaBattle</a></li>";
						divNav +="<li><a href='" + prefix + "games_bible.html'>Bible Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_broadwaychallenge.html'>Broadway Challenge</a></li>";
                        divNav +="<li><a href='" + prefix + "games_xmasmovies.html'>Christmas Movie Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_xmasmusic.html'>Christmas Music Challenge</a></li>";
                        divNav +="<li><a href='" + prefix + "games_xsandos.html'>Good Old Fashioned X's & O's</a></li>";
						divNav +="<li><a href='" + prefix + "games_heinekenchallenge.html'>Heineken® Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_heinekenlight.html'>Heineken® Light Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_heinekenmytunes.html'>Heineken® Music Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_johnmayer.html'>John Mayer Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_challenge.html'>Movie Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_music.html'>Music Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_mytunes.html'>My Tunes Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_oscar.html'>Oscars® Special</a></li>";
						divNav +="<li><a href='" + prefix + "games_spacebrains.html'>Space Brains</a></li>";
						divNav +="<li><a href='" + prefix + "games_elvis.html'>The Official Elvis® Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_u2.html'>U2 Challenge</a></li>";
						divNav +="<li><a href='" + prefix + "games_worldcup.html'>WC Soccer Challenge</a></li>";
					divNav +="</ul>";
				divNav +="</div>";
				divNav +="<div class='colum'>";
					divNav +="<p>more...</p>";
					divNav +="<ul>";
						divNav +="<li><a href='http://www.redwindsoftware.com/web/blog/' class='blog'>Blog</a></li>";
						divNav +="<li><a href='" + prefix + "software.html' class='software'>Software</a></li>";
						divNav +="<li><a href='" + prefix + "games.html' class='games'>Games</a></li>";
						divNav +="<li><a href='" + prefix + "news_event.html' class='news'>News</a></li>";
						divNav +="<li><a href='" + prefix + "external.html' class='e_link'>External Links</a></li>";
						divNav +="<li><a href='" + prefix + "about_us.html' class='about'>About Us</a></li>";
						divNav +="<li><a href='" + prefix + "contact.html' class='contact'>Contact Us</a></li>";
					divNav +="</ul>";
				divNav +="</div>";
			divNav +="</div>";
			divNav +="<a href='#' class='btn-slide'>web map</a>";
		divNav +="</li>";
	divNav +="</ul>";

	return divNav;
}
