var ve_popup=ve_popup||{}; (function(popup,$){ popup.init=function(){ popup.setSelector(); popup.setVars(); popup.setEvents(); }; popup.setVars=function(){ popup.$currentPopup=false; var ve_storage=$.initNamespaceStorage('vepu'); popup.data= ve_storage.localStorage; }; popup.setSelector=function(){ popup.$popup=$('.ve-popup'); }; popup.setEvents=function(){ popup.setStyles(); popup.setOpen(); $('body').on('click','.close-popup',function(e){ e.preventDefault(); var the_popup=$(this).closest('.ve-popup'); popup.close(the_popup); return false; }); $(window).on('resize',function(){ console.log('resize'); popup.setStyle(popup.$currentPopup); popup.adjustStyle(popup.$currentPopup); }); popup.setDone(); }; popup.setOpen=function(){ popup.$popup.each(function() { var $popup = $(this), data = $popup.data('popup'); if(data.open){ switch (data.open){ case 'open_on_mouse_out': $(document).on('mouseleave',function(){popup.open_once($popup);}); break; case 'open_with_delay': var delay=parseInt(data.delay)*1000; setTimeout(function(){popup.open_once($popup)},delay); break; } } } ); }; popup.setDone=function(){ $(document).on('click','.ve-popup-done',function(e){ var $popup=$(this).closest('.ve-popup'); var popup_id=$popup.data('popup-id'); if(popup_id){ popup.data.set('popup_'+popup_id+'_done',true); } }); }; popup.isDone=function(selector){ if(!isNaN(selector)){//is number selector='#ve-popup-'+selector; } var $popup = $(selector); var popup_id=$popup.data('popup-id'); return popup.data.get('popup_'+popup_id+'_done'); }; popup.setStyles=function(){ popup.$popup.each(function(){ popup.setStyle($(this)); }); }; popup.setStyle=function($popup){ if(!$popup){ return; } var data=$popup.data('popup'); if(!data){ return ; } var offset={top:'',left:'',right:'',bottom:''}; var margin={top:'',left:'',right:'',bottom:''}; if(data.offset&&data.appearance!='center'){ if(data.offset.top!==''){ offset.top=data.offset.top; } if(data.offset.left!==''){ offset.left=data.offset.left; } if(data.offset.right!==''){ offset.right=data.offset.right; } if(data.offset.bottom!==''){ offset.bottom=data.offset.bottom; } } $.each(margin,function(k,v){ if(v!=='') { $popup.css('margin-' + k, v); } }); if(data.size){ if(data.size.width) { var use_full_witdh=false; if(!data.size.originWidth){ data.size.originWidth=data.size.width; } if($(window).width()