;(function($){var ie6=$.browser.msie&&parseInt($.browser.version)===6&&typeof window['XMLHttpRequest']!=='object',ie7=$.browser.msie&&parseInt($.browser.version)===7,ieQuirks=null,w=[];$.modal=function(data,options){return $.modal.impl.init(data,options);};$.modal.close=function(){$.modal.impl.close();};$.modal.focus=function(pos){$.modal.impl.focus(pos);};$.modal.setContainerDimensions=function(){$.modal.impl.setContainerDimensions();};$.modal.setPosition=function(){$.modal.impl.setPosition();};$.modal.update=function(height,width){$.modal.impl.update(height,width);};$.fn.modal=function(options){return $.modal.impl.init(this,options);};$.modal.defaults={appendTo:'body',focus:true,opacity:50,overlayId:'simplemodal-overlay',overlayCss:{},containerId:'simplemodal-container',containerCss:{},dataId:'simplemodal-data',dataCss:{},minHeight:null,minWidth:null,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,modal:true,onOpen:null,onShow:null,onClose:null};$.modal.impl={d:{},init:function(data,options){var s=this;if(s.d.data){return false;}
ieQuirks=$.browser.msie&&!$.boxModel;s.o=$.extend({},$.modal.defaults,options);s.zIndex=s.o.zIndex;s.occb=false;if(typeof data==='object'){data=data instanceof jQuery?data:$(data);s.d.placeholder=false;if(data.parent().parent().size()>0){data.before($('<span></span>')
.attr('id','simplemodal-placeholder')
.css({display:'none'}));s.d.placeholder=true;s.display=data.css('display');if(!s.o.persist){s.d.orig=data.clone(true);}}}
else if(typeof data==='string'||typeof data==='number'){data=$('<div></div>').html(data);}
else{alert('SimpleModal Error: Unsupported data type: '+typeof data);return s;}
s.create(data);data=null;s.open();if($.isFunction(s.o.onShow)){s.o.onShow.apply(s,[s.d]);}
return s;},create:function(data){var s=this;w=s.getDimensions();if(s.o.modal&&ie6){s.d.iframe=$('<iframe src="javascript:false;"></iframe>')
.css($.extend(s.o.iframeCss,{display:'none',opacity:0,position:'fixed',height:w[0],width:w[1],zIndex:s.o.zIndex,top:0,left:0}))
.appendTo(s.o.appendTo);}
s.d.overlay=$('<div></div>')
.attr('id',s.o.overlayId)
.addClass('simplemodal-overlay')
.css($.extend(s.o.overlayCss,{display:'none',opacity:s.o.opacity/100,height:s.o.modal?w[0]:0,width:s.o.modal?w[1]:0,position:'fixed',left:0,top:0,zIndex:s.o.zIndex+1}))
.appendTo(s.o.appendTo);s.d.container=$('<div></div>')
.attr('id',s.o.containerId)
.addClass('simplemodal-container')
.css($.extend(s.o.containerCss,{display:'none',position:'fixed',zIndex:s.o.zIndex+2}))
.append(s.o.close&&s.o.closeHTML
?$(s.o.closeHTML).addClass(s.o.closeClass)
:'')
.appendTo(s.o.appendTo);s.d.wrap=$('<div></div>')
.attr('tabIndex',-1)
.addClass('simplemodal-wrap')
.css({height:'100%',outline:0,width:'100%'})
.appendTo(s.d.container);s.d.data=data
.attr('id',data.attr('id')||s.o.dataId)
.addClass('simplemodal-data')
.css($.extend(s.o.dataCss,{display:'none'}))
.appendTo('body');data=null;s.setContainerDimensions();s.d.data.appendTo(s.d.wrap);if(ie6||ieQuirks){s.fixIE();}},bindEvents:function(){var s=this;$('.'+s.o.closeClass).bind('click.simplemodal',function(e){e.preventDefault();s.close();});if(s.o.modal&&s.o.close&&s.o.overlayClose){s.d.overlay.bind('click.simplemodal',function(e){e.preventDefault();s.close();});}
$(document).bind('keydown.simplemodal',function(e){if(s.o.modal&&e.keyCode===9){s.watchTab(e);}
else if((s.o.close&&s.o.escClose)&&e.keyCode===27){e.preventDefault();s.close();}});$(window).bind('resize.simplemodal',function(){w=s.getDimensions();s.o.autoResize?s.setContainerDimensions():s.o.autoPosition&&s.setPosition();if(ie6||ieQuirks){s.fixIE();}
else if(s.o.modal){s.d.iframe&&s.d.iframe.css({height:w[0],width:w[1]});s.d.overlay.css({height:w[0],width:w[1]});}});},unbindEvents:function(){$('.'+this.o.closeClass).unbind('click.simplemodal');$(document).unbind('keydown.simplemodal');$(window).unbind('resize.simplemodal');this.d.overlay.unbind('click.simplemodal');},fixIE:function(){var s=this,p=s.o.position;$.each([s.d.iframe||null,!s.o.modal?null:s.d.overlay,s.d.container],function(i,el){if(el){var bch='document.body.clientHeight',bcw='document.body.clientWidth',bsh='document.body.scrollHeight',bsl='document.body.scrollLeft',bst='document.body.scrollTop',bsw='document.body.scrollWidth',ch='document.documentElement.clientHeight',cw='document.documentElement.clientWidth',sl='document.documentElement.scrollLeft',st='document.documentElement.scrollTop',s=el[0].style;s.position='absolute';if(i<2){s.removeExpression('height');s.removeExpression('width');s.setExpression('height',''+bsh+' > '+bch+' ? '+bsh+' : '+bch+' + "px"');s.setExpression('width',''+bsw+' > '+bcw+' ? '+bsw+' : '+bcw+' + "px"');}
else{var te,le;if(p&&p.constructor===Array){var top=p[0]
?typeof p[0]==='number'?p[0].toString():p[0].replace(/px/,'')
:el.css('top').replace(/px/,'');te=top.indexOf('%')===-1
?top+' + (t = '+st+' ? '+st+' : '+bst+') + "px"'
:parseInt(top.replace(/%/,''))+' * (('+ch+' || '+bch+') / 100) + (t = '+st+' ? '+st+' : '+bst+') + "px"';if(p[1]){var left=typeof p[1]==='number'?p[1].toString():p[1].replace(/px/,'');le=left.indexOf('%')===-1
?left+' + (t = '+sl+' ? '+sl+' : '+bsl+') + "px"'
:parseInt(left.replace(/%/,''))+' * (('+cw+' || '+bcw+') / 100) + (t = '+sl+' ? '+sl+' : '+bsl+') + "px"';}}
else{te='('+ch+' || '+bch+') / 2 - (this.offsetHeight / 2) + (t = '+st+' ? '+st+' : '+bst+') + "px"';le='('+cw+' || '+bcw+') / 2 - (this.offsetWidth / 2) + (t = '+sl+' ? '+sl+' : '+bsl+') + "px"';}
s.removeExpression('top');s.removeExpression('left');s.setExpression('top',te);s.setExpression('left',le);}}});},focus:function(pos){var s=this,p=pos&&$.inArray(pos,['first','last'])!==-1?pos:'first';var input=$(':input:enabled:visible:'+p,s.d.wrap);setTimeout(function(){input.length>0?input.focus():s.d.wrap.focus();},10);},getDimensions:function(){var el=$(window);var h=$.browser.opera&&$.browser.version>'9.5'&&$.fn.jquery<'1.3'
||$.browser.opera&&$.browser.version<'9.5'&&$.fn.jquery>'1.2.6'
?el[0].innerHeight:el.height();return[h,el.width()];},getVal:function(v,d){return v?(typeof v==='number'?v
:v==='auto'?0
:v.indexOf('%')>0?((parseInt(v.replace(/%/,''))/100)*(d==='h'?w[0]:w[1]))
:parseInt(v.replace(/px/,'')))
:null;},update:function(height,width){var s=this;if(!s.d.data){return false;}
s.d.origHeight=s.getVal(height,'h');s.d.origWidth=s.getVal(width,'w');s.d.data.hide();height&&s.d.container.css('height',height);width&&s.d.container.css('width',width);s.setContainerDimensions();s.d.data.show();s.o.focus&&s.focus();s.unbindEvents();s.bindEvents();},setContainerDimensions:function(){var s=this,badIE=ie6||ie7;var ch=s.d.origHeight?s.d.origHeight:$.browser.opera?s.d.container.height():s.getVal(badIE?s.d.container[0].currentStyle['height']:s.d.container.css('height'),'h'),cw=s.d.origWidth?s.d.origWidth:$.browser.opera?s.d.container.width():s.getVal(badIE?s.d.container[0].currentStyle['width']:s.d.container.css('width'),'w'),dh=s.d.data.outerHeight(true),dw=s.d.data.outerWidth(true);s.d.origHeight=s.d.origHeight||ch;s.d.origWidth=s.d.origWidth||cw;var mxoh=s.o.maxHeight?s.getVal(s.o.maxHeight,'h'):null,mxow=s.o.maxWidth?s.getVal(s.o.maxWidth,'w'):null,mh=mxoh&&mxoh<w[0]?mxoh:w[0],mw=mxow&&mxow<w[1]?mxow:w[1];var moh=s.o.minHeight?s.getVal(s.o.minHeight,'h'):'auto';if(!ch){if(!dh){ch=moh;}
else{if(dh>mh){ch=mh;}
else if(s.o.minHeight&&moh!=='auto'&&dh<moh){ch=moh;}
else{ch=dh;}}}
else{ch=s.o.autoResize&&ch>mh?mh:ch<moh?moh:ch;}
var mow=s.o.minWidth?s.getVal(s.o.minWidth,'w'):'auto';if(!cw){if(!dw){cw=mow;}
else{if(dw>mw){cw=mw;}
else if(s.o.minWidth&&mow!=='auto'&&dw<mow){cw=mow;}
else{cw=dw;}}}
else{cw=s.o.autoResize&&cw>mw?mw:cw<mow?mow:cw;}
s.d.container.css({height:ch,width:cw});s.d.wrap.css({overflow:(dh>ch||dw>cw)?'auto':'visible'});s.o.autoPosition&&s.setPosition();},setPosition:function(){var s=this,top,left,hc=(w[0]/2)-(s.d.container.outerHeight(true)/2),vc=(w[1]/2)-(s.d.container.outerWidth(true)/2);if(s.o.position&&Object.prototype.toString.call(s.o.position)==='[object Array]'){top=s.o.position[0]||hc;left=s.o.position[1]||vc;}else{top=hc;left=vc;}
s.d.container.css({left:left,top:top});},watchTab:function(e){var s=this;if($(e.target).parents('.simplemodal-container').length>0){s.inputs=$(':input:enabled:visible:first, :input:enabled:visible:last',s.d.data[0]);if((!e.shiftKey&&e.target===s.inputs[s.inputs.length-1])||(e.shiftKey&&e.target===s.inputs[0])||s.inputs.length===0){e.preventDefault();var pos=e.shiftKey?'last':'first';s.focus(pos);}}
else{e.preventDefault();s.focus();}},open:function(){var s=this;s.d.iframe&&s.d.iframe.show();if($.isFunction(s.o.onOpen)){s.o.onOpen.apply(s,[s.d]);}
else{s.d.overlay.show();s.d.container.show();s.d.data.show();}
s.o.focus&&s.focus();s.bindEvents();},close:function(){var s=this;if(!s.d.data){return false;}
s.unbindEvents();if($.isFunction(s.o.onClose)&&!s.occb){s.occb=true;s.o.onClose.apply(s,[s.d]);}
else{if(s.d.placeholder){var ph=$('#simplemodal-placeholder');if(s.o.persist){ph.replaceWith(s.d.data.removeClass('simplemodal-data').css('display',s.display));}
else{s.d.data.hide().remove();ph.replaceWith(s.d.orig);}}
else{s.d.data.hide().remove();}
s.d.container.hide().remove();s.d.overlay.hide();s.d.iframe&&s.d.iframe.hide().remove();setTimeout(function(){s.d.overlay.remove();s.d={};},10);}}};})(jQuery);
