diff --git a/wire/modules/Jquery/JqueryUI/modal.js b/wire/modules/Jquery/JqueryUI/modal.js
index 52d8873c..27d3fbf7 100644
--- a/wire/modules/Jquery/JqueryUI/modal.js
+++ b/wire/modules/Jquery/JqueryUI/modal.js
@@ -214,6 +214,7 @@ function pwModalWindow(href, options, size) {
} else {
url = href + (href.indexOf('?') > -1 ? '&' : '?') + 'modal=1';
}
+ if(url.indexOf('%3F')) url = url.replace('%3F', '?');
$iframe = jQuery('');
$iframe.attr('id', 'pw-modal-window-' + (pwModalWindows.length+1));
pwModalWindows[pwModalWindows.length] = $iframe;
diff --git a/wire/modules/Jquery/JqueryUI/modal.min.js b/wire/modules/Jquery/JqueryUI/modal.min.js
index 9c1fd89f..f2ecdab5 100644
--- a/wire/modules/Jquery/JqueryUI/modal.min.js
+++ b/wire/modules/Jquery/JqueryUI/modal.min.js
@@ -1 +1 @@
-var pwModalWindows=[];function pwModalWindowSettings(name){var modal=ProcessWire.config.modals[name];if(typeof modal=="undefined")modal=ProcessWire.config.modals["medium"];modal=modal.split(",");var options={modal:true,draggable:false,resizable:true,hide:250,show:100,hideOverflow:true,closeOnEscape:false};if(modal.length>=4){for(var n=4;n").find(".ui-icon").remove();if(frameElement){if(typeof parent.jQuery!=="undefined"){if(parent.jQuery(".ui-dialog").length){parent.jQuery(".ui-dialog .ui-button").addClass("pw-modal-hidden").hide();parent.jQuery(".ui-dialog-buttonpane").css("margin-top","-10px");jQuery("body").css("overflow","hidden")}}else{if(parent.document.querySelector(".ui-dialog")){var parentButtons=parent.document.querySelectorAll(".ui-dialog .ui-button");var i;for(i=0;i0){url=href}else{url=href+(href.indexOf("?")>-1?"&":"?")+"modal=1"}$iframe=jQuery('');$iframe.attr("id","pw-modal-window-"+(pwModalWindows.length+1));pwModalWindows[pwModalWindows.length]=$iframe;if(typeof size=="undefined"||size.length==0)size="large";var settings=pwModalWindowSettings(size);if(settings==null){alert("Unknown modal setting: "+size);return $iframe}if(typeof options!="undefined")jQuery.extend(settings,options);$iframe.on("dialogopen",function(event,ui){jQuery(document).trigger("pw-modal-opened",{event:event,ui:ui})});$iframe.on("dialogclose",function(event,ui){jQuery(document).trigger("pw-modal-closed",{event:event,ui:ui})});$iframe.dialog(settings);$iframe.data("settings",settings);$iframe.on("load",function(){if(typeof settings.title=="undefined"||!settings.title){var title=jQuery("").text($iframe.contents().find("title").text()).html();$iframe.dialog("option","title",title)}$iframe.contents().find("form").css("-webkit-backface-visibility","hidden")});var lastWidth=0;var lastHeight=0;function updateWindowSize(){var width=jQuery(window).width();var height=jQuery(window).height();if(width==lastWidth&&height==lastHeight||!$iframe.hasClass("ui-dialog-content"))return;var _size=size;if(width<=960&&size!="full"&&size!="large")_size="large";if(width<=700&&size!="full")_size="full";var _settings=pwModalWindowSettings(_size);var $dialog=$iframe.closest(".ui-dialog");if($dialog.length>0){var $buttonPane=$dialog.find(".ui-dialog-buttonpane");var $titleBar=$dialog.find(".ui-dialog-titlebar");var subtractHeight=0;if($buttonPane.length)subtractHeight+=$buttonPane.outerHeight();if($titleBar.length)subtractHeight+=$titleBar.outerHeight();if(subtractHeight)_settings.height-=subtractHeight}$iframe.dialog("option","width",_settings.width);$iframe.dialog("option","height",_settings.height);$iframe.dialog("option","position",_settings.position);$iframe.width(_settings.width).height(_settings.height);lastWidth=width;lastHeight=height}updateWindowSize();jQuery(window).on("resize",updateWindowSize);$iframe.refresh=function(){lastWidth=0;lastHeight=0;updateWindowSize()};$iframe.setButtons=function(buttons){$iframe.dialog("option","buttons",buttons);$iframe.refresh()};$iframe.setTitle=function(title){$iframe.dialog("option","title",jQuery("").text(title).html())};return $iframe}function pwModalOpenEvent(e){var $a=jQuery(this);var _autoclose=$a.attr("data-autoclose");var autoclose=_autoclose!=null;var autocloseSelector=autoclose&&_autoclose.length>1?_autoclose:"";var closeSelector=$a.attr("data-close");var closeOnLoad=false;var modalSize="medium";if($a.hasClass("pw-modal-large"))modalSize="large";else if($a.hasClass("pw-modal-small"))modalSize="small";else if($a.hasClass("pw-modal-full"))modalSize="full";var settings={title:$a.attr("title"),close:function(e,ui){var abort=typeof e.originalEvent!="undefined"&&jQuery(e.originalEvent.target).closest(".ui-dialog-titlebar-close").length>0;var eventData={event:e,ui:ui,abort:abort};$a.trigger("modal-close",eventData);$a.trigger("pw-modal-closed",eventData);jQuery(document).trigger("pw-modal-closed",eventData);$spinner.remove()}};var buttonSelector=$a.attr("data-buttons");if(closeSelector==null)closeSelector="";closeSelector+=(closeSelector.length>0?", ":"")+".pw-modal-cancel";var $spinner=jQuery("").css({position:"absolute",top:parseInt(jQuery(window).height()/2)-80+"px",left:parseInt(jQuery(window).width()/2)-20+"px","z-index":9999}).hide();var href=$a.attr("data-pw-modal-href");if(href&&href.length){}else if($a.is("button")){var $aparent=$a.closest("a");href=$aparent.length?$aparent.attr("href"):$a.attr("data-href");if(!href)href=$a.find("a").attr("href")}else if($a.is("a")){href=$a.attr("href")}else{href=$a.attr("data-href")}if(!href){alert("Unable to find href attribute for: "+$a.text());return false}var $iframe=pwModalWindow(href,settings,modalSize);jQuery("body").append($spinner.fadeIn("fast"));setTimeout(function(){$a.removeClass("ui-state-active")},500);$iframe.on("load",function(){var buttons=[];var $icontents=$iframe.contents();var n=0;$spinner.fadeOut("fast",function(){$spinner.remove()});if(closeOnLoad){var $errorItems=$icontents.find(".NoticeError, .ui-state-error");if($errorItems.length==0){if(typeof Notifications!="undefined"){var messages=[];$icontents.find(".NoticeMessage").each(function(){messages[messages.length]=jQuery(this).text()});if(messages.length>0)setTimeout(function(){for(var i=0;i0&&$button.is(closeSelector)){$iframe.dialog("close")}if(autoclose){jQuery("body").append($spinner.fadeIn());if(autocloseSelector.length>1){closeOnLoad=$button.is(autocloseSelector)}else{closeOnLoad=true}}}};n++}if(!$button.hasClass("pw-modal-button-visible"))$button.hide()})}if(buttons.length>0)$iframe.setButtons(buttons);$body.fadeIn("fast",function(){$body.show()})});return false}(function($){$.event.special.pwdoubletap={bindType:"touchend",delegateType:"touchend",handle:function(event){var handleObj=event.handleObj,targetData=jQuery.data(event.target),now=(new Date).getTime(),delta=targetData.lastTouch?now-targetData.lastTouch:0,delay=delay==null?300:delay;if(delta30){targetData.lastTouch=null;event.type=handleObj.origType;["clientX","clientY","pageX","pageY"].forEach(function(property){event[property]=event.originalEvent.changedTouches[0][property]});handleObj.handler.apply(this,arguments)}else{targetData.lastTouch=now}}}})(jQuery);function pwModalDoubleClick(){var clicks=0,timer=null,allowClick=false;jQuery(document).on("click",".pw-modal-dblclick a",function(){var $a=jQuery(this);if(allowClick){allowClick=false;return true}clicks++;if(clicks===1){timer=setTimeout(function(){clicks=0;allowClick=true;$a[0].trigger("click");return true},700)}else{clearTimeout(timer);allowClick=false;clicks=0;jQuery(this).closest(".pw-modal-dblclick").trigger("dblclick")}return false});jQuery(document).on("dblclick",".pw-modal-dblclick a",function(e){e.stopPropagation();return false});var isTouch="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0;if(isTouch){jQuery(document).on("pwdoubletap",".pw-modal-dblclick",pwModalOpenEvent)}}jQuery(document).ready(function($){$.widget("ui.dialog",$.extend({},$.ui.dialog.prototype,{_title:function(title){if(!this.options.title){title.html(" ")}else{title.html(this.options.title)}}}));$(document).on("pwdblclick",".pw-modal-dblclick",pwModalOpenEvent);$(document).on("click",".pw-modal:not(.pw-modal-dblclick):not(.pw-modal-longclick)",pwModalOpenEvent);$(document).on("dblclick",".pw-modal-dblclick",pwModalOpenEvent);$(document).on("longclick",".pw-modal-longclick",pwModalOpenEvent);pwModalDoubleClick()});
\ No newline at end of file
+var pwModalWindows=[];function pwModalWindowSettings(name){var modal=ProcessWire.config.modals[name];if(typeof modal=="undefined")modal=ProcessWire.config.modals["medium"];modal=modal.split(",");var options={modal:true,draggable:false,resizable:true,hide:250,show:100,hideOverflow:true,closeOnEscape:false};if(modal.length>=4){for(var n=4;n").find(".ui-icon").remove();if(frameElement){if(typeof parent.jQuery!=="undefined"){if(parent.jQuery(".ui-dialog").length){parent.jQuery(".ui-dialog .ui-button").addClass("pw-modal-hidden").hide();parent.jQuery(".ui-dialog-buttonpane").css("margin-top","-10px");jQuery("body").css("overflow","hidden")}}else{if(parent.document.querySelector(".ui-dialog")){var parentButtons=parent.document.querySelectorAll(".ui-dialog .ui-button");var i;for(i=0;i0){url=href}else{url=href+(href.indexOf("?")>-1?"&":"?")+"modal=1"}if(url.indexOf("%3F"))url=url.replace("%3F","?");$iframe=jQuery('');$iframe.attr("id","pw-modal-window-"+(pwModalWindows.length+1));pwModalWindows[pwModalWindows.length]=$iframe;if(typeof size=="undefined"||size.length==0)size="large";var settings=pwModalWindowSettings(size);if(settings==null){alert("Unknown modal setting: "+size);return $iframe}if(typeof options!="undefined")jQuery.extend(settings,options);$iframe.on("dialogopen",function(event,ui){jQuery(document).trigger("pw-modal-opened",{event:event,ui:ui})});$iframe.on("dialogclose",function(event,ui){jQuery(document).trigger("pw-modal-closed",{event:event,ui:ui})});$iframe.dialog(settings);$iframe.data("settings",settings);$iframe.on("load",function(){if(typeof settings.title=="undefined"||!settings.title){var title=jQuery("").text($iframe.contents().find("title").text()).html();$iframe.dialog("option","title",title)}$iframe.contents().find("form").css("-webkit-backface-visibility","hidden")});var lastWidth=0;var lastHeight=0;function updateWindowSize(){var width=jQuery(window).width();var height=jQuery(window).height();if(width==lastWidth&&height==lastHeight||!$iframe.hasClass("ui-dialog-content"))return;var _size=size;if(width<=960&&size!="full"&&size!="large")_size="large";if(width<=700&&size!="full")_size="full";var _settings=pwModalWindowSettings(_size);var $dialog=$iframe.closest(".ui-dialog");if($dialog.length>0){var $buttonPane=$dialog.find(".ui-dialog-buttonpane");var $titleBar=$dialog.find(".ui-dialog-titlebar");var subtractHeight=0;if($buttonPane.length)subtractHeight+=$buttonPane.outerHeight();if($titleBar.length)subtractHeight+=$titleBar.outerHeight();if(subtractHeight)_settings.height-=subtractHeight}$iframe.dialog("option","width",_settings.width);$iframe.dialog("option","height",_settings.height);$iframe.dialog("option","position",_settings.position);$iframe.width(_settings.width).height(_settings.height);lastWidth=width;lastHeight=height}updateWindowSize();jQuery(window).on("resize",updateWindowSize);$iframe.refresh=function(){lastWidth=0;lastHeight=0;updateWindowSize()};$iframe.setButtons=function(buttons){$iframe.dialog("option","buttons",buttons);$iframe.refresh()};$iframe.setTitle=function(title){$iframe.dialog("option","title",jQuery("").text(title).html())};return $iframe}function pwModalOpenEvent(e){var $a=jQuery(this);var _autoclose=$a.attr("data-autoclose");var autoclose=_autoclose!=null;var autocloseSelector=autoclose&&_autoclose.length>1?_autoclose:"";var closeSelector=$a.attr("data-close");var closeOnLoad=false;var modalSize="medium";if($a.hasClass("pw-modal-large"))modalSize="large";else if($a.hasClass("pw-modal-small"))modalSize="small";else if($a.hasClass("pw-modal-full"))modalSize="full";var settings={title:$a.attr("title"),close:function(e,ui){var abort=typeof e.originalEvent!="undefined"&&jQuery(e.originalEvent.target).closest(".ui-dialog-titlebar-close").length>0;var eventData={event:e,ui:ui,abort:abort};$a.trigger("modal-close",eventData);$a.trigger("pw-modal-closed",eventData);jQuery(document).trigger("pw-modal-closed",eventData);$spinner.remove()}};var buttonSelector=$a.attr("data-buttons");if(closeSelector==null)closeSelector="";closeSelector+=(closeSelector.length>0?", ":"")+".pw-modal-cancel";var $spinner=jQuery("").css({position:"absolute",top:parseInt(jQuery(window).height()/2)-80+"px",left:parseInt(jQuery(window).width()/2)-20+"px","z-index":9999}).hide();var href=$a.attr("data-pw-modal-href");if(href&&href.length){}else if($a.is("button")){var $aparent=$a.closest("a");href=$aparent.length?$aparent.attr("href"):$a.attr("data-href");if(!href)href=$a.find("a").attr("href")}else if($a.is("a")){href=$a.attr("href")}else{href=$a.attr("data-href")}if(!href){alert("Unable to find href attribute for: "+$a.text());return false}var $iframe=pwModalWindow(href,settings,modalSize);jQuery("body").append($spinner.fadeIn("fast"));setTimeout(function(){$a.removeClass("ui-state-active")},500);$iframe.on("load",function(){var buttons=[];var $icontents=$iframe.contents();var n=0;$spinner.fadeOut("fast",function(){$spinner.remove()});if(closeOnLoad){var $errorItems=$icontents.find(".NoticeError, .ui-state-error");if($errorItems.length==0){if(typeof Notifications!="undefined"){var messages=[];$icontents.find(".NoticeMessage").each(function(){messages[messages.length]=jQuery(this).text()});if(messages.length>0)setTimeout(function(){for(var i=0;i0&&$button.is(closeSelector)){$iframe.dialog("close")}if(autoclose){jQuery("body").append($spinner.fadeIn());if(autocloseSelector.length>1){closeOnLoad=$button.is(autocloseSelector)}else{closeOnLoad=true}}}};n++}if(!$button.hasClass("pw-modal-button-visible"))$button.hide()})}if(buttons.length>0)$iframe.setButtons(buttons);$body.fadeIn("fast",function(){$body.show()})});return false}(function($){$.event.special.pwdoubletap={bindType:"touchend",delegateType:"touchend",handle:function(event){var handleObj=event.handleObj,targetData=jQuery.data(event.target),now=(new Date).getTime(),delta=targetData.lastTouch?now-targetData.lastTouch:0,delay=delay==null?300:delay;if(delta30){targetData.lastTouch=null;event.type=handleObj.origType;["clientX","clientY","pageX","pageY"].forEach(function(property){event[property]=event.originalEvent.changedTouches[0][property]});handleObj.handler.apply(this,arguments)}else{targetData.lastTouch=now}}}})(jQuery);function pwModalDoubleClick(){var clicks=0,timer=null,allowClick=false;jQuery(document).on("click",".pw-modal-dblclick a",function(){var $a=jQuery(this);if(allowClick){allowClick=false;return true}clicks++;if(clicks===1){timer=setTimeout(function(){clicks=0;allowClick=true;$a[0].trigger("click");return true},700)}else{clearTimeout(timer);allowClick=false;clicks=0;jQuery(this).closest(".pw-modal-dblclick").trigger("dblclick")}return false});jQuery(document).on("dblclick",".pw-modal-dblclick a",function(e){e.stopPropagation();return false});var isTouch="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0;if(isTouch){jQuery(document).on("pwdoubletap",".pw-modal-dblclick",pwModalOpenEvent)}}jQuery(document).ready(function($){$.widget("ui.dialog",$.extend({},$.ui.dialog.prototype,{_title:function(title){if(!this.options.title){title.html(" ")}else{title.html(this.options.title)}}}));$(document).on("pwdblclick",".pw-modal-dblclick",pwModalOpenEvent);$(document).on("click",".pw-modal:not(.pw-modal-dblclick):not(.pw-modal-longclick)",pwModalOpenEvent);$(document).on("dblclick",".pw-modal-dblclick",pwModalOpenEvent);$(document).on("longclick",".pw-modal-longclick",pwModalOpenEvent);pwModalDoubleClick()});
\ No newline at end of file