(function($){
	$.fn.spicy_confirm = function(options) {
		
		var defaults = {
			background: '#000',
			text_color: '#888', 
			link_color: '#fff', 
			title: 'Are you sure?', 
			yes: 'Yes', 
			no: 'No', 
			offset_x: 5, 
			offset_y: 0, 
			padding: '8px 10px', 
			border: '0', 
			corners: '4px', 
			opacity: 0.9, 
			auto_remove: 3, 
			font_size: '1em', 
			easing: 'linear',  
			easing_speed: 200, 
			fade_speed: 300
		},
		settings = $.extend({}, defaults, options);
		
		this.each(function() {
		  	var $this = $(this);
			var href = this.href;
			var pos = $this.offset();
			var width = $this.width();
			
			
			
			$this.click(function(e)
			{
				e.preventDefault();
				
				
				if (jQuery.browser.msie) {
				 	
					if(confirm(settings.title)) document.location = href;
					return this;
				}
				
				var posx = 0;
				var posy = 0;
				
				if (!e) var e = window.event;
				if (e.pageX || e.pageY) 	{
					posx = e.pageX;
					posy = e.pageY;
				}
				else if (e.clientX || e.clientY) 	{
					posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
					posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
				}
				
				
				
				var title = $('<b />').css({ 'margin-right': '5px', 'font-weight': 'bold' }).text(settings.title);
				var link1 = $('<a />').css({ 'color': settings.link_color }).text(settings.yes).attr('href', '#');
				var link2 = $('<a />').css({ 'color': settings.link_color }).text(settings.no).attr('href', '#');
				var box = $('<div/>')
					.append(title)
					.append(link1)
					.append(' | ')
					.append(link2)
					.appendTo('body')
					.css({ 
						'position': 'absolute', 
						'opacity': 0, 
						'background': settings.background, 
						'color': settings.text_color, 
						'padding': settings.padding, 
						'border': settings.border, 
						'-moz-border-radius': settings.corners, 
						'-webkit-border-radius': settings.corners, 
						'border-radius': settings.corners, 
						'font-size': settings.font_size, 
						'line-height': 'normal'
					});
					
				box.css({
					'top': posy + settings.offset_y - (box.height()/2), 
					'left': posx + 140
				})
				.animate({ 
					opacity: settings.opacity, 
        			left: settings.offset_x + posx
        		}, settings.easing_speed, settings.easing );
				
				if(settings.auto_remove > 0)
				{
					setTimeout(function() { box.fadeOut(settings.fade_speed, function() { box.remove(); }) }, settings.auto_remove * 1000);
				}
					
				link1.click(function(e) 
				{
					e.preventDefault();
					document.location = href;
				});
				
				link2.click(function(e) 
				{
					e.preventDefault();
					box.fadeOut(300, function() { box.remove(); });
				});
				
				$this.click(function(e)
				{
					e.preventDefault();
					box.remove();
				});
				
			});
		  });
		  // returns the jQuery object to allow for chainability.
		  return this;
	}
})(jQuery);

