Commit bde80a8f74c48108fc0eb22383d369d72133e778

Authored by andryeyev
1 parent 752c72a7

+ Модальные окна

js/bpopup/bpopup.css 0 → 100644
  1 +
  2 + .modalBox {
  3 + background: #fff;
  4 + padding: 10px;
  5 + border-radius: 10px;
  6 + -moz-border-radius: 10px;
  7 + -o-border-radius: 10px;
  8 + -webkit-border-radius: 10px;
  9 + }
  10 +
  11 + .modalBox .content {
  12 + overflow-y: auto;
  13 + display: block;
  14 + }
  15 +
  16 + .modalBox .close {
  17 + display: block;
  18 + position: absolute;
  19 + top: -16px;
  20 + right: -15px;
  21 + width: 12px;
  22 + height: 12px;
  23 + padding: 8px;
  24 + border: 2px solid #fff;
  25 + cursor: pointer;
  26 + background: #000;
  27 + text-align: center;
  28 + font-size: 12px;
  29 + line-height: 12px;
  30 + color: #fff;
  31 + text-decoration: none;
  32 + font-weight: bold;
  33 +
  34 + border-radius: 50%;
  35 + -moz-border-radius: 50%;
  36 + -o-border-radius: 50%;
  37 + -webkit-border-radius: 50%;
  38 + }
  39 +
  40 + .modalBox,
  41 + .modalBox .close {
  42 + box-shadow: 0 0 5px 1px #c1c1c1;
  43 + -moz-box-shadow: 0 0 5px 1px #c1c1c1;
  44 + -o-box-shadow: 0 0 5px 1px #c1c1c1;
  45 + -webkit-box-shadow: 0 0 5px 1px #c1c1c1;
  46 + }
  47 +
  48 + .modalBox .close:hover {
  49 + background: #606060;
  50 + }
  51 +
  52 + .modalBoxWindow {
  53 + display: none;
  54 + }
  55 +
  56 +/*
  57 + ===============
  58 + ==== ALERT ====
  59 + ===============
  60 +*/
  61 +
  62 + .alert {
  63 + min-width: 250px;
  64 + padding: 8px;
  65 + margin: 5px 0;
  66 + }
  67 +
  68 + .alert .info {
  69 + height: 130px;
  70 + padding: 0 10px;
  71 + }
  72 +
  73 + .alert > div {
  74 + display: table-cell;
  75 + vertical-align: middle;
  76 + }
  77 +
  78 + .alert .pic {
  79 + width: 128px;
  80 + height: 128px;
  81 + background-repeat: none;
  82 + background-position: center center;
  83 + background-repeat: no-repeat;
  84 + background-size: cover;
  85 + }
  86 +
  87 + .alert.success .pic {
  88 + background-image: url(./img/success.png);
  89 + }
  90 +
  91 + .alert.warning .pic {
  92 + background-image: url(./img/warning.png);
  93 + }
  94 +
  95 + .alert.error .pic {
  96 + background-image: url(./img/error.png);
  97 + }
  98 +
  99 + .alert.send .pic {
  100 + background-image: url(./img/send.png);
  101 + }
  102 +
  103 + .alert.huck .pic {
  104 + background-image: url(./img/huck.png);
  105 + }
  106 +
  107 + .alert.robot .pic {
  108 + background-image: url(./img/robot.png);
  109 + }
  110 +
  111 + .alert.wait .pic {
  112 + width: 113px;
  113 + height: 128px;
  114 + background-image: url(./img/wait.png);
  115 + }
  116 +
  117 + .alert.SomethingWrong .pic {
  118 + background-image: url(./img/something-wrong.jpg);
  119 + }
  120 +
0 121 \ No newline at end of file
... ...
js/bpopup/bpopup.min.css 0 → 100644
  1 +
  2 + .modalBox {
  3 + background: #fff;
  4 + padding: 10px;
  5 + border-radius: 10px;
  6 + -moz-border-radius: 10px;
  7 + -o-border-radius: 10px;
  8 + -webkit-border-radius: 10px;
  9 + }
  10 +
  11 + .modalBox .content {
  12 + overflow-y: auto;
  13 + display: table;
  14 + }
  15 +
  16 + .modalBox .close {
  17 + display: block;
  18 + position: absolute;
  19 + top: -16px;
  20 + right: -15px;
  21 + width: 12px;
  22 + height: 12px;
  23 + padding: 8px;
  24 + border: 2px solid #fff;
  25 + cursor: pointer;
  26 + background: #000;
  27 + text-align: center;
  28 + font-size: 12px;
  29 + line-height: 12px;
  30 + color: #fff;
  31 + text-decoration: none;
  32 + font-weight: bold;
  33 +
  34 + border-radius: 50%;
  35 + -moz-border-radius: 50%;
  36 + -o-border-radius: 50%;
  37 + -webkit-border-radius: 50%;
  38 + }
  39 +
  40 + .modalBox,
  41 + .modalBox .close {
  42 + box-shadow: 0 0 5px 1px #c1c1c1;
  43 + -moz-box-shadow: 0 0 5px 1px #c1c1c1;
  44 + -o-box-shadow: 0 0 5px 1px #c1c1c1;
  45 + -webkit-box-shadow: 0 0 5px 1px #c1c1c1;
  46 + }
  47 +
  48 + .modalBox .close:hover {
  49 + background: #606060;
  50 + }
  51 +
  52 + .modalBoxWindow {
  53 + display: none;
  54 + }
  55 +
  56 +/*
  57 + ===============
  58 + ==== ALERT ====
  59 + ===============
  60 +*/
  61 +
  62 + .alert {
  63 + min-width: 250px;
  64 + padding: 8px;
  65 + margin: 5px 0;
  66 + }
  67 +
  68 + .alert .info {
  69 + height: 130px;
  70 + padding: 0 10px;
  71 + }
  72 +
  73 + .alert > div {
  74 + display: table-cell;
  75 + vertical-align: middle;
  76 + }
  77 +
  78 + .alert .pic {
  79 + width: 128px;
  80 + height: 128px;
  81 + background-repeat: none;
  82 + background-position: center center;
  83 + background-repeat: no-repeat;
  84 + background-size: cover;
  85 + }
  86 +
  87 + .alert.success .pic {
  88 + background-image: url(./img/success.png);
  89 + }
  90 +
  91 + .alert.warning .pic {
  92 + background-image: url(./img/warning.png);
  93 + }
  94 +
  95 + .alert.error .pic {
  96 + background-image: url(./img/error.png);
  97 + }
  98 +
  99 + .alert.send .pic {
  100 + background-image: url(./img/send.png);
  101 + }
  102 +
  103 + .alert.huck .pic {
  104 + background-image: url(./img/huck.png);
  105 + }
  106 +
  107 + .alert.robot .pic {
  108 + background-image: url(./img/robot.png);
  109 + }
  110 +
  111 + .alert.wait .pic {
  112 + width: 113px;
  113 + height: 128px;
  114 + background-image: url(./img/wait.png);
  115 + }
  116 +
  117 + .alert.SomethingWrong .pic {
  118 + background-image: url(./img/something-wrong.jpg);
  119 + }
  120 +
