/**
* Gets the parent tile for a tile
**/
function get_parent_tile(tile) {
	var sidx, pidx;
	var sect, page;
	
	for (sidx = 0; sidx < pages.length; sidx++) {
		sect = pages[sidx];
		for (pidx = 0; pidx < sect.length; pidx++) {
			if (sect[pidx] == tile) {
				return sect[0];
			}
		}
	}
	
	return null;
}



/**
* Shows a given tile
**/
function show_tile(tile, speed) {
	if ($(tile).length === 0) {
		return false;
	}
	
	var pos = $(tile).position();
	var parent_tile = get_parent_tile(tile);
	
	
	$('div#slides > div').css('overflow', 'hidden');
	
	$('.nav li').removeClass('on');
	$('.nav a[href$=' + parent_tile + ']').parent().addClass('on');
	
	$('.related-links li').removeClass('on');
	$('.related-links a[href$=' + tile + ']').parent().addClass('on');
	
	
	// vertical slide, if needed
	if (parseInt($('#slides').css('top'), 10) != (0 - pos.top)) {
		$('#slides').animate({'top': 0 - pos.top}, speed);
	}
	
	// horizontal slide, if needed
	if (parseInt($('#slides').css('left'), 10) != (0 - pos.left)) {
		$('#slides').animate({'left': 0 - pos.left}, speed);
	}
	
	// post-slide
	$('#slides').queue(function() {
		$('#slides > div').css('overflow', 'auto');
		//window.location.hash = tile;
		$(this).dequeue();
	});
	
	return true;
}


$(document).ready(function() {
	var skin = $('#skin').html();
	
	var x = 0, y = 0;
	var sidx, pidx;
	var sect, page;
	
	// Slide positioning
	for (sidx = 0; sidx < pages.length; sidx++) {
		sect = pages[sidx];
		y = 0;
		
		// related links
		var rel_links = '<ul>';
		for (pidx = 0; pidx < sect.length; pidx++) {
			rel_links += '<li><a href="' + sect[pidx] + '">' + page_names[sidx][pidx] + '</a></li>';
		}
		rel_links += '</ul>';
		
		// pos
		for (pidx = 0; pidx < sect.length; pidx++) {
			page = sect[pidx];
			
			$(page).css('top', y);
			$(page).css('left', x);
			$(page).css('width', $(window).width());
			$(page).css('height', $(window).height());
			
			if (page != '#home') {
				var html = $(page).html();
				$(page).html(skin);
				$(page + ' br.skin-body').replaceWith(html);
			
				$(page + ' .related-links').html(rel_links);
				
				if (has_banner[sidx][pidx]) {
					$(page + ' .main-banner').css('background-image', 'url(' + ROOT + 'skin/default/images/banner_' + page.replace(/#/, '') + '.jpg)');
					$(page + ' .sub-banner img').attr('src', ROOT + 'skin/default/images/banner_' + page.replace(/#/, '') + '_lower.jpg');
					
				} else {
					$(page + ' .main-banner').css('background-image', 'url(' + ROOT + 'skin/default/images/banner_' + sect[0].replace(/#/, '') + '.jpg)');
					$(page + ' .sub-banner img').attr('src', ROOT + 'skin/default/images/banner_' + sect[0].replace(/#/, '') + '_lower.jpg');
				}
				
				$(page + ' .main-banner img').attr('src', ROOT + 'skin/default/images/title_' + sect[0].replace(/#/, '') + '.gif');
			}
			
			y += 2000;
		}
		
		x += 2000;
	}
	
	$('#skin').remove();
	
	//if (typeof(window.location.hash) == 'string' && window.location.hash != '') {
	//	window.scrollTo(0,0);
	//	show_tile(window.location.hash, 0);
	//}
	
	// Links for slides
	$('#slides a').live('click', function() {
		window.scrollTo(0,0);
		show_tile($(this).attr('href').replace(/^.+#/, '#'), 750);
		
		return false;
	});
	
	$(window).resize(function() {
		$('div#slides > div')
			.css('width', $(window).width())
			.css('height', $(window).height())
			;
	});
	
	$('#slides').show();
});
