var anim_duration = 120;
var pager_count = 0;

$(document).ready( function() {
	// check if the sidebar has content (other than navbar)
	// if it does we want to add the show/hide toggle
	if($('#sidebox').length != 0)
	{
		// create the toggle box if needed
		if($('#side_toggle').length == 0)
			$('#sidebar').append('<div id="side_toggle"><ul></ul></div>');
		// create the toggle button if needed
		if($('#toggle_button').length == 0)
			$('#side_toggle > ul').append('<li id="toggle_button">hide menu</li>');
		// add the hide/show toggle click listener
		$('#toggle_button').click( function() {
			$('#sidebar > div').not("#navbar").not("#side_toggle").not("#proj_toggle").slideToggle();
			if($("#toggle_button").html() === "hide menu")
				$("#toggle_button").html("show menu");
			else
				$("#toggle_button").html("hide menu");
		} );
	}
} );

// called to request a page that will be inserted into a div
// color is the color for the loading gif
function loadContent(request, elem, color, callback, user) {
	// add the loding gif
	$(elem).html('<img src="http://www.one10studio.com/Images/load_' + color + '.gif" alt="loading&hellip;">');
	//  $(div).slideUp(anim_duration, function() {
	//	$(div).addClass("side_centered")
	//	.html('<img src="/Images/load_' + color + '.gif" alt="loading&hellip;">')
	//	.slideDown(anim_duration) } );
	$.ajax( {
		url: request,
		cache: false,
		success: function(data) {
			$(elem).html(data);
			//$(div).slideUp(anim_duration, function() {
			//	$(div).removeClass().html(data).slideDown(anim_duration) } );
			if(callback)
				callback(user || elem, true);
		},
		error: function(data, error) {
			$(elem).html('<span class="ajaxError">Unable to load this information. Sorry.</span>');
			if(callback)
				callback(user || elem, false);
		}
	} );
}

// called to initialize a pager
function initPager(elem, callback) {
	if($(elem).length < 1 || $(elem).children('.pager_page').length <= 1)
		return;
	var disp = $(elem).css('display');
	$(elem).css('display', 'block');
	$(elem).children('.pager_page:first').addClass('pager_sel');
	
	var pages = $(elem).children('.pager_page');
	$(pages).css('position', 'absolute');
	
	$(elem).append('<div class="spaceFix"></div>');
	//$(elem).children('.spaceFix').css('height', $(pages).first().css('height'));
	
	$(elem).append('<div class="pager"></div>');
	var pager = $(elem).children('.pager');
	var pager_name = elem.substr(1);
	for(var i = 0; i < pages.length; i++)
		$(pager).append('<span id="pager_' + pager_name + '_' + i + '">&bull;</span>');
	$(pager).children(':first').addClass('pager_sel');
	$(pager).children().click( pagerNobClick );
	$(pager).append('<div class="hidden data_elem">' + elem + '</div>');
	
	$(elem).css('display', disp);
	pager_count += 1;
}

// called when a pager nob is clicked on
function pagerNobClick(data) {
	var elem = $(data.currentTarget).parent().children('.data_elem').html();
	var ident = $(data.currentTarget).attr('id');
	var page = ident.substr(ident.lastIndexOf('_') + 1);
	pagerSwitchToPage(elem, page);
}

// called to switch a pager to a specific page
function pagerSwitchToPage(elem, page) {
	var current = $(elem).children('.pager_page.pager_sel')[0];
	var next = $(elem).children('.pager_page')[page];
	if(current == next)
		return;
	
	$(elem).find('.pager_sel').removeClass('pager_sel');
	var pager_name = elem.substr(1);
	$('#pager_' + pager_name + '_' + page).addClass('pager_sel');
	$(next).addClass('pager_sel');
	
	$(current).fadeOut(anim_duration);
	$(next).fadeIn(anim_duration);
}