0 121 \ No newline at end of file
... ...
js/bpopup/img/error.png 0 → 100644

10.1 KB

js/bpopup/img/success.png 0 → 100644

8.98 KB

js/bpopup/jquery.bpopup.js 0 → 100644
  1 +/*===================================================================================================================
  2 +* @name: bPopup
  3 +* @type: jQuery
  4 +* @author: (c) Bjoern Klinggaard - @bklinggaard
  5 +* @demo: http://dinbror.dk/bpopup
  6 +* @version: 0.10.0
  7 +* @requires jQuery 1.4.3
  8 +*==================================================================================================================*/
  9 +;(function($) {
  10 +'use strict';
  11 +$.fn.bPopup = function(options, callback) {
  12 +if ($.isFunction(options)) {
  13 +callback = options;
  14 +options = null;
  15 +}
  16 +// OPTIONS
  17 +var o = $.extend({}, $.fn.bPopup.defaults, options);
  18 +// HIDE SCROLLBAR?
  19 +if (!o.scrollBar)
  20 +$('html').css('overflow', 'hidden');
  21 +// VARIABLES
  22 +var $popup = this
  23 +, d = $(document)
  24 +, w = window
  25 +, $w = $(w)
  26 +, wH = windowHeight()
  27 +, wW = windowWidth()
  28 +, prefix = '__b-popup'
  29 +, isIOS6X = (/OS 6(_\d)+/i).test(navigator.userAgent) // Used for a temporary fix for ios6 timer bug when using zoom/scroll
  30 +, buffer = 200
  31 +, popups = 0
  32 +, id
  33 +, inside
  34 +, fixedVPos
  35 +, fixedHPos
  36 +, fixedPosStyle
  37 +, vPos
  38 +, hPos
  39 +, height
  40 +, width
  41 +, debounce
  42 +, autoCloseTO
  43 +;
  44 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  45 +// PUBLIC FUNCTION - call it: $(element).bPopup().close();
  46 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  47 +$popup.close = function() {
  48 +close();
  49 +};
  50 +$popup.reposition = function(animateSpeed) {
  51 +reposition(animateSpeed);
  52 +};
  53 +return $popup.each(function() {
  54 +if ($(this).data('bPopup')) return; //POPUP already exists?
  55 +init();
  56 +});
  57 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  58 +// HELPER FUNCTIONS - PRIVATE
  59 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  60 +function init() {
  61 +triggerCall(o.onOpen);
  62 +popups = ($w.data('bPopup') || 0) + 1, id = prefix + popups + '__',fixedVPos = o.position[1] !== 'auto', fixedHPos = o.position[0] !== 'auto', fixedPosStyle = o.positionStyle === 'fixed', height = $popup.outerHeight(true), width = $popup.outerWidth(true);
  63 +o.loadUrl ? createContent() : open();
  64 +};
  65 +function createContent() {
  66 +o.contentContainer = $(o.contentContainer || $popup);
  67 +switch (o.content) {
  68 +case ('iframe'):
  69 +var iframe = $('<iframe class="b-iframe" ' + o.iframeAttr +'></iframe>');
  70 +iframe.appendTo(o.contentContainer);
  71 +height = $popup.outerHeight(true);
  72 +width = $popup.outerWidth(true);
  73 +open();
  74 +iframe.attr('src', o.loadUrl); // setting iframe src after open due IE9 bug
  75 +triggerCall(o.loadCallback);
  76 +break;
  77 +case ('image'):
  78 +open();
  79 +$('<img />')
  80 +.load(function() {
  81 +triggerCall(o.loadCallback);
  82 +recenter($(this));
  83 +}).attr('src', o.loadUrl).hide().appendTo(o.contentContainer);
  84 +break;
  85 +default:
  86 +open();
  87 +$('<div class="b-ajax-wrapper"></div>')
  88 +.load(o.loadUrl, o.loadData, function(response, status, xhr) {
  89 +triggerCall(o.loadCallback, status);
  90 +recenter($(this));
  91 +}).hide().appendTo(o.contentContainer);
  92 +break;
  93 +}
  94 +};
  95 +function open(){
  96 +// MODAL OVERLAY
  97 +if (o.modal) {
  98 +$('<div class="b-modal '+id+'"></div>')
  99 +.css({backgroundColor: o.modalColor, position: 'fixed', top: 0, right:0, bottom:0, left: 0, opacity: 0, zIndex: o.zIndex + popups})
  100 +.appendTo(o.appendTo)
  101 +.fadeTo(o.speed, o.opacity);
  102 +}
  103 +// POPUP
  104 +calcPosition();
  105 +$popup
  106 +.data('bPopup', o).data('id',id)
  107 +.css({
  108 +'left': o.transition == 'slideIn' || o.transition == 'slideBack' ? (o.transition == 'slideBack' ? d.scrollLeft() + wW : (hPos + width) *-1) : getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle))
  109 +, 'position': o.positionStyle || 'absolute'
  110 +, 'top': o.transition == 'slideDown' || o.transition == 'slideUp' ? (o.transition == 'slideUp' ? d.scrollTop() + wH : vPos + height * -1) : getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle))
  111 +, 'z-index': o.zIndex + popups + 1
  112 +}).each(function() {
  113 +if(o.appending) {
  114 +$(this).appendTo(o.appendTo);
  115 +}
  116 +});
  117 +doTransition(true);
  118 +};
  119 +function close() {
  120 +if (o.modal) {
  121 +$('.b-modal.'+$popup.data('id'))
  122 +.fadeTo(o.speed, 0, function() {
  123 +$(this).remove();
  124 +});
  125 +}
  126 +// Clean up
  127 +unbindEvents();
  128 +clearTimeout(autoCloseTO);
  129 +// Close trasition
  130 +doTransition();
  131 +return false; // Prevent default
  132 +};
  133 +function reposition(animateSpeed){
  134 +wH = windowHeight();
  135 +wW = windowWidth();
  136 +inside = insideWindow();
  137 +if(inside){
  138 +clearTimeout(debounce);
  139 +debounce = setTimeout(function(){
  140 +calcPosition();
  141 +animateSpeed = animateSpeed || o.followSpeed;
  142 +$popup
  143 +.dequeue()
  144 +.each(function() {
  145 +if(fixedPosStyle) {
  146 +$(this).css({ 'left': hPos, 'top': vPos });
  147 +}
  148 +else {
  149 +$(this).animate({ 'left': o.follow[0] ? getLeftPos(true) : 'auto', 'top': o.follow[1] ? getTopPos(true) : 'auto' }, animateSpeed, o.followEasing);
  150 +}
  151 +});
  152 +}, 50);
  153 +}
  154 +};
  155 +//Eksperimental
  156 +function recenter(content){
  157 +var _width = content.width(), _height = content.height(), css = {};
  158 +o.contentContainer.css({height:_height,width:_width});
  159 +if (_height >= $popup.height()){
  160 +css.height = $popup.height();
  161 +}
  162 +if(_width >= $popup.width()){
  163 +css.width = $popup.width();
  164 +}
  165 +height = $popup.outerHeight(true)
  166 +, width = $popup.outerWidth(true);
  167 +calcPosition();
  168 +o.contentContainer.css({height:'auto',width:'auto'});
  169 +css.left = getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)),
  170 +css.top = getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle));
  171 +$popup
  172 +.animate(
  173 +css
  174 +, 250
  175 +, function() {
  176 +content.show();
  177 +inside = insideWindow();
  178 +}
  179 +);
  180 +};
  181 +function bindEvents() {
  182 +$w.data('bPopup', popups);
  183 +$popup.delegate('.bClose, .' + o.closeClass, 'click.'+id, close); // legacy, still supporting the close class bClose
  184 +if (o.modalClose) {
  185 +$('.b-modal.'+id).css('cursor', 'pointer').bind('click', close);
  186 +}
  187 +// Temporary disabling scroll/resize events on devices with IOS6+
  188 +// due to a bug where events are dropped after pinch to zoom
  189 +if (!isIOS6X && (o.follow[0] || o.follow[1])) {
  190 +$w.bind('scroll.'+id, function() {
  191 +if(inside){
  192 +$popup
  193 +.dequeue()
  194 +.animate({ 'left': o.follow[0] ? getLeftPos(!fixedPosStyle) : 'auto', 'top': o.follow[1] ? getTopPos(!fixedPosStyle) : 'auto' }, o.followSpeed, o.followEasing);
  195 +}
  196 +}).bind('resize.'+id, function() {
  197 +reposition();
  198 +});
  199 +}
  200 +if (o.escClose) {
  201 +d.bind('keydown.'+id, function(e) {
  202 +if (e.which == 27) { //escape
  203 +close();
  204 +}
  205 +});
  206 +}
  207 +};
  208 +function unbindEvents() {
  209 +if (!o.scrollBar) {
  210 +$('html').css('overflow', 'auto');
  211 +}
  212 +$('.b-modal.'+id).unbind('click');
  213 +d.unbind('keydown.'+id);
  214 +$w.unbind('.'+id).data('bPopup', ($w.data('bPopup')-1 > 0) ? $w.data('bPopup')-1 : null);
  215 +$popup.undelegate('.bClose, .' + o.closeClass, 'click.'+id, close).data('bPopup', null);
  216 +};
  217 +function doTransition(open) {
  218 +switch (open ? o.transition : o.transitionClose || o.transition) {
  219 +case "slideIn":
  220 +animate({
  221 +left: open ? getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)) : d.scrollLeft() - (width || $popup.outerWidth(true)) - buffer
  222 +});
  223 +break;
  224 +case "slideBack":
  225 +animate({
  226 +left: open ? getLeftPos(!(!o.follow[0] && fixedHPos || fixedPosStyle)) : d.scrollLeft() + wW + buffer
  227 +});
  228 +break;
  229 +case "slideDown":
  230 +animate({
  231 +top: open ? getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)) : d.scrollTop() - (height || $popup.outerHeight(true)) - buffer
  232 +});
  233 +break;
  234 +case "slideUp":
  235 +animate({
  236 +top: open ? getTopPos(!(!o.follow[1] && fixedVPos || fixedPosStyle)) : d.scrollTop() + wH + buffer
  237 +});
  238 +break;
  239 +default:
  240 +//Hardtyping 1 and 0 to ensure opacity 1 and not 0.9999998
  241 +$popup.stop().fadeTo(o.speed, open ? 1 : 0, function(){onCompleteCallback(open);});
  242 +}
  243 +function animate(css){
  244 +$popup
  245 +.css({display: 'block',opacity: 1})
  246 +.animate(css, o.speed, o.easing, function(){ onCompleteCallback(open); });
  247 +};
  248 +};
  249 +function onCompleteCallback(open){
  250 +if(open){
  251 +bindEvents();
  252 +triggerCall(callback);
  253 +if(o.autoClose){
  254 +autoCloseTO = setTimeout(close, o.autoClose);
  255 +}
  256 +} else {
  257 +$popup.hide();
  258 +triggerCall(o.onClose);
  259 +if (o.loadUrl) {
  260 +o.contentContainer.empty();
  261 +$popup.css({height: 'auto', width: 'auto'});
  262 +}
  263 +}
  264 +};
  265 +function getLeftPos(includeScroll){
  266 +return includeScroll ? hPos + d.scrollLeft() : hPos;
  267 +};
  268 +function getTopPos(includeScroll){
  269 +return includeScroll ? vPos + d.scrollTop() : vPos;
  270 +};
  271 +function triggerCall(func, arg) {
  272 +$.isFunction(func) && func.call($popup, arg);
  273 +};
  274 +function calcPosition(){
  275 +vPos = fixedVPos ? o.position[1] : Math.max(0, ((wH- $popup.outerHeight(true)) / 2) - o.amsl)
  276 +, hPos = fixedHPos ? o.position[0] : (wW - $popup.outerWidth(true)) / 2
  277 +, inside = insideWindow();
  278 +};
  279 +function insideWindow(){
  280 +return wH > $popup.outerHeight(true) && wW > $popup.outerWidth(true);
  281 +};
  282 +function windowHeight(){
  283 +return w.innerHeight || $w.height();
  284 +};
  285 +function windowWidth(){
  286 +return w.innerWidth || $w.width();
  287 +};
  288 +};
  289 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  290 +// DEFAULT VALUES
  291 +////////////////////////////////////////////////////////////////////////////////////////////////////////////
  292 +$.fn.bPopup.defaults = {
  293 +amsl: 50
  294 +, appending: true
  295 +, appendTo: 'body'
  296 +, autoClose: false
  297 +, closeClass: 'b-close'
  298 +, content: 'ajax' // ajax, iframe or image
  299 +, contentContainer: false
  300 +, easing: 'swing'
  301 +, escClose: true
  302 +, follow: [true, true] // x, y
  303 +, followEasing: 'swing'
  304 +, followSpeed: 500
  305 +, iframeAttr: 'scrolling="no" frameborder="0"'
  306 +, loadCallback: false
  307 +, loadData: false
  308 +, loadUrl: false
  309 +, modal: true
  310 +, modalClose: true
  311 +, modalColor: '#000'
  312 +, onClose: false
  313 +, onOpen: false
  314 +, opacity: 0.7
  315 +, position: ['auto', 'auto'] // x, y,
  316 +, positionStyle: 'absolute'// absolute or fixed
  317 +, scrollBar: true
  318 +, speed: 250 // open & close speed
  319 +, transition: 'fadeIn' //transitions: fadeIn, slideDown, slideIn, slideBack
  320 +, transitionClose: false
  321 +, zIndex: 9997 // popup gets z-index 9999, modal overlay 9998
  322 +};
  323 +})(jQuery);
