﻿(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="right ' + obj['class'] + '">' + name + '</a>';

			if (!obj.action) {
				obj.action = function () { };
			}
		});

		var markup = [
			'<div id="confirmOverlay" class="dialog overlay"><a class="close"></a>',
			'<div class="dialogbox">',
			'<div class="dialogheader"><span>', params.title, '</span></div>',
			'<div class="dialogcontent dialognosupply">', params.message,
			'<div class="Clear buttons">',
			buttonHTML,
			'</div></div></div></div>'
		].join('');

		$(markup).appendTo('body');

		$('#confirmOverlay').overlay({
			mask: {
				color: '#000',
				opacity: 0.54
			},
			closeOnClick: false,
			load: true,
			api: true,
			onclose: function () {
				$('#confirmOverlay').remove();
			}
		}).load();

		var buttons = $('#confirmOverlay .buttons a'),
			i = 0;

		$.each(params.buttons, function (name, obj) {
			buttons.eq(i++).click(function () {

				obj.action();
				$('#confirmOverlay .close').click();
				$('#confirmOverlay').remove();
				return false;
			});
		});
	}

	$.getOverlay = function (params) {

		if ($('#customOverlay').length) {
			return false;
		}

		var markup = [
			'<div id="customOverlay" class="dialog overlay"><a class="close"></a>',
			'<div class="dialogbox">',
			'<div class="dialogheader"><span>', params.title, '</span></div>',
			'<div class="dialogcontent dialognosupply">', params.message,
			'</div></div></div>'
		].join('');

		$(markup).appendTo('body');

		$('#customOverlay').overlay({
			mask: {
				color: '#000',
				opacity: 0.54
			},
			load: true,
			api: true,
			onclose: function () {
				$('#confirmOverlay').remove();
			}
		}).load();
	}

})(jQuery);
