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