$(document).ready(function() {
	$to_load = $("#tabBox #" + $("#tabBox #last_tab_viewed_section").attr("value"));
	$per_page = $("#tabBox #last_tab_viewed_perpage").attr("value");
	$cat = $("#tabBox #last_tab_viewed_cat").attr("value");
	$timeframe = $("#tabBox #last_tab_viewed_timeframe").attr("value");
		
	if($("#tabBox #last_tab_viewed_page").length)
	{
		$page = $("#tabBox #last_tab_viewed_page").attr("value");
	} else {
		$page = 1;
	}

	load_tab($to_load, $page, $per_page, $cat, $timeframe);

	$("#tabBox .tabs li a").click(function() {
		var $to_load = $("#tabBox #" + $(this).parent().attr("rel"));

		if($(this).parent().attr("rel") == "Most_Recent")
			$timeframe = "airing";
		else
			$timeframe = "event";	

		load_tab($to_load, 1, $per_page, "ALL", $timeframe);
			
		return false;
	});
});

function load_tab($to_load, $page, $per_page, $cat, $timeframe)
{
	var $prev_show = $("#tabBox .ui-tabs-selected");

	$("#tabBox ." + $to_load.attr("id")).addClass("ui-tabs-selected");
	
	$to_load.html($("#tabBox").children("#Loading").clone());

	if($prev_show.length)
	{
	 	var $prev_show_box  = $("#tabBox #" + $prev_show.attr("rel"));
		$prev_show_box.find("form").hide();
	}

	if($prev_show.length)
	{
		if($to_load.attr("id") ==  "Most_Recent")
			$timeframe = "airing";
		else
			$timeframe = "l7d";
	}
	
	// Loading screen now is now showing to user
	$to_load.show();
	$to_load.children("#Loading").css("display", "block");
	$to_load.fadeIn("fast", function() {
		if($prev_show.length)
		{
			$prev_show.removeClass("ui-tabs-selected");
			$prev_show_box.html("");
		}	
	});
	
	if($prev_show.length)
	{
		$prev_show_box.html("");
		$prev_show_box.hide();
	}

	$url = $("#tabBox form").attr("action") +
		"?action=" + $to_load.attr("id") + 
		"&perpage=" + $per_page + 
		"&page=" + $page + 
		"&category=" + $cat + 
		"&timeframe=" + $timeframe +
		"&tabload=1";	

		$.ajax({
			type: "GET",
			url: $url,	
			dataType: "html",
			success: function(html) {
				$to_load.find(".loading").fadeOut(400, function() {
					$to_load.html(html);
					$to_load.find(".grid-view").hide();
					$to_load.find(".grid-view").fadeIn("slow");
				
					// Clean up left overs if the user clicks "to fast" amoungst tabs
					$("#tabBox .dispBox").each(function() {
						if($(this).attr("id") != $to_load.attr("id"))
							$(this).hide();
					});

					update_rss_icon($cat, $timeframe);
					update_and_active_controls($to_load, $page, $per_page, $cat, $timeframe); 
					
				});		
			}
		});
}

function load_option($to_load, $page, $per_page, $cat, $timeframe)
{
	var $grid = $to_load.find(".grid-view");

	$grid.html($("#tabBox #Loading .box-top").children().clone());

	if( $per_page == 15)
	{
			$grid.find(".loading").css("padding-top", "390px");
			$grid.find(".loading").css("padding-bottom", "390px");
	} else if( $per_page == 12 ) {
			$grid.find(".loading").css("padding-top", "315px");
			$grid.find(".loading").css("padding-bottom", "315px");
	} else if( $per_page == 9 ) {
			$grid.find(".loading").css("padding-top", "234px");
			$grid.find(".loading").css("padding-bottom", "234px");
	} else {
			$grid.find(".loading").css("padding-top", "153px");
			$grid.find(".loading").css("padding-bottom", "154px");
	}

	$url = $("#tabBox form").attr("action") +
		"?action=" + $to_load.attr("id") +
		"&perpage=" + $per_page +
		"&page=" + $page +
		"&category=" + $cat +
		"&timeframe=" + $timeframe;

	$.ajax({
		type: "GET",
		url: $url,
		dataType: "html",
		success: function(html) {
			$grid.find(".loading").fadeOut(400, function() {
				$grid.hide();
				$grid.html(html);
				$grid.fadeIn("slow");	

				// Update program count of display
				$(".progcount span").text($("#input-url-numprogs").attr("value"));				

				update_rss_icon($cat, $timeframe);
				update_and_active_controls($to_load, $page, $per_page, $cat, $timeframe);

			});
		}
	});

}

