(function($){
	$.confirm = function(params)
	{
		if($('#confirmOverlay').length)
		{
			// A confirm is already shown on the page:
			return false;
		}
		
		var buttonHTML = '';
		$.each(params.buttons,function(name,obj)
		{	
			// Generating the markup for the buttons:
			buttonHTML += '<a href="#" class="button '+obj['class']+'">'+name+'<span></span></a>';
			
			if(!obj.action){
				obj.action = function(){};
			}
		});
		
		var markupNotice = '';
		var markupWarning = '';
		var markupImage = '';
		
		if(!params.notice==''){
			markupNotice = '<div id="confirmNotice">'+params.notice+'</div>';
		}
		if(!params.warning==''){
			markupWarning = '<div id="confirmWarning">'+params.warning+'</div>';
		}
		if(!params.image==''){
			markupImage = '<div id="confirmImage"><img src="'+params.image+'" alt="" /></div>';
		}

		var markup = [
			'<div id="confirmOverlay">',
			'<div id="confirmBox">',
			'<h1>',params.title,'</h1>',
			'<div id="confirmContent">',
			'<div id="confirmMessage">',params.message,'</div>',
			markupNotice,
			markupWarning,
			markupImage,
			'<div id="confirmButtons">',
			buttonHTML,
			'</div></div></div></div>'
		].join('');
		
/*
		var markup = [
			'<div id="confirmOverlay">',
			'<div id="confirmBox">',
			'<h1>',params.title,'</h1>',
			'<div id="confirmContent">',
			'<div id="confirmMessage">',params.message,'</div>',
			'<div id="confirmNotice">',params.notice,'</div>',
			'<div id="confirmWarning">',params.warning,'</div>',
			'<div id="confirmImage"><img src="',params.image,'" alt="" /></div>',
			
			'<div id="confirmButtons">',
			buttonHTML,
			'</div></div></div></div>'
		].join('');
*/
		$(markup).hide().appendTo('body').fadeIn();
		
		var buttons = $('#confirmBox .button'),
			i = 0;

		$.each(params.buttons,function(name,obj){
			buttons.eq(i++).click(function()
			{	
				// Calling the action attribute when a
				// click occurs, and hiding the confirm.
				obj.action();
				$.confirm.hide();
				return false;
			});
		});
	}

	$.confirm.hide = function()
	{
		$('#confirmOverlay').fadeOut(function(){
			$(this).remove();
		});
	}
})(jQuery);
