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