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