!function($,scope){var $wrap,$header,$body,$footer,$close,lastFocus,lastFocusInner,formValString,doCallback,addMarkup,reset,buildConfirm,focusOn,bind,_mb={args:{callbacks:{beforeInit:void 0,onInit:void 0,beforeMarkup:void 0,onMarkup:void 0,beforeBind:void 0,onBind:void 0,beforeShow:void 0,onShow:void 0,beforeHide:void 0,onHide:void 0,yarp:void 0,narp:void 0}},state:{lang:void 0!==$("html").attr("lang")?$("html").attr("lang"):"en",inited:!1,markedup:!1,bound:!1,visible:!1},appendTo:void 0},hideClass="_mb_hide_me",showClass="_mb_show_me";_mb.markup='
',_mb.confirmMarkup='
',_mb.init=function(args){if(args=void 0===args?{}:args,_mb.args.addCSS=void 0!==args.addCSS?args.addCSS:!0,_mb.args.addMarkup=void 0!==args.addMarkup?args.addMarkup:!0,_mb.args.appendTo=void 0!==args.appendTo?args.appendTo:document.body,void 0!==args.callbacks)for(var c in _mb.args.callbacks)_mb.args.callbacks[c]=void 0!==args.callbacks[c]?args.callbacks[c]:void 0;_mb.state.lang=void 0!==args.lang?args.lang:_mb.state.lang,doCallback("beforeInit"),addMarkup(),bind(),_mb.state.inited=!0,doCallback("onInit")},_mb.show=function(args){_mb.state.inited||_mb.init(args);var addClass="",showFor=!1,confirm=!1;if(void 0!==args){if(reset(),void 0!==args.header&&$header.html(args.header).removeClass(hideClass),void 0!==args.body&&$body.html(args.body),void 0!==args.footer&&$footer.html(args.footer).removeClass(hideClass),void 0!==args.callbacks)for(var c in args.callbacks)_mb.args.callbacks[c]=args.callbacks[c];void 0!==args.confirm&&buildConfirm(args.confirm),addClass=void 0!==args.addClass?args.addClass:"",showFor=void 0!==args.showFor?args.showFor:!1}doCallback("beforeShow"),$wrap.removeClass().addClass(showClass+" "+addClass),focusOn(),$body.find("form").length>0&&(formValString=$body.find("form").serialize(),$wrap.addClass("_mb_confirm_before_close")),_mb.state.visible=!0,$("body").css({overflow:"hidden"}),doCallback("onShow"),showFor&&!confirm&&setTimeout(function(){_mb.hide()},showFor)},_mb.hide=function(force){return force=void 0===force?!1:force,_mb.state.inited?!force&&$wrap.hasClass("_mb_confirm_before_close")&&formValString!=$body.find("form").serialize()?($wrap.addClass("_mb_closeconfirm"),void focusOn("closeconfirm")):(doCallback("beforeHide"),doCallback("narp"),$wrap.removeClass(showClass),_mb.state.visible=!1,void 0!==lastFocus&&lastFocus.focus(),$("body").css({overflow:"auto"}),doCallback("onHide"),void 0):void 0},_mb.translate=function(ting,lang){if(void 0===ting||""===ting)return!1;lang=void 0!==lang?lang:_mb.state.lang;var original=ting,translation=!1;return"object"!=typeof ting&&(ting=JSON.stringify(ting),ting=JSON.parse(ting)),translation=void 0===ting[lang]?!1:ting[lang],translation||"en"==_mb.state.lang||(translation=void 0===ting.en?!1:ting.en),translation||"string"!=typeof original||(translation=original),translation},doCallback=function(callback){callback=_mb.args.callbacks[callback],"function"==typeof callback&&(_mb.state.bound?callback(_mb,$wrap,$header,$body,$footer,$close):callback(_mb))},addMarkup=function(){return!_mb.args.addMarkup||_mb.state.markedup?!1:(doCallback("beforeMarkup"),$(_mb.args.appendTo).append(_mb.markup),_mb.state.markedup=!0,void doCallback("onMarkup"))},reset=function(){$body.empty(),$header.addClass(hideClass).empty(),$footer.addClass(hideClass).empty(),_mb.args.callbacks.narp=void 0,_mb.args.callbacks.yarp=void 0},buildConfirm=function(confirm){var defaults={yarp:{en:"confirm"},narp:{en:"cancel"}},yarpText=void 0!==_mb.translate(confirm.yarp.text)?confirm.yarp.text:defaults.yarp,narpText=void 0!==_mb.translate(confirm.narp.text)?confirm.narp.text:defaults.narp;yarpText=_mb.translate(yarpText),narpText=_mb.translate(narpText),$footer.append(_mb.confirmMarkup.replace("[yarpText]"," "+yarpText).replace("[narpText]"," "+narpText)),void 0!==confirm.yarp&&confirm.yarp.disabled&&$("#_mb_confirm_yarp").attr("disabled",!0),void 0!==confirm.narp&&confirm.narp.disabled&&$("#_mb_confirm_narp").attr("disabled",!0),$footer.removeClass(hideClass)},focusOn=function(which){var activeEl=void 0!==document.activeElement&&null!==document.activeElement?document.activeElement:void 0;switch(which){case"closeconfirm":void 0!==activeEl&&(lastFocusInner=activeEl,lastFocusInner.blur()),$wrap.find("._mb_closeconfirm_inner").focus();break;default:void 0!==activeEl&&$(activeEl).parents("#_mb_uber").length<=0&&(lastFocus=activeEl,lastFocus.blur()),$header.text().length>0?$header.focus():$body.text().length>0?$body.focus():$footer.text().length>0&&$footer.focus()}},bind=function(){$wrap=$("#_mb_uber"),$header=$("#_mb_header"),$body=$("#_mb_body"),$footer=$("#_mb_footer"),$close=$("._mb_close"),doCallback("beforeBind"),$(document.body).on("click","#_mb_uber",function(e){e.preventDefault(),e.stopPropagation(),_mb.hide()}).on("click touchstart touchmove touchend","#_mb_content_wrap",function(e){e.stopPropagation()}).on("click","._mb_close",function(e){e.preventDefault(),_mb.hide()}).on("click","#_mb_confirm_wrap button",function(e){e.preventDefault();var which=$(this).data("which");doCallback(which),_mb.args.callbacks.narp=void 0,_mb.hide()}).on("click","._mb_closeconfirm_narp",function(e){e.preventDefault(),$wrap.removeClass("_mb_closeconfirm"),focusOn()}).on("click","._mb_closeconfirm_yarp",function(e){e.preventDefault(),_mb.hide(!0)}),$(window).on("keyup",function(e){27==e.which&&_mb.state.visible&&_mb.hide()}),_mb.state.bound=!0,doCallback("onBind")},scope._mb=_mb}($||jQuery,this),"function"==typeof define&&define("_mb",[],function(){return _mb});