(function(n){var i=n.browser.msie&&parseInt(n.browser.version)===6&&typeof window.XMLHttpRequest!="object",u=n.browser.msie&&parseInt(n.browser.version)===7,r=null,t=[];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,position:null,persist:!1,modal:!0,onOpen:null,onShow:null,onClose:null},n.modal.impl={d:{},init:function(t,i){var u=this;if(u.d.data)return!1;r=n.browser.msie&&!n.boxModel,u.o=n.extend({},n.modal.defaults,i),u.zIndex=u.o.zIndex,u.occb=!1;if(typeof t=="object")t=t instanceof jQuery?t:n(t),u.d.placeholder=!1,t.parent().parent().size()>0&&(t.before(n("<span></span>").attr("id","simplemodal-placeholder").css({display:"none"})),u.d.placeholder=!0,u.display=t.css("display"),u.o.persist||(u.d.orig=t.clone(!0)));else if(typeof t=="string"||typeof t=="number")t=n("<div></div>").html(t);else return alert("SimpleModal Error: Unsupported data type: "+typeof t),u;return u.create(t),t=null,u.open(),n.isFunction(u.o.onShow)&&u.o.onShow.apply(u,[u.d]),u},create:function(u){var f=this;t=f.getDimensions(),f.o.modal&&i&&(f.d.iframe=n('<iframe src="javascript:false;"></iframe>').css(n.extend(f.o.iframeCss,{display:"none",opacity:0,position:"fixed",height:t[0],width:t[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?t[0]:0,width:f.o.modal?t[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(f.o.containerCss,{display:"none",position:"fixed",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),(i||r)&&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()}),n(document).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())}),n(window).bind("resize.simplemodal",function(){t=u.getDimensions(),u.o.autoResize?u.setContainerDimensions():u.o.autoPosition&&u.setPosition(),i||r?u.fixIE():u.o.modal&&(u.d.iframe&&u.d.iframe.css({height:t[0],width:t[1]}),u.d.overlay.css({height:t[0],width:t[1]}))})},unbindEvents:function(){n("."+this.o.closeClass).unbind("click.simplemodal"),n(document).unbind("keydown.simplemodal"),n(window).unbind("resize.simplemodal"),this.d.overlay.unbind("click.simplemodal")},fixIE:function(){var i=this,t=i.o.position;n.each([i.d.iframe||null,i.o.modal?i.d.overlay:null,i.d.container],function(n,i){var l,c,o,e;if(i){var s="document.body.clientHeight",h="document.body.clientWidth",b="document.body.scrollHeight",a="document.body.scrollLeft",v="document.body.scrollTop",p="document.body.scrollWidth",y="document.documentElement.clientHeight",w="document.documentElement.clientWidth",u="document.documentElement.scrollLeft",f="document.documentElement.scrollTop",r=i[0].style;r.position="absolute",n<2?(r.removeExpression("height"),r.removeExpression("width"),r.setExpression("height",""+b+" > "+s+" ? "+b+" : "+s+' + "px"'),r.setExpression("width",""+p+" > "+h+" ? "+p+" : "+h+' + "px"')):(t&&t.constructor===Array?(o=t[0]?typeof t[0]=="number"?t[0].toString():t[0].replace(/px/,""):i.css("top").replace(/px/,""),l=o.indexOf("%")===-1?o+" + (t = "+f+" ? "+f+" : "+v+') + "px"':parseInt(o.replace(/%/,""))+" * (("+y+" || "+s+") / 100) + (t = "+f+" ? "+f+" : "+v+') + "px"',t[1]&&(e=typeof t[1]=="number"?t[1].toString():t[1].replace(/px/,""),c=e.indexOf("%")===-1?e+" + (t = "+u+" ? "+u+" : "+a+') + "px"':parseInt(e.replace(/%/,""))+" * (("+w+" || "+h+") / 100) + (t = "+u+" ? "+u+" : "+a+') + "px"')):(l="("+y+" || "+s+") / 2 - (this.offsetHeight / 2) + (t = "+f+" ? "+f+" : "+v+') + "px"',c="("+w+" || "+h+") / 2 - (this.offsetWidth / 2) + (t = "+u+" ? "+u+" : "+a+') + "px"'),r.removeExpression("top"),r.removeExpression("left"),r.setExpression("top",l),r.setExpression("left",c))}})},focus:function(t){var r=this,u=t&&n.inArray(t,["first","last"])!==-1?t:"first",i=n(":input:enabled:visible:"+u,r.d.wrap);setTimeout(function(){i.length>0?i.focus():r.d.wrap.focus()},10)},getDimensions:function(){var t=n(window),i=n.browser.opera&&n.browser.version>"9.5"&&n.fn.jquery<"1.3"||n.browser.opera&&n.browser.version<"9.5"&&n.fn.jquery>"1.2.6"?t[0].innerHeight:t.height();return[i,t.width()]},getVal:function(n,i){return n?typeof n=="number"?n:n==="auto"?0:n.indexOf("%")>0?parseInt(n.replace(/%/,""))/100*(i==="h"?t[0]:t[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 r=this,p=i||u,f=r.d.origHeight?r.d.origHeight:n.browser.opera?r.d.container.height():r.getVal(p?r.d.container[0].currentStyle.height:r.d.container.css("height"),"h"),e=r.d.origWidth?r.d.origWidth:n.browser.opera?r.d.container.width():r.getVal(p?r.d.container[0].currentStyle.width:r.d.container.css("width"),"w"),c=r.d.data.outerHeight(!0),h=r.d.data.outerWidth(!0),o;r.d.origHeight=r.d.origHeight||f,r.d.origWidth=r.d.origWidth||e;var y=r.o.maxHeight?r.getVal(r.o.maxHeight,"h"):null,v=r.o.maxWidth?r.getVal(r.o.maxWidth,"w"):null,a=y&&y<t[0]?y:t[0],l=v&&v<t[1]?v:t[1],s=r.o.minHeight?r.getVal(r.o.minHeight,"h"):"auto";f=f?r.o.autoResize&&f>a?a:f<s?s:f:c?c>a?a:r.o.minHeight&&s!=="auto"&&c<s?s:c:s,o=r.o.minWidth?r.getVal(r.o.minWidth,"w"):"auto",e=e?r.o.autoResize&&e>l?l:e<o?o:e:h?h>l?l:r.o.minWidth&&o!=="auto"&&h<o?o:h:o,r.d.container.css({height:f,width:e}),r.d.wrap.css({overflow:c>f||h>e?"auto":"visible"}),r.o.autoPosition&&r.setPosition()},setPosition:function(){var n=this,r,i,f=t[0]/2-n.d.container.outerHeight(!0)/2,u=t[1]/2-n.d.container.outerWidth(!0)/2;n.o.position&&Object.prototype.toString.call(n.o.position)==="[object Array]"?(r=n.o.position[0]||f,i=n.o.position[1]||u):(r=f,i=u),n.d.container.css({left:i,top:r})},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(),setTimeout(function(){t.d.overlay.remove(),t.d={}},10))}}})(jQuery)