0 324 \ No newline at end of file
... ...
js/bpopup/jquery.bpopup.min.js 0 → 100644
  1 +;(function($){'use strict';$.fn.bPopup=function(options,callback){if($.isFunction(options)){callback=options;options=null;}
  2 +var o=$.extend({},$.fn.bPopup.defaults,options);if(!o.scrollBar)
  3 +$('html').css('overflow','hidden');var $popup=this,d=$(document),w=window,$w=$(w),wH=windowHeight(),wW=windowWidth(),prefix='__b-popup',isIOS6X=(/OS 6(_\d)+/i).test(navigator.userAgent),buffer=200,popups=0,id,inside,fixedVPos,fixedHPos,fixedPosStyle,vPos,hPos,height,width,debounce,autoCloseTO;$popup.close=function(){close();};$popup.reposition=function(animateSpeed){reposition(animateSpeed);};return $popup.each(function(){if($(this).data('bPopup'))return;init();});function init(){triggerCall(o.onOpen);popups=($w.data('bPopup')||0)+1,id=prefix+popups+'__',fixedVPos=o.position[1]!=='auto',fixedHPos=o.position[0]!=='auto',fixedPosStyle=o.positionStyle==='fixed',height=$popup.outerHeight(true),width=$popup.outerWidth(true);o.loadUrl?createContent():open();};function createContent(){o.contentContainer=$(o.contentContainer||$popup);switch(o.content){case('iframe'):var iframe=$('<iframe class="b-iframe" '+o.iframeAttr+'></iframe>');iframe.appendTo(o.contentContainer);height=$popup.outerHeight(true);width=$popup.outerWidth(true);open();iframe.attr('src',o.loadUrl);triggerCall(o.loadCallback);break;case('image'):open();$('<img />').load(function(){triggerCall(o.loadCallback);recenter($(this));}).attr('src',o.loadUrl).hide().appendTo(o.contentContainer);break;default:open();$('<div class="b-ajax-wrapper"></div>').load(o.loadUrl,o.loadData,function(response,status,xhr){triggerCall(o.loadCallback,status);recenter($(this));}).hide().appendTo(o.contentContainer);break;}};function open(){if(o.modal){$('<div class="b-modal '+id+'"></div>').css({backgroundColor:o.modalColor,position:'fixed',top:0,right:0,bottom:0,left:0,opacity:0,zIndex:o.zIndex+popups}).appendTo(o.appendTo).fadeTo(o.speed,o.opacity);}
  4 +calcPosition();$popup.data('bPopup',o).data('id',id).css({'left':o.transition=='slideIn'||o.transition=='slideBack'?(o.transition=='slideBack'?d.scrollLeft()+wW:(hPos+width)*-1):getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)),'position':o.positionStyle||'absolute','top':o.transition=='slideDown'||o.transition=='slideUp'?(o.transition=='slideUp'?d.scrollTop()+wH:vPos+height*-1):getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)),'z-index':o.zIndex+popups+1}).each(function(){if(o.appending){$(this).appendTo(o.appendTo);}});doTransition(true);};function close(){if(o.modal){$('.b-modal.'+$popup.data('id')).fadeTo(o.speed,0,function(){$(this).remove();});}
  5 +unbindEvents();clearTimeout(autoCloseTO);doTransition();return false;};function reposition(animateSpeed){wH=windowHeight();wW=windowWidth();inside=insideWindow();if(inside){clearTimeout(debounce);debounce=setTimeout(function(){calcPosition();animateSpeed=animateSpeed||o.followSpeed;$popup.dequeue().each(function(){if(fixedPosStyle){$(this).css({'left':hPos,'top':vPos});}
  6 +else{$(this).animate({'left':o.follow[0]?getLeftPos(true):'auto','top':o.follow[1]?getTopPos(true):'auto'},animateSpeed,o.followEasing);}});},50);}};function recenter(content){var _width=content.width(),_height=content.height(),css={};o.contentContainer.css({height:_height,width:_width});if(_height>=$popup.height()){css.height=$popup.height();}
  7 +if(_width>=$popup.width()){css.width=$popup.width();}
  8 +height=$popup.outerHeight(true),width=$popup.outerWidth(true);calcPosition();o.contentContainer.css({height:'auto',width:'auto'});css.left=getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)),css.top=getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle));$popup.animate(css,250,function(){content.show();inside=insideWindow();});};function bindEvents(){$w.data('bPopup',popups);$popup.delegate('.bClose, .'+o.closeClass,'click.'+id,close);if(o.modalClose){$('.b-modal.'+id).css('cursor','pointer').bind('click',close);}
  9 +if(!isIOS6X&&(o.follow[0]||o.follow[1])){$w.bind('scroll.'+id,function(){if(inside){$popup.dequeue().animate({'left':o.follow[0]?getLeftPos(!fixedPosStyle):'auto','top':o.follow[1]?getTopPos(!fixedPosStyle):'auto'},o.followSpeed,o.followEasing);}}).bind('resize.'+id,function(){reposition();});}
  10 +if(o.escClose){d.bind('keydown.'+id,function(e){if(e.which==27){close();}});}};function unbindEvents(){if(!o.scrollBar){$('html').css('overflow','auto');}
  11 +$('.b-modal.'+id).unbind('click');d.unbind('keydown.'+id);$w.unbind('.'+id).data('bPopup',($w.data('bPopup')-1>0)?$w.data('bPopup')-1:null);$popup.undelegate('.bClose, .'+o.closeClass,'click.'+id,close).data('bPopup',null);};function doTransition(open){switch(open?o.transition:o.transitionClose||o.transition){case"slideIn":animate({left:open?getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)):d.scrollLeft()-(width||$popup.outerWidth(true))-buffer});break;case"slideBack":animate({left:open?getLeftPos(!(!o.follow[0]&&fixedHPos||fixedPosStyle)):d.scrollLeft()+wW+buffer});break;case"slideDown":animate({top:open?getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)):d.scrollTop()-(height||$popup.outerHeight(true))-buffer});break;case"slideUp":animate({top:open?getTopPos(!(!o.follow[1]&&fixedVPos||fixedPosStyle)):d.scrollTop()+wH+buffer});break;default:$popup.stop().fadeTo(o.speed,open?1:0,function(){onCompleteCallback(open);});}
  12 +function animate(css){$popup.css({display:'block',opacity:1}).animate(css,o.speed,o.easing,function(){onCompleteCallback(open);});};};function onCompleteCallback(open){if(open){bindEvents();triggerCall(callback);if(o.autoClose){autoCloseTO=setTimeout(close,o.autoClose);}}else{$popup.hide();triggerCall(o.onClose);if(o.loadUrl){o.contentContainer.empty();$popup.css({height:'auto',width:'auto'});}}};function getLeftPos(includeScroll){return includeScroll?hPos+d.scrollLeft():hPos;};function getTopPos(includeScroll){return includeScroll?vPos+d.scrollTop():vPos;};function triggerCall(func,arg){$.isFunction(func)&&func.call($popup,arg);};function calcPosition(){vPos=fixedVPos?o.position[1]:Math.max(0,((wH-$popup.outerHeight(true))/2)-o.amsl),hPos=fixedHPos?o.position[0]:(wW-$popup.outerWidth(true))/2,inside=insideWindow();};function insideWindow(){return wH>$popup.outerHeight(true)&&wW>$popup.outerWidth(true);};function windowHeight(){return w.innerHeight||$w.height();};function windowWidth(){return w.innerWidth||$w.width();};};$.fn.bPopup.defaults={amsl:50,appending:true,appendTo:'body',autoClose:false,closeClass:'b-close',content:'ajax',contentContainer:false,easing:'swing',escClose:true,follow:[true,true],followEasing:'swing',followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:false,loadData:false,loadUrl:false,modal:true,modalClose:true,modalColor:'#000',onClose:false,onOpen:false,opacity:0.7,position:['auto','auto'],positionStyle:'absolute',scrollBar:true,speed:250,transition:'fadeIn',transitionClose:false,zIndex:9997};})(jQuery);
