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