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