0 13 \ No newline at end of file
... ...
js/bpopup/jquery.easing.js 0 → 100644
  1 +/*
  2 + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
  3 + *
  4 + * Uses the built in easing capabilities added In jQuery 1.1
  5 + * to offer multiple easing options
  6 + *
  7 + * TERMS OF USE - jQuery Easing
  8 + *
  9 + * Open source under the BSD License.
  10 + *
  11 + * Copyright © 2008 George McGinley Smith
  12 + * All rights reserved.
  13 + *
  14 + * Redistribution and use in source and binary forms, with or without modification,
  15 + * are permitted provided that the following conditions are met:
  16 + *
  17 + * Redistributions of source code must retain the above copyright notice, this list of
  18 + * conditions and the following disclaimer.
  19 + * Redistributions in binary form must reproduce the above copyright notice, this list
  20 + * of conditions and the following disclaimer in the documentation and/or other materials
  21 + * provided with the distribution.
  22 + *
  23 + * Neither the name of the author nor the names of contributors may be used to endorse
  24 + * or promote products derived from this software without specific prior written permission.
  25 + *
  26 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
  27 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  28 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  29 + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  30 + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  31 + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  32 + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  33 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  34 + * OF THE POSSIBILITY OF SUCH DAMAGE.
  35 + *
  36 +*/
  37 +
  38 +// t: current time, b: begInnIng value, c: change In value, d: duration
  39 +jQuery.easing['jswing'] = jQuery.easing['swing'];
  40 +
  41 +jQuery.extend( jQuery.easing,
  42 +{
  43 + def: 'easeOutQuad',
  44 + swing: function (x, t, b, c, d) {
  45 + //alert(jQuery.easing.default);
  46 + return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
  47 + },
  48 + easeInQuad: function (x, t, b, c, d) {
  49 + return c*(t/=d)*t + b;
  50 + },
  51 + easeOutQuad: function (x, t, b, c, d) {
  52 + return -c *(t/=d)*(t-2) + b;
  53 + },
  54 + easeInOutQuad: function (x, t, b, c, d) {
  55 + if ((t/=d/2) < 1) return c/2*t*t + b;
  56 + return -c/2 * ((--t)*(t-2) - 1) + b;
  57 + },
  58 + easeInCubic: function (x, t, b, c, d) {
  59 + return c*(t/=d)*t*t + b;
  60 + },
  61 + easeOutCubic: function (x, t, b, c, d) {
  62 + return c*((t=t/d-1)*t*t + 1) + b;
  63 + },
  64 + easeInOutCubic: function (x, t, b, c, d) {
  65 + if ((t/=d/2) < 1) return c/2*t*t*t + b;
  66 + return c/2*((t-=2)*t*t + 2) + b;
  67 + },
  68 + easeInQuart: function (x, t, b, c, d) {
  69 + return c*(t/=d)*t*t*t + b;
  70 + },
  71 + easeOutQuart: function (x, t, b, c, d) {
  72 + return -c * ((t=t/d-1)*t*t*t - 1) + b;
  73 + },
  74 + easeInOutQuart: function (x, t, b, c, d) {
  75 + if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
  76 + return -c/2 * ((t-=2)*t*t*t - 2) + b;
  77 + },
  78 + easeInQuint: function (x, t, b, c, d) {
  79 + return c*(t/=d)*t*t*t*t + b;
  80 + },
  81 + easeOutQuint: function (x, t, b, c, d) {
  82 + return c*((t=t/d-1)*t*t*t*t + 1) + b;
  83 + },
  84 + easeInOutQuint: function (x, t, b, c, d) {
  85 + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
  86 + return c/2*((t-=2)*t*t*t*t + 2) + b;
  87 + },
  88 + easeInSine: function (x, t, b, c, d) {
  89 + return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
  90 + },
  91 + easeOutSine: function (x, t, b, c, d) {
  92 + return c * Math.sin(t/d * (Math.PI/2)) + b;
  93 + },
  94 + easeInOutSine: function (x, t, b, c, d) {
  95 + return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
  96 + },
  97 + easeInExpo: function (x, t, b, c, d) {
  98 + return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
  99 + },
  100 + easeOutExpo: function (x, t, b, c, d) {
  101 + return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
  102 + },
  103 + easeInOutExpo: function (x, t, b, c, d) {
  104 + if (t==0) return b;
  105 + if (t==d) return b+c;
  106 + if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
  107 + return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
  108 + },
  109 + easeInCirc: function (x, t, b, c, d) {
  110 + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
  111 + },
  112 + easeOutCirc: function (x, t, b, c, d) {
  113 + return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
  114 + },
  115 + easeInOutCirc: function (x, t, b, c, d) {
  116 + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
  117 + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
  118 + },
  119 + easeInElastic: function (x, t, b, c, d) {
  120 + var s=1.70158;var p=0;var a=c;
  121 + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
  122 + if (a < Math.abs(c)) { a=c; var s=p/4; }
  123 + else var s = p/(2*Math.PI) * Math.asin (c/a);
  124 + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
  125 + },
  126 + easeOutElastic: function (x, t, b, c, d) {
  127 + var s=1.70158;var p=0;var a=c;
  128 + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
  129 + if (a < Math.abs(c)) { a=c; var s=p/4; }
  130 + else var s = p/(2*Math.PI) * Math.asin (c/a);
  131 + return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
  132 + },
  133 + easeInOutElastic: function (x, t, b, c, d) {
  134 + var s=1.70158;var p=0;var a=c;
  135 + if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
  136 + if (a < Math.abs(c)) { a=c; var s=p/4; }
  137 + else var s = p/(2*Math.PI) * Math.asin (c/a);
  138 + if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
  139 + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
  140 + },
  141 + easeInBack: function (x, t, b, c, d, s) {
  142 + if (s == undefined) s = 1.70158;
  143 + return c*(t/=d)*t*((s+1)*t - s) + b;
  144 + },
  145 + easeOutBack: function (x, t, b, c, d, s) {
  146 + if (s == undefined) s = 1.70158;
  147 + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
  148 + },
  149 + easeInOutBack: function (x, t, b, c, d, s) {
  150 + if (s == undefined) s = 1.70158;
  151 + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
  152 + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
  153 + },
  154 + easeInBounce: function (x, t, b, c, d) {
  155 + return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
  156 + },
  157 + easeOutBounce: function (x, t, b, c, d) {
  158 + if ((t/=d) < (1/2.75)) {
  159 + return c*(7.5625*t*t) + b;
  160 + } else if (t < (2/2.75)) {
  161 + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
  162 + } else if (t < (2.5/2.75)) {
  163 + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
  164 + } else {
  165 + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
  166 + }
  167 + },
  168 + easeInOutBounce: function (x, t, b, c, d) {
  169 + if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
  170 + return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
  171 + }
  172 +});
  173 +
  174 +/*
  175 + *
  176 + * TERMS OF USE - EASING EQUATIONS
  177 + *
  178 + * Open source under the BSD License.
  179 + *
  180 + * Copyright © 2001 Robert Penner
  181 + * All rights reserved.
  182 + *
  183 + * Redistribution and use in source and binary forms, with or without modification,
  184 + * are permitted provided that the following conditions are met:
  185 + *
  186 + * Redistributions of source code must retain the above copyright notice, this list of
  187 + * conditions and the following disclaimer.
  188 + * Redistributions in binary form must reproduce the above copyright notice, this list
  189 + * of conditions and the following disclaimer in the documentation and/or other materials
  190 + * provided with the distribution.
  191 + *
  192 + * Neither the name of the author nor the names of contributors may be used to endorse
  193 + * or promote products derived from this software without specific prior written permission.
  194 + *
  195 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
  196 + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  197 + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  198 + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  199 + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  200 + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  201 + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  202 + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  203 + * OF THE POSSIBILITY OF SUCH DAMAGE.
  204 + *
  205 + */
