/********************** ExPop 2.0.1 On-Page Exit Popup Controller (c) Copyright 2007-10 Gecko Tribe, LLC All Rights Reserved by Antone Roundy *** THIS IS NOT FREE SOFTWARE *** Unauthorized copying and creating derivative code based on parts of this code are forbidden by copyright law. If you're going to use this script or any part of it, please do so legally and honestly by buying a copy at: http://www.geckotribe.com/expop/ Resale of this script or derivative code is prohibited unless resale rights have been purchased from the copyright owner. (Resale rights may not be available for purchase at this time). Thank you. Your honesty makes it possible for me to take time from other work to create and support scripts like this. **********************/ var exPopLimX=1200; var exPopLimY=60; var exPopInLim=50; var exPopMaxDisplays=4; var exPopCheckScroll=2; var exPopSkips=3; var exPopMinInterval=3; var exPopCookies=1; var exPopShowInterval=60; var exPopShowLimit=2; var exPopShowHardLimit=0; var exPopCookieId=''; var exPopCookiePath='/'; var exPopCookieDays=30; var exPopPopId='expop'; var exPopDimId='expop_dim'; var exPopDimPage=1; var exPopFadeIn=0; var exPopFadeOut=0; var exPopBGOpacity=0.8; var exPopHideElements=new Array('object','embed','select','iframe'); var exPopDontHideElements=new Array(); /*********************/ var exPopHiddenElements=new Array(); var exPopWentIn=0; var exPopped=0; var exPopTimesShown=0; var exPopLastUnpop=0; var exPopSinceLast=-1; var exPopX, exPopY,exPopDim,exPopPop; var exPopTop=-1; var exPopBrowser=-1; var exPopDE=false; var exPopIEMac=(navigator.userAgent.indexOf("Mac_")>-1)&&(navigator.userAgent.indexOf("MSIE")>-1); var exPopInited=0; var exPopBeforePop=new Array(); var exPopAfterPop=new Array(); var exPopBeforeUnPop=new Array(); var exPopAfterUnPop=new Array(); function exPopAddTrigger(phase,func) { if (phase=='BeforePop') exPopBeforePop[exPopBeforePop.length]=func; else if (phase=='AfterPop') exPopAfterPop[exPopAfterPop.length]=func; else if (phase=='BeforeUnPop') exPopBeforeUnPop[exPopBeforeUnPop.length]=func; else if (phase=='AfterUnPop') exPopAfterUnPop[exPopAfterUnPop.length]=func; } function exPopSetOpacity(step,dir,why) { var ob,op,nextstep; op=step*20; if (exPopDimPage) { ob=exPopBGOpacity*op; exPopDim.style.opacity=ob/100; exPopDim.style.filter='alpha(opacity='+ob+')'; } exPopPop.style.opacity=op/100; exPopPop.style.filter='alpha(opacity='+op+')'; nextstep=Number(step)+Number(dir); if ( ((dir==1)&&(step<5))|| ((dir==-1)&&(step>0)) ) setTimeout('exPopSetOpacity('+nextstep+','+dir+',"'+why+'")',5); else if (dir==-1) exPopFinishUnpop(why); } function exPopScrollFix() { var scrolled; scrolled=exPopBrowser?exPopDE.pageYOffset:exPopDE.scrollTop; exPopPop.style.top=(exPopTop+scrolled)+'px'; if (!exPopBrowser) exPopDim.style.top=scrolled+'px'; } function exPopSetCookie(name,value,days,path) { if (days) { var date=new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires='; expires='+date.toGMTString(); } else var expires=''; document.cookie=name+'='+value+expires+'; path='+path; } function exPopGetCookie(name) { var ca=document.cookie.split(';'); for(var i=0;i =exPopShowHardLimit)) return; if (exPopShowLimit&&exPopShowInterval&&(thisCookie[0]>=exPopShowLimit)&&((Number(thisCookie[1])+exPopShowInterval)>thisTime)) return; } else thisCookie=''; } var i,j,k,e,es,hideIt; exPopped=1; for (i=0;i<=thisTime) { thisCookie[1]=thisTime; thisCookie[0]=1; } else thisCookie[0]++; thisCookie=thisCookie.join('|'); } else thisCookie='1|'+thisTime+'|1'; exPopClearCookie(thisCookieID); exPopSetCookie(thisCookieID,thisCookie,exPopCookieDays,exPopCookiePath.length?exPopCookiePath:window.location.pathname); } for (i=0;i<(X*2-(exPopY*X/Y))))?ifMatch:(1-ifMatch); } function exPopMonitor(e) { var myE; if (!exPopped) { if (e) myE=e; else if (window.event) myE=window.event; else myE=null; if (myE) { if (exPopBrowser==-1) exPopBrowser=(typeof(myE.pageX)=='number'); if (exPopBrowser&&(/select|option|optiongroup/i.test(myE.target.tagName))) return true; if (exPopWentIn) { exPopGetPos(myE,exPopCheckScroll); if (exPopCheck(1,exPopLimX,exPopLimY)) exPopPopIt((exPopCheckScroll==2)?0:exPopSkips); else if (exPopCheckScroll==2) { exPopGetPos(myE,0); if (exPopCheck(1,exPopLimX,exPopLimY)) exPopPopIt(exPopSkips); } } else { exPopGetPos(myE,0); if (exPopCheck(0,exPopLimX+exPopInLim,exPopLimY+exPopInLim)) exPopWentIn=1; } } } return true; } function exPopCatchScroll(e) { var myE; if (exPopped) exPopScrollFix(); } function exPopChainEventHandler(f1,f2) { return function() { if (f1) f1(); f2(); } } function exPopInit() { exPopPop=document.getElementById(exPopPopId); if (exPopDimPage) exPopDim=document.getElementById(exPopDimId); if (typeof(window.innerWidth)=='number') exPopDE=window; else if (document.documentElement && (typeof(document.documentElement.clientWidth)=='number') && (document.documentElement.clientWidth!=0)) exPopDE=document.documentElement; else if (document.body && typeof(document.body.clientWidth=='number')) exPopDE=document.body; if (exPopDE) { if (document.addEventListener) { document.addEventListener('mousemove',exPopMonitor,true); document.addEventListener('scroll',exPopCatchScroll,true); } else if (window.attachEvent) { window.document.attachEvent('onmousemove',exPopMonitor); window.attachEvent('onscroll',exPopCatchScroll); } else { if (typeof(document.all)=='undefined') { document.captureEvents(Event.MOUSEMOVE); document.captureEvents(Event.SCROLL); } document.onmousemove=exPopChainEventHandler(document.onmousemove,exPopMonitor); document.onscroll=exPopChainEventHandler(document.onscroll,exPopCatchScroll); } } var theBody = document.getElementsByTagName("body")[0]; var temp=theBody.lastChild; if (temp!=exPopPop) { if (exPopDimPage) { exPopDim.parentNode.removeChild(exPopDim); theBody.appendChild(exPopDim); } exPopPop.parentNode.removeChild(exPopPop); theBody.appendChild(exPopPop); } exPopInited=1; } if (document.addEventListener) { if (/webkit|safari|khtml/i.test(navigator.userAgent)) { function exPopKHTMLInit() { /loaded|complete/.test(document.readyState)?exPopInit():setTimeout(exPopKHTMLInit,100); } exPopKHTMLInit(); } else document.addEventListener("DOMContentLoaded", exPopInit, false); } else if (window.attachEvent) window.attachEvent('onload',exPopInit); else window.onload=exPopChainEventHandler(window.onload,exPopInit); Карта
rss
Карта