var g_numMenuItems = 10;
var g_menuWidths = [ 44, 64, 57, 101, 58, 91, 38, 45, 43, 57, ];
var g_bgOrder = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ];
var g_currentBg = -1;
var g_currentMenuItem = -1;
var g_preloaded = false;

function main () {
	var div, i, s, img, choices, num, c, d;

	dojo.require ('dojox.image');
	g_currentBg = -1;
	choices = [ ];
	for (i = 0; i < g_numMenuItems; i++) { choices[i] = i; }
	num = g_numMenuItems;
	for (i = 0; i < g_numMenuItems; i++) {
		c = Math.floor (Math.random () * num);
		g_bgOrder[i] = choices[c];
		choices[c] = choices[num - 1];
		num--;
	}

	for (i = 0; i < g_numMenuItems; i++) {
		s = '' + i;
		if (s.length < 2) { s = '0' + s; }
		div = document.getElementById ('menu' + s);
		if (div != null) {
			div.style.visibility = 'visible';
			img = getChildElement (div, 'img');
			if (img != null) {
				img.setAttribute ('width', g_menuWidths[i]);
				img.setAttribute ('height', '29');
			}
		}
	}

	c = getCookie ('startsection');
	if (c == null) { c = '00'; }
	d = new Date ();
	d.setTime (d.getTime() - 1);
	document.cookie = 'startsection=; expires=' + d.toGMTString () + '; domain=.flamencoseattle.com; path=/';
	document.cookie = 'startsection=; expires=' + d.toGMTString () + '; domain=www.flamencoseattle.com; path=/';

	clearMenuMode (); 
	setMenuMode (c); 
}

function preloadBgs () {
	dojox.image.preload ([ 'res/bg02.jpg', 'res/bg03.jpg', 'res/bg04.jpg', 'res/bg05.jpg', 'res/bg06.jpg', 'res/bg07.jpg', 'res/bg08.jpg', 'res/bg09.jpg', ]);
}

function setNextBg () {
	var img, s, div, url, i;

	g_currentBg++;
	if (g_currentBg >= g_numMenuItems) { g_currentBg = 0; }

	s = '' + g_bgOrder[g_currentBg];
	if (s.length < 2) { s = '0' + s; }
	url = 'res/bg' + s + '.jpg';
	div = document.getElementById ('main');
	div.style.backgroundImage = 'url(\'' + url + '\')';

	i = g_currentBg + 1;
	if (i >= g_numMenuItems) { i = 0; }
	s = '' + g_bgOrder[i];
	if (s.length < 2) { s = '0' + s; }
	window.setTimeout ('loadBg ("' + s + '");', 100);
}

function setBg (bgNumber) {
	var s, url, div;

	s = '' + bgNumber;
	if (s.length < 2) { s = '0' + s; }
	url = 'res/bg' + s + '.jpg';
	div = document.getElementById ('main');
	div.style.backgroundImage = 'url(\'' + url + '\')';
}

function loadBg (itemNumber) {
	img = new Image ();
	img.src = 'res/bg' + itemNumber + '.jpg';
}

function highlightMenuItem (itemNumber) {
	var div, img;

	div = document.getElementById ('menu' + itemNumber);
	img = (div != null) ? getChildElement (div, 'img') : null;
	if (img != null) { img.src = 'res/highlight.png'; }
}

function unhighlightMenuItem (itemNumber) {
	var div, img;

	div = document.getElementById ('menu' + itemNumber);
	img = (div != null) ? getChildElement (div, 'img') : null;
	if (img != null) { img.src = 'res/empty.png'; }
}

function contentOnLoad () {
	var animation, iframe; 

	animation = dojo.animateProperty ({ node: 'sectionBg', duration: 700, delay: 500, properties: { opacity: { start: '0.0', end: '0.75' } }, onEnd: sectionBgFadeDone }); 
	animation.play (); 
	iframe = document.getElementById ('contentFrame'); 
	if (iframe) { iframe.setAttribute ('onLoad', 'void (0);'); } 
}

function sectionBgFadeDone () {
	var div;

	div = document.getElementById ('sectionContent');
	div.style.display = 'block';
}

function setMenuMode (itemNumber) {
	var i, div, iframe, animation;

	i = parseInt (itemNumber, 10);
	g_currentMenuItem = i;

	div = document.getElementById ('sectionBg');
	animation = dojo.fadeOut ({ node: 'sectionBg', duration: 10, delay: 0 }); 
	animation.play ();
	div = document.getElementById ('sectionContent');
	div.style.display = 'none';
	div.innerHTML = '';
	setBg (i);

	iframe = document.getElementById ('contentFrame');
	if (iframe) {
		if (iframe.src == ('section' + itemNumber + '.html')) { return; }
	}
	div.innerHTML = '<iframe src="section' + itemNumber + '.html" id="contentFrame" onLoad="contentOnLoad ();" scrolling="no" border="0" frameborder="0" allowtransparency></iframe>';

	if (! g_preloaded) {
		window.setTimeout ('preloadBgs ();', 10000);
		g_preloaded = true;
	}
}

function clearMenuMode () {
	var div, animation;

	div = document.getElementById ('sectionBg');
	animation = dojo.fadeOut ({ node: 'sectionBg', duration: 10, delay: 0 }); 
	animation.play ();
	div = document.getElementById ('sectionContent');
	div.innerHTML = '';
	div.style.display = 'none';
	g_currentMenuItem = -1;
}

function getChildElement (elm, path) {
	var i, part, j, num, e, curnode, rval, found;
	
	rval = null;
	parts = path.toLowerCase ().split ("/");
	curnode = elm;
	for (i = 0; i < parts.length; i++) {
		part = parts[i];
		found = false;
		num = curnode.childNodes.length;
		for (j = 0; j < num; j++) {
			e = curnode.childNodes[j];
			if (e.nodeName.toLowerCase () == part) {
				if (i == (parts.length - 1)) { rval = e; }
				else { curnode = e; }
				found = true;
				break;
			}
		}
		if (! found) { break; }
		if (rval) { break; }
	}
	
	return (rval);
}

function getCookie (name) {
	var parts, i, c, n;

	n = name + '=';
	parts = document.cookie.split (';');
	for (i = 0; i < parts.length; i++) {
		c = parts[i];
		c = c.replace (/^\s*|\s*$/, "");
		if (c.indexOf (n) == 0) {
			return (c.substring (n.length, c.length));
		}
	}

	return (null);
}
