﻿/// <reference path="firebug-vsdoc.js" />
/// <reference path="jquery-1.3.2-vsdoc.js" />

//(function($) {
var c_modal = "#modal";
var c_modalBack = "#modal-back";
var c_modalBottom = "#modal-bottom";
var c_modalClose = ".modal-close";
var c_modalContainer = "#modal-container";
var c_modalContent = "#modal-content";
var c_modalTop = "#modal-top";

var _buildStructure = function() {
	$(document.body).append("<div id=\"modal-back\">"
		+ "<div id=\"modal-container\">"
		+ "<div id=\"modal-top\"></div>"
		+ "<div id=\"modal-content\"><div id=\"modal\"></div></div>"
		+ "<div id=\"modal-bottom\"></div>"
		+ "<a class=\"modal-close text-replace\" href=\"#\">CLOSE X</a>"
		+ "</div></div>");

	$(c_modalClose).click(function(evt) {
		evt.preventDefault();
		$(c_modalBack).css({ display: "none" });
	});
};

var _structureExists = function() {
	if ($(c_modal).length > 0)
		return true;

	return false;
};

$.modal = function(target, callback) {
	if ($.browser.msie && $.browser.version < 7)
		return;

	$(target).click(function(evt) {
		var $this = $(this);
		var windowHeight = $(window).height();

		$(c_modal).children().remove();

		if (windowHeight < 470)
			return;

		evt.preventDefault();

		if (!_structureExists())
			_buildStructure();

		if ($this.hasClass("newsletter-link"))
			$(c_modalContent).height(220);
		else $(c_modalContent).height(418);

		$(c_modalBack).css({ display: "block" });

		var url = $this.attr("href");
		if (url && url != "")
			$(c_modal).load(url, function(responseText, textStatus, xhr) {
				if (textStatus == "error") {
					$(c_modal).html("<p>An error has occured, please try again later.</p>");
					return;
				}

				if ($.isFunction(callback))
					callback(textStatus);
			});
	});
};

$.modalOpen = function(content) {
	$(c_modal).children().remove();

	if (!_structureExists())
		_buildStructure();

	$(c_modalBack).css({ display: "block" });

	$(c_modal).html(content);
};
//})(jQuery);
