
var Disclaimers = { };

$(document).ready(function()
{   
	var popup;
	var overlay;
	var titleContainer;
	var contentContainer;
	var shim;
	var buttonContainer;
	var okButton;
	var cancelButton;	
	var currentURL;
	var ie6 = (jQuery.browser.msie && jQuery.browser.version < 7);
	
	// add onclick handler to all <a class="disclaimer" /> elements
	Disclaimers.Install = function()
	{
		$('a.disclaimer[installed != yes]').each(function()
		{			
			$(this).attr('installed', 'yes');
			$(this).click(function()
			{
				var title = this.title || this.name || null;
				showPopup(title, this.href, this.rel);
				this.blur();
				return false;
			});
		});
	};
	Disclaimers.Install();
	
	// create the necessary DOM elements
	titleContainer = $('<div class="disclaimer_title" />')
		.append($('<div class="disclaimer_close"><a href="javascript:void(0);">Close</a> or Esc Key</div>').click(closePopup))
		.append($('<div style="clear:both;" />'));
	contentContainer = $('<div class="disclaimer_content" />');
	okButton = $('<input type="button" class="disclaimer_button" value=" OK " />').click(acceptPopup);
	cancelButton = $('<input type="button" class="disclaimer_button" value=" Cancel " />').click(closePopup);
	buttonContainer = $('<div class="disclaimer_buttons" />')
		.append(okButton)
		.append(cancelButton);	
	popup = $('<div id="disclaimer_popup" />')
		.append(titleContainer)	
		.append(contentContainer)
		.append(buttonContainer);		
	overlay = $('<div id="disclaimer_overlay" />').click(closePopup);
	shim = $('<div id="disclaimer_shim" />');	
	$(document.body).append(shim, overlay, popup);
		
		
	function closePopup()
	{
		document.onkeydown = '';
		$(popup).fadeOut('fast', function()
		{ 
			$(overlay).hide();
			if(ie6) { uninstallIEFix(); }
		});		
	}
	
	function acceptPopup()
	{
		window.location = currentURL;
	}
	
	function documentOnKeyDown(event)
	{
		var key = (event == null ? event.keyCode : event.which);
		if(key == 27) // <ESC>
			closePopup();
	}
	
	function showPopup(title, url, type)
	{
		if(ie6) { installIEFix(); }
		positionPopup();
		currentURL = url;
		document.onkeydown = documentOnKeyDown;
		contentContainer.empty().append($('#' + type).clone());	
		$(overlay).show();
		$(popup).fadeIn('fast', function()
		{
			$(okButton)[0].focus();
		});
	}
	
	function positionPopup()
	{
		overlay.css(
		{ 
			'width': document.body.scrollWidth + 'px', 
			'height': document.body.scrollHeight + 'px'
		});
	}
	
	function installIEFix()
	{
		window.scrollTo(0, 0);
		$('select').css('visibility', 'hidden');
	}
	
	function uninstallIEFix()
	{
		$('select').css('visibility', '');
	}
});

