$(window).ready(function() {
	
	// Support chart. The following are minimum releases to load this website. 
	// Anything lower matching these OS/Browser/version combinations will be
	// asked to upgrade. 
	//
	// Measurements will be as precise as you are.

	window.support = {

		Win: {
			msie: 7,
			safari: 0,
			mozilla: 0,
			chrome: 0,
			opera: 10.53
		},
		
		Mac: {
			safari: 0,
			firefox: 0,
			chrome: 0,
			opera: 10.53
		}

	};

	
	// Find user's OS
	var OS;
	if (navigator.platform.match(/win/i)) OS = "Win";
	if (navigator.platform.match(/mac/i)) OS = "Mac";
	if (navigator.platform.match(/nix/i)) OS = "nix";
	
	// Ensure chrome is identified as such, and not safari
	if ( $.browser.safari && /chrome/.test(navigator.userAgent.toLowerCase()) ) {
		$.browser.safari = false;
		$.browser.chrome = true;
	}
	

	// Report opera's version properly
	$.browser.version = ($.browser.opera) ? navigator.userAgent.match(/Version\/(\d+\.\d+)/)[1] : $.browser.version;
	
	// Report chrome's version properly
	$.browser.version = ($.browser.chrome) ? navigator.userAgent.match(/Chrome\/(\d+\.\d+)/)[1] : $.browser.version;

	// Find user's Browser
	var Browser = false;
	for (b in $.browser) {
		if ($.browser[b] === true) Browser = b;
	}
	if (!Browser) Browser = "browser";

	// Find major version number of user's browser
	var precision = parseInt(support[OS][Browser].toString().length);
	var Version = parseFloat($.browser.version.substr(0, parseInt(precision)));
	
	
	// Compare the support chart against user's browser
	var supported = false;
	(Version >= support[OS][Browser]) ? supported = true : supported = false;
	// Display dialog for unsupported browsers
	if (!supported) {
		
		var overlay = $('<div class="ugO">&nbsp;</div>');
		var wrap = $('<div class="ugW"><div id="ugC">&nbsp;</div><br clear="both"></div>');
		
		$("body").append(overlay);
		$("body").append(wrap);
		overlay.hide();
		wrap.hide();
		$("#ugc").hide();
		
		var errorUrl = "/static/html/upgradePrompt.html";
		$.get(errorUrl, function(data) {

				var browserName;
				switch (Browser) {
					
					case "msie":
						browserName = "Internet Explorer"; break;
					case "mozilla":
						browserName = "Firefox"; break;
					default:
						browserName = Browser; break;
				}
				
				data = data.replace(/\#\{browser\}/i, browserName);
			
				$(".ugW").fadeIn();
                                $(".ugW").css("height", document.documentElement.clientHeight);
				$("#ugC").html(data).fadeIn();
				
				$(".ugO").show().css({ opacity: 0});
				$(".ugO").animate({ opacity: 0.8 });
				
				$(".ugW").click(hideWindow);
				$(".ugO").click(hideWindow);
				$("#ugClose").live('click', hideWindow);
				
				if (Browser !== "browser") {
					var current = $("li#" + Browser).clone();
					$("li#" + Browser).remove();

					$("#upgrade_list").prepend(current);
					$("#upgrade_list").show();
					$("#upgrade_head").show();
				}

			}
		);
		
	}
	
});


function hideWindow(e) {
	
	src = $(e.target);
	
	if (src.hasClass("ugO") || src.hasClass("ugW") || src.attr("id") == "ugClose") {
		$(".ugO").fadeOut();
		$("#ugC").fadeOut();
	} else {
		return false;
	}
	
	e.preventDefault();
	
}

