/* jquery.draggable.overlay.min.js
 * jQuery draggable and overlay plugins
 * Author: Jason Moon
 * Requires: jQuery 1.2.3 or later
 * Uncompressed: jquery.draggable.overlay.js
 */
(function($){var y=$.browser.msie&&($.browser.version<7);var z=0;$.fn.draggable=function(m){var n=$.extend({opacity:0.8},m);return this.each(function(){var h=1;var i=$(this);var j=(n.handle)?$(n.handle,this):i;var k=i.css('position');var l=(k=='fixed');if(k=='static'){i.css('position','relative')}j.mousedown(function(b){var c=$.fn.position&&i.position()||i.offset();if(!$.fn.position){if(c.left>i.get(0).offsetLeft){c.left=i.get(0).offsetLeft}if(c.top>i.get(0).offsetTop){c.top=i.get(0).offsetTop}}var d=(l)?($.fn.scrollLeft&&$(document).scrollLeft())||(document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft):0;var e=(l)?($.fn.scrollTop&&$(document).scrollTop())||(document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop):0;var f={offsetX:(b.pageX-c.left)+d,offsetY:(b.pageY-c.top)+e};if(n.onDragStart){c.left-=d;c.top-=e;n.onDragStart.call(i.get(0),c)}var g=$('iframe',i);if(y){g=g.add('select')}else if(n.opacity<1){h=i.css('opacity');i.css('opacity',n.opacity)}g.css('visibility','hidden');$(document).mouseup(function(a){$(document).unbind('mousemove').unbind('mouseup');if((n.opacity<1)&&!y){i.css('opacity',h)}g.css('visibility','visible');if(n.onDrop){n.onDrop.call(i.get(0),{left:a.pageX-f.offsetX,top:a.pageY-f.offsetY})}});$(document).mousemove(function(a){i.css({left:(a.pageX-f.offsetX)+'px',top:(a.pageY-f.offsetY)+'px'});return false});return false})})};var A=function(a,b){var c=a.toLowerCase();var d=null;var e=this;var f=function(){if(d){$.fn[c].call($(d))}$.fn[c].call($(this));return false};if($.fn.data){var g=$(this).data('overlay')||{};e=g.contextNode;d=g.modalOverlay;if(g['on'+a]){f=g['on'+a]}}else{var h=$(this).attr('modal');if(h){d=$('#'+h)[0]}}if(d){if($.browser.msie&&d.filters&&d.filters.alpha&&d.filters.alpha.opacity){$(d).css('opacity',parseInt(d.filters.alpha.opacity)/100)}e=d}if($.isFunction(b)){return b.call(this,e,f)}else{return f.call(this,e,b)}};$.fn.overlay=function(q){var r=(q.modal)?true:false;var s=(typeof(q.centered)=='boolean')?q.centered:r;var t=$.extend({centerX:s,centerY:s,fixed:r,modal:false,drag:false},q||{});var u=(t.modal)?10000:1000;var v=(t.fixed&&!y)?'fixed':'absolute';var w=function(a){return parseInt($.curCSS(this,'border'+a+'Width',true))||0};var x=function(a){if($.fn.outerWidth){return $.fn['outer'+a].call($(this))}else{var b=parseInt($.curCSS(this,a.toLowerCase(),true));var c=(a=='Width')?['Left','Right']:['Top','Bottom'];for(var i=0;i<2;i++){b+=parseInt($.curCSS(this,'padding'+c[i],true))+w.call(this,c[i])}return b}};return this.each(function(){var d=x.call(this,'Width');var e=x.call(this,'Height');if(t.modal||y){var f=$('<div style="z-index:'+u+'"></div>');if(t.modal){f.css($.extend(t.modal.css||{},{position:(y)?'absolute':'fixed',display:$(this).css('display'),height:'100%',width:'100%',top:0,left:0}));if(t.modal.className){f.addClass(t.modal.className)}else if(t.modal.id){f.attr('id',t.modal.id)}else{f.css($.extend({backgroundColor:'#000000',opacity:0.65},t.modal.css||{}))}f.appendTo('body')}else{$(this).wrapInner('<div style="position:relative;z-index:'+(u+2)+';"></div>').prepend(f.css({position:'absolute',top:'-'+w.call(this,'Top')+'px',left:'-'+w.call(this,'Left')+'px',width:d+'px',height:e+'px'}))}}if($.fn.data){$(this).data('overlay',{modalOverlay:(t.modal)?f[0]:null,onShow:t.onShow||null,onHide:t.onHide||null,contextNode:(!t.modal&&y)?$('div:last-child',this)[0]:this})}else{if(window.console&&(t.onShow||t.onHide)){console.warn('The jQuery overlay plugin onShow/onHide callbacks are not supported in jQuery versions prior to 1.2.3!')}if(t.modal){var g=t.modal.id||'modal_overlay_'+(++z);f.attr('id',g);$(this).attr('modal',g)}}if(t.modal||t.centerX||t.centerY||t.fixed){var h={position:v,zIndex:u+1};if(t.centerX){h.left='50%';h.marginLeft=Math.floor(d/-2)+'px'}if(t.centerY){h.top='50%';h.marginTop=Math.floor(e/-2)+'px'}$(this).css(h).appendTo('body')}else{$(this).css('position','absolute')}if(y){var j=function(a){return'document.documentElement&&document.documentElement.'+a+'||document.body.'+a};if(t.modal){f[0].style.setExpression('height','Math.max('+j('scrollHeight')+','+j('clientHeight')+')+"px"');f[0].style.setExpression('width','Math.max('+j('scrollWidth')+','+j('clientWidth')+')+"px"')}if(t.fixed){if($('body').css('background-image')=='none'){$('body').css('background-image','url(none)')}$('body').css('background-attachment','fixed');var k=!($(this).css('display')!='none');if(k){$(this).show()}var l=$(this).offset();if(k){$(this).hide()}var m=(t.centerY)?'Math.floor(('+j('clientHeight')+')/2)':'parseInt('+l.top+')';var n=(t.centerX)?'Math.floor(('+j('clientWidth')+')/2)':'parseInt('+l.left+')';this.style.setExpression('top','('+m+'+('+j('scrollTop')+'))+"px"');this.style.setExpression('left','('+n+'+('+j('scrollLeft')+'))+"px"')}var o=$('<iframe src="javascript:false;"></iframe>').css({position:'absolute',height:(t.modal)?'100%':e+'px',width:(t.modal)?'100%':d+'px',opacity:0,zIndex:u-1}).appendTo(f)[0];if(t.modal){o.style.setExpression('height','Math.max('+j('scrollHeight')+','+j('clientHeight')+')+"px"');o.style.setExpression('width','Math.max('+j('scrollWidth')+','+j('clientWidth')+')+"px"')}}if(t.drag&&$.fn.draggable&&!(t.fixed&&y)){$(this).draggable(t.drag)}var p=this;$.each(['Show','Hide'],function(i,a){var b=a.toLowerCase();if(t[b+'Selector']){var c=(a=='Hide')?p:document;$(t[b+'Selector'],c).click(function(){if(t.centerY&&!t.fixed){self.scrollTo(0,0)}return A.call(p,a,this)})}})})};$.each(['Show','Hide'],function(i,b){$.fn[b.toLowerCase()+'Overlay']=function(a){return this.each(function(){A.call(this,b,a)})}})})(jQuery);