(function(){
	jQuery.extend({
		xboxDefaults: {buttons:{Ok:true}, width:400, height:300, fit:false},
		xbox: function(m,o){
			o = jQuery.extend({},jQuery.xboxDefaults,o);
			xbox = jQuery('<div class="xbox-frame"><div class="xbox-shadow"></div><div class="xbox-canvas"><iframe style="position:absolute; left:0px; top:0px; width:100%;height:147px; z-index:103;border:0"></iframe><div class="xbox-button"></div></div></div>').appendTo('body');
			var frame = xbox.addClass('xbox-frame-on');
			if(jQuery.browser.msie) jQuery('div.xbox-shadow').css('opacity',0);
			var shadow = frame.find('div.xbox-shadow').animate({opacity:0.6},300);
			var canvas = frame.find('div.xbox-canvas');
			var button = frame.find('div.xbox-button');
			var container = jQuery('<div class="xbox-content">'+m+'</div>').appendTo(canvas);
			var xboxWidth = (o.fit) ? container.width() : o.width;
			var xboxHeight = (o.fit) ? container.height() : o.height;
			var frameWidth = frame.width()-40;
			var frameHeight = frame.height()-40;
			var closer = function(){
				canvas.remove();
				shadow.animate({opacity:0},300,function(){
					frame.remove();
				});
			}

			canvas.addClass('xbox-canvas-load').animate({
				width:xboxWidth,
				marginLeft:-xboxWidth/2,
				height:xboxHeight,
				marginTop:-xboxHeight/2
			},300,function(){
				canvas.addClass('xbox-canvas-done');
				button.addClass('xbox-button-on');
				button.addClass(navigator.platform.toLowerCase().indexOf('mac')+1?'xbox-button-left':'xbox-button-right');
				container.animate({opacity:1},150,function(){
					shadow.click(closer);
					button.click(closer);
				});
			});

			jQuery(document).keydown(function(e){
				if(e.which==27) closer();
			});
		}
	});
})(jQuery);