0 206 \ No newline at end of file
... ...
js/bpopup/jquery.easing.min.js 0 → 100644
  1 +;jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
  2 +else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
  3 +else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}
  4 +else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}});
0 5 \ No newline at end of file
... ...
js/bpopup/scripting.js 0 → 100644
  1 +(function(a) {
  2 +
  3 + var m = a("#popup"), n = a("#popup2"), d = 0;
  4 +
  5 + a(function() {
  6 + a(".small.special").on("open.bpopup",function() {
  7 + alert("I'm special")
  8 + });
  9 + a("body").on("click",".small",function() {
  10 + var c = a(this).hasClass("pop1")? m : n ,
  11 + h = a(".content"),
  12 + j = a(this);
  13 + if (a(this).hasClass("events"))
  14 + c.bPopup ({
  15 + onOpen: function() {
  16 + alert("onOpen fired")
  17 + },
  18 + onClose: function(){
  19 + alert("onClose fired")
  20 + }
  21 + }, function(){
  22 + alert("Callback fired")
  23 + });
  24 + else if (a(this).hasClass("random")) {
  25 + var e = b(0, a(window).width() - 500),
  26 + p = b(a(document).scrollTop(),
  27 + a(document).scrollTop() + a(window).height() - 300),
  28 + k = 3 == b (0,4),
  29 + l = b(0,2),
  30 + f = "fadeIn",
  31 + g = 350;
  32 + 1 === l ? (f = "slideDown", g = 600) : 2 === l && (f = "slideIn", g = 500);
  33 + c.bPopup ({
  34 + follow: k ? [!0, !0] : [!1, !1],
  35 + position: !k ? [e,p] : ["auto","auto"],
  36 + opacity: "0." + b(1, 9), positionStyle : 25 == b (0, 50) ? "fixed": "absolute",
  37 + modal: 0 == b(0, 10) ? !1: !0,
  38 + modalClose: 0 == b(0, 5) ? !1: !0,
  39 + modalColor: "hsl(" + b(0,360) + ",100%, 50%)",
  40 + transition: f,
  41 + speed: g
  42 + })
  43 + } else a(this).hasClass("x-content") ? c.bPopup({
  44 + onOpen: function(){
  45 + h.html (j.data("bpopup") || {})
  46 + },
  47 + onClose: function() {
  48 + h.empty()
  49 + }
  50 + }) :a(this).hasClass("multi") ? (
  51 + d++,
  52 + c = b(0,a(window).width()-500),
  53 + e = b(a(document).scrollTop(), a(document).scrollTop() +
  54 + a(window).height() - 300),
  55 + a('<div class="bMulti"><span class="button bClose close' + d + '"><span>X</span></span><p>' + d + '</p><a class="button small multi">Pop another up</a></div>'). bPopup({
  56 + closeClass: "close" + d,
  57 + position: [c, e],
  58 + follow: [!1, !1],
  59 + onClose: function() {
  60 + d--;
  61 + a(this).remove()
  62 + }
  63 + })
  64 + ) : c.bPopup (j.data("bpopup") || {} )
  65 + })
  66 + });
  67 + var b = function(a, b) {
  68 + return ~~ (Math.random() * (b - a + 1) + a)
  69 + }
  70 +})(jQuery);