function update_and_active_controls($to_load, $page, $per_page, $cat, $timeframe)
{
	$name = $to_load.attr("id");

	update_pager($page, parseInt($("#input-url-numpages").attr("value")));
	
	$(".select span").unbind('click').click(function(){
		$(this).siblings('div').slideToggle();
	});

	$(".select input").unbind('focus').focus(function(){
		$(this).blur();
	});

	$(".per-page-select span").unbind('click').click(function(){
		$(this).siblings('div').slideToggle();
	});

	$(".per-page-select input").unbind('focus').focus(function(){
		$(this).blur();
	});

	$("#tabBox .select[rel='timeframe']").children("span").text($("#tabBox .select[rel='timeframe'] a[rel='" + $timeframe + "']").text());
	$("#tabBox .select[rel='categories']").children("span").text($("#tabBox .select[rel='categories'] a[rel='" + $cat + "']").text());
	$("#tabBox .per-page-select").find("span p").text($("#tabBox .per-page-select a[rel='" + $per_page + "']").text());

	$("#tabBox .select[rel='timeframe'] a").unbind("click").click(function() {
		$("#tabBox .select[rel='timeframe']").children("span").text($(this).text());
		$(this).parent().parent().parent().slideToggle();

		$page = 1;
		update_settings($name, $page, $per_page, $cat, $(this).attr("rel"));
		load_option($to_load, $page, $per_page, $cat, $(this).attr("rel"));

		return false;
	});

	$("#tabBox .select[rel='categories'] a").unbind("click").click(function() {
		$("#tabBox .select[rel='categories']").children("span").text($(this).text());
		$(this).parent().parent().parent().slideToggle();
	
		$page = 1;
		update_settings($name, $page, $per_page, $(this).attr("rel"), $timeframe);
		load_option($to_load, $page, $per_page, $(this).attr("rel"), $timeframe);

		return false;
	});

	$("#tabBox .per-page-select a").unbind("click").click(function() {
		$("#tabBox .per-page-select").find("span p").text($(this).text());
		$(this).parent().parent().parent().slideToggle();

		update_settings($name, $page, parseInt($(this).text()), $cat, $timeframe);	
		load_option($to_load, $page, parseInt($(this).text()), $cat, $timeframe);	

		return false;
	});

	$("#tabBox .pager a").unbind("click").click(function () {
		if(!$(this).hasClass("next") && !$(this).hasClass("prev"))
		{
			return false;
		}

		if($(this).hasClass("next"))
		{
			$page = parseInt($page) + 1;
		} else if ($(this).hasClass("prev")) {
			$page = parseInt($page) - 1;
		}	

		update_pager($page, parseInt($("#input-url-numpages").attr("value")));

		update_settings($name, $page, $per_page, $cat, $timeframe);
		load_option($to_load, $page, $per_page, $cat, $timeframe);

		return false;
	});
}

function update_pager($page, $num_page)
{	
	if($page > 1)
	{
		$("#tabBox .prev-off").removeClass("prev-off").addClass("prev");
	} else {
		$("#tabBox .prev").removeClass("prev").addClass("prev-off");
	}

	if($page >= $num_page)
	{
		$("#tabBox .next").removeClass("next").addClass("next-off");
	} else {
		$("#tabBox .next-off").removeClass("next-off").addClass("next");
	}
}

function update_settings($name, $page, $per_page, $cat, $timeframe)
{
	$("#tabBox #last_tab_viewed_section").attr("value", $name);
	$("#tabBox #last_tab_viewed_page").attr("value", $page);
	$("#tabBox #last_tab_viewed_perpage").attr("value", $per_page);
	$("#tabBox #last_tab_viewed_cat").attr("value", $cat);
	$("#tabBox #last_tab_viewed_timeframe").attr("value", $timeframe);

}

function update_rss_icon($cat, $timeframe)
{
	$("#tabBox .rss_icon a").attr("href", $("#tabBox .rss_icon a").attr("rel") + "&type=" + $timeframe + "&filter=" + $cat);
}

