$(function() {
	// TAB SWITCHER
	$(".tabs 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(520);
			$("#Player > object").height(320);
			
			$("#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(640);
			$("#Player > object").height(388);
			
			$("#bannerFooter").removeClass("banner");
			$("#bannerFooter").addClass("banner-wide");
			
			$("div").data("View", "Cinema");
            
        } else if (ViewID == "TranscriptView") {
            $("#Transcript").toggle();
		}
		return false;
	});

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

// LOAD TAB CONTENT
function TabLoad(TabID) {
	switch (TabID) {
		case "tabWelcome":
			if ($("div").data("loadedWelcome") != "true") {
				$("#Welcome").load("/tv/pages/welcome.php", function(ReturnedData) {
					$("div").data("loadedWelcome", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Welcome");
			break;
			
		case "tabSchedule":
			if ($("div").data("loadedSchedule") != "true") {
				$("#Schedule").load("/tv/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("/tv/pages/ondemand.php", function(ReturnedData) {
					$("div").data("loadedOndemand", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Ondemand");
			break;
			
		case "tabSearch":
			if ($("div").data("loadedSearch") != "true") {
				$("#Search").load("/tv/pages/search.php", function(ReturnedData) {
					$("div").data("loadedSearch", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Search");
			break;
			
		case "tabSettings":
			if ($("div").data("loadedSettings") != "true") {
				$("#Settings").load("/tv/pages/settings.php", function(ReturnedData) {
					$("div").data("loadedSettings", "true");
				});
			}
			TabSwitch(TabID);
			PanelSwitch("Settings");
			break;
	}	
}

// VISUAL SWITCH TABS
function TabSwitch(TabID) {	
	$(".wrapper .tabs li").removeClass("on");
	$(".wrapper .tabs 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 = 640;
		var PlayerHeight = 388;
		
	} else {
		var PlayerWidth = 520;
		var PlayerHeight = 320;
	}
	
	var PlayerHTML = "<script type=\"text/javascript\">var flashvars = { id:'" + EmbedCode + "', cid:'freshbusinessthinking' , 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 + "' class=\"playback\"><p>You will need Adobe Flash Player v9.0.115 to watch this film<br /><a href=\"http://get.adobe.com/flashplayer/\" target=\"_blank\">Click here to download the latest flash player</a></p></div>";
		
	$("#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("/tv/assets/p_programmes.php", { ProgrammeID: ProgrammeID }, function(Metadata) {
        $("#Infobar").html("<p><b>Now Playing: </b>" + Metadata.Title + "</p>");
        $("#Copy").html("<h3>" + Metadata.Title + "</h3><p>" + Metadata.Description + "</p>");
		$("#Transcript").html("<h3>Transcript</h3><p>" + Metadata.Transcript + "</p>");
		$("#ShareURL").val(Metadata.ShareURL);
		
		$.get("/tv/stats.php", { ProgrammeID: Metadata.ProgrammeID });
        
        document.title = Metadata.MetaTitle;
	}, "json");
}