jQuery(document).ready(function ($) {

    // Flickr Upload Facebox.
    $("#dnn_FlickrPane a[rel*=facebox]").click(function (event) {
        event.preventDefault();

        var self = $(this);
        var referencedContent = $(self.attr("href"));

        if (referencedContent.length > 0) {
            jQuery.facebox("");
            $("#facebox .content").append(referencedContent.show());
            $("#facebox").appendTo($(document.forms[0]));
        }
        else {
            jQuery.facebox.reveal();
        }
    });

    // Swag Signup Upload Facebox.
    $("a.swag[rel*=facebox]").click(function (event) {
        event.preventDefault();

        var self = $(this);
        var referencedContent = $(self.attr("href"));

        if (referencedContent.length > 0) {
            jQuery.facebox("");
            $("#facebox .content").append(referencedContent.show());
            $("#facebox").appendTo($(document.forms[0]));
        }
        else {
            jQuery.facebox.reveal();
        }
    });
	
	// Contest Directions Facebox
    if ($("a.contest").facebox)
	{
		$("a.contest").facebox();
	}
	
	
	// Welcome Video Facebox
	if ($("a.welcome_video").length > 0)
	{
		function faceboxCloseHandler()
		{
			$('#facebox .content div.welcome_video').remove();
		}
		
		
		$("a.welcome_video").facebox();
		$(document).bind("close.facebox", faceboxCloseHandler);
	}
	
	

	//Login Contact Form
	    $("a.feedback[rel*=facebox]").click(function (event) {
        event.preventDefault();

        var self = $(this);
        var referencedContent = $(self.attr("href"));
		
        if (referencedContent.length > 0) {
            jQuery.facebox("");
            $("#facebox .content").append(referencedContent.show());
            $("#facebox").appendTo($(document.forms[0]));
        }
        else {
            jQuery.facebox.reveal();
        }
    });

	// Feedback Animation
	$("#feedback_link.open").live("click", function (event) {
		event.preventDefault();
		
		$("#feedback").show();
		$("#slide_div").show("slide", { direction: "right" }, 1000, function() {
			$("#feedback_link").removeClass("open").addClass("close");
		});
	});

	$("#feedback_link.close").live("click", function (event) {
		event.preventDefault();
		
		$("#slide_div").hide("slide", { direction: "right", distance: $("#feedback").outerWidth() }, 1000, function() {
			$("#slide_div").show();
			$("#feedback").hide();
			$("#feedback_link").removeClass("close").addClass("open");
		});
	});
	
	
	
	if ($("#feedback").length > 0)
	{
		var location1 = $("#feedback").find("select.location1");
		var location2 = $("#feedback").find("select.location2");
		var location3 = $("#feedback").find("select.location3");
		
		var location2Options = [].concat(location2.find("option").get());
		var location3Options = [].concat(location3.find("option").get());
		
		location1.change(function(event) {
			if ($(this).val() != "-1")
			{
				location2.show().val("-1");
				
				resetLocation2();
				location2.find(":not(option[value$='_" + $(this).val() + "'], option[value='-1'])").remove();
			}
			else
			{
				resetLocation2();
				resetLocation3();
			}
		});
		
		location2.change(function(event) {
			if ($(this).val() != "-1")
			{
				location3.show().val("-1");
				
				resetLocation3();				
				location3.find(":not(option[value$='_" + $(this).val() + "'], option[value='-1'])").remove();
			}
			else
			{
				resetLocation3();
			}
		});
		
		
		function resetLocation2()
		{
			location2[0].options.length = 0;
			
			for (var i = 0; i < location2Options.length; i++)
			{
				location2[0].options[location2[0].options.length] = new Option(location2Options[i].text, location2Options[i].value);
			}
		}
		
		
		function resetLocation3()
		{
			location3[0].options.length = 0;
			
			for (var i = 0; i < location3Options.length; i++)
			{
				location3[0].options[location3[0].options.length] = new Option(location3Options[i].text, location3Options[i].value);
			}
		}
	}
}) 
