var orderstr = "";

function viddlerNotLoggedin()
{
			$(".viddlererrordiv").fadeIn();
}

function updateDimensions(index)
{
	var file = "upload/" + document.form.filename.options[index].value;
	if(file == "upload/placehold")
		file = "video/placeholder.mp4";
	$.get("/mp4read.php?fname=" + file, function(str)
	{
    		if(str.substr(0, 3) == "mp4")
		{
			var arry = str.split(' ');
			document.form.width.value = arry[1];
			document.form.height.value = arry[2];
			var length = parseInt(arry[3]);
			document.form.minutes.value = parseInt(length / 60);
			document.form.seconds.value = parseInt(length % 60);
		}
	});
}

function ctrack(element)
{
	$.ajax({ type: "GET", url: "/ctrack/" + element + ".html", data: ''});
}

function make_edit(type, ID, datapairs)
{
	query = 'id=' + ID;
	for(var key in datapairs)
	{
		query = query + '&' + key + '=' + datapairs[key];
	}
	$.ajax({ type: "GET", url: "/action.php", data: query});
}

function addEditors()
{
	$("span").filter(".gameedit").click(function(event) {
		$("span").filter(".gameedit").hide();
		var data = $("span").filter(".gametext").html();$("span").filter(".gametext").html('<input type="text" class="gameedit" id="gameedit" value="' + data + '" /><span class="hidden saved">' + data + '</span>');
		$("#gameedit").autocomplete(autogamedata);
		$("input").filter(".gameedit").keyup(function(event) {
			if(event.keyCode == 13)	{
				var data = $("input").filter(".gameedit").val();
				var ID = $("span").filter(".video_id").html();
				make_edit('video', ID, { game : data });
				$("span").filter(".gametext").html(data);
				$("span").filter(".gameedit").show();
			}
			if(event.keyCode == 27) {
				$("span").filter(".gametext").html($(".gametext > .saved").html());
				$("span").filter(".gameedit").show();
			}
		});
	});

        $("span").filter(".lptitleedit").click(function(event) {
                $("span").filter(".lptitleedit").hide();
                var data = $("span").filter(".titletext").html();$("span").filter(".titletext").html('<input type="text" class="lptitleedit" size="60" value="' + data + '" /><span class="hidden saved">' + data + '</span>');
                $("input").filter(".lptitleedit").keyup(function(event) {
                        if(event.keyCode == 13) {
                                var data = $("input").filter(".lptitleedit").val();
                                var ID = $("span").filter(".lp_id").html();
                                make_edit('video', ID, { lptitle: data });
                                $("span").filter(".titletext").html(data);
                                $("span").filter(".lptitleedit").show();
                        }
                        if(event.keyCode == 27) {
                                $("span").filter(".titletext").html($(".titletext > .saved").html());
                                $("span").filter(".lptitleedit").show();
                        }
                });
        });

        $("span").filter(".picedit").click(function(event) {
                $("span").filter(".picedit").hide();
                $("span").filter(".prevpic").html('<form enctype="multipart/form-data" method="post" action="/lpupload.php" id="replaceform"><input type="file" name="lppic" /> &nbsp; &nbsp;<input id="lpupload" type="submit" value="Upload picture" /></form>');

		$("form#replaceform").ajaxForm(function()
		{
                        var ID = $("span").filter(".lp_id").html();
			make_edit('video', ID, { replacepic: 1 });
			setTimeout('window.location="/lp/' + ID + '";', 400);
		});
        });

	$("span").filter(".titleedit").click(function(event) {
		$("span").filter(".titleedit").hide();
		var data = $("span").filter(".titletext").html();$("span").filter(".titletext").html('<input type="text" class="titleedit" size="60" value="' + data + '" /><span class="hidden saved">' + data + '</span>');
		$("input").filter(".titleedit").keyup(function(event) {
			if(event.keyCode == 13)	{
				var data = $("input").filter(".titleedit").val();
				var ID = $("span").filter(".video_id").html();
				$("span").filter(".titletext").html(data);
				$("span").filter(".titleedit").show();
				data = data.replace("#", "%23");
				make_edit('video', ID, { title: data });
			}
			if(event.keyCode == 27) {
				$("span").filter(".titletext").html($(".titletext > .saved").html());
				$("span").filter(".titleedit").show();
			}
		});
	});

	$("span").filter(".authoredit").click(function(event) {
		$("span").filter(".authoredit").hide();
		var data = $("span").filter(".authortext").html();$("span").filter(".authortext").html('<input type="text" class="authoredit" id="authoredit" value="' + data + '" /><span class="hidden saved">' + data + '</span>');
		$("#authoredit").autocomplete(autoauthdata);
		$("input").filter(".authoredit").keyup(function(event) {
			if(event.keyCode == 13)	{
				var data = $("input").filter(".authoredit").val();
				var ID = $("span").filter(".video_id").html();
				make_edit('video', ID, { author: data });
				$("span").filter(".authortext").html(data);
				$("span").filter(".authoredit").show();
			}
			if(event.keyCode == 27) {
				$("span").filter(".authortext").html($(".authortext > .saved").html());
				$("span").filter(".authoredit").show();
			}
		});
	});
}

