// init some variables
var qcplayer = null;
var transcript = [];
var currentPosition = null;
var currentDuration = null;

function playerReady(obj) {
	var id = obj['id'];
	qcplayer = document.getElementsByName(id)[0];
	jQuery.addListeners();
};

$().ready(function() {
	
	if($("#qctv").length)
	{
		$("#maincontent").css('margin-left', '0px');
		$("#maincontent-design").css('margin-left', '6px');
		$(".mainobject-window").css('padding', '6px');
		$("#sortable li:even").addClass("even");
		$("#sortable li:odd").addClass("odd");
	}
	$("#add").attr("disabled","disabled");
	
	// Remove transcription prompt on focus
	$("#transcription").focus(function() {
		if($(this).text() == "Please enter your transcription...")
		{
			$(this).text("");
		}
	});

	jQuery.addListeners = function() {
		if (player) {
			qcplayer.addModelListener("TIME", "jQuery.positionListener");
			qcplayer.addControllerListener("PLAY", "jQuery.playListener");
		} else {
			setTimeout("addListeners()",100);
		}
	};

	jQuery.positionListener = function(obj) { 
		currentPosition = obj.position; 
		currentDuration = obj.duration;
	};
	jQuery.time = function(sec) {
		time = [];
		t = null;
		var min = Math.floor(sec/60);
		var sec = sec % 60;
		t = jQuery.two(sec);
		t = jQuery.two(min) + ":" + t;

		var hr = Math.floor(min/60);
		min = min % 60;
		t = jQuery.two(hr) + ":" + t;
		sec = jQuery.two(sec);
		min = jQuery.two(min);
		hr = jQuery.two(hr);

		time.push(hr);
		time.push(min);
		time.push(sec);
		time.push(t);

		return time;
	}
	jQuery.two = function(x) {
		return ((x>9)?"":"0")+x
	}

	jQuery.playListener = function(obj) {
		currentState = obj.state;
		
		if ( currentState ) {
			var startPosition = Math.round(currentPosition);
			var timeStart = jQuery.time(startPosition);
			$("input[name=showhr]").val(timeStart[0]);
			$("input[name=showmin]").val(timeStart[1]);
			$("input[name=showsec]").val(timeStart[2]); 
			$("#add").attr("disabled","disabled");
			$("#transcription").blur().text("Please enter your transcription...");
		} else {
			var endPosition = Math.round(currentPosition);
			var timeEnd = jQuery.time(endPosition);
			$("input[name=hidehr]").val(timeEnd[0]);
			$("input[name=hidemin]").val(timeEnd[1]);
			$("input[name=hidesec]").val(timeEnd[2]);
			$("#add").attr("disabled","");
			$("#transcription").focus().text("");
		}
	}
	
	jQuery.sanitise = function(starttime,endtime) {
		if(starttime > endtime)
		{
			alert("You can't end a transcription before it starts.");
			return 1;
		}
	}
	
	jQuery.checkOverlap = function() {
		$.each()
	}
	
	jQuery.reorder = function() {
		$("#sortable")
	}
	
	$("#add").click(function() {

		var showTime = $("input[name=showhr]").val() + ':' + $("input[name=showmin]").val() + ':' + $("input[name=showsec]").val();
		var hideTime = $("input[name=hidehr]").val() + ':' + $("input[name=hidemin]").val() + ':' + $("input[name=hidesec]").val();
		sanitise = jQuery.sanitise(showTime, hideTime);
		if(sanitise == 1)
			return false;
		var transcription = $("textarea#transcription").attr("value");
		var randomId = Math.floor(Math.random()*1001);
		$("#sortable").append('<li class="ui-state-default" id="'+randomId+'"><span class="starttime">'+showTime+'</span><span class="endtime">'+hideTime+'</span><span class="transcription">'+transcription+'</span><span class="controls"><a onclick="return false;" border="0" class="remove"><img src="/extension/qctv/design/standard/images/trash-icon-16x16.gif" alt="Remove" /></a></span></li>');
		$("#sortable li").tsort("span.starttime");
		$("#sortable li:even").addClass("even");
		$("#sortable li:odd").addClass("odd");
		$("#transcription").text("Please enter your transcription...");
		$("#sortable li span.transcription").editInPlace({
			callback: function(original_element, html){
				return(html);
			}
		});
		return false;
	});
	
	$("#transcribe-form").submit(function() {
		$("#sortable li").each(function() {
			showTime = $("span.starttime", this).text();
			hideTime = $("span.endtime", this).text();
			transcription = $("span.transcription", this).text();
			transcriptData = { starttime: showTime, endtime: hideTime, transcript: transcription }
			transcript.push(transcriptData);
		});
		$("#final-text").val( $.toJSON(transcript));
	});
	
	/*$("#sortable li").live("mouseover", function() {
		$(this).children("span.controls").show();
	});
	$("#sortable li").live("mouseout", function() {
		$(this).children("span.controls").hide();
	})*/
	
	$(".remove").live("click",function() {
		$(this).parents("li").remove();
	})
	
	/*$("p").editInPlace({
		callback: function(original_element, html){
			return(html);
		}
	});*/
	
	
	
	/*$(".showffwd").click(function() {
		var showTime = $("input[name=showhr]").val() + ':' + $("input[name=showmin]").val() + ':' + $("input[name=showsec]").val();
		
	});*/
});
