(function(D){var C=D.browser.msie&&parseInt(D.browser.version)==6&&typeof window.XMLHttpRequest!="object",A=null,B=[];D.modal=function(E,F){return D.modal.impl.init(E,F)};D.modal.close=function(){D.modal.impl.close()};D.fn.modal=function(E){return D.modal.impl.init(this,E)};D.modal.defaults={appendTo:"body",focus:true,opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataId:"simplemodal-data",dataCss:{},minHeight:200,minWidth:300,maxHeight:null,maxWidth:null,autoResize:false,zIndex:1000,close:true,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",escClose:true,overlayClose:false,position:null,persist:false,onOpen:null,onShow:null,onClose:null};D.modal.impl={opts:null,dialog:{},init:function(E,F){if(this.dialog.data){return false}A=D.browser.msie&&!D.boxModel;this.opts=D.extend({},D.modal.defaults,F);this.zIndex=this.opts.zIndex;this.occb=false;if(typeof E=="object"){E=E instanceof jQuery?E:D(E);if(E.parent().parent().size()>0){this.dialog.parentNode=E.parent();if(!this.opts.persist){this.dialog.orig=E.clone(true)}}}else{if(typeof E=="string"||typeof E=="number"){E=D("<div/>").html(E)}else{alert("SimpleModal Error: Unsupported data type: "+typeof E);return false}}this.create(E);E=null;this.open();if(D.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog])}return this},create:function(E){B=this.getDimensions();if(C){this.dialog.iframe=D('<iframe src="javascript:false;"/>').css(D.extend(this.opts.iframeCss,{display:"none",opacity:0,position:"fixed",height:B[0],width:B[1],zIndex:this.opts.zIndex,top:0,left:0})).appendTo(this.opts.appendTo)}this.dialog.overlay=D("<div/>").attr("id",this.opts.overlayId).addClass("simplemodal-overlay").css(D.extend(this.opts.overlayCss,{display:"none",opacity:this.opts.opacity/100,height:B[0],width:B[1],position:"fixed",left:0,top:0,zIndex:this.opts.zIndex+1})).appendTo(this.opts.appendTo);this.dialog.container=D("<div/>").attr("id",this.opts.containerId).addClass("simplemodal-container").css(D.extend(this.opts.containerCss,{display:"none",position:"fixed",zIndex:this.opts.zIndex+2})).append(this.opts.close&&this.opts.closeHTML?D(this.opts.closeHTML).addClass(this.opts.closeClass):"").appendTo(this.opts.appendTo);this.dialog.wrap=D("<div/>").attr("tabIndex",-1).addClass("simplemodal-wrap").css({height:"100%",outline:0,width:"100%"}).appendTo(this.dialog.container);this.dialog.data=E.attr("id",E.attr("id")||this.opts.dataId).addClass("simplemodal-data").css(D.extend(this.opts.dataCss,{display:"none"}));E=null;this.setContainerDimensions();this.dialog.data.appendTo(this.dialog.wrap);if(C||A){this.fixIE()}},bindEvents:function(){var E=this;D("."+E.opts.closeClass).bind("click.simplemodal",function(F){F.preventDefault();E.close()});if(E.opts.close&&E.opts.overlayClose){E.dialog.overlay.bind("click.simplemodal",function(F){F.preventDefault();E.close()})}D(document).bind("keydown.simplemodal",function(F){if(E.opts.focus&&F.keyCode==9){E.watchTab(F)}else{if((E.opts.close&&E.opts.escClose)&&F.keyCode==27){F.preventDefault();E.close()}}});D(window).bind("resize.simplemodal",function(){B=E.getDimensions();E.opts.autoResize?E.setContainerDimensions():E.setPosition();if(C||A){E.fixIE()}else{E.dialog.iframe&&E.dialog.iframe.css({height:B[0],width:B[1]});E.dialog.overlay.css({height:B[0],width:B[1]})}})},unbindEvents:function(){D("."+this.opts.closeClass).unbind("click.simplemodal");D(document).unbind("keydown.simplemodal");D(window).unbind("resize.simplemodal");this.dialog.overlay.unbind("click.simplemodal")},fixIE:function(){var E=this.opts.position;D.each([this.dialog.iframe||null,this.dialog.overlay,this.dialog.container],function(Q,H){if(H){var P="document.body.clientHeight",K="document.body.clientWidth",T="document.body.scrollHeight",J="document.body.scrollLeft",S="document.body.scrollTop",V="document.body.scrollWidth",O="document.documentElement.clientHeight",I="document.documentElement.clientWidth",M="document.documentElement.scrollLeft",N="document.documentElement.scrollTop",G=H[0].style;G.position="absolute";if(Q<2){G.removeExpression("height");G.removeExpression("width");G.setExpression("height",""+T+" > "+P+" ? "+T+" : "+P+' + "px"');G.setExpression("width",""+V+" > "+K+" ? "+V+" : "+K+' + "px"')}else{var R,F;if(E&&E.constructor==Array){var L=E[0]?typeof E[0]=="number"?E[0].toString():E[0].replace(/px/,""):H.css("top").replace(/px/,"");R=L.indexOf("%")==-1?L+" + (t = "+N+" ? "+N+" : "+S+') + "px"':parseInt(L.replace(/%/,""))+" * (("+O+" || "+P+") / 100) + (t = "+N+" ? "+N+" : "+S+') + "px"';if(E[1]){var U=typeof E[1]=="number"?E[1].toString():E[1].replace(/px/,"");F=U.indexOf("%")==-1?U+" + (t = "+M+" ? "+M+" : "+J+') + "px"':parseInt(U.replace(/%/,""))+" * (("+I+" || "+K+") / 100) + (t = "+M+" ? "+M+" : "+J+') + "px"'}}else{R="("+O+" || "+P+") / 2 - (this.offsetHeight / 2) + (t = "+N+" ? "+N+" : "+S+') + "px"';F="("+I+" || "+K+") / 2 - (this.offsetWidth / 2) + (t = "+M+" ? "+M+" : "+J+') + "px"'}G.removeExpression("top");G.removeExpression("left");G.setExpression("top",R);G.setExpression("left",F)}}})},focus:function(G){var E=this,F=G||"first";var H=D(":input:enabled:visible:"+F,E.dialog.wrap);H.length>0?H.focus():E.dialog.wrap.focus()},getDimensions:function(){var E=D(window);var F=D.browser.opera&&D.browser.version>"9.5"&&D.fn.jquery<="1.2.6"?document.documentElement.clientHeight:D.browser.opera&&D.browser.version<"9.5"&&D.fn.jquery>"1.2.6"?window.innerHeight:E.height();return[F,E.width()]},getVal:function(E){return E=="auto"?0:parseInt(E.replace(/px/,""))},setContainerDimensions:function(){var J=this.getVal(this.dialog.container.css("height")),G=this.dialog.container.width(),F=this.dialog.data.height(),I=this.dialog.data.width();var H=this.opts.maxHeight&&this.opts.maxHeight<B[0]?this.opts.maxHeight:B[0],E=this.opts.maxWidth&&this.opts.maxWidth<B[1]?this.opts.maxWidth:B[1];if(!J){if(!F){J=this.opts.minHeight}else{if(F>H){J=H}else{if(F<this.opts.minHeight){J=this.opts.minHeight}else{J=F}}}}else{J=J>H?H:J}if(!G){if(!I){G=this.opts.minWidth}else{if(I>E){G=E}else{if(I<this.opts.minWidth){G=this.opts.minWidth}else{G=I}}}}else{G=G>E?E:G}this.dialog.container.css({height:J,width:G});if(F>J||I>G){this.dialog.wrap.css({overflow:"auto"})}this.setPosition()},setPosition:function(){var F,E,G=(B[0]/2)-((this.dialog.container.height()||this.dialog.data.height())/2),H=(B[1]/2)-((this.dialog.container.width()||this.dialog.data.width())/2);if(this.opts.position&&this.opts.position.constructor==Array){F=this.opts.position[0]||G;E=this.opts.position[1]||H}else{F=G;E=H}this.dialog.container.css({left:E,top:F})},watchTab:function(F){var E=this;if(D(F.target).parents(".simplemodal-container").length>0){E.inputs=D(":input:enabled:visible:first, :input:enabled:visible:last",E.dialog.data);if(!F.shiftKey&&F.target==E.inputs[E.inputs.length-1]||F.shiftKey&&F.target==E.inputs[0]||E.inputs.length==0){F.preventDefault();var G=F.shiftKey?"last":"first";setTimeout(function(){E.focus(G)},10)}}else{F.preventDefault();setTimeout(function(){E.focus()},10)}},open:function(){this.dialog.iframe&&this.dialog.iframe.show();if(D.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog])}else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show()}this.focus();this.bindEvents()},close:function(){if(!this.dialog.data){return false}this.unbindEvents();if(D.isFunction(this.opts.onClose)&&!this.occb){this.occb=true;this.opts.onClose.apply(this,[this.dialog])}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode)}else{this.dialog.data.hide().remove();this.dialog.orig.appendTo(this.dialog.parentNode)}}else{this.dialog.data.hide().remove()}this.dialog.container.hide().remove();this.dialog.overlay.hide().remove();this.dialog.iframe&&this.dialog.iframe.hide().remove();this.dialog={}}}}})(jQuery);