/*
 *	Popup message box jQuery plugin
 *
 *	(c) 2011 Dennis Prochko <wolfsoft@mail.ru>
 *
 *  Example:
 *
 *	$.SaexPopup({
 *		message: "custom message",
 *		buttons: [{
 *			title: "OK",
 *			handler: function() {
 *				alert("OK button pressed");
 *				return true; // will close popup dialog
 *			}
 *		},
 *		{
 *			title: "Cancel",
 *			cssClass: "btn_h36",
 *			handler: function() {
 *				alert("Cancel button pressed");
 *				return false; // will not close popup dialog
 *			}
 *		}]
 *	});
 *
*/
(function($) {
	$.SaexPopup = function(options) {
		if ($('#xxSaexPopupxx').size() == 0)
			$('<div id="xxSaexPopupxx"></div>').appendTo('body');
		$('#xxSaexPopupxx').SaexPopup(options);
	};

	$.fn.SaexPopup = function(options) {
		if ($.isFunction(this.each)) {
			var args = arguments;
			return this.each(function() {
				var self = this;
				if ($(this).data('SaexPopup.instance') == undefined ) {
					$(this).data('SaexPopup.instance', $.extend(new $.fn.SaexPopup()));
					$(this).data('SaexPopup.instance').init(self);
				}
				$(this).data('SaexPopup.instance').create(options);
			});
		}
		$.extend($.fn.SaexPopup.prototype, {
			defaults: {
				message: "Hello, world!",
				buttons: [{
					title: "OK",
					handler: function() {
						return true;
					}
				}]
			},
			init: function(e) {
				this.element = $(e).append(' 									\
<div class="display_all">														\
	<div class="popup_all">														\
		<div class="bg_popup">													\
			<div class="popup">													\
				<div class="row">												\
					<span id="xxSaexPopupxx-message" class="row margint25 txt18" style="text-align:center;"></span>	\
				</div>															\
				<div id="xxSaexPopupxx-buttons" class="row" style="text-align:center;margin-top:100px;white-space:nowrap;"></div> 	\
			</div>																\
			<div class="btn_popup_close"><a class="login-close-button" href="#"><img src="templates/images/i.gif" title="Закрыть" alt="Закрыть" /></a></div>	\																		\
		</div>																	\
	</div>																		\
</div>																			\
				');
				var self = $(this.element);
				self.find("#xxSaexPopupxx-close-button").click(function() {
					self.find(".display_all").hide();
				});
			},
			create: function(options) {
				var opt = $.extend(true, {}, this.defaults, options);
				var self = $(this.element);
				self.find("#xxSaexPopupxx-message").html(opt.message);
				var b_html = "";
				for (var index in opt.buttons) {
					var css;
					if (opt.buttons[index].cssClass == undefined)
						css = 'btn_h38yellow';
					else
						css = 'btn_h38yellow '+opt.buttons[index].cssClass;
					b_html += '<input class="' + css + ' margint5" type="button" ' +
						'id="xxSaexPopupxx-btn-' + index + '" ' +
						'value="' + opt.buttons[index].title + '" />&#160;&#160;';
				}
				self.find("#xxSaexPopupxx-buttons").html(b_html);
				for (var index in opt.buttons)
					$("#xxSaexPopupxx-btn-" + index)
						.data("handler", opt.buttons[index].handler)
						.click(function() {
							if ($(this).data("handler")())
								self.find(".display_all").hide();
					});				
				self.find(".display_all").fadeIn("fast");
			},
			close: function() {
				var self = $(this.element);
				self.find(".display_all").hide();
			}
		});
	}
})(jQuery);

