$(function() {
	// TAB SWITCHER
	$(".tabs > ul > li").click(function() {
		var TabID = $(this).attr("id");
		
		TabLoad(TabID);
	});
	
	// VIEW CONTROLS
	$(".controls > a").click(function() {		
		var ViewID = $(this).attr("id");
		
		if (ViewID == "NormalView") {
			$("#Player > object").width(510);
			$("#Player > object").height(436);
			
			$("#Playback").removeClass("grid11");
			$("#Content").removeClass("grid5");
			$("#Playback").addClass("grid9");
			$("#Content").addClass("grid7");
			
			$("#bannerFooter").removeClass("banner-wide");
			$("#bannerFooter").addClass("banner");
			
			$("div").data("View", "Normal");
			
		} else if (ViewID == "CinemaView") {
			$("#Playback").removeClass("grid9");
			$("#Content").removeClass("grid7");
			$("#Playback").addClass("grid11");
			$("#Content").addClass("grid5");			
			
			$("#Player > object").width(630);
			$("#Player > object").height(532);
			
			$("#bannerFooter").removeClass("banner");
			$("#bannerFooter").addClass("banner-wide");
			
			$("div").data("View", "Cinema");
		}
		return false;
	});

	// LOAD ONDEMAND PROGRAMME
	$("#Ondemand > div").live("click", function(){
		var ProgrammeID = $(this).attr("id");
		
		$.post("assets/p_embedcode.php", { ProgrammeID: ProgrammeID }, function(EmbedCode) {
			// console.log(EmbedCode);
			generatePlayer(EmbedCode);
			updateOndemandDisplay(ProgrammeID)
		});
	});
});

// LOAD TAB CONTENT
function TabLoad(TabID) {
	switch (TabID) {
		case "tabWelcome":
			if ($("div").data("loadedWelcome") != "true") {
				$("#Welcome").load("/pages/welcome.php", function(ReturnedData) {
					$("div").data("loadedWelcome", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Welcome");
			break;
			
		case "tabSchedule":
			if ($("div").data("loadedSchedule") != "true") {
				$("#Schedule").load("/pages/schedule.php", function(ReturnedData) {
					$("div").data("loadedSchedule", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Schedule");
			
			var currentPlaybackID = ($("#Player > object").attr("id"));
			var currentBandwidth = currentPlaybackID.substring(17,20);
			
			// GET SCHEDULE IF NOT PLAYING AND CLEANUP ONDEMAND WINDOW
			if (currentPlaybackID.substring(0,3) != "sch") {
				generatePlayer("sch-fcd208495d56-" + currentBandwidth);
				$("#Ondemand > div").removeClass("highlight");
			}
			break;
			
		case "tabOndemand":
			if ($("div").data("loadedOndemand") != "true") {
				$("#Ondemand").load("/pages/ondemand.php", function(ReturnedData) {
					$("div").data("loadedOndemand", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Ondemand");
			break;
			
		case "tabSearch":
			if ($("div").data("loadedSearch") != "true") {
				$("#Search").load("/pages/search.php", function(ReturnedData) {
					$("div").data("loadedSearch", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Search");
			break;
			
		case "tabSettings":
			if ($("div").data("loadedSettings") != "true") {
				$("#Settings").load("/pages/settings.php", function(ReturnedData) {
					$("div").data("loadedSettings", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Settings");
			break;
	}	
}

// VISUAL SWITCH TABS
function TabSwitch(TabID) {	
	$(".wrapper > .tabs > ul > li").removeClass("on");
	$(".wrapper > .tabs > ul > li").addClass("off");
	
	$("#" + TabID).removeClass("off");
	$("#" + TabID).addClass("on");
}

// VISUAL SWITCH PANELS
function PanelSwitch(PanelID) {	
	$("#Content > div").hide();
	$("#" + PanelID).show();
}

// TAKE EMBED CODE AND GENERATE PLAYER
function generatePlayer(EmbedCode) {
	if ($("div").data("View") == "Cinema") {
		var PlayerWidth = 630;
		var PlayerHeight = 532;
		
	} else {
		var PlayerWidth = 510;
		var PlayerHeight = 436;
	}
	
	var PlayerHTML = "<script type=\"text/javascript\">var flashvars = { id:'" + EmbedCode + "', cid:'teletext' , masterU:'http://www.mizutv.com' , skinCol:'0x000000' , skinH:'28' , skinBotPadPcnt:'10' , skinMaxWidth:'' , skinOver:'' , disableDog:'true' , autoStart:'true' , looping:'' }; var params = { allowfullscreen: 'true', allowscale: 'false', menu: 'false', bgcolor: '#000', allowScriptAccess: 'always', wmode: 'transparent' }; var attributes = { };";
	PlayerHTML += "swfobject.embedSWF('http://www.mizutv.com/players/player2009/player2009v1_2.swf', '" + EmbedCode + "', '" + PlayerWidth + "', '" + PlayerHeight + "', '9.0.115', false, flashvars, params, attributes);</script>";
	PlayerHTML += "<div id='" + EmbedCode + "'>You need to upgrade your Adobe Flash Player to version 9.0.115+</div>";
	
	// console.log(PlayerHTML);
	
	$("#Player").html(PlayerHTML);
	$("#Player").addClass("player");
}

function updateProgrammeDisplay(ProgrammeID) {
    getProgrammeMetadata(ProgrammeID);
}

function updateScheduleDisplay(ProgrammeID) {
	getProgrammeMetadata(ProgrammeID);
	$("#Schedule > div").removeClass("highlight");
	$("#" + ProgrammeID).addClass("highlight");
}

function scrollScheduleWindow(ProgrammeID) {
	var moveVertical = $("#" + ProgrammeID).height() + 16; // OFFSET FOR MARGIN & PADDING
	$("#Schedule").scrollTo("+=" + moveVertical, 800);
}

function updateOndemandDisplay(ProgrammeID) {
	getProgrammeMetadata(ProgrammeID);
	$("#Ondemand > div").removeClass("highlight");
	$("#" + ProgrammeID).addClass("highlight");
}

function getProgrammeMetadata(ProgrammeID) {
	$.post("assets/p_programmes.php", { ProgrammeID: ProgrammeID }, function(Metadata) {		
		$("#Infobar").html("<p><b>Now Playing: </b>" + Metadata.Title + "</p>");
		$("#bannerFooter > iframe").attr("src", Metadata.Banner);
		
		$.get("stats.php", { ProgrammeID: Metadata.ProgrammeID });
	}, "json");
}