(function(n){typeof define=="function"&&define.amd?define(["jquery"],n):n(jQuery)})(function(n){var r=[],e=n(document),u=navigator.userAgent.toLowerCase(),f=n(window),i=[],t={ieQuirks:null,msie:/msie/.test(u)&&!/opera/.test(u),opera:/opera/.test(u)};t.ie6=t.msie&&/msie 6./.test(u)&&typeof window.XMLHttpRequest!="object",t.ie7=t.msie&&/msie 7.0/.test(u),n.modal=function(t,i){return n.modal.impl.init(t,i)},n.modal.close=function(){n.modal.impl.close()},n.modal.focus=function(t){n.modal.impl.focus(t)},n.modal.setContainerDimensions=function(){n.modal.impl.setContainerDimensions()},n.modal.setPosition=function(){n.modal.impl.setPosition()},n.modal.update=function(t,i){n.modal.impl.update(t,i)},n.fn.modal=function(t){return n.modal.impl.init(this,t)},n.modal.defaults={appendTo:"body",focus:!0,opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataId:"simplemodal-data",dataCss:{},minHeight:null,minWidth:null,maxHeight:null,maxWidth:null,autoResize:!1,autoPosition:!0,zIndex:1e3,close:!0,closeHTML:'<a class="modalCloseImg" title="Close"><\/a>',closeClass:"simplemodal-close",escClose:!0,overlayClose:!1,fixed:!0,position:null,persist:!1,modal:!0,onOpen:null,onShow:null,onClose:null},n.modal.impl={d:{},init:function(i,r){var u=this;if(u.d.data)return!1;if(t.ieQuirks=t.msie&&!n.support.boxModel,u.o=n.extend({},n.modal.defaults,r),u.zIndex=u.o.zIndex,u.occb=!1,typeof i=="object")i=i instanceof n?i:n(i),u.d.placeholder=!1,i.parent().parent().size()>0&&(i.before(n("<span><\/span>").attr("id","simplemodal-placeholder").css({display:"none"})),u.d.placeholder=!0,u.display=i.css("display"),u.o.persist||(u.d.orig=i.clone(!0)));else if(typeof i=="string"||typeof i=="number")i=n("<div><\/div>").html(i);else return alert("SimpleModal Error: Unsupported data type: "+typeof i),u;return u.create(i),i=null,u.open(),n.isFunction(u.o.onShow)&&u.o.onShow.apply(u,[u.d]),u},create:function(u){var f=this;f.getDimensions(),f.o.modal&&t.ie6&&(f.d.iframe=n('<iframe src="javascript:false;"><\/iframe>').css(n.extend(f.o.iframeCss,{display:"none",opacity:0,position:"fixed",height:i[0],width:i[1],zIndex:f.o.zIndex,top:0,left:0})).appendTo(f.o.appendTo)),f.d.overlay=n("<div><\/div>").attr("id",f.o.overlayId).addClass("simplemodal-overlay").css(n.extend(f.o.overlayCss,{display:"none",opacity:f.o.opacity/100,height:f.o.modal?r[0]:0,width:f.o.modal?r[1]:0,position:"fixed",left:0,top:0,zIndex:f.o.zIndex+1})).appendTo(f.o.appendTo),f.d.container=n("<div><\/div>").attr("id",f.o.containerId).addClass("simplemodal-container").css(n.extend({position:f.o.fixed?"fixed":"absolute"},f.o.containerCss,{display:"none",zIndex:f.o.zIndex+2})).append(f.o.close&&f.o.closeHTML?n(f.o.closeHTML).addClass(f.o.closeClass):"").appendTo(f.o.appendTo),f.d.wrap=n("<div><\/div>").attr("tabIndex",-1).addClass("simplemodal-wrap").css({height:"100%",outline:0,width:"100%"}).appendTo(f.d.container),f.d.data=u.attr("id",u.attr("id")||f.o.dataId).addClass("simplemodal-data").css(n.extend(f.o.dataCss,{display:"none"})).appendTo("body"),u=null,f.setContainerDimensions(),f.d.data.appendTo(f.d.wrap),(t.ie6||t.ieQuirks)&&f.fixIE()},bindEvents:function(){var u=this;n("."+u.o.closeClass).bind("click.simplemodal",function(n){n.preventDefault(),u.close()}),u.o.modal&&u.o.close&&u.o.overlayClose&&u.d.overlay.bind("click.simplemodal",function(n){n.preventDefault(),u.close()}),e.bind("keydown.simplemodal",function(n){u.o.modal&&n.keyCode===9?u.watchTab(n):u.o.close&&u.o.escClose&&n.keyCode===27&&(n.preventDefault(),u.close())}),f.bind("resize.simplemodal orientationchange.simplemodal",function(){u.getDimensions(),u.o.autoResize?u.setContainerDimensions():u.o.autoPosition&&u.setPosition(),t.ie6||t.ieQuirks?u.fixIE():u.o.modal&&(u.d.iframe&&u.d.iframe.css({height:i[0],width:i[1]}),u.d.overlay.css({height:r[0],width:r[1]}))})},unbindEvents:function(){n("."+this.o.closeClass).unbind("click.simplemodal"),e.unbind("keydown.simplemodal"),f.unbind(".simplemodal"),this.d.overlay.unbind("click.simplemodal")},fixIE:function(){},focus:function(t){var i=this,u=t&&n.inArray(t,["first","last"])!==-1?t:"first",r=n(":input:enabled:visible:"+u,i.d.wrap);setTimeout(function(){r.length>0?r.focus():i.d.wrap!=null&&i.d.wrap.focus()},10)},getDimensions:function(){var t=this,n=typeof window.innerHeight=="undefined"?f.height():window.innerHeight;r=[e.height(),e.width()],i=[n,f.width()]},getVal:function(n,t){return n?typeof n=="number"?n:n==="auto"?0:n.indexOf("%")>0?parseInt(n.replace(/%/,""))/100*(t==="h"?i[0]:i[1]):parseInt(n.replace(/px/,"")):null},update:function(n,t){var i=this;if(!i.d.data)return!1;i.d.origHeight=i.getVal(n,"h"),i.d.origWidth=i.getVal(t,"w"),i.d.data.hide(),n&&i.d.container.css("height",n),t&&i.d.container.css("width",t),i.setContainerDimensions(),i.d.data.show(),i.o.focus&&i.focus(),i.unbindEvents(),i.bindEvents()},setContainerDimensions:function(){var n=this,v=t.ie6||t.ie7,r=n.d.origHeight?n.d.origHeight:t.opera?n.d.container.height():n.getVal(v?n.d.container[0].currentStyle.height:n.d.container.css("height"),"h"),u=n.d.origWidth?n.d.origWidth:t.opera?n.d.container.width():n.getVal(v?n.d.container[0].currentStyle.width:n.d.container.css("width"),"w"),o=n.d.data.outerHeight(!0),s=n.d.data.outerWidth(!0),f;n.d.origHeight=n.d.origHeight||r,n.d.origWidth=n.d.origWidth||u;var l=n.o.maxHeight?n.getVal(n.o.maxHeight,"h"):null,a=n.o.maxWidth?n.getVal(n.o.maxWidth,"w"):null,h=l&&l<i[0]?l:i[0],c=a&&a<i[1]?a:i[1],e=n.o.minHeight?n.getVal(n.o.minHeight,"h"):"auto";r=r?n.o.autoResize&&r>h?h:r<e?e:r:o?o>h?h:n.o.minHeight&&e!=="auto"&&o<e?e:o:e,f=n.o.minWidth?n.getVal(n.o.minWidth,"w"):"auto",u=u?n.o.autoResize&&u>c?c:u<f?f:u:s?s>c?c:n.o.minWidth&&f!=="auto"&&s<f?f:s:f,n.d.container.css({height:r,width:u}),n.d.wrap.css({overflow:o>r||s>u?"auto":"visible"}),n.o.autoPosition&&n.setPosition()},setPosition:function(){var n=this,t,r,u=i[0]/2-n.d.container.outerHeight(!0)/2,e=i[1]/2-n.d.container.outerWidth(!0)/2,o=n.d.container.css("position")!=="fixed"?f.scrollTop():0;n.o.position&&Object.prototype.toString.call(n.o.position)==="[object Array]"?(t=o+(n.o.position[0]||u),r=n.o.position[1]||e):(t=o+u,r=e),n.d.container.css({left:r,top:t})},watchTab:function(t){var i=this,r;n(t.target).parents(".simplemodal-container").length>0?(i.inputs=n(":input:enabled:visible:first, :input:enabled:visible:last",i.d.data[0]),(!t.shiftKey&&t.target===i.inputs[i.inputs.length-1]||t.shiftKey&&t.target===i.inputs[0]||i.inputs.length===0)&&(t.preventDefault(),r=t.shiftKey?"last":"first",i.focus(r))):(t.preventDefault(),i.focus())},open:function(){var t=this;t.d.iframe&&t.d.iframe.show(),n.isFunction(t.o.onOpen)?t.o.onOpen.apply(t,[t.d]):(t.d.overlay.show(),t.d.container.show(),t.d.data.show()),t.o.focus&&t.focus(),t.bindEvents()},close:function(){var t=this,i;if(!t.d.data)return!1;t.unbindEvents(),n.isFunction(t.o.onClose)&&!t.occb?(t.occb=!0,t.o.onClose.apply(t,[t.d])):(t.d.placeholder?(i=n("#simplemodal-placeholder"),t.o.persist?i.replaceWith(t.d.data.removeClass("simplemodal-data").css("display",t.display)):(t.d.data.hide().remove(),i.replaceWith(t.d.orig))):t.d.data.hide().remove(),t.d.container.hide().remove(),t.d.overlay.hide(),t.d.iframe&&t.d.iframe.hide().remove(),t.d.overlay.remove(),t.d={})}}})