... ...
js/bpopup/scripting.min.js 0 → 100644
  1 +;(function(a){var m=a("#popup"),n=a("#popup2"),d=0;a(function(){a(".small.special").on("open.bpopup",function(){alert("I'm special")});a("body").on("click",".small",function(){var c=a(this).hasClass("pop1")?m:n,h=a(".content"),j=a(this);if(a(this).hasClass("events"))
  2 +c.bPopup({onOpen:function(){alert("onOpen fired")},onClose:function(){alert("onClose fired")}},function(){alert("Callback fired")});else if(a(this).hasClass("random")){var e=b(0,a(window).width()-500),p=b(a(document).scrollTop(),a(document).scrollTop()+a(window).height()-300),k=3==b(0,4),l=b(0,2),f="fadeIn",g=350;1===l?(f="slideDown",g=600):2===l&&(f="slideIn",g=500);c.bPopup({follow:k?[!0,!0]:[!1,!1],position:!k?[e,p]:["auto","auto"],opacity:"0."+b(1,9),positionStyle:25==b(0,50)?"fixed":"absolute",modal:0==b(0,10)?!1:!0,modalClose:0==b(0,5)?!1:!0,modalColor:"hsl("+b(0,360)+",100%, 50%)",transition:f,speed:g})}else a(this).hasClass("x-content")?c.bPopup({onOpen:function(){h.html(j.data("bpopup")||{})},onClose:function(){h.empty()}}):a(this).hasClass("multi")?(d++,c=b(0,a(window).width()-500),e=b(a(document).scrollTop(),a(document).scrollTop()+
  3 +a(window).height()-300),a('<div class="bMulti"><span class="button bClose close'+d+'"><span>X</span></span><p>'+d+'</p><a class="button small multi">Pop another up</a></div>').bPopup({closeClass:"close"+d,position:[c,e],follow:[!1,!1],onClose:function(){d--;a(this).remove()}})):c.bPopup(j.data("bpopup")||{})})});var b=function(a,b){return~~(Math.random()*(b-a+1)+a)}})(jQuery);
