var TogglingFeedback = false;
var FeedbackClicked = false;
var FeedbackOverlayClicked = false;

var toggleFeedback = function(toggle) 
{
	var $feedback = $("#feedback");
	
	if(toggle & !$feedback.hasClass("feedback-toggled"))
	{
		return;
	}
	onSendFeedbackTimeout = "";
	onSendFeedbackTimeout = clearTimeout(onSendFeedbackTimeout);

	if(!TogglingFeedback)
	{
		var toggled_value = -552;
		var collapsed_value = -38;
		
		if($.browser.msie && $.browser.version.indexOf("6.0") > -1)
		{
			$feedback.bind("click", function() {
				FeedbackClicked = true;
				FeedbackOverlayClicked = false;
			});
			
			var toggled_value = -551;
			var collapsed_value = -36;
		}
		
		var $feedback_form = $("#feedback-form");
		var $feedback_content = $("#feedback-content");
		var $feedback_clip = $("#feedback-clip");
		
	
		TogglingFeedback = true;
		if(!$feedback.hasClass("feedback-toggled"))
		{
			$feedback.addClass("feedback-toggled");
			$feedback_clip.mouseover();
			$feedback_content.show();
			
			$feedback.animate({width : toggled_value * -1, marginLeft : toggled_value}, "slow");
			showFancyOverlay(true);
			$feedback.css("z-index", 399);
			TogglingFeedback = false;
		}
		else
		{
			TogglingFeedback = true;
			
			$feedback.animate({width : collapsed_value * -1, marginLeft : collapsed_value}, "slow", function() {
				$feedback.removeClass("feedback-toggled");
				$feedback_content.hide();
				$feedback_clip.mouseout();	
				$feedback_form.show();
				$("#feedback-response").hide();
				$("#feedback-response-content").hide();
				showFancyOverlay(false);
				$feedback.css("z-index", 222);
				TogglingFeedback = false;
			});
		}
	}
	return false;
}

var showFancyOverlay = function(show) 
{
	var $overlay = $("#fancy_overlay").css({width : $(document).width(), height : $(document).height()});
	if(show)
	{
		$overlay.show().click(function() {	
			$("#feedback-clip").click();
		});
		
		if($.browser.msie && $.browser.version.indexOf("6.0") > -1)
		{
			$("#werbe_at").click(function() {	
				if(!FeedbackClicked | FeedbackOverlayClicked)
					$("#feedback-clip").click();
				FeedbackOverlayClicked = true;
				FeedbackClicked = false;
			});
		}
		
		if($.browser.msie && $.browser.version.indexOf("6.0") > -1)
		{
			$overlay.bind("click", function() { $overlay.click(); });
		}
		else
			$overlay.css("background", "#000").animate({opacity : 0.7}, 0);
	}
	else
	{
		$overlay.hide();
		if($.browser.msie && $.browser.version.indexOf("6.0") > -1)
		{
			$("#werbe_at").unbind("click");
			$overlay.unbind("click");
		}
		else
			$overlay.css("background", "#000").animate({opacity : 0}, 0);
	}
}

$(window).bind("resize", function() { $("#fancy_overlay").css({width : $(document).width(), height : $(document).height()}); });

var addFeedbackAJAXLoading = function()
{
	if(!$("#feedback .form-buttons .ajax-loading").length)
	{
		$("#feedback .form-buttons").append('<img class="ajax-loading" src="images/ajax-loader.gif" alt="Loading..." />');	
		$("#feedback .form-buttons .ajax-loading").animate({opacity : "show"}, "normal");
	}
};

var removeFeedbackAJAXLoading = function()
{
	$("#feedback .form-buttons .ajax-loading").animate({opacity : "hide"}, "normal", function() { 
		$("#feedback .form-buttons .ajax-loading").remove(); 
	});
};

var sendFeedbackTimeout = "";

var sendFeedback = function()
{
	if(sendFeedbackTimeout == "")
	{
		var form_fields = $("#feedback input, #feedback textarea");
		
		var params = new Object();
		params.name = form_fields[0].value;
		params.email = form_fields[1].value;
		
		params.opinion = form_fields[2].checked ? 1 : "0";
		params.compliment = form_fields[3].checked ? 1 : "0";
		params.error = form_fields[4].checked ? 1 : "0";
		params.message = form_fields[5].value;
		
		params.permlink = document.location.href;
		
		params.ajax_call = "1";
		
		addFeedbackAJAXLoading();

		sendFeedbackTimeout = setTimeout(function() {$.post("custom/modules/user/user.cfc?method=sendFeedback", params, onSendFeedback, "json");}, 1000);
	}
	return false;
}

var onSendFeedbackTimeout = "";

var onSendFeedback = function(obj)
{
	sendFeedbackTimeout = "";
	clearTimeout(sendFeedbackTimeout);
	
	$("#feedback textarea").val("");
	removeFeedbackAJAXLoading();
	
	if(obj != null)
	{
		$("#feedback-form").hide();
		$("#feedback-response").show();
		$("#feedback-response-content").animate({opacity : "show"}, "normal");
		onSendFeedbackTimeout = setTimeout(function() {toggleFeedback(true);}, 10000);
	}
	else
		toggleFeedback();
}
