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