﻿jQuery(function($)
{
	$("a[href$=.mp3]").each(CreatePodcastLink);
	FixParagraphMargins();
	
	if ($("#downloadMP3"))
	    DownloadMP3Setup();
	    
	if ($("#evaluation"))
		EvaluationSetup();
});

// -------------------------------------------------------------------------

function CreatePodcastLink(index, domElement)
{
	if ($(this).attr("target") == "_top")
	{
		$(this).click(function()
		{ 
			PodcastPopup($(this).attr("href"));
			pageTracker._trackPageview('/podcasts/listen/' + $(this).attr("href"));
			return false; 
		});
	}
	else
	{
	    $(this).click(function()
		{
		    pageTracker._trackPageview('/podcasts/download/' + $(this).attr("href"));
		});
		$(this).attr("href", "/download.axd?p=" + $(this).attr("href"));
		
	}
}

// -------------------------------------------------------------------------

function FixParagraphMargins()
{
	$("td p:last-child, div p:last-child").each(function ()
	{
		$(this).addClass("last");
	});
	
	$("p + ul").prev().each(function ()
	{
		$(this).addClass("last");
	});
}

// -------------------------------------------------------------------------

function PodcastPopup(url)
{
	window.open("/podcast.htm?id=" + url, "podcast", "resizable=no,status=no,menubar=no,toolbar=no,width=310,height=25");
}

// -------------------------------------------------------------------------

function DownloadMP3Setup()
{
    var statement = $("#statement"),
		allFields = $([]).add(statement),
		tips = $("#validateTips");

	function updateTips(t)
	{
		tips.text(t).effect("highlight",{},1500);
	}

	function checkLength(o, n, min, max)
	{
		if (o.val().length > max || o.val().length < min)
		{
			o.addClass('ui-state-error');
			updateTips("Længden af din " + n + " skal være mellem " + min + " og " + max + " karakterer.");
			return false;
		}
		else
		{
			return true;
		}

	}
    $("#downloadMP3").dialog(
    {
		bgiframe: true,
		autoOpen: false,
		height: 240,
		modal: false,
		draggable: false,
		resizable: false,
		buttons:
		{
		    'Send': function()
		    {
			    var bValid = true;
			    allFields.removeClass('ui-state-error');

			    bValid = bValid && checkLength(statement, "statement", 10, 250);
    			
			    if (bValid)
			    {
			        pageTracker._trackPageview('/mp3/download');
			        $.download("/download.axd", "s=" + statement.val());
			        $(this).dialog('close');
			    }
		    },
		    Cancel: function()
		    {
		        pageTracker._trackPageview('/mp3/close');
			    $(this).dialog('close');
		    }
	    },
	    close: function()
	    {
		    allFields.val('').removeClass('ui-state-error');
	    }
	});
	
	$('#download').click(function()
	{
	    $('#downloadMP3').dialog('open');
	    pageTracker._trackPageview('/mp3/open');
	    return false;
	})
}

// -------------------------------------------------------------------------

function rate(page_id, box_id, rating)
{
	var currentbox = '#' + box_id;
	var thanks = '#' + box_id + ' .thanks';

	if ($(currentbox).find('.thanks').length > 0) { $(thanks).fadeOut("fast", function (){ $(thanks).removeClass("thanks"); } ); }
	
	$.ajax({
		url: "/rating.axd",
		data: "id=" + page_id + "&box=" + box_id + "&rating=" + rating,
		dataType: 'html',
		success: function(result)
		{
			//alert(result);
			var i = 300;
			var j = 5000;
			$(currentbox).append('<div class="thanks"><p>Tak for din vurdering.</p></div>');
			$(thanks).fadeIn(i, function()
			{
				setTimeout(function()
				{
					$(thanks).fadeOut(i);
				}, j);
			});
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert("error: " + errorThrown);
		}
	});

	var set_class = 'current rate' + rating + '0';
	var current_rate = '#' + box_id + ' #current_rate';
	var rating_ul = '#' + box_id + ' .rating ul';

	$(current_rate).removeClass().addClass( set_class );
	$(rating_ul).hide();
}

// -------------------------------------------------------------------------

function EvaluationSetup()
{
	$("#evaluation").dialog(
    {
		bgiframe: true,
		autoOpen: true,
		height: 240,
		modal: false,
		draggable: false,
		resizable: false,
		buttons:
		{
		    'Ja': function()
		    {
			    window.location = "/evaluering.aspx";
			    $(this).dialog('close');  
		    },
		    'Nej': function()
		    {
			    $(this).dialog('close');
		    }
	    },
	    close: function()
	    {
		    allFields.val('').removeClass('ui-state-error');
	    }
	});
}
