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