0 4 \ No newline at end of file
... ...
js/modalBox/modalBox.js 0 → 100644
  1 +
  2 + // =============
  3 + // ==== VAR ====
  4 + // =============
  5 +
  6 + var $modalBoxTotal = 0;
  7 +
  8 + // ===============
  9 + // ==== METOD ====
  10 + // ===============
  11 +
  12 + function percentToPix ($value)
  13 + {
  14 + return $value == null ? 0 : parseInt (screen.width * $value / 100);
  15 + }
  16 +
  17 + function modalBoxLoad (content, $option)
  18 + {
  19 + var ID = $modalBoxTotal;
  20 + $width = 80;
  21 + $modalBoxId = 'modalBoxId-' + ID;
  22 + $style = 'style="max-width:' + percentToPix ($width) + 'px;"';
  23 +
  24 + var $modal =
  25 + '<div class="modalBox ' + $modalBoxId + '" ' + $style + '>'
  26 + + '<div class="right"><div class="close bClose">X</div></div>'
  27 + + '<div class="content">' + content + '</div>'
  28 + + '</div>';
  29 +
  30 + var $default = {
  31 + 'id': ID,
  32 + 'transition': 'slideDown',
  33 +// 'closeClass': 'bClose-' + ID,
  34 + 'onOpen': function() {
  35 + $modalBoxTotal++;
  36 + $(this).html($modal)
  37 + },
  38 + 'onClose': function() {
  39 + $modalBoxTotal--;
  40 + $('.' + $modalBoxId).remove();
  41 + },
  42 + 'width': $width
  43 + };
  44 +
  45 + var $setting = $.extend({}, $default, $option);
  46 +
  47 + if ($('#duty').length == 0)
  48 + {
  49 + $('body').append('<div id="duty"></div>').promise().done(function()
  50 + {
  51 + $('#duty').bPopup($setting).reposition(1);
  52 + });
  53 + }
  54 + else
  55 + {
  56 + $('#duty').bPopup($setting).reposition(1);
  57 + }
  58 + }
  59 +
  60 + function modalBoxClose ()
  61 + {
  62 + $('#duty').bPopup().close();
  63 + }
  64 +
  65 +
  66 + function isModalBox ()
  67 + {
  68 + return ($modalBoxTotal > 0) ? true : false;
  69 + }
... ...