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