/************************************************************************
 * @name: bPopup
 * @author: (c)Bjoern Klinggaard (http://dinbror.dk/bpopup)
 * @version: 0.6.0.min
 ************************************************************************/
(function(a){a.fn.bPopup=function(i,n){function r(){b.css({left:!o.follow[1]&&j||o.follow[2]?e:f.scrollLeft()+e,position:o.follow[2]?"fixed":"absolute",top:!o.follow[0]&&k||o.follow[2]?g:f.scrollTop()+g,"z-index":o.zIndex+l+1}).appendTo(o.appendTo).hide(1,function(){a.isFunction(o.onOpen)&&o.onOpen.call(b);if(o.loadUrl!=null)switch(o.contentContainer=o.contentContainer==null?b:a(o.contentContainer),o.content){case "iframe":a('<iframe scrolling="no" frameborder="0"></iframe>').attr("src",o.loadUrl).appendTo(o.contentContainer);break;default:o.contentContainer.load(o.loadUrl)}}).fadeIn(o.fadeSpeed,function(){a.isFunction(n)&&n()});s()}function m(){o.modal&&a(".bModal."+b.data("id")).fadeOut(o.fadeSpeed,function(){a(this).remove()});b.fadeOut(o.fadeSpeed,function(){o.loadUrl!=null&&o.contentContainer.empty()});d.data("bPopup",null);o.scrollBar||a("html").css("overflow","auto");a("."+o.closeClass).die("click."+c);a(".bModal."+c).die("click");f.unbind("keydown."+c);d.unbind("."+c);b.data("bPopup",null);a.isFunction(o.onClose)&&setTimeout(function(){o.onClose.call(b)},o.fadeSpeed);return false}function s(){d.data("bPopup",l);a("."+o.closeClass).live("click."+c,m);o.modalClose&&a(".bModal."+c).live("click",m).css("cursor","pointer");!o.follow[2]&&(o.follow[0]||o.follow[1])&&d.bind("scroll."+c,function(){p&&b.stop().animate({left:o.follow[1]?f.scrollLeft()+e:e,top:o.follow[0]?f.scrollTop()+g:g},o.followSpeed)}).bind("resize."+c,function(){if(p=d.height()>b.outerHeight(true)+20)h=q(b,o.amsl),o.follow[0]&&(g=k?g:h[0]),o.follow[1]&&(e=j?e:h[1]),b.stop().animate({left:j?e:e+f.scrollLeft(),top:k?g:g+f.scrollTop()},o.followSpeed)});o.escClose&&f.bind("keydown."+c,function(a){a.which==27&&m()})}function q(b,c){var e=(d.height()-b.outerHeight(true))/2-c,f=(d.width()-b.outerWidth(true))/2+(d.width()<a("body").width()?0:(a("body").width()-d.width())/2);return[e<20?20:e,f]}a.isFunction(i)&&(n=i,i=null);o=a.extend({},a.fn.bPopup.defaults,i);o.scrollBar||a("html").css("overflow","hidden");var b=this,f=a(document),d=a(window),l=!d.data("bPopup")?1:d.data("bPopup")+1,c="bPopup"+l,p=d.height()>b.outerHeight(true)+20,t=a('<div class="bModal '+c+'"></div>'),h=q(b,o.amsl),k=o.position[0]!="auto",j=o.position[1]!="auto",g=k?o.position[0]:h[0],e=j?o.position[1]:h[1];this.close=function(){o=b.data("bPopup");m()};return this.each(function(){b.data("bPopup")||(o.modal&&t.css({"background-color":o.modalColor,height:"100%",left:0,opacity:1,position:"fixed",top:0,width:"100%","z-index":o.zIndex+l}).appendTo(o.appendTo).animate({opacity:o.opacity},o.fadeSpeed),b.data("bPopup",o).data("id",c),r())})};a.fn.bPopup.defaults={amsl:50,appendTo:"body",closeClass:"bClose",content:"ajax",contentContainer:null,escClose:true,fadeSpeed:250,follow:[true,true,false],followSpeed:500,loadUrl:null,modal:true,modalClose:true,modalColor:"#000",onClose:null,onOpen:null,opacity:0.7,position:["auto","auto"],scrollBar:true,zIndex:9999}})(jQuery);
