﻿
/* being window/dialog extensions */
(function($) {
	$.fn.flexxWindow = function(container, opts) {
		if (container) {
			container = (!container.startsWith("#") ? "#" : "") + container;
			var el = $(container).eq(0);
			if (el) {
				el.css("position", "absolute").css("left", "-999999px");
				el.css("display", "");
				var defaultScrlHeightAdjust = 18;
				var defaults = { onLoad: null, trigger: 'click', width: 300, height: 300, scrollHeightAdjust: defaultScrlHeightAdjust, isModal: true };
				if (opts) {
					$.extend(defaults, opts);
				}

				var closeContainer = function() {
					$(document).unbind('click');
					$(container).hide();
					if (defaults.isModal) {
						$.dimScreenStop();
					}
				};

				$(".button-red", container).bind("click", closeContainer);

				function showWindow(e) {
					el.css("display", "inline").css("top", e.pageY).css("left", e.pageX).css("opacity", "1").css("z-index", "1010").fadeIn();
					var scrlElHeight = defaults.height;
					var scrlEl = null;
					el.children(".inner").eq(0).css("width", defaults.width).css("height", defaults.height).children().each(function(i) {
						if (!$(this).hasClass("vertical-scroll")) {
							scrlElHeight -= $(this).height();
						} else {
							scrlEl = $(this);
						}
					});

					if (scrlEl) {
						scrlEl.css("height", (scrlElHeight - defaults.scrollHeightAdjust));
					}

					if (defaults.onLoad) {
						defaults.onLoad();
					}
				}

				return this.each(function() {
					$(this).bind(defaults.trigger, function(e) {
						$(document).click(function(e) {
							if (e.target && e.target.id) {
								if ($("#" + e.target.id).parents(container).length == 0) {
									closeContainer();
								}
							}
						});

						e.preventDefault();
						if (defaults.isModal) {
							$("input:button", container).click(function(e3) {
								$.dimScreenStop();
							});
							$.dimScreen(250, 0.6, function() {
								showWindow(e);
							});
						} else {
							showWindow(e);
						}

						return false;
					});
				});
			}
		}
	}
})(jQuery);
/* end window/dialog extensions */
(function($) {
	$.fn.displayProgressImage = function() {
		$("img#prgImgTmpl:first").clone().attr("removeoncomplete", "1").insertAfter(this).show();
		return this.attr("showoncomplete", "1").hide();
	};
})(jQuery);
(function($) {
	$.fn.clickOnEnter = function(buttonID) {
		var el = $("#" + buttonID);
		$("input:text,input:radio,input:checkbox,select", $(this).selector).each(function() {
			$(this).keypress(function(e) {
				if (e.which === 13) {
					e.preventDefault();
					el.click();
				}
			});
		});
		return $(this);
	}
})(jQuery);