(function ($) {
	$.fn.data = function( key, value ){
		var parts = key.split(".");
		parts[1] = parts[1] ? "." + parts[1] : "";

		if ( value == null ) {
			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
			
			if ( data == undefined && this.length )
				data = jQuery.data( this[0], key );

			return data == null && parts[1] ?
				this.data( parts[0] ) :
				data;
		} else
			return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
				jQuery.data( this, key, value );
			});
	},
	$.fn.tooltip = function () {
		var that = this;
		$('body').append("<div id='whiteout' style=\"z-index: 61000; position: absolute; width: 100%; height: 100%; top: 0; left: 0; bottom: 0; right: 0; background: #fff; display: none;\">&nbsp;</div>" + 
			"<div id='player' style=\"z-index: 61050; position: absolute; width: 500px; padding: 10px; display: none; background: #fff; border: 2px #ccc solid;\">" + 
			"<a href=\"#\" class=\"close\" style=\"border: 0; float: right; text-decoration: underline; color: #275F88; font-size: 14px; font-weight:bold; padding: 10px 10px 0 10px; margin: -10px 0 0 0; background: none;\">x</a>" + 
			"<h2 class=\"dragme\" style=\"font-size: 16px; margin: 0 0 20px 0; padding: 0; border-bottom: 1px dotted #D3D3D3; color: #275F88;\">Outdoor Florida Design Capabilities</h2>" + 
			"<div id=\"playerSwfCont\"></div></div>");
		$("#player").data("drag", "off");
	
		$(this).click(function () {
			$("#player").css('display', 'block');
			$("#playerSwfCont").html("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\"500\" height=\"313\">" + 
				"<param name=\"movie\" value=\"vidPlay.swf\" />" + 
				"<param name=\"quality\" value=\"high\" />" + 
				"<embed src=\"vidPlay.swf\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"500\" height=\"313\"></embed></object>");
			$("#whiteout").css({
				'opacity': .8,
				'display': 'block'
			});
			if (!$("#player").data("offsetx")) {
				$("#player").css('left', $('#content').offset().left+(($('#content').width()/2)-($("#player").width()/2)));
				$("#player").css('top', ($('#whiteout').height()/2)-($('#player').height()/2));
				$("#player").css('left', ($("#player").offset().left));
				if ($("#player").offset().top >= 0 && $("#player").offset().top < ($("body").height()-$("#player").height())) {
					$("#player").css('top', ($("#player").offset().top));
				} else if ($("#player").offset().top < 0) {
					$("#player").css('top', 0);
				} else {
					$("#player").css('top', $("body").height()-$("#player").height());
				}
				$("#player").data("offsety", $("#player").offset().top);
				$("#player").data("offsetx", $("#player").offset().left - $("#content").offset().left);
			} else {
				$("#player").css('left', $('#content').offset().left+$("#player").data("offsetx"));
				$("#player").css('top', $("#player").data("offsety"));
			}
			$("#whiteout").css({
				'height': $('body').height()
			});
		});
		
		$("#player .close").click(function () {
			$("#player").css("display", "none");
			$("#whiteout").css("display", "none");
			$("#playerSwfCont").html("");
			return false;
		});
	
		// Setup a function for click on the dragme part of the script.
		$('#player .dragme').mousedown(function (e) {
			$("#player").data("x", e.pageX);
			$("#player").data("y", e.pageY);
			$("#player").data("drag", "on");
		});
		$("body").mouseup(function (e) {
			$("#player").data("drag", "off");
		});
		
		$("body").mousemove(function (e) {
			if ($("#player").data("drag") == "on") {
				var left = e.pageX - $("#player").data("x");
				var top = e.pageY - $("#player").data("y");
				$("#player").css('left', ($("#player").offset().left + left) + "px");
				$("#player").css('top', ($("#player").offset().top + top) + "px");
				$("#player").data("x", e.pageX);
				$("#player").data("y", e.pageY);
				$("#player").data("offsetx", $("#player").offset().left-$('#content').offset().left);
				$("#player").data("offsety", $("#player").offset().top);
			}
		});
		
		$(window).wresize(function () {
			if ($("#player").css('display') == "block") {
				$(that).click();
			}
		});
	}
})(jQuery);