/* jQuery.msgBox plugin Copyright 2011, Halil İbrahim Kalyoncu License: BSD modified by Oliver Kopp, 2012. * added support for configurable image paths * a new msgBox can be shown within an existing msgBox */ /* contact : halil@ibrahimkalyoncu.com koppdev@googlemail.com */ // users may change this variable to fit their needs var msgBoxImagePath = "../Images/"; jQuery.msgBox = msg; function msg(options) { var isShown = false; var typeOfValue = typeof options; var defaults = { content: (typeOfValue == "string" ? options : "Message"), title: "Warning", type: "alert", autoClose: false, timeOut: 0, showButtons: true, buttons: [{ value: "Ok"}], inputs: [{ type: "text", name: "userName", header: "User Name" }, { type: "password", name: "password", header: "Password"}], success: function (result) { }, beforeShow: function () { }, afterShow: function () { }, beforeClose: function () { }, afterClose: function () { }, opacity: 0.1 }; options = typeOfValue == "string" ? defaults : options; if (options.type != null) { switch (options.type) { case "alert": options.title = options.title == null ? "Warning" : options.title; break; case "info": options.title = options.title == null ? "Information" : options.title; break; case "error": options.title = options.title == null ? "Error" : options.title; break; case "confirm": options.title = options.title == null ? "Confirmation" : options.title; options.buttons = options.buttons == null ? [{ value: "Yes" }, { value: "No" }, { value: "Cancel"}] : options.buttons; break; case "prompt": options.title = options.title == null ? "Log In" : options.title; options.buttons = options.buttons == null ? [{ value: "Login" }, { value: "Cancel"}] : options.buttons; break; default: image = "../Images/alert.png"; } } options.timeOut = options.timeOut == null ? (options.content == null ? 500 : options.content.length * 70) : options.timeOut; //JD //options = $.extend(defaults, options); options = $.extend({}, defaults, options); if (options.autoClose) { setTimeout(hide, options.timeOut); } var image = ""; switch (options.type) { case "alert": image = "../Images/alert.png"; break; case "info": image = "../Images/info.png"; break; case "error": image = "../Images/error.png"; break; case "confirm": image = "../Images/confirm.png"; break; default: image = "../Images/alert.png"; } var divId = "msgBox" + new Date().getTime(); //JD /* i was testing with ($.browser.msie && parseInt($.browser.version, 10) === 7) but $.browser.msie is not working with jQuery 1.9.0 :S. Alternative method: */ if (navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/)) { var divMsgBoxContentClass = "msgBoxContentIEOld"; } else { var divMsgBoxContentClass = "msgBoxContent"; } var divMsgBoxId = divId; var divMsgBoxContentId = divId + "Content"; var divMsgBoxImageId = divId + "Image"; var divMsgBoxButtonsId = divId + "Buttons"; var divMsgBoxBackGroundId = divId + "BackGround"; var buttons = ""; $(options.buttons).each(function (index, button) { buttons += ""; }); var inputs = ""; $(options.inputs).each(function (index, input) { var type = input.type; if (type == "checkbox" || type == "radiobutton") { inputs += "
" + "" + "" + input.header + "" + "
"; } else { inputs += "
" + "" + input.header + "" + "" + "
"; } }); //JD //var divBackGround = "
"; var divBackGround = "
"; var divTitle = "
" + options.title + "
"; var divInputs = "
" + inputs + "
"; var divContainer = "
"; var divButtons = "
" + buttons + "
"; var divMsgBox; var divMsgBoxContent; var divMsgBoxImage; var divMsgBoxButtons; var divMsgBoxBackGround; if (options.type == "prompt") { // $("html").append(divBackGround + "
" + divTitle + "
" + divContainer + (options.showButtons ? divButtons + "
" : "
") + ""); $("body").append(divBackGround + "
" + divTitle + "
" + divContainer + (options.showButtons ? divButtons + "
" : "
") + ""); divMsgBox = $("#" + divMsgBoxId); divMsgBoxContent = $("#" + divMsgBoxContentId); divMsgBoxImage = $("#" + divMsgBoxImageId); divMsgBoxButtons = $("#" + divMsgBoxButtonsId); divMsgBoxBackGround = $("#" + divMsgBoxBackGroundId); divMsgBoxImage.remove(); divMsgBoxButtons.css({ "text-align": "center", "margin-top": "5px" }); divMsgBoxContent.css({ "width": "100%", "height": "100%" }); divMsgBoxContent.html(divInputs); } else { //$("html").append(divBackGround + "
" + divTitle + "
" + divContainer + (options.showButtons ? divButtons + "
" : "
") + ""); $("body").append(divBackGround + "
" + divTitle + "
" + divContainer + (options.showButtons ? divButtons + "
" : "
") + ""); divMsgBox = $("#" + divMsgBoxId); divMsgBoxContent = $("#" + divMsgBoxContentId); divMsgBoxImage = $("#" + divMsgBoxImageId); divMsgBoxButtons = $("#" + divMsgBoxButtonsId); divMsgBoxBackGround = $("#" + divMsgBoxBackGroundId); } var width = divMsgBox.width(); var height = divMsgBox.height(); var windowHeight = $(window).height(); var windowWidth = $(window).width(); var top = windowHeight / 2 - height / 2; var left = windowWidth / 2 - width / 2; show(); function show() { if (isShown) { return; } divMsgBox.css({ opacity: 0, top: top - 50, left: left }); //divMsgBox.css("background-image", "url('"+msgBoxImagePath+"msgBoxBackGround.png')"); divMsgBox.css("background-image", "url('../Images/msgBoxBackGround.png')"); divMsgBoxBackGround.css({ opacity: options.opacity }); options.beforeShow(); divMsgBoxBackGround.css({ "width": $(document).width(), "height": getDocHeight() }); $(divMsgBoxId + "," + divMsgBoxBackGroundId).fadeIn(0); divMsgBox.animate({ opacity: 1, "top": top, "left": left }, 200); setTimeout(options.afterShow, 200); isShown = true; $(window).bind("resize", function (e) { var width = divMsgBox.width(); var height = divMsgBox.height(); var windowHeight = $(window).height(); var windowWidth = $(window).width(); var top = windowHeight / 2 - height / 2; var left = windowWidth / 2 - width / 2; divMsgBox.css({ "top": top, "left": left }); divMsgBoxBackGround.css({ "width": "100%", "height": "100%" }); }); } function hide() { if (!isShown) { return; } options.beforeClose(); divMsgBox.animate({ opacity: 0, "top": top - 50, "left": left }, 200); divMsgBoxBackGround.fadeOut(300); setTimeout(function () { divMsgBox.remove(); divMsgBoxBackGround.remove(); }, 300); setTimeout(options.afterClose, 300); isShown = false; } function getDocHeight() { var D = document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight)); } function getFocus() { divMsgBox.fadeOut(200).fadeIn(200); } $("input.msgButton").click(function (e) { e.preventDefault(); var value = $(this).val(); if (options.type != "prompt") { options.success(value); } else { var inputValues = []; $("div.msgInput input").each(function (index, domEle) { var name = $(this).attr("name"); var value = $(this).val(); var type = $(this).attr("type"); if (type == "checkbox" || type == "radiobutton") { inputValues.push({ name: name, value: value, checked: $(this).attr("checked") }); } else { inputValues.push({ name: name, value: value }); } }); options.success(value, inputValues); } hide(); }); divMsgBoxBackGround.click(function (e) { if (!options.showButtons || options.autoClose) { hide(); } else { getFocus(); } }); }; function alertPopup(strtitle, strcontent) { $.msgBox({ title: strtitle, content: strcontent }); } function alertPopup(strtitle, strcontent, strtype) { $.msgBox({ title: strtitle, content: strcontent, type: strtype //error,info }); } function alertPopupUrl(strtitle, strcontent, strUrl) { $.msgBox({ title: strtitle, content: strcontent, type: "confirm", buttons: [{ value: "OK"}], success: function (result) { if (result == "OK") { location.href = strUrl; } } }); } function ConfirmPopup(strtitle, strcontent, strtype) { $.msgBox({ title: strtitle, content: strcontent, type: strtype, buttons: [{ value: "Yes" }, { value: "No" }, { value: "Cancel"}], success: function (result) { if (result == "Yes") { // alertPopup("One cup of coffee coming right up!"); } } }); } function example3() { $.msgBox({ title: "Are You Sure", content: "Would you like a cup of coffee?", type: "confirm", buttons: [{ value: "Yes" }, { value: "No" }, { value: "Cancel"}], success: function (result) { if (result == "Yes") { alertPopup("One cup of coffee coming right up!"); } } }); } vegas moose deposit methods bonus buy games detective donut slot merry hog slot autobahn alarm calcio live odds tracking live soccer games 2025 jack and the mighty beanstalk tk999 no deposit bonus slot magical leprechaun bonus buy games ocean catch slot purr power slot mystic charms pragmatic play live casino offers link gacor slot microvip88 bonus buy games 20 coins easter edition video game dragon s crash manhattan goes wild live casino dealers bonus buy games book of futuria best horse racing apps bonus buy games moonrise fortunes hold and win slot giant wild goose pagoda video game f777 fighter bonus buy games floridaman how to read sports betting odds OK sport