function addHandlers()
{
	searchdiv = $(".searchdiv:visible");
	searchdiv.hide();

	playlistdiv = $(".playlistdiv:visible");
	playlistdiv.hide();

	addEditors();

	$("h3").filter(".playlist").click(
	function(event)
	{
		ctrack("lp_playlist");
		playlistdiv = $(".playlistdiv");

		if(playlistdiv.is(':visible'))
		{
			playlistdiv.slideUp("fast");
		}
		else
		{
			playlistdiv.css( { position: "absolute",
			       top: $(this).offset().top + $(this).height() + 20 + "px", left: $(this).offset().left + $(this).width() - playlistdiv.width() - 30 + "px" });

			playlistdiv.slideDown("fast");
		}
	});

	$("a").filter(".playlistclose").click(
	function(event)
	{
		event.preventDefault();
		playlistdiv = $(".playlistdiv");

		playlistdiv.slideUp("fast");
	});

	$("span").filter(".videdit").click(
	function(event)
	{
		videditdiv = $(".videditdiv");

		if(videditdiv.is(':visible'))
			videditdiv.slideUp("fast");
		else
			videditdiv.slideDown("fast");
	});

	$("input#videoedit").click(
	function(event)
	{
		event.preventDefault();
		var ID = $("span").filter(".video_id").html();
		var width = $("input#widthedit").val();
		var height = $("input#heightedit").val();
		var length = $("input#lenedit").val();
		var lp = $("select#lp").val();
		make_edit('video', ID, { width: width, height: height, length: length, lp: lp });
		margin = (680-width)/2;	
		$("div.viewer").css("left", margin);
		$("object#player").width(parseInt(width));
		$("object#player").height(parseInt(height));
	});

	$("input#confirmviddel").click(
        function(event)
        {
                event.preventDefault();
                var ID = $("span").filter(".video_id").html();
                var LPID = $("span").filter(".lp_id").html();
		make_edit('video', ID, { viddel: 1 });
		setTimeout('window.location="/lp/' + LPID + '";', 400);
        });

	$("input#mirradd").click(
        function(event)
        {
                event.preventDefault();
                var ID = $("span").filter(".video_id").html();
		var mirrornam = $("input#mirrnam").val();
		var mirrorurl = $("input#mirrurl").val();
		mirrorurl = mirrorurl.replace("&", "%26");
                make_edit('video', ID, { mirrornam: mirrornam, mirrorurl: mirrorurl });
		setTimeout('window.location="/' + ID + '";', 400);
        });

	$("form#vidform").ajaxForm(function(response)
	{
		img = $("img#lppreview").attr("src");
		$("img#lppreview").attr("src", "/pictures/vidtmp.jpg?foo=bar" + Math.random());

		if(response.substr(0, 2) == "OK")
		{
			$("img#status").attr("src", "/images/right.png");
			$("span#statusmsg").html("This image is fine");
			$("img#status").fadeIn("fast");
			$("span#statusmsg").fadeIn("fast");
			$("input#videoadd").removeAttr("disabled");
		}
		if(response.substr(0, 4) == "ERR:")
		{
			$("img#status").attr("src", "/images/wrong.png");
			if(response.substr(4, 3) == "ext")
				$("span#statusmsg").html("Not a JPG or PNG file");
			if(response.substr(4, 3) == "dim")
				$("span#statusmsg").html("Not within the required dimensions");
			if(response.substr(4, 3) == "sys")
				$("span#statusmsg").html("Internal Error");
			$("img#status").fadeIn("fast");
			$("span#statusmsg").fadeIn("fast");

			$("input#videoadd").attr("disabled", "true");
		}
	});

	$("input#videoadd").attr("disabled", "true");

	var options = {
		beforeSubmit: function(arr, $form, options) {
										$("input#videoadd").attr("disabled", "true");
										$("img#uploadprogress").show();
									},
		success: function(response) {
							     if(response.substr(0, 7) == "invalid")
							       alert(response);
							     else
							       window.location = '/lp/' + $("select#lp").val();
						 }
	};

	$("form#vidupload").ajaxForm(options);

	$("a#previewshow").click(function(event)
	{
		event.preventDefault();

		$("a#previewshow").hide();
		$("img#lppreview").fadeIn();
	});

	$("form#lpform").ajaxForm(function(response)
	{
		img = $("img#lppreview").attr("src");
		$("img#lppreview").attr("src", "/pictures/lptmp.jpg?foo=bar" + Math.random());

		if(response.substr(0, 2) == "OK")
		{
			$("img#status").attr("src", "/images/right.png");
			$("span#statusmsg").html("This image is fine");
			$("img#status").fadeIn("fast");
			$("span#statusmsg").fadeIn("fast");
			$("input#lpadd").removeAttr("disabled");
		}
		if(response.substr(0, 4) == "ERR:")
		{
			$("img#status").attr("src", "/images/wrong.png");
			if(response.substr(4, 3) == "ext")
				$("span#statusmsg").html("Not a JPG or PNG file");
			if(response.substr(4, 3) == "dim")
				$("span#statusmsg").html("Not within the required dimensions");
			if(response.substr(4, 3) == "sys")
				$("span#statusmsg").html("Internal Error");
			$("img#status").fadeIn("fast");
			$("span#statusmsg").fadeIn("fast");

			$("input#lpadd").attr("disabled", "true");
		}
	});

	$("input#lpadd").attr("disabled", "true");

	$("form#lpaddform").ajaxForm(function (response)
	{
		//alert(response)
		window.location='/';
	});


	$("form#screenform").ajaxForm(
	function ()
	{
                var vidfilename = $("span").filter(".vid_file").html();
                var ssfilename = $("span").filter(".ss_file").html();

		vidfilename = '/dummy' + vidfilename;
		ssfilename = '/dummy' + ssfilename;

		$("span").filter(".vid_file").html(vidfilename);
		$("span").filter(".ss_file").html(ssfilename);

		img = $("img#screenprev").attr("src");
		$("img#screenprev").attr("src", img + "?foo=bar");
		//player.sendEvent("LOAD", {file: vidfilename, image: ssfilename});
		$("input#screenedit").slideDown("fast");
		$("span#screenload").slideUp("fast");
	});

	$("table#lptable").tableDnD({
		onDrop: function(table, row) {
			var data = $("table#lptable").tableDnDSerialize();
			data = data.replace(/lptable/g, "");
			data = data.replace("total", "");
			data = data.replace("newvid", "");
			data = data.replace("header", "");
			data = data.replace(/m/g, "");
			data = data.replace(/^\[\]=&\[\]=/g, "");
			data = data.replace(/&\[\]=&\[\]=$/g, "");
			order = data.split("&[]=");
			orderstr = order.toString();

			$("input#ordered").fadeIn();
		},
		dragHandle: "dragHandle"
	});

	$("input#ordered").click(function(event)
	{
		event.preventDefault();
                var LPID = $("span").filter(".lp_id").html();
		make_edit("lporder", LPID, {order: orderstr});
		setTimeout('window.location="/lp/' + LPID + '";', 400);
	});

	$("table#lptable tr.moveable").hover(function() {
		$(this.cells[0]).addClass('showDragHandle');
	}, function() {
		$(this.cells[0]).removeClass('showDragHandle');
	});

	$("input#screenedit").click(function(event)
	{
		$("input#screenedit").slideUp("fast");
		$("span#screenload").slideDown("fast");
	});

	$("span").filter(".screenedit").click(
	function(event)
	{
		screeneditdiv = $(".screeneditdiv");

		if(screeneditdiv.is(':visible'))
			screeneditdiv.slideUp("fast");
		else
			screeneditdiv.slideDown("fast");
	});

	$("span").filter(".viddupload").click(
	function(event)
	{
		vidduploaddiv = $(".vidduploaddiv");

		if(vidduploaddiv.is(':visible'))
			vidduploaddiv.slideUp("fast");
		else
			vidduploaddiv.slideDown("fast");
	});

	$("span").filter(".youupload").click(
	function(event)
	{
		youuploaddiv = $(".youuploaddiv");

		if(youuploaddiv.is(':visible'))
			youuploaddiv.slideUp("fast");
		else
			youuploaddiv.slideDown("fast");
	});

	$("span").filter(".blipupload").click(
	function(event)
	{
		blipuploaddiv = $(".blipuploaddiv");

		if(blipuploaddiv.is(':visible'))
			blipuploaddiv.slideUp("fast");
		else
			blipuploaddiv.slideDown("fast");
	});

	$("span").filter(".viddel").click(
	function(event)
	{
		viddeldiv = $(".viddeldiv");

		if(viddeldiv.is(':visible'))
			viddeldiv.slideUp("fast");
		else
			viddeldiv.slideDown("fast");
	});

	$("span").filter(".mirradd").click(
	function(event)
	{
		mirradddiv = $(".mirradddiv");

		if(mirradddiv.is(':visible'))
			mirradddiv.slideUp("fast");
		else
			mirradddiv.slideDown("fast");
	});

	$("h2").filter(".search").click(
	function(event)
	{
		ctrack('search');
		searchdiv = $(".searchdiv");

		if(searchdiv.is(':visible'))
		{
			searchdiv.slideUp("fast");
		}
		else
		{
			searchdiv.css( { position: "absolute",
				       top: $(this).offset().top + $(this).height() + 20 + "px", left: $(this).offset().left - searchdiv.width() - 20 + "px" });

			searchdiv.slideDown("fast");
		}
	});

	$("a").filter(".searchclose").click(
	function(event)
	{
		event.preventDefault();
		searchdiv = $(".searchdiv");

		searchdiv.slideUp("fast");
	});

	$("input").filter(".searchsub").click(
	function(event)
	{
		event.preventDefault();
			
		var searchtext = $("input").filter(".searchtext").val();

		var replaced = searchtext.replace(/[^a-zA-Z0-9 ]/g, "");
		var replaced = replaced.replace(/^ +/g, "");
		var replaced = replaced.replace(/ +$/g, "");
		var replaced = replaced.replace(/ {2,}/g, " ");

		window.location = '/all/default/A/' + replaced;
	});

	$("span").filter(".mirror.button").click(function(event) {
		ctrack('mirrorsel');
		$(this).hide();
		$("#mirrorselection").show();
	});

	$("#mirrorselection").hide();

	$("#gameedit").autocomplete(autogamedata);
	$("#authedit").autocomplete(autoauthdata);

	var automirrdata = ["Viddler", "Dailymotion", "Youtube", "Youtube HD"];
	$("#mirrnam").autocomplete(automirrdata);

	$(".searchtext").autocomplete(autoauthdata.concat(autogamedata));
	$(".searchtext").keyup(function(event)
	{
		if(event.keyCode == 27)	{
			event.preventDefault();
			searchdiv = $(".searchdiv");

			searchdiv.slideUp("fast");
		}
	});

	$("a.delmirr").click(function(event)
	{
		event.preventDefault();
                var ID = $("span").filter(".video_id").html();
                make_edit('video', ID, { delmirror: $(this).attr("id") });
		$(this).parent().parent().slideUp();
	});

	$("a.pubprivmirr").click(function(event)
	{
		event.preventDefault();
                var ID = $("span").filter(".video_id").html();
                make_edit('video', ID, { pubmirror: $(this).attr("id") });
	});

	$("span.lpdel").click(function(event)
	{
		$("input#confirmlpdel").fadeIn();
	});

	$("input#confirmlpdel").click(function(event)
        {
		event.preventDefault();
                var LPID = $("span").filter(".lp_id").html();
		make_edit("video", LPID, {lpdelete: 1});
		setTimeout('window.location="/";', 400);
        });
}

$(document).ready(addHandlers);

