;(function($){$.fn.bPopup=function(options,callback){if($.isFunction(options)){callback=options;options=null;}
o=$.extend({},$.fn.bPopup.defaults,options);if(!o.scrollBar)
$('html').css('overflow','hidden');var $selector=$(this),$modal=$('<div id="bModal"></div>'),d=$(document),w=$(window),cp=getCenterPosition($selector,o.amsl),vPos=cp[0],hPos=cp[1],isIE6=$.browser.msie&&parseInt($.browser.version)==6&&typeof window['XMLHttpRequest']!='object';this.close=function(){o=$selector.data('bPopup');close();}
return this.each(function(){if($selector.data('bPopup'))return;if(o.modal){$modal.css(getModalStyle()).appendTo(o.appendTo).animate({'opacity':o.opacity},o.fadeSpeed);}
$selector.data('bPopup',o);create();});function create(){var hasInputField=false;var t=o.vStart!=null?o.vStart:d.scrollTop()+vPos;$selector.css({'left':d.scrollLeft()+hPos,'position':'absolute','top':t,'z-index':o.zIndex}).appendTo(o.appendTo).hide(function(){if(hasInputField){$selector.each(function(){$selector.find('input[type=text]').val('');});}
if(o.loadUrl!=null)
createContent();}).fadeIn(o.fadeSpeed,function(){if(hasInputField){$selector.find('input[type=text]:first').focus();}
$.isFunction(callback)&&callback();});bindEvents();}
function close(){if(o.modal){$('#bModal').fadeOut(o.fadeSpeed,function(){$('#bModal').remove();});}
$selector.fadeOut(o.fadeSpeed,function(){if(o.loadUrl!=null&&o.content!='xlink'){o.contentContainer.empty();}});unbindEvents();return false;}
function getModalStyle(){if(isIE6){var dd=getDocumentDimensions();return{'background-color':o.modalColor,'height':dd[0],'left':getDistanceToBodyFromLeft(),'opacity':0,'position':'absolute','top':0,'width':dd[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 createContent(){o.contentContainer=o.contentContainer==null?$selector:$(o.contentContainer);switch(o.content){case('ajax'):o.contentContainer.load(o.loadUrl);break;case('iframe'):$('<iframe width="100%" height="100%"></iframe>').attr('src',o.loadUrl).appendTo(o.contentContainer);break;case('xlink'):$('a#bContinue').attr({'href':o.loadUrl});$('a#bContinue .btnLink').text($('a.xlink').attr('title'))
break;}}
function bindEvents(){$('.'+o.closeClass).live('click',close);if(o.modalClose){$('#bModal').live('click',close).css('cursor','pointer');}
if(o.follow){w.bind('scroll.bPopup',function(){$selector.stop().animate({'left':d.scrollLeft()+hPos,'top':d.scrollTop()+vPos},o.followSpeed);}).bind('resize.bPopup',function(){if(o.modal&&isIE6){var dd=getDocumentDimensions();$modal.css({'height':dd[0],'width':dd[1],'left':getDistanceToBodyFromLeft()});}
var pos=getCenterPosition($selector,o.amsl);vPos=pos[0];hPos=pos[1];$selector.stop().animate({'left':d.scrollLeft()+hPos,'top':d.scrollTop()+vPos},o.followSpeed);});}
if(o.escClose){d.bind('keydown.bPopup',function(e){if(e.which==27){close();}});}}
function unbindEvents(){if(!o.scrollBar){$('html').css('overflow','auto');}
$('.'+o.closeClass).die('click');$('#bModal').die('click');d.unbind('keydown.bPopup');w.unbind('.bPopup');$selector.data('bPopup',null);}
function getDocumentDimensions(){return[d.height(),d.width()];}
function getDistanceToBodyFromLeft(){return(w.width()<$('body').width())?0:($('body').width()-w.width())/2;}
function getCenterPosition(s,a){var vertical=((w.height()-s.outerHeight(true))/2)-a;var horizontal=((w.width()-s.outerWidth(true))/2)+getDistanceToBodyFromLeft();return[vertical<20?20:vertical,horizontal];}};$.fn.bPopup.defaults={amsl:150,appendTo:'body',closeClass:'bClose',content:'ajax',contentContainer:null,escClose:true,fadeSpeed:250,follow:true,followSpeed:500,loadUrl:null,modal:true,modalClose:true,modalColor:'#000',opacity:0.7,scrollBar:true,vStart:null,zIndex:9999};})(jQuery);
