(function($){$.fn.extend({jtwt:function(options){var defaults={username:'unispheredesign',count:3,excludereplies:'false',includeretweets:'true'};var options=$.extend(defaults,options);return this.each(function(){var o=options;var obj=$(this);$(obj).append('');$("#jtwt_loader").fadeIn('slow');function prettyDate(date_str){date_str=date_str.replace(/\+[0-9]{4}/,"");date_str=date_str.substr(4);var month=new Array();month["Jan"]="1";month["Feb"]="2";month["Mar"]="3";month["Apr"]="4";month["May"]="5";month["Jun"]="6";month["Jul"]="7";month["Aug"]="8";month["Sep"]="9";month["Oct"]="10";month["Nov"]="11";month["Dec"]="12";var date_str_split=date_str.split(" ");date_str=date_str_split[4];date_str=date_str_split[4]+"-"+month[date_str_split[0]]+"-"+date_str_split[1]+"T"+date_str_split[2]+"Z";var time_formats=[[120,'a minute ago','a minute from now'],[3600,'minutes',60],[7200,'an hour ago','an hour from now'],[86400,'hours',3600],[604800,'days',86400],[2419200,'weeks',604800],[29030400,'months',2419200],[58060800,'last year','next year'],[2903040000,'years',29030400],[5806080000,'last century','next century'],[58060800000,'centuries',2903040000]];var time=(''+date_str).replace(/-/g,"/").replace(/[TZ]/g," ").replace(/^\s\s*/,'').replace(/\s\s*$/,'');if(time.substr(time.length-4,1)==".")time=time.substr(0,time.length-4);var seconds=(new Date-new Date(time))/1000;var token='ago',list_choice=1;if(seconds<0){seconds=Math.abs(seconds);token='from now';list_choice=2};var i=0,format;while(format=time_formats[i++])if(seconds';var tweettext=item.text;var tweetdate=prettyDate(item.created_at);tweetdate=tweetdate.replace("1 days ago","yesterday");tweetdate=tweetdate.replace("1 weeks ago","one week ago");tweetdate=tweetdate.replace("1 months ago","one month ago");tweetdate=tweetdate.replace("1 years ago","one year ago");tweettext=tweettext.replace(/(http\:\/\/[A-Za-z0-9\/\.\?\=\-]*)/g,'$1');tweettext=tweettext.replace(/@([A-Za-z0-9\/_]*)/g,'@$1');tweettext=tweettext.replace(/#([A-Za-z0-9\/\.]*)/g,'#$1');jtweet+='

';jtweet+=tweettext;jtweet+='

';jtweet+='';jtweet+=tweetdate;jtweet+='';jtweet+='';$(obj).append(jtweet)});$("#jtwt_loader").remove();if($(obj).parents('.footer-column').length>0&&$('.footer-column .widget').size()!=0){var maxHeight=0;$('.footer-column').each(function(){if($(this).removeAttr('style').height()>maxHeight)maxHeight=$(this).height()});$('.footer-column').height(maxHeight)}})})}})})(jQuery); eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(C($){8($.1r.1v){G}$.1r.6s=$.1r.1v=C(u,w){8(1k.R==0){17(I,\'6t 57 6u 1j "\'+1k.4p+\'".\');G 1k}8(1k.R>1){G 1k.1W(C(){$(1k).1v(u,w)})}E y=1k,$13=1k[0],59=K;8(y.1m(\'5a\')){59=y.1Q(\'3p\',\'4q\');y.S(\'3p\',[\'4r\',I])}y.5b=C(o,a,b){o=3T($13,o);o.D=6v($13,o.D);o.1M=6w($13,o.1M);o.M=6x($13,o.M);o.V=5c($13,o.V);o.Z=5c($13,o.Z);o.1a=6y($13,o.1a);o.1q=6z($13,o.1q);o.1h=6A($13,o.1h);8(a){34=$.1N(I,{},$.1r.1v.5d,o)}7=$.1N(I,{},$.1r.1v.5d,o);7.d=6B(7);z.2b=(7.2b==\'4s\'||7.2b==\'1n\')?\'Z\':\'V\';E c=y.14(),2n=5e($1s,7,\'N\');8(3q(7.23)){7.23=\'7T\'+F.3U}7.3V=5f(7,2n);7.D=6C(7.D,7,c,b);7[7.d[\'N\']]=6D(7[7.d[\'N\']],7,c);7[7.d[\'1d\']]=6E(7[7.d[\'1d\']],7,c);8(7.2o){8(!3W(7[7.d[\'N\']])){7[7.d[\'N\']]=\'2J%\'}}8(3W(7[7.d[\'N\']])){z.6F=I;z.4t=7[7.d[\'N\']];7[7.d[\'N\']]=4u(2n,z.4t);8(!7.D.L){7.D.T.1c=I}}8(7.2o){7.1R=K;7.1i=[0,0,0,0];7.1A=K;7.D.T.1c=K}O{8(!7.D.L){7=6G(7,2n)}8(!7[7.d[\'N\']]){8(!7.D.T.1c&&11(7.D[7.d[\'N\']])&&7.D.1t==\'*\'){7[7.d[\'N\']]=7.D.L*7.D[7.d[\'N\']];7.1A=K}O{7[7.d[\'N\']]=\'1c\'}}8(1E(7.1A)){7.1A=(11(7[7.d[\'N\']]))?\'5g\':K}8(7.D.T.1c){7.D.L=35(c,7,0)}}8(7.D.1t!=\'*\'&&!7.D.T.1c){7.D.T.4v=7.D.L;7.D.L=3X(c,7,0)}7.D.L=2z(7.D.L,7,7.D.T.2c,$13);7.D.T.1Z=7.D.L;8(7.2o){8(!7.D.T.36){7.D.T.36=7.D.L}8(!7.D.T.1X){7.D.T.1X=7.D.L}7=5h(7,c,2n)}O{7.1i=6H(7.1i);8(7.1A==\'3r\'){7.1A=\'1n\'}O 8(7.1A==\'5i\'){7.1A=\'3a\'}1B(7.1A){Q\'5g\':Q\'1n\':Q\'3a\':8(7[7.d[\'N\']]!=\'1c\'){7=5j(7,c);7.1R=I}16;2A:7.1A=K;7.1R=(7.1i[0]==0&&7.1i[1]==0&&7.1i[2]==0&&7.1i[3]==0)?K:I;16}}8(!11(7.1M.1F)){7.1M.1F=6I}8(1E(7.1M.D)){7.1M.D=(7.2o||7.D.T.1c||7.D.1t!=\'*\')?\'L\':7.D.L}7.M=$.1N(I,{},7.1M,7.M);7.V=$.1N(I,{},7.1M,7.V);7.Z=$.1N(I,{},7.1M,7.Z);7.1a=$.1N(I,{},7.1M,7.1a);7.M=6J($13,7.M);7.V=5k($13,7.V);7.Z=5k($13,7.Z);7.1a=6K($13,7.1a);7.1q=6L($13,7.1q);7.1h=6M($13,7.1h);8(7.2p){7.2p=5l(7.2p)}8(7.M.5m){7.M.4w=7.M.5m;2K(\'M.5m\',\'M.4w\')}8(7.M.5n){7.M.4x=7.M.5n;2K(\'M.5n\',\'M.4x\')}8(7.M.5o){7.M.4y=7.M.5o;2K(\'M.5o\',\'M.4y\')}8(7.M.5p){7.M.2L=7.M.5p;2K(\'M.5p\',\'M.2L\')}};y.6N=C(){y.1m(\'5a\',I);E a=y.14(),3Y=5q(y,[\'6O\',\'6P\',\'3s\',\'3r\',\'3a\',\'5i\',\'1n\',\'3Z\',\'N\',\'1d\',\'6Q\',\'1S\',\'5r\',\'6R\']),5s=\'7U\';1B(3Y.3s){Q\'6S\':Q\'7V\':5s=3Y.3s;16}$1s.X(3Y).X({\'7W\':\'3t\',\'3s\':5s});y.1m(\'5t\',3Y).X({\'6O\':\'1n\',\'6P\':\'41\',\'3s\':\'6S\',\'3r\':0,\'3a\':\'M\',\'5i\':\'M\',\'1n\':0,\'6Q\':0,\'1S\':0,\'5r\':0,\'6R\':0});4z(a,7);5u(a,7);8(7.2o){5v(7,a)}};y.6T=C(){y.5w();y.12(H(\'5x\',F),C(e,a){e.1f();8(!z.2d){8(7.M.W){7.M.W.3b(2B(\'4A\',F))}}z.2d=I;8(7.M.1G){7.M.1G=K;y.S(H(\'3c\',F),a)}G I});y.12(H(\'5y\',F),C(e){e.1f();8(z.25){42(U)}G I});y.12(H(\'3c\',F),C(e,a,b){e.1f();1u=3u(1u);8(a&&z.25){U.2d=I;E c=2q()-U.2M;U.1F-=c;8(U.3v){U.3v.1F-=c}8(U.3w){U.3w.1F-=c}42(U,K)}8(!z.26&&!z.25){8(b){1u.3x+=2q()-1u.2M}}8(!z.26){8(7.M.W){7.M.W.3b(2B(\'6U\',F))}}z.26=I;8(7.M.4x){E d=7.M.2L-1u.3x,3d=2J-1H.2C(d*2J/7.M.2L);7.M.4x.1g($13,3d,d)}G I});y.12(H(\'1G\',F),C(e,b,c,d){e.1f();1u=3u(1u);E v=[b,c,d],t=[\'2N\',\'27\',\'3e\'],a=3f(v,t);b=a[0];c=a[1];d=a[2];8(b!=\'V\'&&b!=\'Z\'){b=z.2b}8(!11(c)){c=0}8(!1l(d)){d=K}8(d){z.2d=K;7.M.1G=I}8(!7.M.1G){e.2e();G 17(F,\'3y 4A: 2r 3g.\')}8(z.26){8(7.M.W){7.M.W.2O(2B(\'4A\',F));7.M.W.2O(2B(\'6U\',F))}}z.26=K;1u.2M=2q();E f=7.M.2L+c;43=f-1u.3x;3d=2J-1H.2C(43*2J/f);8(7.M.1e){1u.1e=7X(C(){E a=2q()-1u.2M+1u.3x,3d=1H.2C(a*2J/f);7.M.1e.4B.1g(7.M.1e.2s[0],3d)},7.M.1e.5z)}1u.M=7Y(C(){8(7.M.1e){7.M.1e.4B.1g(7.M.1e.2s[0],2J)}8(7.M.4y){7.M.4y.1g($13,3d,43)}8(z.25){y.S(H(\'1G\',F),b)}O{y.S(H(b,F),7.M)}},43);8(7.M.4w){7.M.4w.1g($13,3d,43)}G I});y.12(H(\'3h\',F),C(e){e.1f();8(U.2d){U.2d=K;z.26=K;z.25=I;U.2M=2q();2P(U)}O{y.S(H(\'1G\',F))}G I});y.12(H(\'V\',F)+\' \'+H(\'Z\',F),C(e,b,f,g,h){e.1f();8(z.2d||y.2f(\':3t\')){e.2e();G 17(F,\'3y 4A 7Z 3t: 2r 3g.\')}E i=(11(7.D.4C))?7.D.4C:7.D.L+1;8(i>J.P){e.2e();G 17(F,\'2r 6V D (\'+J.P+\' P, \'+i+\' 6W): 2r 3g.\')}E v=[b,f,g,h],t=[\'2g\',\'27/2N\',\'C\',\'3e\'],a=3f(v,t);b=a[0];f=a[1];g=a[2];h=a[3];E k=e.5A.18(F.3z.44.R);8(!1I(b)){b={}}8(1o(g)){b.3i=g}8(1l(h)){b.2Q=h}b=$.1N(I,{},7[k],b);8(b.5B&&!b.5B.1g($13,k)){e.2e();G 17(F,\'80 "5B" 81 K.\')}8(!11(f)){8(7.D.1t!=\'*\'){f=\'L\'}O{E m=[f,b.D,7[k].D];1j(E a=0,l=m.R;a0){8(z.25){8(b.2Q){8(b.2Q==\'2R\'){2h=[]}8(b.2Q!=\'Y\'||2h.R==0){y.S(H(\'2Q\',F),[k,[b,f,g]])}}e.2e();G 17(F,\'3y 84 3g.\')}}1u.3x=0;y.S(H(\'6Y\'+k,F),[b,f]);8(7.2p){E s=7.2p,c=[b,f];1j(E j=0,l=s.R;j=J.P){J.Y-=J.P}8(!7.1T){8(J.Y==0&&b.4G){b.4G.1g($13,\'V\')}8(!7.3A){3B(7,J.Y,F)}}y.14().18(J.P-c,J.P).86(y);8(J.P<7.D.L+c){y.14().18(0,(7.D.L+c)-J.P).4H(I).46(y)}E d=y.14(),3j=71(d,7,c),2j=72(d,7),1Y=d.1O(c-1),20=3j.2R(),2t=2j.2R();1U(d,7);E h=0,2D=0;8(7.1A){E p=4I(2j,7);h=p[0];2D=p[1]}E i=(h<0)?7.1i[7.d[3]]:0;E j=K,2S=$();8(7.D.L=0){1U(20,7,7.1i[7.d[1]])}8(h>=0){1U(1Y,7,7.1i[7.d[3]])}8(7.1A){7.1i[7.d[1]]=2D;7.1i[7.d[3]]=h}2V[7.d[\'1n\']]=-(3C-i);5F[7.d[\'1n\']]=-(3D-i);4L[7.d[\'1n\']]=2k[7.d[\'N\']];E m=C(){},1P=C(){},1C=C(){},3E=C(){},2E=C(){},5H=C(){},1D=C(){},3F=C(){},1x=C(){},1y=C(){},1K=C(){};1B(b.1V){Q\'3k\':Q\'1J\':Q\'1J-1w\':Q\'21\':Q\'21-1w\':l=y.4H(I).46($1s);16}1B(b.1V){Q\'3k\':Q\'21\':Q\'21-1w\':l.14().18(0,c).2v();l.14().18(7.D.T.1Z).2v();16;Q\'1J\':Q\'1J-1w\':l.14().18(7.D.L).2v();l.X(5F);16}y.X(2V);U=47(2W,b.2l);28[7.d[\'1n\']]=(7.1R)?7.1i[7.d[3]]:0;8(7[7.d[\'N\']]==\'1c\'||7[7.d[\'1d\']]==\'1c\'){m=C(){$1s.X(2k)};1P=C(){U.19.1b([$1s,2k])}}8(7.1R){8(2t.4N(1Y).R){2u[7.d[\'1S\']]=1Y.1m(\'29\');8(h<0){1Y.X(2u)}O{1D=C(){1Y.X(2u)};3F=C(){U.19.1b([1Y,2u])}}}1B(b.1V){Q\'1J\':Q\'1J-1w\':l.14().1O(c-1).X(2u);16}8(2t.4N(20).R){2U[7.d[\'1S\']]=20.1m(\'29\');1C=C(){20.X(2U)};3E=C(){U.19.1b([20,2U])}}8(2D>=0){4M[7.d[\'1S\']]=2t.1m(\'29\')+7.1i[7.d[1]];2E=C(){2t.X(4M)};5H=C(){U.19.1b([2t,4M])}}}1K=C(){y.X(28)};E n=7.D.L+c-J.P;1y=C(){8(n>0){y.14().18(J.P).2v();3j=$(y.14().18(J.P-(7.D.L-n)).3G().74(y.14().18(0,n).3G()))}5I(j);8(7.1R){E a=y.14().1O(7.D.L+c-1);a.X(7.d[\'1S\'],a.1m(\'29\'))}};E o=5J(3j,2S,2j,c,\'V\',2W,2k);1x=C(){5K(y,l,b);z.25=K;2a.3i=48($13,b,\'3i\',o,2a);2h=5L(y,2h,F);8(!z.26){y.S(H(\'1G\',F))}};z.25=I;1u=3u(1u);2a.3H=48($13,b,\'3H\',o,2a);1B(b.1V){Q\'41\':y.X(28);m();1C();2E();1D();1K();1y();1x();16;Q\'1w\':U.19.1b([y,{\'1L\':0},C(){m();1C();2E();1D();1K();1y();U=47(2W,b.2l);U.19.1b([y,{\'1L\':1},1x]);2P(U)}]);16;Q\'3k\':y.X({\'1L\':0});U.19.1b([l,{\'1L\':0}]);U.19.1b([y,{\'1L\':1},1x]);1P();1C();2E();1D();1K();1y();16;Q\'1J\':U.19.1b([l,28,C(){1C();2E();1D();1K();1y();1x()}]);1P();16;Q\'1J-1w\':U.19.1b([y,{\'1L\':0}]);U.19.1b([l,28,C(){y.X({\'1L\':1});1C();2E();1D();1K();1y();1x()}]);1P();16;Q\'21\':U.19.1b([l,4L,1x]);1P();1C();2E();1D();1K();1y();16;Q\'21-1w\':y.X({\'1L\':0});U.19.1b([y,{\'1L\':1}]);U.19.1b([l,4L,1x]);1P();1C();2E();1D();1K();1y();16;2A:U.19.1b([y,28,C(){1y();1x()}]);1P();3E();5H();3F();16}2P(U);5M(7.23,y,F);y.S(H(\'3I\',F),[K,2k]);G I});y.12(H(\'87\',F),C(e,c,d){e.1f();E f=y.14();8(!7.1T){8(J.Y==7.D.L){8(7.3A){y.S(H(\'V\',F),J.P-1)}G e.2e()}}1U(f,7);8(!11(d)){8(7.D.1t!=\'*\'){E g=(11(c.D))?c.D:5C(y,7);d=75(f,7,0,g)}O{d=7.D.L}d=4F(d,7,c.D,$13)}E h=(J.Y==0)?J.P:J.Y;8(!7.1T){8(7.D.T.1c){E i=35(f,7,d),g=4E(f,7,h-1)}O{E i=7.D.L,g=7.D.L}8(d+i>h){d=h-g}}7.D.T.1Z=7.D.L;8(7.D.T.1c){E i=2z(5N(f,7,d,h),7,7.D.T.2c,$13);2i(7.D.L-d>=i&&d=0){o+=7.1i[7.d[1]]}2t.X(7.d[\'1S\'],o);8(1Y.4N(20).R){2U[7.d[\'1S\']]=20.1m(\'29\')}1C=C(){20.X(2U)};3E=C(){U.19.1b([20,2U])};E q=1Y.1m(\'29\');8(j>0){q+=7.1i[7.d[3]]}2u[7.d[\'1S\']]=q;1D=C(){1Y.X(2u)};3F=C(){U.19.1b([1Y,2u])}}1K=C(){y.X(2V)};E r=7.D.L+d-J.P;1y=C(){8(r>0){y.14().18(J.P).2v()}E a=y.14().18(0,d).46(y).2R();8(r>0){2j=3J(f,7)}5I(k);8(7.1R){8(J.P<7.D.L+d){E b=y.14().1O(7.D.L-1);b.X(7.d[\'1S\'],b.1m(\'29\')+7.1i[7.d[3]])}a.X(7.d[\'1S\'],a.1m(\'29\'))}};E s=5J(3j,2S,2j,d,\'Z\',2W,2k);1x=C(){y.X(\'3Z\',y.1m(\'5t\').3Z);5K(y,m,c);z.25=K;2a.3i=48($13,c,\'3i\',s,2a);2h=5L(y,2h,F);8(!z.26){y.S(H(\'1G\',F))}};z.25=I;1u=3u(1u);2a.3H=48($13,c,\'3H\',s,2a);1B(c.1V){Q\'41\':y.X(28);n();1C();1D();1K();1y();1x();16;Q\'1w\':U.19.1b([y,{\'1L\':0},C(){n();1C();1D();1K();1y();U=47(2W,c.2l);U.19.1b([y,{\'1L\':1},1x]);2P(U)}]);16;Q\'3k\':y.X({\'1L\':0});U.19.1b([m,{\'1L\':0}]);U.19.1b([y,{\'1L\':1},1x]);1P();1C();1D();1K();1y();16;Q\'1J\':y.X(7.d[\'1n\'],$1s[7.d[\'N\']]());U.19.1b([y,2V,1x]);1P();1C();1D();1y();16;Q\'1J-1w\':y.X(7.d[\'1n\'],$1s[7.d[\'N\']]());U.19.1b([m,{\'1L\':0}]);U.19.1b([y,2V,1x]);1P();1C();1D();1y();16;Q\'21\':U.19.1b([m,4O,1x]);1P();1C();1D();1K();1y();16;Q\'21-1w\':y.X({\'1L\':0});U.19.1b([y,{\'1L\':1}]);U.19.1b([m,4O,1x]);1P();1C();1D();1K();1y();16;2A:U.19.1b([y,28,C(){1K();1y();1x()}]);1P();3E();3F();16}2P(U);5M(7.23,y,F);y.S(H(\'3I\',F),[K,2k]);G I});y.12(H(\'3l\',F),C(e,b,c,d,f,g,h){e.1f();E v=[b,c,d,f,g,h],t=[\'2N/27/2g\',\'27\',\'3e\',\'2g\',\'2N\',\'C\'],a=3f(v,t);f=a[3];g=a[4];h=a[5];b=3K(a[0],a[1],a[2],J,y);8(b==0){G K}8(!1I(f)){f=K}8(g!=\'V\'&&g!=\'Z\'){8(7.1T){g=(b<=J.P/2)?\'Z\':\'V\'}O{g=(J.Y==0||J.Y>b)?\'Z\':\'V\'}}8(g==\'V\'){b=J.P-b}y.S(H(g,F),[f,b,h]);G I});y.12(H(\'88\',F),C(e,a,b){e.1f();E c=y.1Q(H(\'4a\',F));G y.1Q(H(\'5O\',F),[c-1,a,\'V\',b])});y.12(H(\'89\',F),C(e,a,b){e.1f();E c=y.1Q(H(\'4a\',F));G y.1Q(H(\'5O\',F),[c+1,a,\'Z\',b])});y.12(H(\'5O\',F),C(e,a,b,c,d){e.1f();8(!11(a)){a=y.1Q(H(\'4a\',F))}E f=7.1a.D||7.D.L,1X=1H.2C(J.P/f)-1;8(a<0){a=1X}8(a>1X){a=0}G y.1Q(H(\'3l\',F),[a*f,0,I,b,c,d])});y.12(H(\'79\',F),C(e,s){e.1f();8(s){s=3K(s,0,I,J,y)}O{s=0}s+=J.Y;8(s!=0){8(J.P>0){2i(s>J.P){s-=J.P}}y.8a(y.14().18(s,J.P))}G I});y.12(H(\'2p\',F),C(e,s){e.1f();8(s){s=5l(s)}O 8(7.2p){s=7.2p}O{G 17(F,\'6t 8b 45 2p.\')}E n=y.1Q(H(\'4q\',F)),x=I;1j(E j=0,l=s.R;j=J.P){J.Y-=J.P}y.S(H(\'4P\',F));y.S(H(\'5Q\',F));G I});y.12(H(\'7c\',F),C(e,c,d,f){e.1f();E v=[c,d,f],t=[\'2N/27/2g\',\'3e\',\'27\'],a=3f(v,t);c=a[0];d=a[1];f=a[2];E g=K;8(c 2Y $&&c.R>1){h=$();c.1W(C(i,a){E b=y.S(H(\'7c\',F),[$(1k),d,f]);8(b)h=h.8h(b)});G h}8(1E(c)||c==\'4b\'){h=y.14().2R()}O{c=3K(c,f,d,J,y);E h=y.14().1O(c);8(h.R){8(c1X){2m=1X}8(1o(a)){a.1g($13,2m)}G 2m});y.12(H(\'8j\',F),C(e,a){e.1f();E b=3J(y.14(),7);8(1o(a)){a.1g($13,b)}G b});y.12(H(\'18\',F),C(e,f,l,b){e.1f();8(J.P==0){G K}E v=[f,l,b],t=[\'27\',\'27\',\'C\'],a=3f(v,t);f=(11(a[0]))?a[0]:0;l=(11(a[1]))?a[1]:J.P;b=a[2];f+=J.Y;l+=J.Y;8(D.P>0){2i(f>J.P){f-=J.P}2i(l>J.P){l-=J.P}2i(f<0){f+=J.P}2i(l<0){l+=J.P}}E c=y.14(),$i;8(l>f){$i=c.18(f,l)}O{$i=$(c.18(f,J.P).3G().74(c.18(0,l).3G()))}8(1o(b)){b.1g($13,$i)}G $i});y.12(H(\'26\',F)+\' \'+H(\'2d\',F)+\' \'+H(\'25\',F),C(e,a){e.1f();E b=e.5A.18(F.3z.44.R),5R=z[b];8(1o(a)){a.1g($13,5R)}G 5R});y.12(H(\'4D\',F),C(e,a,b,c){e.1f();E d=K;8(1o(a)){a.1g($13,7)}O 8(1I(a)){34=$.1N(I,{},34,a);8(b!==K)d=I;O 7=$.1N(I,{},7,a)}O 8(!1E(a)){8(1o(b)){E f=4Q(\'7.\'+a);8(1E(f)){f=\'\'}b.1g($13,f)}O 8(!1E(b)){8(2Z c!==\'3e\')c=I;4Q(\'34.\'+a+\'=b\');8(c!==K)d=I;O 4Q(\'7.\'+a+\'=b\')}O{G 4Q(\'7.\'+a)}}8(d){1U(y.14(),7);y.5b(34);y.5S();E g=4R(y,7);y.S(H(\'3I\',F),[I,g])}G 7});y.12(H(\'5Q\',F),C(e,a,b){e.1f();8(1E(a)){a=$(\'8k\')}O 8(1p(a)){a=$(a)}8(!2w(a)||a.R==0){G 17(F,\'2r a 5P 2g.\')}8(!1p(b)){b=\'a.6s\'}a.8l(b).1W(C(){E h=1k.7e||\'\';8(h.R>0&&y.14().7f($(h))!=-1){$(1k).22(\'5T\').5T(C(e){e.2F();y.S(H(\'3l\',F),h)})}});G I});y.12(H(\'3I\',F),C(e,b,c){e.1f();8(!7.1a.1z){G}E d=7.1a.D||7.D.L,4S=1H.2C(J.P/d);8(b){8(7.1a.3M){7.1a.1z.14().2v();7.1a.1z.1W(C(){1j(E a=0;a<4S;a++){E i=y.14().1O(3K(a*d,0,I,J,y));$(1k).7b(7.1a.3M.1g(i[0],a+1))}})}7.1a.1z.1W(C(){$(1k).14().22(7.1a.3N).1W(C(a){$(1k).12(7.1a.3N,C(e){e.2F();y.S(H(\'3l\',F),[a*d,-7.1a.4T,I,7.1a])})})})}E f=y.1Q(H(\'4a\',F))+7.1a.4T;8(f>=4S){f=0}8(f<0){f=4S-1}7.1a.1z.1W(C(){$(1k).14().2O(2B(\'7g\',F)).1O(f).3b(2B(\'7g\',F))});G I});y.12(H(\'4P\',F),C(e){E a=7.D.L,2G=y.14(),2n=5e($1s,7,\'N\');J.P=2G.R;8(z.4t){7.3V=2n;7[7.d[\'N\']]=4u(2n,z.4t)}O{7.3V=5f(7,2n)}8(7.2o){7.D.N=7.D.3O.N;7.D.1d=7.D.3O.1d;7=5h(7,2G,2n);a=7.D.L;5v(7,2G)}O 8(7.D.T.1c){a=35(2G,7,0)}O 8(7.D.1t!=\'*\'){a=3X(2G,7,0)}8(!7.1T&&J.Y!=0&&a>J.Y){8(7.D.T.1c){E b=4E(2G,7,J.Y)-J.Y}O 8(7.D.1t!=\'*\'){E b=7h(2G,7,J.Y)-J.Y}O{E b=7.D.L-J.Y}17(F,\'8m 8n-1T: 8o \'+b+\' D 5D.\');y.S(H(\'V\',F),b)}7.D.L=2z(a,7,7.D.T.2c,$13);7.D.T.1Z=7.D.L;7=5j(7,2G);E c=4R(y,7);y.S(H(\'3I\',F),[I,c]);4U(7,J.P,F);3B(7,J.Y,F);G c});y.12(H(\'4r\',F),C(e,a){e.1f();1u=3u(1u);y.1m(\'5a\',K);y.S(H(\'5y\',F));8(a){y.S(H(\'79\',F))}1U(y.14(),7);8(7.2o){y.14().1W(C(){$(1k).X($(1k).1m(\'7i\'))})}y.X(y.1m(\'5t\'));y.5w();y.5U();$1s.8p(y);G I});y.12(H(\'17\',F),C(e){17(F,\'3y N: \'+7.N);17(F,\'3y 1d: \'+7.1d);17(F,\'7j 8q: \'+7.D.N);17(F,\'7j 8r: \'+7.D.1d);17(F,\'4d 4e D L: \'+7.D.L);8(7.M.1G){17(F,\'4d 4e D 5V 8s: \'+7.M.D)}8(7.V.W){17(F,\'4d 4e D 5V 5D: \'+7.V.D)}8(7.Z.W){17(F,\'4d 4e D 5V 76: \'+7.Z.D)}G F.17});y.12(\'3p\',C(e,n,o){e.1f();G y.1Q(H(n,F),o)})};y.5w=C(){y.22(H(\'\',F));y.22(H(\'\',F,K));y.22(\'3p\')};y.5S=C(){y.5U();4U(7,J.P,F);3B(7,J.Y,F);8(7.M.2H){E b=3P(7.M.2H);$1s.12(H(\'4V\',F,K),C(){y.S(H(\'3c\',F),b)}).12(H(\'4W\',F,K),C(){y.S(H(\'3h\',F))})}8(7.M.W){7.M.W.12(H(7.M.3N,F,K),C(e){e.2F();E a=K,b=2x;8(z.26){a=\'1G\'}O 8(7.M.4X){a=\'3c\';b=3P(7.M.4X)}8(a){y.S(H(a,F),b)}})}8(7.V.W){7.V.W.12(H(7.V.3N,F,K),C(e){e.2F();y.S(H(\'V\',F))});8(7.V.2H){E b=3P(7.V.2H);7.V.W.12(H(\'4V\',F,K),C(){y.S(H(\'3c\',F),b)}).12(H(\'4W\',F,K),C(){y.S(H(\'3h\',F))})}}8(7.Z.W){7.Z.W.12(H(7.Z.3N,F,K),C(e){e.2F();y.S(H(\'Z\',F))});8(7.Z.2H){E b=3P(7.Z.2H);7.Z.W.12(H(\'4V\',F,K),C(){y.S(H(\'3c\',F),b)}).12(H(\'4W\',F,K),C(){y.S(H(\'3h\',F))})}}8(7.1a.1z){8(7.1a.2H){E b=3P(7.1a.2H);7.1a.1z.12(H(\'4V\',F,K),C(){y.S(H(\'3c\',F),b)}).12(H(\'4W\',F,K),C(){y.S(H(\'3h\',F))})}}8(7.V.31||7.Z.31){$(4f).12(H(\'7k\',F,K,I,I),C(e){E k=e.7l;8(k==7.Z.31){e.2F();y.S(H(\'Z\',F))}8(k==7.V.31){e.2F();y.S(H(\'V\',F))}})}8(7.1a.4Y){$(4f).12(H(\'7k\',F,K,I,I),C(e){E k=e.7l;8(k>=49&&k<58){k=(k-49)*7.D.L;8(k<=J.P){e.2F();y.S(H(\'3l\',F),[k,0,I,7.1a])}}})}8(7.V.4Z||7.Z.4Z){2K(\'3L 4g-7m\',\'3L 8t-7m\');8($.1r.4g){E c=(7.V.4Z)?C(){y.S(H(\'V\',F))}:2x,4h=(7.Z.4Z)?C(){y.S(H(\'Z\',F))}:2x;8(4h||4h){8(!z.4g){z.4g=I;E d={\'8u\':30,\'8v\':30,\'8w\':I};1B(7.2b){Q\'4s\':Q\'5W\':d.8x=c;d.8y=4h;16;2A:d.8z=4h;d.8A=c}$1s.4g(d)}}}}8($.1r.1q){E f=\'8B\'8C 3m;8((f&&7.1q.4i)||(!f&&7.1q.5X)){E g=$.1N(I,{},7.V,7.1q),7n=$.1N(I,{},7.Z,7.1q),5Y=C(){y.S(H(\'V\',F),[g])},5Z=C(){y.S(H(\'Z\',F),[7n])};1B(7.2b){Q\'4s\':Q\'5W\':7.1q.2I.8D=5Z;7.1q.2I.8E=5Y;16;2A:7.1q.2I.8F=5Z;7.1q.2I.8G=5Y}8(z.1q){y.1q(\'4r\')}$1s.1q(7.1q.2I);$1s.X(\'7o\',\'8H\');z.1q=I}}8($.1r.1h){8(7.V.1h){2K(\'7p V.1h 7q\',\'3L 1h 4D 2g\');7.V.1h=2x;7.1h={D:61(7.V.1h)}}8(7.Z.1h){2K(\'7p Z.1h 7q\',\'3L 1h 4D 2g\');7.Z.1h=2x;7.1h={D:61(7.Z.1h)}}8(7.1h){E h=$.1N(I,{},7.V,7.1h),7r=$.1N(I,{},7.Z,7.1h);8(z.1h){$1s.22(H(\'1h\',F,K))}$1s.12(H(\'1h\',F,K),C(e,a){e.2F();8(a>0){y.S(H(\'V\',F),[h])}O{y.S(H(\'Z\',F),[7r])}});z.1h=I}}8(7.M.1G){y.S(H(\'1G\',F),7.M.62)}8(z.6F){E i=C(e){y.S(H(\'5y\',F));8(7.M.63&&!z.26){y.S(H(\'1G\',F))}1U(y.14(),7);y.S(H(\'4P\',F))};E j=$(3m),4j=2x;8($.64&&F.65==\'64\'){4j=$.64(8I,i)}O 8($.51&&F.65==\'51\'){4j=$.51(8J,i)}O{E l=0,66=0;4j=C(){E a=j.N(),68=j.1d();8(a!=l||68!=66){i();l=a;66=68}}}j.12(H(\'8K\',F,K,I,I),4j)}};y.5U=C(){E a=H(\'\',F),3Q=H(\'\',F,K);69=H(\'\',F,K,I,I);$(4f).22(69);$(3m).22(69);$1s.22(3Q);8(7.M.W){7.M.W.22(3Q)}8(7.V.W){7.V.W.22(3Q)}8(7.Z.W){7.Z.W.22(3Q)}8(7.1a.1z){7.1a.1z.22(3Q);8(7.1a.3M){7.1a.1z.14().2v()}}8(z.1q){y.1q(\'4r\');$1s.X(\'7o\',\'2A\');z.1q=K}8(z.1h){z.1h=K}4U(7,\'4k\',F);3B(7,\'2O\',F)};8(1l(w)){w={\'17\':w}}E z={\'2b\':\'Z\',\'26\':I,\'25\':K,\'2d\':K,\'1h\':K,\'1q\':K},J={\'P\':y.14().R,\'Y\':0},1u={\'M\':2x,\'1e\':2x,\'2M\':2q(),\'3x\':0},U={\'2d\':K,\'1F\':0,\'2M\':0,\'2l\':\'\',\'19\':[]},2a={\'3H\':[],\'3i\':[]},2h=[],F=$.1N(I,{},$.1r.1v.7s,w),7={},34=$.1N(I,{},u),$1s=y.8L(\'<\'+F.6a.57+\' 8M="\'+F.6a.7t+\'" />\').6b();F.4p=y.4p;F.3U=$.1r.1v.3U++;y.5b(34,I,59);y.6N();y.6T();y.5S();8(2X(7.D.3n)){E A=7.D.3n}O{E A=[];8(7.D.3n!=0){A.1b(7.D.3n)}}8(7.23){A.8N(4l(7u(7.23),10))}8(A.R>0){1j(E a=0,l=A.R;a<7A>\'+a+\'\'};$.1r.1v.7B=C(a){$(1k).X(\'N\',a+\'%\')};$.1r.1v.23={3G:C(n){n+=\'=\';E b=4f.23.3R(\';\');1j(E a=0,l=b.R;at){17(c,\'2r 6V D (\'+t+\' P, \'+a+\' 6W): 97 98.\');E f=\'4k\'}O{E f=\'4n\'}E s=(f==\'4n\')?\'2O\':\'3b\',h=2B(\'3t\',c);8(o.M.W){o.M.W[f]()[s](h)}8(o.V.W){o.V.W[f]()[s](h)}8(o.Z.W){o.Z.W[f]()[s](h)}8(o.1a.1z){o.1a.1z[f]()[s](h)}}C 3B(o,f,c){8(o.1T||o.3A)G;E a=(f==\'2O\'||f==\'3b\')?f:K,52=2B(\'99\',c);8(o.M.W&&a){o.M.W[a](52)}8(o.V.W){E b=a||(f==0)?\'3b\':\'2O\';o.V.W[b](52)}8(o.Z.W){E b=a||(f==o.D.L)?\'3b\':\'2O\';o.Z.W[b](52)}}C 3T(a,b){8(1o(b)){b=b.1g(a)}O 8(1E(b)){b={}}G b}C 6v(a,b){b=3T(a,b);8(11(b)){b={\'L\':b}}O 8(b==\'1c\'){b={\'L\':b,\'N\':b,\'1d\':b}}O 8(!1I(b)){b={}}G b}C 6w(a,b){b=3T(a,b);8(11(b)){8(b<=50){b={\'D\':b}}O{b={\'1F\':b}}}O 8(1p(b)){b={\'2l\':b}}O 8(!1I(b)){b={}}G b}C 53(a,b){b=3T(a,b);8(1p(b)){E c=6g(b);8(c==-1){b=$(b)}O{b=c}}G b}C 6x(a,b){b=53(a,b);8(2w(b)){b={\'W\':b}}O 8(1l(b)){b={\'1G\':b}}O 8(11(b)){b={\'2L\':b}}8(b.1e){8(1p(b.1e)||2w(b.1e)){b.1e={\'2s\':b.1e}}}G b}C 6J(a,b){8(1o(b.W)){b.W=b.W.1g(a)}8(1p(b.W)){b.W=$(b.W)}8(!1l(b.1G)){b.1G=I}8(!11(b.62)){b.62=0}8(1E(b.4X)){b.4X=I}8(!1l(b.63)){b.63=I}8(!11(b.2L)){b.2L=(b.1F<10)?9a:b.1F*5}8(b.1e){8(1o(b.1e.2s)){b.1e.2s=b.1e.2s.1g(a)}8(1p(b.1e.2s)){b.1e.2s=$(b.1e.2s)}8(b.1e.2s){8(!1o(b.1e.4B)){b.1e.4B=$.1r.1v.7B}8(!11(b.1e.5z)){b.1e.5z=50}}O{b.1e=K}}G b}C 5c(a,b){b=53(a,b);8(2w(b)){b={\'W\':b}}O 8(11(b)){b={\'31\':b}}G b}C 5k(a,b){8(1o(b.W)){b.W=b.W.1g(a)}8(1p(b.W)){b.W=$(b.W)}8(1p(b.31)){b.31=6g(b.31)}G b}C 6y(a,b){b=53(a,b);8(2w(b)){b={\'1z\':b}}O 8(1l(b)){b={\'4Y\':b}}G b}C 6K(a,b){8(1o(b.1z)){b.1z=b.1z.1g(a)}8(1p(b.1z)){b.1z=$(b.1z)}8(!11(b.D)){b.D=K}8(!1l(b.4Y)){b.4Y=K}8(!1o(b.3M)&&!54(b.3M)){b.3M=$.1r.1v.7z}8(!11(b.4T)){b.4T=0}G b}C 6z(a,b){8(1o(b)){b=b.1g(a)}8(1E(b)){b={\'4i\':K}}8(3q(b)){b={\'4i\':b}}O 8(11(b)){b={\'D\':b}}G b}C 6L(a,b){8(!1l(b.4i)){b.4i=I}8(!1l(b.5X)){b.5X=K}8(!1I(b.2I)){b.2I={}}8(!1l(b.2I.7E)){b.2I.7E=K}G b}C 6A(a,b){8(1o(b)){b=b.1g(a)}8(3q(b)){b={}}O 8(11(b)){b={\'D\':b}}O 8(1E(b)){b=K}G b}C 6M(a,b){G b}C 3K(a,b,c,d,e){8(1p(a)){a=$(a,e)}8(1I(a)){a=$(a,e)}8(2w(a)){a=e.14().7f(a);8(!1l(c)){c=K}}O{8(!1l(c)){c=I}}8(!11(a)){a=0}8(!11(b)){b=0}8(c){a+=d.Y}a+=b;8(d.P>0){2i(a>=d.P){a-=d.P}2i(a<0){a+=d.P}}G a}C 4E(i,o,s){E t=0,x=0;1j(E a=s;a>=0;a--){E j=i.1O(a);t+=(j.2f(\':L\'))?j[o.d[\'2y\']](I):0;8(t>o.3V){G x}8(a==0){a=i.R}x++}}C 7h(i,o,s){G 6h(i,o.D.1t,o.D.T.4v,s)}C 6Z(i,o,s,m){G 6h(i,o.D.1t,m,s)}C 6h(i,f,m,s){E t=0,x=0;1j(E a=s,l=i.R;a>=0;a--){x++;8(x==l){G x}E j=i.1O(a);8(j.2f(f)){t++;8(t==m){G x}}8(a==0){a=l}}}C 5C(a,o){G o.D.T.4v||a.14().18(0,o.D.L).1t(o.D.1t).R}C 35(i,o,s){E t=0,x=0;1j(E a=s,l=i.R-1;a<=l;a++){E j=i.1O(a);t+=(j.2f(\':L\'))?j[o.d[\'2y\']](I):0;8(t>o.3V){G x}x++;8(x==l+1){G x}8(a==l){a=-1}}}C 5N(i,o,s,l){E v=35(i,o,s);8(!o.1T){8(s+v>l){v=l-s}}G v}C 3X(i,o,s){G 6i(i,o.D.1t,o.D.T.4v,s,o.1T)}C 75(i,o,s,m){G 6i(i,o.D.1t,m+1,s,o.1T)-1}C 6i(i,f,m,s,c){E t=0,x=0;1j(E a=s,l=i.R-1;a<=l;a++){x++;8(x>=l){G x}E j=i.1O(a);8(j.2f(f)){t++;8(t==m){G x}}8(a==l){a=-1}}}C 3J(i,o){G i.18(0,o.D.L)}C 71(i,o,n){G i.18(n,o.D.T.1Z+n)}C 72(i,o){G i.18(0,o.D.L)}C 77(i,o){G i.18(0,o.D.T.1Z)}C 78(i,o,n){G i.18(n,o.D.L+n)}C 4z(i,o,d){8(o.1R){8(!1p(d)){d=\'29\'}i.1W(C(){E j=$(1k),m=4l(j.X(o.d[\'1S\']),10);8(!11(m)){m=0}j.1m(d,m)})}}C 1U(i,o,m){8(o.1R){E x=(1l(m))?m:K;8(!11(m)){m=0}4z(i,o,\'7F\');i.1W(C(){E j=$(1k);j.X(o.d[\'1S\'],((x)?j.1m(\'7F\'):m+j.1m(\'29\')))})}}C 5u(i,o){8(o.2o){i.1W(C(){E j=$(1k),s=5q(j,[\'N\',\'1d\']);j.1m(\'7i\',s)})}}C 5v(o,b){E c=o.D.L,7G=o.D[o.d[\'N\']],6j=o[o.d[\'1d\']],7H=3W(6j);b.1W(C(){E a=$(1k),6k=7G-7I(a,o,\'9b\');a[o.d[\'N\']](6k);8(7H){a[o.d[\'1d\']](4u(6k,6j))}})}C 4R(a,o){E b=a.6b(),$i=a.14(),$v=3J($i,o),55=4J(4K($v,o,I),o,K);b.X(55);8(o.1R){E p=o.1i,r=p[o.d[1]];8(o.1A&&r<0){r=0}E c=$v.2R();c.X(o.d[\'1S\'],c.1m(\'29\')+r);a.X(o.d[\'3r\'],p[o.d[0]]);a.X(o.d[\'1n\'],p[o.d[3]])}a.X(o.d[\'N\'],55[o.d[\'N\']]+(2T($i,o,\'N\')*2));a.X(o.d[\'1d\'],6l($i,o,\'1d\'));G 55}C 4K(i,o,a){G[2T(i,o,\'N\',a),6l(i,o,\'1d\',a)]}C 6l(i,o,a,b){8(!1l(b)){b=K}8(11(o[o.d[a]])&&b){G o[o.d[a]]}8(11(o.D[o.d[a]])){G o.D[o.d[a]]}a=(a.6m().3S(\'N\')>-1)?\'2y\':\'3o\';G 4o(i,o,a)}C 4o(i,o,b){E s=0;1j(E a=0,l=i.R;a-1)?\'2y\':\'3o\',s=0;1j(E a=0,l=i.R;a-1&&1E(e[b])){e[b]=c[a];16}}}G e}C 6H(p){8(1E(p)){G[0,0,0,0]}8(11(p)){G[p,p,p,p]}8(1p(p)){p=p.3R(\'9d\').7L(\'\').3R(\'9e\').7L(\'\').3R(\' \')}8(!2X(p)){G[0,0,0,0]}1j(E i=0;i<4;i++){p[i]=4l(p[i],10)}1B(p.R){Q 0:G[0,0,0,0];Q 1:G[p[0],p[0],p[0],p[0]];Q 2:G[p[0],p[1],p[0],p[1]];Q 3:G[p[0],p[1],p[2],p[1]];2A:G[p[0],p[1],p[2],p[3]]}}C 4I(a,o){E x=(11(o[o.d[\'N\']]))?1H.2C(o[o.d[\'N\']]-2T(a,o,\'N\')):0;1B(o.1A){Q\'1n\':G[0,x];Q\'3a\':G[x,0];Q\'5g\':2A:G[1H.2C(x/2),1H.4m(x/2)]}}C 6B(o){E a=[[\'N\',\'7M\',\'2y\',\'1d\',\'7N\',\'3o\',\'1n\',\'3r\',\'1S\',0,1,2,3],[\'1d\',\'7N\',\'3o\',\'N\',\'7M\',\'2y\',\'3r\',\'1n\',\'5r\',3,2,1,0]];E b=a[0].R,7O=(o.2b==\'3a\'||o.2b==\'1n\')?0:1;E c={};1j(E d=0;dp.R){E c=I,6o=m[0],32=m[1]}O{E c=K,6o=p[0],32=p[1]}1B(6o){Q\'9f\':v=(x%2==1)?x-1:x;16;Q\'9g\':v=(x%2==0)?x-1:x;16;2A:v=x;16}32=4l(32,10);8(11(32)){8(c){32=-32}v+=32}}8(!11(v)||v<1){v=1}G v}C 2z(x,o,a,b){G 6p(4F(x,o,a,b),o.D.T)}C 6p(v,i){8(11(i.36)&&vi.1X){v=i.1X}8(v<1){v=1}G v}C 5l(s){8(!2X(s)){s=[[s]]}8(!2X(s[0])){s=[s]}1j(E j=0,l=s.R;j0)?\':L\':\'*\'}8(!a[b.d[\'N\']]){8(b.2o){17(I,\'7P a \'+b.d[\'N\']+\' 1j 3L D!\');a[b.d[\'N\']]=4o(c,b,\'2y\')}O{a[b.d[\'N\']]=(6n(c,b,\'2y\'))?\'1c\':c[b.d[\'2y\']](I)}}8(!a[b.d[\'1d\']]){a[b.d[\'1d\']]=(6n(c,b,\'3o\'))?\'1c\':c[b.d[\'3o\']](I)}a.3O.N=a.N;a.3O.1d=a.1d;G a}C 6G(a,b){8(a.D[a.d[\'N\']]==\'1c\'){a.D.T.1c=I}8(!a.D.T.1c){8(11(a[a.d[\'N\']])){a.D.L=1H.4m(a[a.d[\'N\']]/a.D[a.d[\'N\']])}O{a.D.L=1H.4m(b/a.D[a.d[\'N\']]);a[a.d[\'N\']]=a.D.L*a.D[a.d[\'N\']];8(!a.D.T.2c){a.1A=K}}8(a.D.L==\'9h\'||a.D.L<1){17(I,\'2r a 5P 27 4e L D: 7P 45 "1c".\');a.D.T.1c=I}}G a}C 6D(a,b,c){8(a==\'M\'){a=4o(c,b,\'2y\')}G a}C 6E(a,b,c){8(a==\'M\'){a=4o(c,b,\'3o\')}8(!a){a=b.D[b.d[\'1d\']]}G a}C 5j(o,a){E p=4I(3J(a,o),o);o.1i[o.d[1]]=p[1];o.1i[o.d[3]]=p[0];G o}C 5h(o,a,b){E c=6p(1H.2C(o[o.d[\'N\']]/o.D[o.d[\'N\']]),o.D.T);8(c>a.R){c=a.R}E d=1H.4m(o[o.d[\'N\']]/c);o.D.L=c;o.D[o.d[\'N\']]=d;o[o.d[\'N\']]=c*d;G o}C 3P(p){8(1p(p)){E i=(p.3S(\'9i\')>-1)?I:K,r=(p.3S(\'3h\')>-1)?I:K}O{E i=r=K}G[i,r]}C 61(a){G(11(a))?a:2x}C 6q(a){G(a===2x)}C 1E(a){G(6q(a)||2Z a==\'7Q\'||a===\'\'||a===\'7Q\')}C 2X(a){G(a 2Y 9j)}C 2w(a){G(a 2Y 7R)}C 1I(a){G((a 2Y 9k||2Z a==\'2g\')&&!6q(a)&&!2w(a)&&!2X(a))}C 11(a){G((a 2Y 4d||2Z a==\'27\')&&!9l(a))}C 1p(a){G((a 2Y 9m||2Z a==\'2N\')&&!1E(a)&&!3q(a)&&!54(a))}C 1o(a){G(a 2Y 9n||2Z a==\'C\')}C 1l(a){G(a 2Y 9o||2Z a==\'3e\'||3q(a)||54(a))}C 3q(a){G(a===I||a===\'I\')}C 54(a){G(a===K||a===\'K\')}C 3W(x){G(1p(x)&&x.18(-1)==\'%\')}C 2q(){G 6f 7C().2q()}C 2K(o,n){17(I,o+\' 2f 9p, 9q 1j 9r 9s 9t 9u. 9v \'+n+\' 9w.\')}C 17(d,m){8(1I(d)){E s=\' (\'+d.4p+\')\';d=d.17}O{E s=\'\'}8(!d){G K}8(1p(m)){m=\'1v\'+s+\': \'+m}O{m=[\'1v\'+s+\':\',m]}8(3m.6r&&3m.6r.7S){3m.6r.7S(m)}G K}$.1N($.2l,{\'9x\':C(t){E a=t*t;G t*(-a*t+4*a-6*t+4)},\'9y\':C(t){G t*(4*t*t-9*t+6)},\'9z\':C(t){E a=t*t;G t*(33*a*a-9A*a*t+9B*a-67*t+15)}})})(7R);',62,596,'|||||||opts|if||||||||||||||||||||||||||||||function|items|var|conf|return|cf_e|true|itms|false|visible|auto|width|else|total|case|length|trigger|visibleConf|scrl|prev|button|css|first|next||is_number|bind|tt0|children||break|debug|slice|anims|pagination|push|variable|height|progress|stopPropagation|call|mousewheel|padding|for|this|is_boolean|data|left|is_function|is_string|swipe|fn|wrp|filter|tmrs|carouFredSel|fade|_onafter|_moveitems|container|align|switch|_s_paddingold|_s_paddingcur|is_undefined|duration|play|Math|is_object|cover|_position|opacity|scroll|extend|eq|_a_wrapper|triggerHandler|usePadding|marginRight|circular|sz_resetMargin|fx|each|max|i_cur_l|old|i_old_l|uncover|unbind|cookie||isScrolling|isPaused|number|a_cfs|_cfs_origCssMargin|clbk|direction|adjust|isStopped|stopImmediatePropagation|is|object|queu|while|i_new|w_siz|easing|nr|avail_primary|responsive|synchronise|getTime|Not|bar|i_new_l|a_cur|remove|is_jquery|null|outerWidth|cf_getItemsAdjust|default|cf_c|ceil|pR|_s_paddingnew|preventDefault|a_itm|pauseOnHover|options|100|deprecated|timeoutDuration|startTime|string|removeClass|sc_startScroll|queue|last|i_skp|ms_getTotalSize|a_old|a_lef|a_dur|is_array|instanceof|typeof||key|adj||opts_orig|gn_getVisibleItemsNext|min||||right|addClass|pause|perc|boolean|cf_sortParams|scrolling|resume|onAfter|i_old|crossfade|slideTo|window|start|outerHeight|_cfs_triggerEvent|is_true|top|position|hidden|sc_clearTimers|pre|post|timePassed|Carousel|events|infinite|nv_enableNavi|i_siz|i_siz_vis|_a_paddingold|_a_paddingcur|get|onBefore|updatePageStatus|gi_getCurrentItems|gn_getItemIndex|the|anchorBuilder|event|sizesConf|bt_pauseOnHoverConfig|ns2|split|indexOf|go_getObject|serialNumber|maxDimension|is_percentage|gn_getVisibleItemsNextFilter|orgCSS|zIndex||none|sc_stopScroll|dur2|prefix|to|appendTo|sc_setScroll|sc_fireCallbacks||currentPage|end|before|Number|of|document|touchwipe|wN|onTouch|onResize|hide|parseInt|floor|show|ms_getTrueLargestSize|selector|currentPosition|destroy|up|primarySizePercentage|ms_getPercentage|org|onTimeoutStart|onTimeoutPause|onTimeoutEnd|sz_storeMargin|stopped|updater|minimum|configuration|gn_getVisibleItemsPrev|cf_getAdjust|onEnd|clone|cf_getAlignPadding|cf_mapWrapperSizes|ms_getSizes|a_wsz|a_new|not|a_cfs_vis|updateSizes|eval|sz_setSizes|pgs|deviation|nv_showNavi|mouseenter|mouseleave|pauseOnEvent|keys|wipe||throttle|di|go_getNaviObject|is_false|sz|prop|element||starting_position|_cfs_isCarousel|_cfs_init|go_getPrevNextObject|defaults|ms_getParentSize|ms_getMaxDimension|center|in_getResponsiveValues|bottom|in_getAlignPadding|go_complementPrevNextObject|cf_getSynchArr|onPauseStart|onPausePause|onPauseEnd|pauseDuration|in_mapCss|marginBottom|newPosition|_cfs_origCss|sz_storeSizes|sz_setResponsiveSizes|_cfs_unbind_events|stop|finish|interval|type|conditions|gn_getVisibleOrg|backward|sc_hideHiddenItems|a_lef_vis|sc_getDuration|_a_paddingnew|sc_showHiddenItems|sc_mapCallbackArguments|sc_afterScroll|sc_fireQueue|cf_setCookie|gn_getVisibleItemsNextTestCircular|slideToPage|valid|linkAnchors|value|_cfs_bind_buttons|click|_cfs_unbind_buttons|scrolled|down|onMouse|swP|swN||bt_mousesheelNumber|delay|pauseOnResize|debounce|onWindowResize|_windowHeight||nh|ns3|wrapper|parent|continue|classnames|set|new|cf_getKeyCode|gn_getItemsPrevFilter|gn_getItemsNextFilter|seco|nw|ms_getLargestSize|toLowerCase|ms_hasVariableSizes|sta|cf_getItemAdjustMinMax|is_null|console|caroufredsel|No|found|go_getItemsObject|go_getScrollObject|go_getAutoObject|go_getPaginationObject|go_getSwipeObject|go_getMousewheelObject|cf_getDimensions|in_complementItems|in_complementPrimarySize|in_complementSecondarySize|upDateOnWindowResize|in_complementVisibleItems|cf_getPadding|500|go_complementAutoObject|go_complementPaginationObject|go_complementSwipeObject|go_complementMousewheelObject|_cfs_build|textAlign|float|marginTop|marginLeft|absolute|_cfs_bind_events|paused|enough|needed|page|slide_|gn_getScrollItemsPrevFilter|Scrolling|gi_getOldItemsPrev|gi_getNewItemsPrev|directscroll|concat|gn_getScrollItemsNextFilter|forward|gi_getOldItemsNext|gi_getNewItemsNext|jumpToStart|after|append|removeItem|round|hash|index|selected|gn_getVisibleItemsPrevFilter|_cfs_origCssSizes|Item|keyup|keyCode|plugin|scN|cursor|The|option|mcN|configs|classname|cf_getCookie|random|itm|onCreate|namespace|pageAnchorBuilder|span|progressbarUpdater|Date|_cfs_isHidden|triggerOnTouchEnd|_cfs_tempCssMargin|newS|secp|ms_getPaddingBorderMargin|l1|l2|join|innerWidth|innerHeight|dx|Set|undefined|jQuery|log|caroufredsel_cookie_|relative|fixed|overflow|setInterval|setTimeout|or|Callback|returned|Page|resumed|currently|slide_prev|prependTo|slide_next|prevPage|nextPage|prepend|carousel|insertItem|Correct|insert|Appending|item|add|detach|currentVisible|body|find|Preventing|non|sliding|replaceWith|widths|heights|automatically|touchSwipe|min_move_x|min_move_y|preventDefaultEvents|wipeUp|wipeDown|wipeLeft|wipeRight|ontouchstart|in|swipeUp|swipeDown|swipeLeft|swipeRight|move|200|300|resize|wrap|class|unshift|location|swing|cfs|div|caroufredsel_wrapper|href|charAt|setTime|1000|expires|toGMTString|path|orgDuration|animate|complete|shift|clearTimeout|clearInterval|skipped|Hiding|navigation|disabled|2500|Width|outer|px|em|even|odd|Infinity|immediate|Array|Object|isNaN|String|Function|Boolean|DEPRECATED|support|it|will|be|removed|Use|instead|quadratic|cubic|elastic|106|126'.split('|'),0,{})) !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e.Vimeo=e.Vimeo||{},e.Vimeo.Player=t())}(this,function(){"use strict";function e(e,t){return t={exports:{}},e(t,t.exports),t.exports}function t(e,t,n){var r=T.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),T.set(e.element,r)}function n(e,t){var n=T.get(e.element)||{};return n[t]||[]}function r(e,t,n){var r=T.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],T.set(e.element,r),!0;var o=r[t].indexOf(n);return o!==-1&&r[t].splice(o,1),T.set(e.element,r),r[t]&&0===r[t].length}function o(e,t){var n=T.get(e);T.set(t,n),T.delete(e)}function i(e,t){return 0===e.indexOf(t.toLowerCase())?e:""+t.toLowerCase()+e.substr(0,1).toUpperCase()+e.substr(1)}function a(e){return e instanceof window.HTMLElement}function u(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}function s(e){return/^(https?:)?\/\/(player.)?vimeo.com/.test(e)}function c(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=e.id,n=e.url,r=t||n;if(!r)throw new Error("An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.");if(u(r))return"https://vimeo.com/"+r;if(s(r))return r.replace("http:","https:");if(t)throw new TypeError("“"+t+"” is not a valid video id.");throw new TypeError("“"+r+"” is not a vimeo.com url.")}function f(e){for(var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_,r=Array.isArray(n),o=0,n=r?n:n[Symbol.iterator]();;){var i;if(r){if(o>=n.length)break;i=n[o++]}else{if(o=n.next(),o.done)break;i=o.value}var a=i,u=e.getAttribute("data-vimeo-"+a);(u||""===u)&&(t[a]=""===u?1:u)}return t}function l(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return new Promise(function(n,r){if(!s(e))throw new TypeError("“"+e+"” is not a vimeo.com url.");var o="https://vimeo.com/api/oembed.json?url="+encodeURIComponent(e);for(var i in t)t.hasOwnProperty(i)&&(o+="&"+i+"="+encodeURIComponent(t[i]));var a="XDomainRequest"in window?new XDomainRequest:new XMLHttpRequest;a.open("GET",o,!0),a.onload=function(){if(404===a.status)return void r(new Error("“"+e+"” was not found."));if(403===a.status)return void r(new Error("“"+e+"” is not embeddable."));try{var t=JSON.parse(a.responseText);n(t)}catch(e){r(e)}},a.onerror=function(){var e=a.status?" ("+a.status+")":"";r(new Error("There was an error fetching the embed code from Vimeo"+e+"."))},a.send()})}function h(e,t){var n=e.html;if(!t)throw new TypeError("An element must be provided");if(null!==t.getAttribute("data-vimeo-initialized"))return t.querySelector("iframe");var r=document.createElement("div");r.innerHTML=n;var o=r.firstChild;return t.appendChild(o),t.setAttribute("data-vimeo-initialized","true"),o}function d(){var e=arguments.length<=0||void 0===arguments[0]?document:arguments[0],t=[].slice.call(e.querySelectorAll("[data-vimeo-id], [data-vimeo-url]")),n=function(e){"console"in window&&console.error&&console.error("There was an error creating an embed: "+e)},r=function(){if(i){if(a>=o.length)return"break";u=o[a++]}else{if(a=o.next(),a.done)return"break";u=a.value}var e=u;try{if(null!==e.getAttribute("data-vimeo-defer"))return"continue";var t=f(e),r=c(t);l(r,t).then(function(t){return h(t,e)}).catch(n)}catch(e){n(e)}};e:for(var o=t,i=Array.isArray(o),a=0,o=i?o:o[Symbol.iterator]();;){var u,s=r();switch(s){case"break":break e;case"continue":continue}}}function p(e){return"string"==typeof e&&(e=JSON.parse(e)),e}function v(e,t,n){if(e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,"$1"));o>=8&&o<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}}function y(e,t){t=p(t);var o=[],i=void 0;if(t.event){if("error"===t.event)for(var a=n(e,t.data.method),u=a,s=Array.isArray(u),c=0,u=s?u:u[Symbol.iterator]();;){var f;if(s){if(c>=u.length)break;f=u[c++]}else{if(c=u.next(),c.done)break;f=c.value}var l=f,h=new Error(t.data.message);h.name=t.data.name,l.reject(h),r(e,t.data.method,l)}o=n(e,"event:"+t.event),i=t.data}else t.method&&(o=n(e,t.method),i=t.value,r(e,t.method));for(var d=o,v=Array.isArray(d),y=0,d=v?d:d[Symbol.iterator]();;){var m;if(v){if(y>=d.length)break;m=d[y++]}else{if(y=d.next(),y.done)break;m=y.value}var g=m;try{if("function"==typeof g){g.call(e,i);continue}g.resolve(i)}catch(e){}}}var m="undefined"!=typeof Array.prototype.indexOf,g="undefined"!=typeof window.postMessage;if(!m||!g)throw new Error("Sorry, the Vimeo Player API is not available in this browser.");var w="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b=(e(function(e,t){!function(e){function t(e,t){function r(e){return this&&this.constructor===r?(this._keys=[],this._values=[],this._itp=[],this.objectOnly=t,void(e&&n.call(this,e))):new r(e)}return t||w(e,"size",{get:y}),e.constructor=r,r.prototype=e,r}function n(e){this.add?e.forEach(this.add,this):e.forEach(function(e){this.set(e[0],e[1])},this)}function r(e){return this.has(e)&&(this._keys.splice(g,1),this._values.splice(g,1),this._itp.forEach(function(e){g0&&e(n,s))}catch(e){i.call(new u(s),e)}}}function i(t){var r=this;r.triggered||(r.triggered=!0,r.def&&(r=r.def),r.msg=t,r.state=2,r.chain.length>0&&e(n,r))}function a(e,t,n,r){for(var o=0;o1&&window.console&&console.warn&&console.warn("A jQuery object with multiple elements was passed, using the first element."),e=e[0]),"string"==typeof e&&(e=document.getElementById(e)),!a(e))throw new TypeError("You must pass either a valid element or a valid id.");if("IFRAME"!==e.nodeName){var r=e.querySelector("iframe");r&&(e=r)}if("IFRAME"===e.nodeName&&!s(e.getAttribute("src")||""))throw new Error("The player element passed isn’t a Vimeo embed.");if(x.has(e))return x.get(e);this.element=e,this.origin="*";var i=new E(function(r,i){var a=function(e){if(s(e.origin)&&t.element.contentWindow===e.source){"*"===t.origin&&(t.origin=e.origin);var n=p(e.data),o="event"in n&&"ready"===n.event,i="method"in n&&"ping"===n.method;return o||i?(t.element.setAttribute("data-ready","true"),void r()):void y(t,n)}};if(window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent&&window.attachEvent("onmessage",a),"IFRAME"!==t.element.nodeName){var u=f(e,n),d=c(u);l(d,u).then(function(n){var r=h(n,e);return t.element=r,o(e,r),n}).catch(function(e){return i(e)})}});return j.set(this,i),x.set(this.element,this),"IFRAME"===this.element.nodeName&&v(this,"ping"),this}return Player.prototype.then=function(e){var t=arguments.length<=1||void 0===arguments[1]?function(){}:arguments[1];return this.ready().then(e,t)},Player.prototype.callMethod=function(e){var n=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return new E(function(o,i){return n.ready().then(function(){t(n,e,{resolve:o,reject:i}),v(n,e,r)})})},Player.prototype.get=function(e){var n=this;return new E(function(r,o){return e=i(e,"get"),n.ready().then(function(){t(n,e,{resolve:r,reject:o}),v(n,e)})})},Player.prototype.set=function(e,n){var r=this;return E.resolve(n).then(function(n){if(e=i(e,"set"),void 0===n||null===n)throw new TypeError("There must be a value to set.");return r.ready().then(function(){return new E(function(o,i){t(r,e,{resolve:o,reject:i}),v(r,e,n)})})})},Player.prototype.on=function(e,r){if(!e)throw new TypeError("You must pass an event name.");if(!r)throw new TypeError("You must pass a callback function.");if("function"!=typeof r)throw new TypeError("The callback must be a function.");var o=n(this,"event:"+e);0===o.length&&this.callMethod("addEventListener",e).catch(function(){}),t(this,"event:"+e,r)},Player.prototype.off=function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(t&&"function"!=typeof t)throw new TypeError("The callback must be a function.");var n=r(this,"event:"+e,t);n&&this.callMethod("removeEventListener",e).catch(function(e){})},Player.prototype.loadVideo=function(e){return this.callMethod("loadVideo",e)},Player.prototype.ready=function(){var e=j.get(this);return E.resolve(e)},Player.prototype.enableTextTrack=function(e,t){if(!e)throw new TypeError("You must pass a language.");return this.callMethod("enableTextTrack",{language:e,kind:t})},Player.prototype.disableTextTrack=function(){return this.callMethod("disableTextTrack")},Player.prototype.pause=function(){return this.callMethod("pause")},Player.prototype.play=function(){return this.callMethod("play")},Player.prototype.unload=function(){return this.callMethod("unload")},Player.prototype.getAutopause=function(){return this.get("autopause")},Player.prototype.setAutopause=function(e){return this.set("autopause",e)},Player.prototype.getColor=function(){return this.get("color")},Player.prototype.setColor=function(e){return this.set("color",e)},Player.prototype.getCurrentTime=function(){return this.get("currentTime")},Player.prototype.setCurrentTime=function(e){return this.set("currentTime",e)},Player.prototype.getDuration=function(){return this.get("duration")},Player.prototype.getEnded=function(){return this.get("ended")},Player.prototype.getLoop=function(){return this.get("loop")},Player.prototype.setLoop=function(e){return this.set("loop",e)},Player.prototype.getPaused=function(){return this.get("paused")},Player.prototype.getTextTracks=function(){return this.get("textTracks")},Player.prototype.getVideoEmbedCode=function(){return this.get("videoEmbedCode")},Player.prototype.getVideoId=function(){return this.get("videoId")},Player.prototype.getVideoTitle=function(){return this.get("videoTitle")},Player.prototype.getVideoWidth=function(){return this.get("videoWidth")},Player.prototype.getVideoHeight=function(){return this.get("videoHeight")},Player.prototype.getVideoUrl=function(){return this.get("videoUrl")},Player.prototype.getVolume=function(){return this.get("volume")},Player.prototype.setVolume=function(e){return this.set("volume",e)},Player}();return d(),Player}); 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 »'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl()},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path)}},o.delay)},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone())};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass)});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this))}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li)}).blur(function(){out.call($li)})});o.onInit.call(this)}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '))})};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)this.toggleClass(sf.c.shadowClass+'-off')};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul)});return this}})})(jQuery); ;(function($){$.fn.supersubs=function(options){var opts=$.extend({},$.fn.supersubs.defaults,options);return this.each(function(){var $$=$(this);var o=$.meta?$.extend({},opts,$$.data()):opts;var fontsize=$('').css({'padding':0,'position':'absolute','top':'-999em','width':'auto'}).appendTo($$).width();$('#menu-fontsize').remove();$ULs=$$.find('ul');$ULs.each(function(i){var $ul=$ULs.eq(i);var $LIs=$ul.children();var $As=$LIs.children('a');var liFloat=$LIs.css('white-space','nowrap').css('float');var emWidth=$ul.add($LIs).add($As).css({'float':'none','width':'auto'}).end().end()[0].clientWidth/fontsize;emWidth+=o.extraWidth;if(emWidth>o.maxWidth){emWidth=o.maxWidth}else if(emWidthul',this);var offsetDirection=$childUl.css('left')!==undefined?'left':'right';$childUl.css(offsetDirection,emWidth)})})})};$.fn.supersubs.defaults={minWidth:9,maxWidth:25,extraWidth:0}})(jQuery); ;(function(a){function d(a){var c=["Moz","Webkit","O","ms"];var d=a.charAt(0).toUpperCase()+a.substr(1);if(a in b.style){return a}for(var e=0;e0){g+=" "+p(e)}var h=[];a.each(f,function(a,b){h.push(b+" "+g)});return h.join(", ")}function m(b,d){if(!d){a.cssNumber[b]=true}a.transit.propertyMap[b]=c.transform;a.cssHooks[b]={get:function(c){var d=a(c).css("transform");return d.get(b)},set:function(c,d){var e=a(c).css("transform");e.setFromString(b,d);a(c).css({transform:e})}}}function n(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function o(a,b){if(typeof a==="string"&&!a.match(/^[\-0-9\.]+$/)){return a}else{return""+a+b}}function p(b){var c=b;if(a.fx.speeds[c]){c=a.fx.speeds[c]}return o(c,"ms")}"use strict";a.transit={version:"0.1.3",propertyMap:{marginLeft:"margin",marginRight:"margin",marginBottom:"margin",marginTop:"margin",paddingLeft:"padding",paddingRight:"padding",paddingBottom:"padding",paddingTop:"padding"},enabled:true,useTransitionEnd:false};var b=document.createElement("div");var c={};if(!window.matchMedia){window.matchMedia=function(a,b){var c={},d=a.documentElement,e=a.createElement("body"),f=a.createElement("div");f.setAttribute("id","ejs-qtest");e.appendChild(f);return function(g){if(c[g]===b){var h=a.createElement("style"),i="@media "+g+" { #ejs-qtest { position: absolute; }}";h.type="text/css";if(h.styleSheet){h.styleSheet.cssText=i}else{h.appendChild(a.createTextNode(i))}d.insertBefore(e,d.firstChild);d.insertBefore(h,d.firstChild);c[g]=(window.getComputedStyle?window.getComputedStyle(f,null):f.currentStyle)["position"]=="absolute";d.removeChild(e);d.removeChild(h)}return c[g]}}(document)}var f=navigator.userAgent.toLowerCase().indexOf("chrome")>-1;c.transition=d("transition");c.transitionDelay=d("transitionDelay");c.transform=d("transform");c.transformOrigin=d("transformOrigin");c.transform3d=e();a.extend(a.support,c);var g={MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",msTransition:"MSTransitionEnd"};var h=c.transitionEnd=g[c.transition]||null;b=null;a.cssEase={_default:"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)"};a.cssHooks.transform={get:function(b){return a(b).data("transform")||new i},set:function(b,d){var e=d;if(!(e instanceof i)){e=new i(e)}if(c.transform3d&&!f){b.style[c.transform]=e.toString(true)}else{b.style[c.transform]=e.toString()}a(b).data("transform",e)}};a.cssHooks.transformOrigin={get:function(a){return a.style[c.transformOrigin]},set:function(a,b){a.style[c.transformOrigin]=b}};m("scale");m("translate");m("rotate");m("rotateX");m("rotateY");m("rotate3d");m("perspective");m("skewX");m("skewY");m("x",true);m("y",true);i.prototype={setFromString:function(a,b){var c=typeof b==="string"?b.split(","):b.constructor===Array?b:[b];c.unshift(a);i.prototype.set.apply(this,c)},set:function(a){var b=Array.prototype.slice.apply(arguments,[1]);if(this.setter[a]){this.setter[a].apply(this,b)}else{this[a]=b.join(",")}},get:function(a){if(this.getter[a]){return this.getter[a].apply(this)}else{return this[a]||0}},setter:{rotate:function(a){this.rotate=o(a,"deg")},rotateX:function(a){this.rotateX=o(a,"deg")},rotateY:function(a){this.rotateY=o(a,"deg")},scale:function(a,b){if(b===undefined){b=a}this.scale=a+","+b},skewX:function(a){this.skewX=o(a,"deg")},skewY:function(a){this.skewY=o(a,"deg")},perspective:function(a){this.perspective=o(a,"px")},x:function(a){this.set("translate",a,null)},y:function(a){this.set("translate",null,a)},translate:function(a,b){if(this._translateX===undefined){this._translateX=0}if(this._translateY===undefined){this._translateY=0}if(a!==null){this._translateX=o(a,"px")}if(b!==null){this._translateY=o(b,"px")}this.translate=this._translateX+","+this._translateY}},getter:{x:function(){return this._translateX||0},y:function(){return this._translateY||0},scale:function(){var a=(this.scale||"1,1").split(",");if(a[0]){a[0]=parseFloat(a[0])}if(a[1]){a[1]=parseFloat(a[1])}return a[0]===a[1]?a[0]:a},rotate3d:function(){var a=(this.rotate3d||"0,0,0,0deg").split(",");for(var b=0;b<=3;++b){if(a[b]){a[b]=parseFloat(a[b])}}if(a[3]){a[3]=o(a[3],"deg")}return a}},parse:function(a){var b=this;a.replace(/([a-zA-Z0-9]+)\((.*?)\)/g,function(a,c,d){b.setFromString(c,d)})},toString:function(a){var b=[];for(var d in this){if(this.hasOwnProperty(d)){if(!c.transform3d&&(d==="rotateX"||d==="rotateY"||d==="perspective"||d==="transformOrigin")){continue}if(d[0]!=="_"){if(a&&d==="scale"){b.push(d+"3d("+this[d]+",1)")}else if(a&&d==="translate"){b.push(d+"3d("+this[d]+",0)")}else{b.push(d+"("+this[d]+")")}}}}return b.join(" ")}};a.fn.transition=a.fn.transit=function(b,d,e,f){var g=this;var i=0;var k=true;if(typeof d==="function"){f=d;d=undefined}if(typeof e==="function"){f=e;e=undefined}if(typeof b.easing!=="undefined"){e=b.easing;delete b.easing}if(typeof b.duration!=="undefined"){d=b.duration;delete b.duration}if(typeof b.complete!=="undefined"){f=b.complete;delete b.complete}if(typeof b.queue!=="undefined"){k=b.queue;delete b.queue}if(typeof b.delay!=="undefined"){i=b.delay;delete b.delay}if(typeof d==="undefined"){d=a.fx.speeds._default}if(typeof e==="undefined"){e=a.cssEase._default}d=a.fx.off?0:p(d);var m=l(b,d,e,i);var n=a.transit.enabled&&c.transition;var o=n?parseInt(d,10)+parseInt(i,10):0;if(o===0){var q=function(a){g.css(b);if(f){f()}a()};j(g,k,q);return g}var r={};var s=function(d){var e=false;var i=function(){if(e){g.unbind(h,i)}if(o>0){g.each(function(){this.style[c.transition]=r[this]||null})}if(typeof f==="function"){f.apply(g)}if(typeof d==="function"){d()}};if(o>0&&h&&a.transit.useTransitionEnd){e=true;g.bind(h,i)}else{window.setTimeout(i,o)}g.each(function(){if(o>0){this.style[c.transition]=m}a(this).css(b)})};var t=function(a){var b=0;if(c.transition==="MozTransition"&&b<25){b=25}window.setTimeout(function(){s(a)},b)};j(g,k,t);return this};a.transit.getTransitionValue=l})(jQuery); (function($){$.prettyPhoto={version:'3.1.3'};$.fn.prettyPhoto=function(pp_settings){pp_settings=jQuery.extend({animation_speed:'fast',slideshow:5000,autoplay_slideshow:false,opacity:0.80,show_title:true,allow_resize:true,default_width:500,default_height:344,counter_separator_label:'/',theme:'pp_default',horizontal_padding:20,hideflash:false,wmode:'opaque',autoplay:true,modal:false,deeplinking:true,overlay_gallery:true,keyboard_shortcuts:true,changepicturecallback:function(){},callback:function(){},ie6_fallback:true,markup:'
\
 
\
\
\
\
\
\
\
\
\
\
\
\ Expand \
\ next \ previous \
\
\
\
\ Previous \

0/0

\ Next \
\

\
{pp_social}
\ Close \
\
\
\
\
\
\
\
\
\
\
\
\
',gallery_markup:'',image_markup:'',flash_markup:'',quicktime_markup:'',iframe_markup:'',inline_markup:'
{content}
',custom_markup:'',social_tools:''},pp_settings);var matchedObjects=this,percentBased=false,pp_dimensions,pp_open,pp_contentHeight,pp_contentWidth,pp_containerHeight,pp_containerWidth,windowHeight=$(window).height(),windowWidth=$(window).width(),pp_slideshow;doresize=true,scroll_pos=_get_scroll();$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){_center_overlay();_resize_overlay();});if(pp_settings.keyboard_shortcuts){$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){if(typeof $pp_pic_holder!='undefined'){if($pp_pic_holder.is(':visible')){switch(e.keyCode){case 37:$.prettyPhoto.changePage('previous');e.preventDefault();break;case 39:$.prettyPhoto.changePage('next');e.preventDefault();break;case 27:if(!settings.modal) $.prettyPhoto.close();e.preventDefault();break;};};};});};$.prettyPhoto.initialize=function(){settings=pp_settings;if(settings.theme=='pp_default')settings.horizontal_padding=16;if(settings.ie6_fallback&&$.browser.msie&&parseInt($.browser.version)==6)settings.theme="light_square";theRel=$(this).attr('data-rel');galleryRegExp=/\[(?:.*)\]/;isSet=(galleryRegExp.exec(theRel))?true:false;pp_images=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('data-rel').indexOf(theRel)!=-1)return $(n).attr('href');}):$.makeArray($(this).attr('href'));pp_titles=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('data-rel').indexOf(theRel)!=-1)return($(n).find('img').attr('alt'))?$(n).find('img').attr('alt'):"";}):$.makeArray($(this).find('img').attr('alt'));pp_descriptions=(isSet)?jQuery.map(matchedObjects,function(n,i){if($(n).attr('data-rel').indexOf(theRel)!=-1)return($(n).attr('title'))?$(n).attr('title'):"";}):$.makeArray($(this).attr('title'));if(pp_images.length>30)settings.overlay_gallery=false;set_position=jQuery.inArray($(this).attr('href'),pp_images);rel_index=(isSet)?set_position:$("a[data-rel^='"+theRel+"']").index($(this));_build_overlay(this);if(settings.allow_resize) $(window).bind('scroll.prettyphoto',function(){_center_overlay();});$.prettyPhoto.open();return false;} $.prettyPhoto.open=function(event){if(typeof settings=="undefined"){settings=pp_settings;if($.browser.msie&&$.browser.version==6)settings.theme="light_square";pp_images=$.makeArray(arguments[0]);pp_titles=(arguments[1])?$.makeArray(arguments[1]):$.makeArray("");pp_descriptions=(arguments[2])?$.makeArray(arguments[2]):$.makeArray("");isSet=(pp_images.length>1)?true:false;set_position=0;_build_overlay(event.target);} if($.browser.msie&&$.browser.version==6)$('select').css('visibility','hidden');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden');_checkPosition($(pp_images).size());$('.pp_loaderIcon').show();if(settings.deeplinking) setHashtag();if(settings.social_tools){facebook_like_link=settings.social_tools.replace('{location_href}',encodeURIComponent(location.href));$pp_pic_holder.find('.pp_social').html(facebook_like_link);} if($ppt.is(':hidden'))$ppt.css('opacity',0).show();$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);$pp_pic_holder.find('.currentTextHolder').text((set_position+1)+settings.counter_separator_label+$(pp_images).size());if(pp_descriptions[set_position]!=""){$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position]));}else{$pp_pic_holder.find('.pp_description').hide();} movie_width=(parseFloat(getParam('width',pp_images[set_position])))?getParam('width',pp_images[set_position]):settings.default_width.toString();movie_height=(parseFloat(getParam('height',pp_images[set_position])))?getParam('height',pp_images[set_position]):settings.default_height.toString();percentBased=false;if(movie_height.indexOf('%')!=-1){movie_height=parseFloat(($(window).height()*parseFloat(movie_height)/100)-150);percentBased=true;} if(movie_width.indexOf('%')!=-1){movie_width=parseFloat(($(window).width()*parseFloat(movie_width)/100)-150);percentBased=true;} $pp_pic_holder.fadeIn(function(){(settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined")?$ppt.html(unescape(pp_titles[set_position])):$ppt.html(' ');imgPreloader="";skipInjection=false;switch(_getFileType(pp_images[set_position])){case'image':imgPreloader=new Image();nextImage=new Image();if(isSet&&set_position<$(pp_images).size()-1)nextImage.src=pp_images[set_position+1];prevImage=new Image();if(isSet&&pp_images[set_position-1])prevImage.src=pp_images[set_position-1];$pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]);imgPreloader.onload=function(){pp_dimensions=_fitToViewport(imgPreloader.width,imgPreloader.height);_showContent();};imgPreloader.onerror=function(){alert('Image cannot be loaded. Make sure the path is correct and image exist.');$.prettyPhoto.close();};imgPreloader.src=pp_images[set_position];break;case'youtube':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=getParam('v',pp_images[set_position]);if(movie_id==""){movie_id=pp_images[set_position].split('youtu.be/');movie_id=movie_id[1];if(movie_id.indexOf('?')>0) movie_id=movie_id.substr(0,movie_id.indexOf('?'));if(movie_id.indexOf('&')>0) movie_id=movie_id.substr(0,movie_id.indexOf('&'));} movie='http://www.youtube.com/embed/'+movie_id;(getParam('rel',pp_images[set_position]))?movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1";if(settings.autoplay)movie+="&autoplay=1";toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);break;case'vimeo':pp_dimensions=_fitToViewport(movie_width,movie_height);movie_id=pp_images[set_position];var regExp=/http:\/\/(www\.)?vimeo.com\/(\d+)/;var match=movie_id.match(regExp);movie='http://player.vimeo.com/video/'+match[2]+'?title=0&byline=0&portrait=0';if(settings.autoplay)movie+="&autoplay=1;";vimeo_width=pp_dimensions['width']+'/embed/?moog_width='+pp_dimensions['width'];toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);break;case'quicktime':pp_dimensions=_fitToViewport(movie_width,movie_height);pp_dimensions['height']+=15;pp_dimensions['contentHeight']+=15;pp_dimensions['containerHeight']+=15;toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);break;case'flash':pp_dimensions=_fitToViewport(movie_width,movie_height);flash_vars=pp_images[set_position];flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars')+10,pp_images[set_position].length);filename=pp_images[set_position];filename=filename.substring(0,filename.indexOf('?'));toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);break;case'iframe':pp_dimensions=_fitToViewport(movie_width,movie_height);frame_url=pp_images[set_position];frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1);toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);break;case'ajax':doresize=false;pp_dimensions=_fitToViewport(movie_width,movie_height);doresize=true;skipInjection=true;$.get(pp_images[set_position],function(responseHTML){toInject=settings.inline_markup.replace(/{content}/g,responseHTML);$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();});break;case'custom':pp_dimensions=_fitToViewport(movie_width,movie_height);toInject=settings.custom_markup;break;case'inline':myClone=$(pp_images[set_position]).clone().append('
').css({'width':settings.default_width}).wrapInner('
').appendTo($('body')).show();doresize=false;pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height());doresize=true;$(myClone).remove();toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());break;};if(!imgPreloader&&!skipInjection){$pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject;_showContent();};});return false;};$.prettyPhoto.changePage=function(direction){currentGalleryPage=0;if(direction=='previous'){set_position--;if(set_position<0)set_position=$(pp_images).size()-1;}else if(direction=='next'){set_position++;if(set_position>$(pp_images).size()-1)set_position=0;}else{set_position=direction;};rel_index=set_position;if(!doresize)doresize=true;$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');_hideContent(function(){$.prettyPhoto.open();});};$.prettyPhoto.changeGalleryPage=function(direction){if(direction=='next'){currentGalleryPage++;if(currentGalleryPage>totalPage)currentGalleryPage=0;}else if(direction=='previous'){currentGalleryPage--;if(currentGalleryPage<0)currentGalleryPage=totalPage;}else{currentGalleryPage=direction;};slide_speed=(direction=='next'||direction=='previous')?settings.animation_speed:0;slide_to=currentGalleryPage*(itemsPerPage*itemWidth);$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);};$.prettyPhoto.startSlideshow=function(){if(typeof pp_slideshow=='undefined'){$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){$.prettyPhoto.stopSlideshow();return false;});pp_slideshow=setInterval($.prettyPhoto.startSlideshow,settings.slideshow);}else{$.prettyPhoto.changePage('next');};} $.prettyPhoto.stopSlideshow=function(){$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});clearInterval(pp_slideshow);pp_slideshow=undefined;} $.prettyPhoto.close=function(){if($pp_overlay.is(":animated"))return;$.prettyPhoto.stopSlideshow();$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){$(this).remove();});$pp_overlay.fadeOut(settings.animation_speed,function(){if($.browser.msie&&$.browser.version==6)$('select').css('visibility','visible');if(settings.hideflash)$('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible');$(this).remove();$(window).unbind('scroll.prettyphoto');clearHashtag();settings.callback();doresize=true;pp_open=false;delete settings;});};function _showContent(){$('.pp_loaderIcon').hide();projectedTop=scroll_pos['scrollTop']+((windowHeight/2)-(pp_dimensions['containerHeight']/2));if(projectedTop<0)projectedTop=0;$ppt.fadeTo(settings.animation_speed,1);$pp_pic_holder.find('.pp_content').animate({height:pp_dimensions['contentHeight'],width:pp_dimensions['contentWidth']},settings.animation_speed);$pp_pic_holder.animate({'top':projectedTop,'left':(windowWidth/2)-(pp_dimensions['containerWidth']/2),width:pp_dimensions['containerWidth']},settings.animation_speed,function(){$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed);if(isSet&&_getFileType(pp_images[set_position])=="image"){$pp_pic_holder.find('.pp_hoverContainer').show();}else{$pp_pic_holder.find('.pp_hoverContainer').hide();} if(pp_dimensions['resized']){$('a.pp_expand,a.pp_contract').show();}else{$('a.pp_expand').hide();} if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open)$.prettyPhoto.startSlideshow();settings.changepicturecallback();pp_open=true;});_insert_gallery();};function _hideContent(callback){$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){$('.pp_loaderIcon').show();callback();});};function _checkPosition(setCount){(setCount>1)?$('.pp_nav').show():$('.pp_nav').hide();};function _fitToViewport(width,height){resized=false;_getDimensions(width,height);imageWidth=width,imageHeight=height;if(((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight))&&doresize&&settings.allow_resize&&!percentBased){resized=true,fitting=false;while(!fitting){if((pp_containerWidth>windowWidth)){imageWidth=(windowWidth-200);imageHeight=(height/width)*imageWidth;}else if((pp_containerHeight>windowHeight)){imageHeight=(windowHeight-200);imageWidth=(width/height)*imageHeight;}else{fitting=true;};pp_containerHeight=imageHeight,pp_containerWidth=imageWidth;};_getDimensions(imageWidth,imageHeight);if((pp_containerWidth>windowWidth)||(pp_containerHeight>windowHeight)){_fitToViewport(pp_containerWidth,pp_containerHeight)};};return{width:Math.floor(imageWidth),height:Math.floor(imageHeight),containerHeight:Math.floor(pp_containerHeight),containerWidth:Math.floor(pp_containerWidth)+(settings.horizontal_padding*2),contentHeight:Math.floor(pp_contentHeight),contentWidth:Math.floor(pp_contentWidth),resized:resized};};function _getDimensions(width,height){width=parseFloat(width);height=parseFloat(height);$pp_details=$pp_pic_holder.find('.pp_details');$pp_details.width(width);detailsHeight=parseFloat($pp_details.css('marginTop'))+parseFloat($pp_details.css('marginBottom'));$pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({'position':'absolute','top':-10000});detailsHeight+=$pp_details.height();detailsHeight=(detailsHeight<=34)?36:detailsHeight;if($.browser.msie&&$.browser.version==7)detailsHeight+=8;$pp_details.remove();$pp_title=$pp_pic_holder.find('.ppt');$pp_title.width(width);titleHeight=parseFloat($pp_title.css('marginTop'))+parseFloat($pp_title.css('marginBottom'));$pp_title=$pp_title.clone().appendTo($('body')).css({'position':'absolute','top':-10000});titleHeight+=$pp_title.height();$pp_title.remove();pp_contentHeight=height+detailsHeight;pp_contentWidth=width;pp_containerHeight=pp_contentHeight+titleHeight+$pp_pic_holder.find('.pp_top').height()+$pp_pic_holder.find('.pp_bottom').height();pp_containerWidth=width;} function _getFileType(itemSrc){if(itemSrc.match(/youtube\.com\/watch/i)||itemSrc.match(/youtu\.be/i)){return'youtube';}else if(itemSrc.match(/vimeo\.com/i)){return'vimeo';}else if(itemSrc.match(/\b.mov\b/i)){return'quicktime';}else if(itemSrc.match(/\b.swf\b/i)){return'flash';}else if(itemSrc.match(/\biframe=true\b/i)){return'iframe';}else if(itemSrc.match(/\bajax=true\b/i)){return'ajax';}else if(itemSrc.match(/\bcustom=true\b/i)){return'custom';}else if(itemSrc.substr(0,1)=='#'){return'inline';}else{return'image';};};function _center_overlay(){if(doresize&&typeof $pp_pic_holder!='undefined'){scroll_pos=_get_scroll();contentHeight=$pp_pic_holder.height(),contentwidth=$pp_pic_holder.width();projectedTop=(windowHeight/2)+scroll_pos['scrollTop']-(contentHeight/2);if(projectedTop<0)projectedTop=0;if(contentHeight>windowHeight) return;$pp_pic_holder.css({'top':projectedTop,'left':(windowWidth/2)+scroll_pos['scrollLeft']-(contentwidth/2)});};};function _get_scroll(){if(self.pageYOffset){return{scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){return{scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){return{scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};};};function _resize_overlay(){windowHeight=$(window).height(),windowWidth=$(window).width();if(typeof $pp_overlay!="undefined")$pp_overlay.height($(document).height()).width(windowWidth);};function _insert_gallery(){if(isSet&&settings.overlay_gallery&&_getFileType(pp_images[set_position])=="image"&&(settings.ie6_fallback&&!($.browser.msie&&parseInt($.browser.version)==6))){itemWidth=52+5;navWidth=(settings.theme=="facebook"||settings.theme=="pp_default")?50:30;itemsPerPage=Math.floor((pp_dimensions['containerWidth']-100-navWidth)/itemWidth);itemsPerPage=(itemsPerPage";};toInject=settings.gallery_markup.replace(/{gallery}/g,toInject);$pp_pic_holder.find('#pp_full_res').after(toInject);$pp_gallery=$('.pp_pic_holder .pp_gallery'),$pp_gallery_li=$pp_gallery.find('li');$pp_gallery.find('.pp_arrow_next').click(function(){$.prettyPhoto.changeGalleryPage('next');$.prettyPhoto.stopSlideshow();return false;});$pp_gallery.find('.pp_arrow_previous').click(function(){$.prettyPhoto.changeGalleryPage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_content').hover(function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();},function(){$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();});itemWidth=52+5;$pp_gallery_li.each(function(i){$(this).find('a').click(function(){$.prettyPhoto.changePage(i);$.prettyPhoto.stopSlideshow();return false;});});};if(settings.slideshow){$pp_pic_holder.find('.pp_nav').prepend('Play') $pp_pic_holder.find('.pp_nav .pp_play').click(function(){$.prettyPhoto.startSlideshow();return false;});} $pp_pic_holder.attr('class','pp_pic_holder '+settings.theme);$pp_overlay.css({'opacity':0,'height':$(document).height(),'width':$(window).width()}).bind('click',function(){if(!settings.modal)$.prettyPhoto.close();});$('a.pp_close').bind('click',function(){$.prettyPhoto.close();return false;});$('a.pp_expand').bind('click',function(e){if($(this).hasClass('pp_expand')){$(this).removeClass('pp_expand').addClass('pp_contract');doresize=false;}else{$(this).removeClass('pp_contract').addClass('pp_expand');doresize=true;};_hideContent(function(){$.prettyPhoto.open();});return false;});$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){$.prettyPhoto.changePage('previous');$.prettyPhoto.stopSlideshow();return false;});$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){$.prettyPhoto.changePage('next');$.prettyPhoto.stopSlideshow();return false;});_center_overlay();};if(!pp_alreadyInitialized&&getHashtag()){pp_alreadyInitialized=true;hashIndex=getHashtag();hashRel=hashIndex;hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);hashRel=hashRel.substring(0,hashRel.indexOf('/'));setTimeout(function(){$("a[data-rel^='"+hashRel+"']:eq("+hashIndex+")").trigger('click');},50);} return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize);};function getHashtag(){return false;};function setHashtag(){return;};function clearHashtag(){return false;} function getParam(name,url){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(url);return(results==null)?"":results[1];}})(jQuery);var pp_alreadyInitialized=false; (function(c,d){var b="2.9999.5";if(c.support===d){c.support={opacity:!(c.browser.msie)}}function g(t){if(c.fn.cycle.debug){f(t)}}function f(){if(window.console&&console.log){console.log("[cycle] "+Array.prototype.join.call(arguments," "))}}c.expr[":"].paused=function(s){return s.cyclePause};c.fn.cycle=function(t,s){var u={s:this.selector,c:this.context};if(this.length===0&&t!="stop"){if(!c.isReady&&u.s){f("DOM not ready, queuing slideshow");c(function(){c(u.s,u.c).cycle(t,s)});return this}f("terminating; zero elements found by selector"+(c.isReady?"":" (DOM not ready)"));return this}return this.each(function(){var y=l(this,t,s);if(y===false){return}y.updateActivePagerLink=y.updateActivePagerLink||c.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout)}this.cycleTimeout=this.cyclePause=0;this.cycleStop=0;var z=c(this);var A=y.slideExpr?c(y.slideExpr,this):z.children();var w=A.get();if(w.length<1){f("terminating; too few slides: "+w.length);return}var v=q(z,A,w,y,u);if(v===false){return}var x=v.continuous?10:m(w[v.currSlide],w[v.nextSlide],v,!v.backwards);if(x){x+=(v.delay||0);if(x<10){x=10}g("first timeout: "+x);this.cycleTimeout=setTimeout(function(){n(w,v,0,!y.backwards)},x)}})};function k(s,v,u){var w=c(s).data("cycle.opts");var t=!!s.cyclePause;if(t&&w.paused){w.paused(s,w,v,u)}else{if(!t&&w.resumed){w.resumed(s,w,v,u)}}}function l(s,v,t){if(s.cycleStop===d){s.cycleStop=0}if(v===d||v===null){v={}}if(v.constructor==String){switch(v){case"destroy":case"stop":var x=c(s).data("cycle.opts");if(!x){return false}s.cycleStop++;if(s.cycleTimeout){clearTimeout(s.cycleTimeout)}s.cycleTimeout=0;if(x.elements){c(x.elements).stop()}c(s).removeData("cycle.opts");if(v=="destroy"){r(s,x)}return false;case"toggle":s.cyclePause=(s.cyclePause===1)?0:1;w(s.cyclePause,t,s);k(s);return false;case"pause":s.cyclePause=1;k(s);return false;case"resume":s.cyclePause=0;w(false,t,s);k(s);return false;case"prev":case"next":x=c(s).data("cycle.opts");if(!x){f('options not found, "prev/next" ignored');return false}c.fn.cycle[v](x);return false;default:v={fx:v}}return v}else{if(v.constructor==Number){var u=v;v=c(s).data("cycle.opts");if(!v){f("options not found, can not advance slide");return false}if(u<0||u>=v.elements.length){f("invalid slide index: "+u);return false}v.nextSlide=u;if(s.cycleTimeout){clearTimeout(s.cycleTimeout);s.cycleTimeout=0}if(typeof t=="string"){v.oneTimeFx=t}n(v.elements,v,1,u>=v.currSlide);return false}}return v;function w(z,A,y){if(!z&&A===true){var B=c(y).data("cycle.opts");if(!B){f("options not found, can not resume");return false}if(y.cycleTimeout){clearTimeout(y.cycleTimeout);y.cycleTimeout=0}n(B.elements,B,1,!B.backwards)}}}function e(s,t){if(!c.support.opacity&&t.cleartype&&s.style.filter){try{s.style.removeAttribute("filter")}catch(u){}}}function r(s,t){if(t.next){c(t.next).unbind(t.prevNextEvent)}if(t.prev){c(t.prev).unbind(t.prevNextEvent)}if(t.pager||t.pagerAnchorBuilder){c.each(t.pagerAnchors||[],function(){this.unbind().remove()})}t.pagerAnchors=null;c(s).unbind("mouseenter.cycle mouseleave.cycle");if(t.destroy){t.destroy(t)}}function q(C,Q,z,y,J){var s;var H=c.extend({},c.fn.cycle.defaults,y||{},c.metadata?C.metadata():c.meta?C.data():{});var F=c.isFunction(C.data)?C.data(H.metaAttr):null;if(F){H=c.extend(H,F)}if(H.autostop){H.countdown=H.autostopCount||z.length}var u=C[0];C.data("cycle.opts",H);H.$cont=C;H.stopCount=u.cycleStop;H.elements=z;H.before=H.before?[H.before]:[];H.after=H.after?[H.after]:[];if(!c.support.opacity&&H.cleartype){H.after.push(function(){e(this,H)})}if(H.continuous){H.after.push(function(){n(z,H,0,!H.backwards)})}i(H);if(!c.support.opacity&&H.cleartype&&!H.cleartypeNoBg){a(Q)}if(C.css("position")=="static"){C.css("position","relative")}if(H.width){C.width(H.width)}if(H.height&&H.height!="auto"){C.height(H.height)}if(H.startingSlide!==d){H.startingSlide=parseInt(H.startingSlide,10);if(H.startingSlide>=z.length||H.startSlide<0){H.startingSlide=0}else{s=true}}else{if(H.backwards){H.startingSlide=z.length-1}else{H.startingSlide=0}}if(H.random){H.randomMap=[];for(var O=0;O=z.length){H.startingSlide=0}}H.currSlide=H.startingSlide||0;var B=H.startingSlide;Q.css({position:"absolute",top:0,left:0}).hide().each(function(w){var S;if(H.backwards){S=B?w<=B?z.length+(w-B):B-w:z.length-w}else{S=B?w>=B?z.length-(w-B):B-w:z.length-w}c(this).css("z-index",S)});c(z[B]).css("opacity",1).show();e(z[B],H);if(H.fit){if(!H.aspect){if(H.width){Q.width(H.width)}if(H.height&&H.height!="auto"){Q.height(H.height)}}else{Q.each(function(){var S=c(this);var w=(H.aspect===true)?S.width()/S.height():H.aspect;if(H.width&&S.width()!=H.width){S.width(H.width);S.height(H.width/w)}if(H.height&&S.height()A?E:A;G=P>G?P:G}if(A>0&&G>0){C.css({width:A+"px",height:G+"px"})}}var x=false;if(H.pause){C.bind("mouseenter.cycle",function(){x=true;this.cyclePause++;k(u,true)}).bind("mouseleave.cycle",function(){if(x){this.cyclePause--}k(u,true)})}if(o(H)===false){return false}var v=false;y.requeueAttempts=y.requeueAttempts||0;Q.each(function(){var U=c(this);this.cycleH=(H.fit&&H.height)?H.height:(U.height()||this.offsetHeight||this.height||U.attr("height")||0);this.cycleW=(H.fit&&H.width)?H.width:(U.width()||this.offsetWidth||this.width||U.attr("width")||0);if(U.is("img")){var S=(c.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var V=(c.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var T=(c.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var w=(this.cycleH===0&&this.cycleW===0&&!this.complete);if(S||V||T||w){if(J.s&&H.requeueOnImageNotLoaded&&++y.requeueAttempts<100){f(y.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){c(J.s,J.c).cycle(y)},H.requeueTimeout);v=true;return false}else{f("could not determine size of image: "+this.src,this.cycleW,this.cycleH)}}}return true});if(v){return false}H.cssBefore=H.cssBefore||{};H.cssAfter=H.cssAfter||{};H.cssFirst=H.cssFirst||{};H.animIn=H.animIn||{};H.animOut=H.animOut||{};Q.not(":eq("+B+")").css(H.cssBefore);c(Q[B]).css(H.cssFirst);if(H.timeout){H.timeout=parseInt(H.timeout,10);if(H.speed.constructor==String){H.speed=c.fx.speeds[H.speed]||parseInt(H.speed,10)}if(!H.sync){H.speed=H.speed/2}var K=H.fx=="none"?0:H.fx=="shuffle"?500:250;while((H.timeout-H.speed)=(z.length-1)?0:H.startingSlide+1}}if(!H.multiFx){var N=c.fn.cycle.transitions[H.fx];if(c.isFunction(N)){N(C,Q,H)}else{if(H.fx!="custom"&&!H.multiFx){f("unknown transition: "+H.fx,"; slideshow terminating");return false}}}var D=Q[B];if(!H.skipInitializationCallbacks){if(H.before.length){H.before[0].apply(D,[D,D,H,true])}if(H.after.length){H.after[0].apply(D,[D,D,H,true])}}if(H.next){c(H.next).bind(H.prevNextEvent,function(){return h(H,1)})}if(H.prev){c(H.prev).bind(H.prevNextEvent,function(){return h(H,0)})}if(H.pager||H.pagerAnchorBuilder){p(z,H)}j(H,z);return H}function i(s){s.original={before:[],after:[]};s.original.cssBefore=c.extend({},s.cssBefore);s.original.cssAfter=c.extend({},s.cssAfter);s.original.animIn=c.extend({},s.animIn);s.original.animOut=c.extend({},s.animOut);c.each(s.before,function(){s.original.before.push(this)});c.each(s.after,function(){s.original.after.push(this)})}function o(y){var w,u,t=c.fn.cycle.transitions;if(y.fx.indexOf(",")>0){y.multiFx=true;y.fxs=y.fx.replace(/\s*/g,"").split(",");for(w=0;w=s.fxs.length)){s.lastFx=0}else{if(!A&&(s.lastFx===d||--s.lastFx<0)){s.lastFx=s.fxs.length-1}}w=s.fxs[s.lastFx]}if(s.oneTimeFx){w=s.oneTimeFx;s.oneTimeFx=null}c.fn.cycle.resetState(s,w);if(s.before.length){c.each(s.before,function(E,F){if(v.cycleStop!=s.stopCount){return}F.apply(B,[D,B,s,A])})}var t=function(){s.busy=0;c.each(s.after,function(E,F){if(v.cycleStop!=s.stopCount){return}F.apply(B,[D,B,s,A])});if(!v.cycleStop){C()}};g("tx firing("+w+"); currSlide: "+s.currSlide+"; nextSlide: "+s.nextSlide);s.busy=1;if(s.fxFn){s.fxFn(D,B,s,t,A,x&&s.fastOnEvent)}else{if(c.isFunction(c.fn.cycle[s.fx])){c.fn.cycle[s.fx](D,B,s,t,A,x&&s.fastOnEvent)}else{c.fn.cycle.custom(D,B,s,t,A,x&&s.fastOnEvent)}}}else{C()}if(z||s.nextSlide==s.currSlide){var u;s.lastSlide=s.currSlide;if(s.random){s.currSlide=s.nextSlide;if(++s.randomIndex==y.length){s.randomIndex=0;s.randomMap.sort(function(F,E){return Math.random()-0.5})}s.nextSlide=s.randomMap[s.randomIndex];if(s.nextSlide==s.currSlide){s.nextSlide=(s.currSlide==s.slideCount-1)?0:s.currSlide+1}}else{if(s.backwards){u=(s.nextSlide-1)<0;if(u&&s.bounce){s.backwards=!s.backwards;s.nextSlide=1;s.currSlide=0}else{s.nextSlide=u?(y.length-1):s.nextSlide-1;s.currSlide=u?0:s.nextSlide+1}}else{u=(s.nextSlide+1)==y.length;if(u&&s.bounce){s.backwards=!s.backwards;s.nextSlide=y.length-2;s.currSlide=y.length-1}else{s.nextSlide=u?0:s.nextSlide+1;s.currSlide=u?y.length-1:s.nextSlide-1}}}}if(z&&s.pager){s.updateActivePagerLink(s.pager,s.currSlide,s.activePagerClass)}function C(){var E=0,F=s.timeout;if(s.timeout&&!s.continuous){E=m(y[s.currSlide],y[s.nextSlide],s,A);if(s.fx=="shuffle"){E-=s.speedOut}}else{if(s.continuous&&v.cyclePause){E=10}}if(E>0){v.cycleTimeout=setTimeout(function(){n(y,s,0,!s.backwards)},E)}}}c.fn.cycle.updateActivePagerLink=function(s,u,t){c(s).each(function(){c(this).children().removeClass(t).eq(u).addClass(t)})};function m(x,v,w,u){if(w.timeoutFn){var s=w.timeoutFn.call(x,x,v,w,u);while(w.fx!="none"&&(s-w.speed)<250){s+=w.speed}g("calculated timeout: "+s+"; speed: "+w.speed);if(s!==false){return s}}return w.timeout}c.fn.cycle.next=function(s){h(s,1)};c.fn.cycle.prev=function(s){h(s,0)};function h(v,u){var y=u?1:-1;var t=v.elements;var x=v.$cont[0],w=x.cycleTimeout;if(w){clearTimeout(w);x.cycleTimeout=0}if(v.random&&y<0){v.randomIndex--;if(--v.randomIndex==-2){v.randomIndex=t.length-2}else{if(v.randomIndex==-1){v.randomIndex=t.length-1}}v.nextSlide=v.randomMap[v.randomIndex]}else{if(v.random){v.nextSlide=v.randomMap[v.randomIndex]}else{v.nextSlide=v.currSlide+y;if(v.nextSlide<0){if(v.nowrap){return false}v.nextSlide=t.length-1}else{if(v.nextSlide>=t.length){if(v.nowrap){return false}v.nextSlide=0}}}}var s=v.onPrevNextEvent||v.prevNextClick;if(c.isFunction(s)){s(y>0,v.nextSlide,t[v.nextSlide])}n(t,v,1,u);return false}function p(t,u){var s=c(u.pager);c.each(t,function(v,w){c.fn.cycle.createPagerAnchor(v,w,s,t,u)});u.updateActivePagerLink(u.pager,u.startingSlide,u.activePagerClass)}c.fn.cycle.createPagerAnchor=function(x,u,z,w,t){var A;if(c.isFunction(t.pagerAnchorBuilder)){A=t.pagerAnchorBuilder(x,u);g("pagerAnchorBuilder("+x+", el) returned: "+A)}else{A=''+(x+1)+""}if(!A){return}var v=c(A);if(v.parents("body").length===0){var y=[];if(z.length>1){z.each(function(){var D=v.clone(true);c(this).append(D);y.push(D[0])});v=c(y)}else{v.appendTo(z)}}t.pagerAnchors=t.pagerAnchors||[];t.pagerAnchors.push(v);var B=function(G){G.preventDefault();t.nextSlide=x;var F=t.$cont[0],E=F.cycleTimeout;if(E){clearTimeout(E);F.cycleTimeout=0}var D=t.onPagerEvent||t.pagerClick;if(c.isFunction(D)){D(t.nextSlide,w[t.nextSlide])}n(w,t,1,t.currSlides?w-s:v.slideCount-s}else{t=w=0){var x=w.match(/\d+/g);return"#"+t(x[0])+t(x[1])+t(x[2])}if(w&&w!="transparent"){return w}}return"#ffffff"}u.each(function(){c(this).css("background-color",s(this))})}c.fn.cycle.commonReset=function(y,v,x,t,u,s){c(x.elements).not(y).hide();if(typeof x.cssBefore.opacity=="undefined"){x.cssBefore.opacity=1}x.cssBefore.display="block";if(x.slideResize&&t!==false&&v.cycleW>0){x.cssBefore.width=v.cycleW}if(x.slideResize&&u!==false&&v.cycleH>0){x.cssBefore.height=v.cycleH}x.cssAfter=x.cssAfter||{};x.cssAfter.display="none";c(y).css("zIndex",x.slideCount+(s===true?1:0));c(v).css("zIndex",x.slideCount+(s===true?0:1))};c.fn.cycle.custom=function(E,y,s,v,x,t){var D=c(E),z=c(y);var u=s.speedIn,C=s.speedOut,w=s.easeIn,B=s.easeOut;z.css(s.cssBefore);if(t){if(typeof t=="number"){u=C=t}else{u=C=1}w=B=null}var A=function(){z.animate(s.animIn,u,w,function(){v()})};D.animate(s.animOut,C,B,function(){D.css(s.cssAfter);if(!s.sync){A()}});if(s.sync){A()}};c.fn.cycle.transitions={fade:function(t,u,s){u.not(":eq("+s.currSlide+")").css("opacity",0);s.before.push(function(x,v,w){c.fn.cycle.commonReset(x,v,w);w.cssBefore.opacity=0});s.animIn={opacity:1};s.animOut={opacity:0};s.cssBefore={top:0,left:0}}};c.fn.cycle.ver=function(){return b};c.fn.cycle.defaults={activePagerClass:"activeSlide",after:null,allowPagerClickBubble:false,animIn:null,animOut:null,aspect:false,autostop:0,autostopCount:0,backwards:false,before:null,center:null,cleartype:!c.support.opacity,cleartypeNoBg:false,containerResize:1,continuous:0,cssAfter:null,cssBefore:null,delay:0,easeIn:null,easeOut:null,easing:null,end:null,fastOnEvent:0,fit:0,fx:"fade",fxFn:null,height:"auto",manualTrump:true,metaAttr:"cycle",next:null,nowrap:0,onPagerEvent:null,onPrevNextEvent:null,pager:null,pagerAnchorBuilder:null,pagerEvent:"click.cycle",pause:0,pauseOnPagerHover:0,prev:null,prevNextEvent:"click.cycle",random:0,randomizeEffects:1,requeueOnImageNotLoaded:true,requeueTimeout:250,rev:0,shuffle:null,skipInitializationCallbacks:false,slideExpr:null,slideResize:1,speed:1000,speedIn:null,speedOut:null,startingSlide:d,sync:1,timeout:4000,timeoutFn:null,updateActivePagerLink:null,width:null}})(jQuery); (function(a){a.fn.cycle.transitions.none=function(c,d,b){b.fxFn=function(g,e,f,h){a(e).show();a(g).hide();h()}};a.fn.cycle.transitions.fadeout=function(c,d,b){d.not(":eq("+b.currSlide+")").css({display:"block",opacity:1});b.before.push(function(k,i,j,f,g,e){a(k).css("zIndex",j.slideCount+(e!==true?1:0));a(i).css("zIndex",j.slideCount+(e!==true?0:1))});b.animIn.opacity=1;b.animOut.opacity=0;b.cssBefore.opacity=1;b.cssBefore.display="block";b.cssAfter.zIndex=0};a.fn.cycle.transitions.scrollUp=function(d,e,c){d.css("overflow","hidden");c.before.push(a.fn.cycle.commonReset);var b=d.height();c.cssBefore.top=b;c.cssBefore.left=0;c.cssFirst.top=0;c.animIn.top=0;c.animOut.top=-b};a.fn.cycle.transitions.scrollDown=function(d,e,c){d.css("overflow","hidden");c.before.push(a.fn.cycle.commonReset);var b=d.height();c.cssFirst.top=0;c.cssBefore.top=-b;c.cssBefore.left=0;c.animIn.top=0;c.animOut.top=b};a.fn.cycle.transitions.scrollLeft=function(d,e,c){d.css("overflow","hidden");c.before.push(a.fn.cycle.commonReset);var b=d.width();c.cssFirst.left=0;c.cssBefore.left=b;c.cssBefore.top=0;c.animIn.left=0;c.animOut.left=0-b};a.fn.cycle.transitions.scrollRight=function(d,e,c){d.css("overflow","hidden");c.before.push(a.fn.cycle.commonReset);var b=d.width();c.cssFirst.left=0;c.cssBefore.left=-b;c.cssBefore.top=0;c.animIn.left=0;c.animOut.left=b};a.fn.cycle.transitions.scrollHorz=function(c,d,b){c.css("overflow","hidden").width();b.before.push(function(h,f,g,e){if(g.rev){e=!e}a.fn.cycle.commonReset(h,f,g);g.cssBefore.left=e?(f.cycleW-1):(1-f.cycleW);g.animOut.left=e?-h.cycleW:h.cycleW});b.cssFirst.left=0;b.cssBefore.top=0;b.animIn.left=0;b.animOut.top=0};a.fn.cycle.transitions.scrollVert=function(c,d,b){c.css("overflow","hidden");b.before.push(function(h,f,g,e){if(g.rev){e=!e}a.fn.cycle.commonReset(h,f,g);g.cssBefore.top=e?(1-f.cycleH):(f.cycleH-1);g.animOut.top=e?h.cycleH:-h.cycleH});b.cssFirst.top=0;b.cssBefore.left=0;b.animIn.top=0;b.animOut.left=0};a.fn.cycle.transitions.slideX=function(c,d,b){b.before.push(function(g,e,f){a(f.elements).not(g).hide();a.fn.cycle.commonReset(g,e,f,false,true);f.animIn.width=e.cycleW});b.cssBefore.left=0;b.cssBefore.top=0;b.cssBefore.width=0;b.animIn.width="show";b.animOut.width=0};a.fn.cycle.transitions.slideY=function(c,d,b){b.before.push(function(g,e,f){a(f.elements).not(g).hide();a.fn.cycle.commonReset(g,e,f,true,false);f.animIn.height=e.cycleH});b.cssBefore.left=0;b.cssBefore.top=0;b.cssBefore.height=0;b.animIn.height="show";b.animOut.height=0};a.fn.cycle.transitions.shuffle=function(e,f,d){var c,b=e.css("overflow","visible").width();f.css({left:0,top:0});d.before.push(function(i,g,h){a.fn.cycle.commonReset(i,g,h,true,true,true)});if(!d.speedAdjusted){d.speed=d.speed/2;d.speedAdjusted=true}d.random=0;d.shuffle=d.shuffle||{left:-b,top:15};d.els=[];for(c=0;c=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft()}else{config.wipeRight()}}else if(Math.abs(dy)>=config.min_move_y){cancelTouch();if(dy>0){config.wipeDown()}else{config.wipeUp()}}}}function onTouchStart(e){if(e.touches.length==1){startX=e.touches[0].pageX;startY=e.touches[0].pageY;isMoving=true;this.addEventListener('touchmove',onTouchMove,false)}}if('ontouchstart'in document.documentElement){this.addEventListener('touchstart',onTouchStart,false)}});return this}})(jQuery); (function(a){a.fn.quicksand=function(f,b){var e={duration:750,easing:"swing",attribute:"data-id",adjustHeight:"auto",useScaling:true,enhancement:function(g){},selector:"> *",dx:0,dy:0};a.extend(e,b);if(a.browser.msie||(typeof(a.fn.scale)=="undefined")){e.useScaling=false}var c;if(typeof(arguments[1])=="function"){var c=arguments[1]}else{if(typeof(arguments[2]=="function")){var c=arguments[2]}}return this.each(function(u){var z;var x=[];var j=a(f).clone();var y=a(this);var h=a(this).css("height");var o;var k=false;var l=a(y).offset();var m=[];var w=a(this).find(e.selector);if(a.browser.msie&&a.browser.version.substr(0,1)<7){y.html("").append(j);return}var n=0;var r=function(){if(!n){n=1;$toDelete=y.find("> *");y.prepend(s.find("> *"));$toDelete.remove();if(k){y.css("height",o)}e.enhancement(y);if(typeof c=="function"){c.call(this)}}};var v=y.offsetParent();var t=v.offset();if(v.css("position")=="relative"){if(v.get(0).nodeName.toLowerCase()=="body"){}else{t.top+=(parseFloat(v.css("border-top-width"))||0);t.left+=(parseFloat(v.css("border-left-width"))||0)}}else{t.top-=(parseFloat(v.css("border-top-width"))||0);t.left-=(parseFloat(v.css("border-left-width"))||0);t.top-=(parseFloat(v.css("margin-top"))||0);t.left-=(parseFloat(v.css("margin-left"))||0)}if(isNaN(t.left)){t.left=0}if(isNaN(t.top)){t.top=0}t.left-=e.dx;t.top-=e.dy;y.css("height",a(this).height());w.each(function(A){m[A]=a(this).offset()});a(this).stop();var q=0;var p=0;w.each(function(A){a(this).stop();var B=a(this).get(0);if(B.style.position=="absolute"){q=-e.dx;p=-e.dy}else{q=e.dx;p=e.dy}B.style.position="absolute";B.style.margin="0";B.style.top=(m[A].top-parseFloat(B.style.marginTop)-t.top+p)+"px";B.style.left=(m[A].left-parseFloat(B.style.marginLeft)-t.left+q)+"px"});var s=a(y).clone();var g=s.get(0);g.innerHTML="";g.setAttribute("id","");g.style.height="auto";g.style.width=y.width()+"px";s.append(j);s.insertBefore(y);s.css("opacity",0);g.style.zIndex=-1;g.style.margin="0";g.style.position="absolute";g.style.top=l.top-t.top+"px";g.style.left=l.left-t.left+"px";if(e.adjustHeight==="dynamic"){y.animate({height:s.height()},e.duration,e.easing)}else{if(e.adjustHeight==="auto"){o=s.height();if(parseFloat(h)x

';head.appendChild(div.childNodes[1])}if(options){$.extend(settings,options)}return this.each(function(){var selectors=["iframe[src*='player.vimeo.com']","iframe[src*='youtube.com']","iframe[src*='youtube-nocookie.com']","iframe[src*='kickstarter.com'][src*='video.html']","object","embed"];if(settings.customSelector){selectors.push(settings.customSelector)}var $allVideos=$(this).find(selectors.join(','));$allVideos=$allVideos.not("object object");$allVideos.each(function(){var $this=$(this);if(this.tagName.toLowerCase()==='embed'&&$this.parent('object').length||$this.parent('.fluid-width-video-wrapper').length){return}var height=(this.tagName.toLowerCase()==='object'||($this.attr('height')&&!isNaN(parseInt($this.attr('height'),10))))?parseInt($this.attr('height'),10):$this.height(),width=!isNaN(parseInt($this.attr('width'),10))?parseInt($this.attr('width'),10):$this.width(),aspectRatio=height/width;if(!$this.attr('id')){var videoID='fitvid'+Math.floor(Math.random()*999999);$this.attr('id',videoID)}$this.wrap('
').parent('.fluid-width-video-wrapper').css('padding-top',(aspectRatio*100)+"%");$this.removeAttr('height').removeAttr('width')})})}})(window.jQuery||window.Zepto); (function(){var e,t;jQuery.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}};e=jQuery.uaMatch(navigator.userAgent);t={};if(e.browser){t[e.browser]=true;t.version=e.version}if(t.chrome){t.webkit=true}else if(t.webkit){t.safari=true}jQuery.browser=t;jQuery.sub=function(){function e(t,n){return new e.fn.init(t,n)}jQuery.extend(true,e,this);e.superclass=this;e.fn=e.prototype=this();e.fn.constructor=e;e.sub=this.sub;e.fn.init=function(r,i){if(i&&i instanceof jQuery&&!(i instanceof e)){i=e(i)}return jQuery.fn.init.call(this,r,i,t)};e.fn.init.prototype=e.fn;var t=e(document);return e}})() !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,r,a=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(u=!0,s="Firefox",o=a.substring(n+8)):(e=a.lastIndexOf(" ")+1)<(n=a.lastIndexOf("/"))&&(s=a.substring(e,n),o=a.substring(n+1),s.toLowerCase()===s.toUpperCase()&&(s=navigator.appName)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(o=o.substring(0,r)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function r(e,t){var n=e.media;if("video"===e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"===e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var r=t.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}}function s(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var r=n>0?t.cloneNode(!0):t,a=e[n],s=a.parentNode,o=a.nextSibling;return r.appendChild(a),o?s.insertBefore(r,o):s.appendChild(r),r}}function l(e){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,P.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=r+(n?" "+t:"")}}function f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(P.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o','',''+S.i18n.play+"",""),e.push('
'),s(S.controls,"restart")&&e.push('"),s(S.controls,"rewind")&&e.push('"),s(S.controls,"play")&&e.push('",'"),s(S.controls,"fast-forward")&&e.push('"),s(S.controls,"progress")&&(e.push('','','','','',"0% "+S.i18n.buffered,""),S.tooltips.seek&&e.push('00:00'),e.push("")),s(S.controls,"current-time")&&e.push('',''+S.i18n.currentTime+"",'00:00',""),s(S.controls,"duration")&&e.push('',''+S.i18n.duration+"",'00:00',""),s(S.controls,"mute")&&e.push('"),s(S.controls,"volume")&&e.push('','",'','',""),s(S.controls,"captions")&&e.push('"),s(S.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function V(){if(Ye.supported.full&&("audio"!==Ye.type||S.fullscreen.allowAudio)&&S.fullscreen.enabled){var e=A.supportsFullScreen;e||S.fullscreen.fallback&&!B()?(Ue((e?"Native":"Fallback")+" fullscreen enabled"),m(Ye.container,S.classes.fullscreen.enabled,!0)):Ue("Fullscreen not supported and fallback disabled"),Ye.buttons&&Ye.buttons.fullscreen&&k(Ye.buttons.fullscreen,!1),X()}}function q(){if("video"===Ye.type){Y(S.selectors.captions)||Ye.videoContainer.insertAdjacentHTML("afterbegin",'
'),Ye.usingTextTracks=!1,Ye.media.textTracks&&(Ye.usingTextTracks=!0);for(var e,t="",n=Ye.media.childNodes,r=0;r=10||Ye.browser.isFirefox&&Ye.browser.version>=31)&&(Ue("Detected browser with known TextTrack issues - using manual fallback"),Ye.usingTextTracks=!1),Ye.usingTextTracks){Ue("TextTracks supported");for(var o=0;o ");for(var r=0;rYe.captions.length-1){Ye.subcount=Ye.captions.length-1;break}Ye.media.currentTime.toFixed(1)>=n(Ye.captions[Ye.subcount][0])&&Ye.media.currentTime.toFixed(1)<=r(Ye.captions[Ye.subcount][0])?(Ye.currentCaption=Ye.captions[Ye.subcount][1],R(Ye.currentCaption)):R()}}function H(){if(Ye.buttons.captions){m(Ye.container,S.classes.captions.enabled,!0);var e=Ye.storage.captionsEnabled;P.boolean(e)||(e=S.captions.defaultActive),e&&(m(Ye.container,S.classes.captions.active,!0),k(Ye.buttons.captions,!0))}}function W(e){return Ye.container.querySelectorAll(e)}function Y(e){return W(e)[0]}function B(){try{return e.self!==e.top}catch(e){return!0}}function X(){function e(e){9===e.which&&Ye.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=W("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Ye.container,"keydown",e)}function U(e,t){if(P.string(t))d(e,Ye.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Ye.media,t[n])}function J(){if(S.loadSprite){var e=L();e.absolute?(Ue("AJAX loading absolute SVG sprite"+(Ye.browser.isIE?" (due to IE)":"")),_(e.url,"sprite-plyr")):Ue("Sprite will be used as external resource directly")}var n=S.html;Ue("Injecting custom controls"),n||(n=j()),n=o(n,"{seektime}",S.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(P.string(S.selectors.controls.container)&&(r=t.querySelector(S.selectors.controls.container)),P.htmlElement(r)||(r=Ye.container),r.insertAdjacentHTML("beforeend",n),S.tooltips.controls)for(var a=W([S.selectors.controls.wrapper," ",S.selectors.labels," .",S.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,S.classes.hidden,!1),m(i,S.classes.tooltip,!0)}}function z(){try{return Ye.controls=Y(S.selectors.controls.wrapper),Ye.buttons={},Ye.buttons.seek=Y(S.selectors.buttons.seek),Ye.buttons.play=W(S.selectors.buttons.play),Ye.buttons.pause=Y(S.selectors.buttons.pause),Ye.buttons.restart=Y(S.selectors.buttons.restart),Ye.buttons.rewind=Y(S.selectors.buttons.rewind),Ye.buttons.forward=Y(S.selectors.buttons.forward),Ye.buttons.fullscreen=Y(S.selectors.buttons.fullscreen),Ye.buttons.mute=Y(S.selectors.buttons.mute),Ye.buttons.captions=Y(S.selectors.buttons.captions),Ye.progress={},Ye.progress.container=Y(S.selectors.progress.container),Ye.progress.buffer={},Ye.progress.buffer.bar=Y(S.selectors.progress.buffer),Ye.progress.buffer.text=Ye.progress.buffer.bar&&Ye.progress.buffer.bar.getElementsByTagName("span")[0],Ye.progress.played=Y(S.selectors.progress.played),Ye.progress.tooltip=Ye.progress.container&&Ye.progress.container.querySelector("."+S.classes.tooltip),Ye.volume={},Ye.volume.input=Y(S.selectors.volume.input),Ye.volume.display=Y(S.selectors.volume.display),Ye.duration=Y(S.selectors.duration),Ye.currentTime=Y(S.selectors.currentTime),Ye.seekTime=W(S.selectors.seekTime),!0}catch(e){return Je("It looks like there is a problem with your controls HTML"),G(!0),!1}}function $(){m(Ye.container,S.selectors.container.replace(".",""),Ye.supported.full)}function G(e){e&&s(S.types.html5,Ye.type)?Ye.media.setAttribute("controls",""):Ye.media.removeAttribute("controls")}function K(e){var t=S.i18n.play;if(P.string(S.title)&&S.title.length&&(t+=", "+S.title,Ye.container.setAttribute("aria-label",S.title)),Ye.supported.full&&Ye.buttons.play)for(var n=Ye.buttons.play.length-1;n>=0;n--)Ye.buttons.play[n].setAttribute("aria-label",t);P.htmlElement(e)&&e.setAttribute("title",S.i18n.frameTitle.replace("{title}",S.title))}function Q(){var t=null;Ye.storage={},M.supported&&S.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(S.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?Z({volume:parseFloat(t)}):Ye.storage=JSON.parse(t)))}function Z(t){M.supported&&S.storage.enabled&&(x(Ye.storage,t),e.localStorage.setItem(S.storage.key,JSON.stringify(Ye.storage)))}function ee(){if(!Ye.media)return void Je("No media element found!");if(Ye.supported.full&&(m(Ye.container,S.classes.type.replace("{0}",Ye.type),!0),s(S.types.embed,Ye.type)&&m(Ye.container,S.classes.type.replace("{0}","video"),!0),m(Ye.container,S.classes.stopped,S.autoplay),m(Ye.ontainer,S.classes.isIos,Ye.browser.isIos),m(Ye.container,S.classes.isTouch,Ye.browser.isTouch),"video"===Ye.type)){var e=t.createElement("div");e.setAttribute("class",S.classes.videoWrapper),i(Ye.media,e),Ye.videoContainer=e}s(S.types.embed,Ye.type)&&te()}function te(){for(var n=t.createElement("div"),r=Ye.embedId,s=Ye.type+"-"+Math.floor(1e4*Math.random()),o=W('[id^="'+Ye.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Ye.media,S.classes.videoWrapper,!0),m(Ye.media,S.classes.embedWrapper,!0),"youtube"===Ye.type)Ye.media.appendChild(n),n.setAttribute("id",s),P.object(e.YT)?re(r,n):(a(S.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){re(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ye.type)if(Ye.supported.full?Ye.media.appendChild(n):n=Ye.media,n.setAttribute("id",s),P.object(e.Vimeo))ae(r,n);else{a(S.urls.vimeo.api);var u=e.setInterval(function(){P.object(e.Vimeo)&&(e.clearInterval(u),ae(r,n))},50)}else if("soundcloud"===Ye.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(d),Ye.media.appendChild(n),e.SC||a(S.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),se.call(d))},50)}}function ne(){Ye.supported.full&&(De(),He()),K(Y("iframe"))}function re(t,n){Ye.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:S.autoplay?1:0,controls:Ye.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:S.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){C(Ye.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ye.media.play=function(){n.playVideo(),Ye.media.paused=!1},Ye.media.pause=function(){n.pauseVideo(),Ye.media.paused=!0},Ye.media.stop=function(){n.stopVideo(),Ye.media.paused=!0},Ye.media.duration=n.getDuration(),Ye.media.paused=!0,Ye.media.currentTime=0,Ye.media.muted=n.isMuted(),S.title=n.getVideoData().title,Ye.supported.full&&Ye.media.querySelector("iframe").setAttribute("tabindex","-1"),ne(),C(Ye.media,"timeupdate"),C(Ye.media,"durationchange"),e.clearInterval(Be.buffering),Be.buffering=e.setInterval(function(){Ye.media.buffered=n.getVideoLoadedFraction(),(null===Ye.media.lastBuffered||Ye.media.lastBufferedr&&(t=r),Ae(t);try{Ye.media.currentTime=t.toFixed(4)}catch(e){}if(s(S.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.seekTo(t);break;case"vimeo":Ye.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ye.embed.seekTo(1e3*t)}n&&ie(),C(Ye.media,"timeupdate"),Ye.media.seeking=!0}Ue("Seeking to "+Ye.media.currentTime+" seconds"),D(t)}function pe(){var e=parseInt(S.duration),t=0;return null===Ye.media.duration||isNaN(Ye.media.duration)||(t=Ye.media.duration),isNaN(e)?t:e}function me(){m(Ye.container,S.classes.playing,!Ye.media.paused),m(Ye.container,S.classes.stopped,Ye.media.paused),Ne(Ye.media.paused)}function fe(){I={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ye(){e.scrollTo(I.x,I.y)}function be(e){var n=A.supportsFullScreen;if(n){if(!e||e.type!==A.fullScreenEventName)return A.isFullScreen(Ye.container)?A.cancelFullScreen():(fe(),A.requestFullScreen(Ye.container)),void(Ye.isFullscreen=A.isFullScreen(Ye.container));Ye.isFullscreen=A.isFullScreen(Ye.container)}else Ye.isFullscreen=!Ye.isFullscreen,t.body.style.overflow=Ye.isFullscreen?"hidden":"";m(Ye.container,S.classes.fullscreen.active,Ye.isFullscreen),X(Ye.isFullscreen),Ye.buttons&&Ye.buttons.fullscreen&&k(Ye.buttons.fullscreen,Ye.isFullscreen),C(Ye.container,Ye.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ye.isFullscreen&&n&&ye()}function ve(e){if(P.boolean(e)||(e=!Ye.media.muted),k(Ye.buttons.mute,e),Ye.media.muted=e,0===Ye.media.volume&&ge(S.volume),s(S.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed[Ye.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.muted?0:parseFloat(S.volume/S.volumeMax))}C(Ye.media,"volumechange")}}function ge(e){var t=S.volumeMax,n=S.volumeMin;if(P.undefined(e)&&(e=Ye.storage.volume),(null===e||isNaN(e))&&(e=S.volume),e>t&&(e=t),e0&&ve()}function he(e){var t=Ye.media.muted?0:Ye.media.volume*S.volumeMax;P.number(e)||(e=S.volumeStep),ge(t+e)}function ke(e){var t=Ye.media.muted?0:Ye.media.volume*S.volumeMax;P.number(e)||(e=S.volumeStep),ge(t-e)}function we(){var e=Ye.media.muted?0:Ye.media.volume*S.volumeMax;Ye.supported.full&&(Ye.volume.input&&(Ye.volume.input.value=e),Ye.volume.display&&(Ye.volume.display.value=e)),Z({volume:e}),m(Ye.container,S.classes.muted,0===e),Ye.supported.full&&Ye.buttons.mute&&k(Ye.buttons.mute,0===e)}function xe(e){Ye.supported.full&&Ye.buttons.captions&&(P.boolean(e)||(e=Ye.container.className.indexOf(S.classes.captions.active)===-1),Ye.captionsEnabled=e,k(Ye.buttons.captions,Ye.captionsEnabled),m(Ye.container,S.classes.captions.active,Ye.captionsEnabled),C(Ye.container,Ye.captionsEnabled?"captionsenabled":"captionsdisabled",!0),Z({captionsEnabled:Ye.captionsEnabled}))}function Te(e){var t="waiting"===e.type;clearTimeout(Be.loading),Be.loading=setTimeout(function(){m(Ye.container,S.classes.loading,t),Ne(t)},t?250:0)}function Se(e){if(Ye.supported.full){var t=Ye.progress.played,n=0,r=pe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ye.controls.pressed)return;n=w(Ye.media.currentTime,r),"timeupdate"===e.type&&Ye.buttons.seek&&(Ye.buttons.seek.value=n);break;case"playing":case"progress":t=Ye.progress.buffer,n=function(){var e=Ye.media.buffered;return e&&e.length?w(e.end(0),r):P.number(e)?100*e:0}()}_e(t,n)}}function _e(e,t){if(Ye.supported.full){if(P.undefined(t)&&(t=0),P.undefined(e)){if(!Ye.progress||!Ye.progress.buffer)return;e=Ye.progress.buffer}P.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ee(e,t){if(t){isNaN(e)&&(e=0),Ye.secs=parseInt(e%60),Ye.mins=parseInt(e/60%60),Ye.hours=parseInt(e/60/60%60);var n=parseInt(pe()/60/60%60)>0;Ye.secs=("0"+Ye.secs).slice(-2),Ye.mins=("0"+Ye.mins).slice(-2),t.innerHTML=(n?Ye.hours+":":"")+Ye.mins+":"+Ye.secs}}function Ce(){if(Ye.supported.full){var e=pe()||0;!Ye.duration&&S.displayDuration&&Ye.media.paused&&Ee(e,Ye.currentTime),Ye.duration&&Ee(e,Ye.duration),Ie()}}function Fe(e){Ee(Ye.media.currentTime,Ye.currentTime),e&&"timeupdate"===e.type&&Ye.media.seeking||Se(e)}function Ae(e){P.number(e)||(e=0);var t=pe(),n=w(e,t);Ye.progress&&Ye.progress.played&&(Ye.progress.played.value=n),Ye.buttons&&Ye.buttons.seek&&(Ye.buttons.seek.value=n)}function Ie(e){var t=pe();if(S.tooltips.seek&&Ye.progress.container&&0!==t){var n=Ye.progress.container.getBoundingClientRect(),r=0,a=S.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Ye.progress.tooltip,a))return;r=Ye.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Ee(t/100*r,Ye.progress.tooltip),Ye.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Ye.progress.tooltip,a,"mouseenter"===e.type)}}function Ne(t){if(S.hideControls&&"audio"!==Ye.type){var n=0,r=!1,a=t,o=f(Ye.container,S.classes.loading);if(P.boolean(t)||(t&&t.type?(r="enterfullscreen"===t.type,a=s(["mousemove","touchstart","mouseenter","focus"],t.type),s(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):a=f(Ye.container,S.classes.hideControls)),e.clearTimeout(Be.hover),a||Ye.media.paused||o){if(m(Ye.container,S.classes.hideControls,!1),Ye.media.paused||o)return;Ye.browser.isTouch&&(n=3e3)}a&&Ye.media.paused||(Be.hover=e.setTimeout(function(){(!Ye.controls.pressed&&!Ye.controls.hover||r)&&m(Ye.container,S.classes.hideControls,!0)},n))}}function Pe(e){if(!P.undefined(e))return void Me(e);var t;switch(Ye.type){case"youtube":t=Ye.embed.getVideoUrl();break;case"vimeo":Ye.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ye.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ye.media.currentSrc}return t||""}function Me(e){function n(){if(Ye.embed=null,l(Ye.media),"video"===Ye.type&&Ye.videoContainer&&l(Ye.videoContainer),Ye.container&&Ye.container.removeAttribute("class"),"type"in e&&(Ye.type=e.type,"video"===Ye.type)){var n=e.sources[0];"type"in n&&s(S.types.embed,n.type)&&(Ye.type=n.type)}switch(Ye.supported=E(Ye.type),Ye.type){case"video":Ye.media=t.createElement("video");break;case"audio":Ye.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ye.media=t.createElement("div"),Ye.embedId=e.sources[0].src}u(Ye.container,Ye.media),P.boolean(e.autoplay)&&(S.autoplay=e.autoplay),s(S.types.html5,Ye.type)&&(S.crossorigin&&Ye.media.setAttribute("crossorigin",""),S.autoplay&&Ye.media.setAttribute("autoplay",""),"poster"in e&&Ye.media.setAttribute("poster",e.poster),S.loop&&Ye.media.setAttribute("loop","")),m(Ye.container,S.classes.fullscreen.active,Ye.isFullscreen),m(Ye.container,S.classes.captions.active,Ye.captionsEnabled),$(),s(S.types.html5,Ye.type)&&U("source",e.sources),ee(),s(S.types.html5,Ye.type)&&("tracks"in e&&U("track",e.tracks),Ye.media.load()),(s(S.types.html5,Ye.type)||s(S.types.embed,Ye.type)&&!Ye.supported.full)&&(De(),He()),S.title=e.title,K()}return P.object(e)&&"sources"in e&&e.sources.length?(m(Ye.container,S.classes.ready,!1),ie(),Ae(),_e(),Ve(),void qe(n,!1)):void Je("Invalid source format")}function Oe(e){"video"===Ye.type&&Ye.media.setAttribute("poster",e)}function Le(){function n(){var e=le(),t=Ye.buttons[e?"play":"pause"],n=Ye.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,S.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,S.classes.tabFocus,!1),m(n,S.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ye.buttons){var n=Ye.buttons[t];if(P.nodeList(n))for(var r=0;r0)&&(t?ke(n):he(n)),(e.deltaY>0||e.deltaX<0)&&(t?he(n):ke(n))})}function je(){if(g(Ye.media,"timeupdate seeking",Fe),g(Ye.media,"timeupdate",D),g(Ye.media,"durationchange loadedmetadata",Ce),g(Ye.media,"ended",function(){"video"===Ye.type&&S.showPosterOnEnd&&("video"===Ye.type&&R(),de(),Ye.media.load())}),g(Ye.media,"progress playing",Se),g(Ye.media,"volumechange",we),g(Ye.media,"play pause ended",me),g(Ye.media,"waiting canplay seeked",Te),S.clickToPlay&&"audio"!==Ye.type){var e=Y("."+S.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){S.hideControls&&Ye.browser.isTouch&&!Ye.media.paused||(Ye.media.paused?oe():Ye.media.ended?(de(),oe()):ie())})}S.disableContextMenu&&g(Ye.media,"contextmenu",function(e){e.preventDefault()}),g(Ye.media,S.events.concat(["keyup","keydown"]).join(" "),function(e){C(Ye.container,e.type,!0)})}function Ve(){if(s(S.types.html5,Ye.type)){for(var e=Ye.media.querySelectorAll("source"),t=0;t1){if(i=e({path:"/"},t.defaults,i),"number"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}return r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape),document.cookie=[n,"=",r,i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,d=0;de;++e){var r=a[e].trim().match(/[^\.]+/i)[0];n(t(this),r,i)}})}function i(e){t.fn[e+"First"]=function(){var n=t.makeArray(arguments),i=n.shift();return i&&(t.fn[e].apply(this,arguments),r(this,i)),this}}var a=t.fn.jquery.split("."),s=parseInt(a[0]),f=parseInt(a[1]),u=1>s||1==s&&7>f;i("bind"),i("one"),t.fn.delegateFirst=function(){var e=t.makeArray(arguments),n=e[1];return n&&(e.splice(0,2),t.fn.delegate.apply(this,arguments),r(this,n,!0)),this},t.fn.liveFirst=function(){var e=t.makeArray(arguments);return e.unshift(this.selector),t.fn.delegateFirst.apply(t(document),e),this},u||(t.fn.onFirst=function(e,n){var i=t(this),a="string"==typeof n;if(t.fn.on.apply(i,arguments),"object"==typeof e)for(type in e)e.hasOwnProperty(type)&&r(i,type,a);else"string"==typeof e&&r(i,e,a);return i})})(jQuery); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e.Vimeo=e.Vimeo||{},e.Vimeo.Player=t())}(this,function(){"use strict";function e(e,t){return t={exports:{}},e(t,t.exports),t.exports}function t(e,t,n){var r=E.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),E.set(e.element,r)}function n(e,t){return(E.get(e.element)||{})[t]||[]}function r(e,t,n){var r=E.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],E.set(e.element,r),!0;var i=r[t].indexOf(n);return-1!==i&&r[t].splice(i,1),E.set(e.element,r),r[t]&&0===r[t].length}function i(e,t){var i=n(e,t);if(i.length<1)return!1;var o=i.shift();return r(e,t,o),o}function o(e,t){var n=E.get(e);E.set(t,n),E.delete(e)}function a(e,t){return 0===e.indexOf(t.toLowerCase())?e:""+t.toLowerCase()+e.substr(0,1).toUpperCase()+e.substr(1)}function u(e){return e instanceof window.HTMLElement}function s(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}function c(e){return/^(https?:)?\/\/((player|www).)?vimeo.com(?=$|\/)/.test(e)}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.id,n=e.url,r=t||n;if(!r)throw new Error("An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.");if(s(r))return"https://vimeo.com/"+r;if(c(r))return r.replace("http:","https:");if(t)throw new TypeError("“"+t+"” is not a valid video id.");throw new TypeError("“"+r+"” is not a vimeo.com url.")}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return T.reduce(function(t,n){var r=e.getAttribute("data-vimeo-"+n);return(r||""===r)&&(t[n]=""===r?1:r),t},t)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(function(n,r){if(!c(e))throw new TypeError("“"+e+"” is not a vimeo.com url.");var i="https://vimeo.com/api/oembed.json?url="+encodeURIComponent(e);for(var o in t)t.hasOwnProperty(o)&&(i+="&"+o+"="+encodeURIComponent(t[o]));var a="XDomainRequest"in window?new XDomainRequest:new XMLHttpRequest;a.open("GET",i,!0),a.onload=function(){if(404===a.status)return void r(new Error("“"+e+"” was not found."));if(403===a.status)return void r(new Error("“"+e+"” is not embeddable."));try{var t=JSON.parse(a.responseText);n(t)}catch(e){r(e)}},a.onerror=function(){var e=a.status?" ("+a.status+")":"";r(new Error("There was an error fetching the embed code from Vimeo"+e+"."))},a.send()})}function d(e,t){var n=e.html;if(!t)throw new TypeError("An element must be provided");if(null!==t.getAttribute("data-vimeo-initialized"))return t.querySelector("iframe");var r=document.createElement("div");return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute("data-vimeo-initialized","true"),t.querySelector("iframe")}function v(e){return"string"==typeof e&&(e=JSON.parse(e)),e}function p(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var i=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,"$1"));i>=8&&i<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}}function y(e,t){t=v(t);var o=[],a=void 0;if(t.event){if("error"===t.event){n(e,t.data.method).forEach(function(n){var i=new Error(t.data.message);i.name=t.data.name,n.reject(i),r(e,t.data.method,n)})}o=n(e,"event:"+t.event),a=t.data}else if(t.method){var u=i(e,t.method);u&&(o.push(u),a=t.value)}o.forEach(function(t){try{if("function"==typeof t)return void t.call(e,a);t.resolve(a)}catch(e){}})}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var g=void 0!==Array.prototype.indexOf,w=void 0!==window.postMessage;if(!g||!w)throw new Error("Sorry, the Vimeo Player API is not available in this browser.");var k="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b=(e(function(e,t){!function(e){function t(e,t){function r(e){if(!this||this.constructor!==r)return new r(e);this._keys=[],this._values=[],this._itp=[],this.objectOnly=t,e&&n.call(this,e)}return t||w(e,"size",{get:y}),e.constructor=r,r.prototype=e,r}function n(e){this.add?e.forEach(this.add,this):e.forEach(function(e){this.set(e[0],e[1])},this)}function r(e){return this.has(e)&&(this._keys.splice(g,1),this._values.splice(g,1),this._itp.forEach(function(e){g0&&e(r,u))}catch(e){a.call(new s(u),e)}}}function a(t){var n=this;n.triggered||(n.triggered=!0,n.def&&(n=n.def),n.msg=t,n.state=2,n.chain.length>0&&e(r,n))}function u(e,t,n,r){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(m(this,Player),window.jQuery&&e instanceof jQuery&&(e.length>1&&window.console&&console.warn&&console.warn("A jQuery object with multiple elements was passed, using the first element."),e=e[0]),"string"==typeof e&&(e=document.getElementById(e)),!u(e))throw new TypeError("You must pass either a valid element or a valid id.");if("IFRAME"!==e.nodeName){var r=e.querySelector("iframe");r&&(e=r)}if("IFRAME"===e.nodeName&&!c(e.getAttribute("src")||""))throw new Error("The player element passed isn’t a Vimeo embed.");if(j.has(e))return j.get(e);this.element=e,this.origin="*";var i=new b(function(r,i){var a=function(e){if(c(e.origin)&&t.element.contentWindow===e.source){"*"===t.origin&&(t.origin=e.origin);var n=v(e.data),i="event"in n&&"ready"===n.event,o="method"in n&&"ping"===n.method;if(i||o)return t.element.setAttribute("data-ready","true"),void r();y(t,n)}};if(window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent&&window.attachEvent("onmessage",a),"IFRAME"!==t.element.nodeName){var u=l(e,n);h(f(u),u).then(function(n){var r=d(n,e);return t.element=r,o(e,r),j.set(t.element,t),n}).catch(function(e){return i(e)})}});return x.set(this,i),j.set(this.element,this),"IFRAME"===this.element.nodeName&&p(this,"ping"),this}return _(Player,[{key:"callMethod",value:function(e){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new b(function(i,o){return n.ready().then(function(){t(n,e,{resolve:i,reject:o}),p(n,e,r)})})}},{key:"get",value:function(e){var n=this;return new b(function(r,i){return e=a(e,"get"),n.ready().then(function(){t(n,e,{resolve:r,reject:i}),p(n,e)})})}},{key:"set",value:function(e,n){var r=this;return b.resolve(n).then(function(n){if(e=a(e,"set"),void 0===n||null===n)throw new TypeError("There must be a value to set.");return r.ready().then(function(){return new b(function(i,o){t(r,e,{resolve:i,reject:o}),p(r,e,n)})})})}},{key:"on",value:function(e,r){if(!e)throw new TypeError("You must pass an event name.");if(!r)throw new TypeError("You must pass a callback function.");if("function"!=typeof r)throw new TypeError("The callback must be a function.");0===n(this,"event:"+e).length&&this.callMethod("addEventListener",e).catch(function(){}),t(this,"event:"+e,r)}},{key:"off",value:function(e,t){if(!e)throw new TypeError("You must pass an event name.");if(t&&"function"!=typeof t)throw new TypeError("The callback must be a function.");r(this,"event:"+e,t)&&this.callMethod("removeEventListener",e).catch(function(e){})}},{key:"loadVideo",value:function(e){return this.callMethod("loadVideo",e)}},{key:"ready",value:function(){var e=x.get(this);return b.resolve(e)}},{key:"addCuePoint",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.callMethod("addCuePoint",{time:e,data:t})}},{key:"removeCuePoint",value:function(e){return this.callMethod("removeCuePoint",e)}},{key:"enableTextTrack",value:function(e,t){if(!e)throw new TypeError("You must pass a language.");return this.callMethod("enableTextTrack",{language:e,kind:t})}},{key:"disableTextTrack",value:function(){return this.callMethod("disableTextTrack")}},{key:"pause",value:function(){return this.callMethod("pause")}},{key:"play",value:function(){return this.callMethod("play")}},{key:"unload",value:function(){return this.callMethod("unload")}},{key:"getAutopause",value:function(){return this.get("autopause")}},{key:"setAutopause",value:function(e){return this.set("autopause",e)}},{key:"getColor",value:function(){return this.get("color")}},{key:"setColor",value:function(e){return this.set("color",e)}},{key:"getCuePoints",value:function(){return this.get("cuePoints")}},{key:"getCurrentTime",value:function(){return this.get("currentTime")}},{key:"setCurrentTime",value:function(e){return this.set("currentTime",e)}},{key:"getDuration",value:function(){return this.get("duration")}},{key:"getEnded",value:function(){return this.get("ended")}},{key:"getLoop",value:function(){return this.get("loop")}},{key:"setLoop",value:function(e){return this.set("loop",e)}},{key:"getPaused",value:function(){return this.get("paused")}},{key:"getPlaybackRate",value:function(){return this.get("playbackRate")}},{key:"setPlaybackRate",value:function(e){return this.set("playbackRate",e)}},{key:"getTextTracks",value:function(){return this.get("textTracks")}},{key:"getVideoEmbedCode",value:function(){return this.get("videoEmbedCode")}},{key:"getVideoId",value:function(){return this.get("videoId")}},{key:"getVideoTitle",value:function(){return this.get("videoTitle")}},{key:"getVideoWidth",value:function(){return this.get("videoWidth")}},{key:"getVideoHeight",value:function(){return this.get("videoHeight")}},{key:"getVideoUrl",value:function(){return this.get("videoUrl")}},{key:"getVolume",value:function(){return this.get("volume")}},{key:"setVolume",value:function(e){return this.set("volume",e)}}]),Player}();return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=[].slice.call(e.querySelectorAll("[data-vimeo-id], [data-vimeo-url]")),n=function(e){"console"in window&&console.error&&console.error("There was an error creating an embed: "+e)};t.forEach(function(e){try{if(null!==e.getAttribute("data-vimeo-defer"))return;var t=l(e);h(f(t),t).then(function(t){return d(t,e)}).catch(n)}catch(e){n(e)}})}(),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=function(t){if(c(t.origin)&&t.data&&"spacechange"===t.data.event)for(var n=e.querySelectorAll("iframe"),r=0;r>> 0; if(len===0){ return false; } var n=fromIndex | 0; var k=Math.max(n >=0 ? n:len - Math.abs(n), 0); function sameValueZero(x, y){ return x===y||(typeof x==='number'&&typeof y==='number'&&isNaN(x)&&isNaN(y)); } while (k < len){ if(sameValueZero(o[k], searchElement)){ return true; } k++; } return false; }}); } if(!String.prototype.startsWith){ Object.defineProperty(String.prototype, 'startsWith', { enumerable: false, configurable: false, writable: false, value: function (searchString, position){ position=position||0; return this.indexOf(searchString, position)===position; }}); } if(!String.prototype.trim){ (function (){ String.prototype.trim=function (){ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); };})(); } ! function ($, options){ if(options.debug){ console.log('PYS:', options); } var firstVisit=false; var isTrackEventForGA=[]; var isAdsLoad=false; var dummyPinterest=function (){ return { tag: function(){ return "pinterest"; }, isEnabled: function (){}, disable: function (){}, loadPixel: function (){}, fireEvent: function (name, data){ return false; }, onAdSenseEvent: function (event){}, onClickEvent: function (params){}, onWatchVideo: function (params){}, onCommentEvent: function (event){}, onFormEvent: function (params){}, onDownloadEvent: function (params){}, onWooAddToCartOnButtonEvent: function (product_id){}, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){}, onWooRemoveFromCartEvent: function (cart_item_hash){}, onWooAffiliateEvent: function (product_id){}, onWooPayPalEvent: function (event){}, onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){}, onEddRemoveFromCartEvent: function (item){}, onPageScroll: function (event){}, onTime: function (event){ }, }}(); var dummyBing=function (){ return { tag: function(){ return "bing"; }, isEnabled: function (){}, disable: function (){}, loadPixel: function (){}, fireEvent: function (name, data){ return false; }, onAdSenseEvent: function (event){}, onClickEvent: function (params){}, onWatchVideo: function (params){}, onCommentEvent: function (event){}, onFormEvent: function (params){}, onDownloadEvent: function (params){}, onWooAddToCartOnButtonEvent: function (product_id){}, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){}, onWooRemoveFromCartEvent: function (cart_item_hash){}, onWooAffiliateEvent: function (product_id){}, onWooPayPalEvent: function (event){}, onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){}, onEddRemoveFromCartEvent: function (item){}, onPageScroll: function (event){}, onTime: function (event){ }, }}(); var Utils=function (options){ var Pinterest=dummyPinterest; var Bing=dummyBing; var gtag_loaded=false; let isNewSession=checkSession(); function loadPixels(){ if(!options.gdpr.all_disabled_by_api){ if(!options.gdpr.tiktok_disabled_by_api){ TikTok.loadPixel(); } if(!options.gdpr.facebook_disabled_by_api){ Facebook.loadPixel(); } if(!options.gdpr.analytics_disabled_by_api){ Analytics.loadPixel(); } if(!options.gdpr.google_ads_disabled_by_api){ GAds.loadPixel(); } if(!options.gdpr.pinterest_disabled_by_api){ Pinterest.loadPixel(); } if(!options.gdpr.bing_disabled_by_api){ Bing.loadPixel(); }} if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){ if(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1){ Analytics.loadPixel(); } if(typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1){ GAds.loadPixel(); }} } function isJSApiAttrEnabled(url){ return url.indexOf('enablejsapi') > -1; } function isOriginAttrEnabled(url){ return url.indexOf('origin') > -1; } function getVideoCompletionMarks(duration){ var marks={}; var points=[0, 10, 50, 90, 100]; for (var i=0; i < points.length; i++){ var _point=points[i]; var _mark=_point + '%'; var _time=duration * _point / 100; if(_point===100){ _time=_time - 1; } marks[_mark]=Math.floor(_time); } return marks; } function tagIsYouTubeVideo(tag){ var src=tag.src||''; return src.indexOf('youtube.com/embed/') > -1||src.indexOf('youtube.com/v/') > -1; } function tagIsYouTubeAsyncVideo(tag){ if(tag.src&&tag.src.indexOf("data:image")!==-1) return false; var keys=Object.keys(tag.dataset); for(var i=0;i -1){ var src=tag.dataset[keys[i]]; return src.indexOf('youtube.com/embed/') > -1||src.indexOf('youtube.com/v/') > -1; }} return false; } function normalizeYouTubeIframe(tag){ var loc=window.location; var a=document.createElement('a'); a.href=tag.src; a.hostname='www.youtube.com'; a.protocol=loc.protocol; var tmpPathname=a.pathname.charAt(0)==='/' ? a.pathname:'/' + a.pathname; if(!isJSApiAttrEnabled(a.search)){ a.search=(a.search.length > 0 ? a.search + '&':'') + 'enablejsapi=1'; } if(!isOriginAttrEnabled(a.search)&&loc.hostname.indexOf('localhost')===-1){ var port=loc.port ? ':' + loc.port:''; var origin=loc.protocol + '%2F%2F' + loc.hostname + port; a.search=a.search + '&origin=' + origin; } if(tag.type==='application/x-shockwave-flash'){ var newIframe=document.createElement('iframe'); newIframe.height=tag.height; newIframe.width=tag.width; tmpPathname=tmpPathname.replace('/v/', '/embed/'); tag.parentNode.parentNode.replaceChild(newIframe, tag.parentNode); tag=newIframe; } a.pathname=tmpPathname; if(tag.src!==a.href + a.hash){ tag.src=a.href + a.hash; } return tag; } function addYouTubeEvents(iframe){ var player=YT.get(iframe.id); if(!player){ player=new YT.Player(iframe, {}); } if(typeof iframe.pauseFlag==='undefined'){ iframe.pauseFlag=false; player.addEventListener('onStateChange', function (evt){ onYouTubePlayerStateChange(evt, iframe); }); }} function addDynYouTubeVideos(el){ if(el.tagName==='IFRAME' && tagIsYouTubeVideo(el) && isJSApiAttrEnabled(el.src) && isOriginAttrEnabled(el.src)){ addYouTubeEvents(el); }} function onYouTubePlayerStateChange(evt, iframe){ var stateIndex=evt.data; var player=evt.target; var targetVideoUrl=player.getVideoUrl(); var targetVideoId=targetVideoUrl.match(/[?&]v=([^&#]*)/)[1]; var playerState=player.getPlayerState(); var marks=getVideoCompletionMarks(player.getDuration()); iframe.playTracker=iframe.playTracker||{}; if(playerState===YT.PlayerState.PLAYING&&!iframe.timer){ clearInterval(iframe.timer); iframe.timer=setInterval(function (){ checkYouTubeCompletion(player, marks, iframe.videoId); }, 1000); }else{ clearInterval(iframe.timer); iframe.timer=false; } if(stateIndex===YT.PlayerState.PLAYING){ iframe.playTracker[targetVideoId]=true; iframe.videoId=targetVideoId; iframe.pauseFlag=false; } if(!iframe.playTracker[iframe.videoId]){ return false; } if(stateIndex===YT.PlayerState.PAUSED){ if(!iframe.pauseFlag){ iframe.pauseFlag=true; }else{ return false; }} } function checkYouTubeCompletion(player, marks, videoId){ var currentTime=player.getCurrentTime(); player[videoId]=player[videoId]||{}; for (var key in marks){ if(marks[key] <=currentTime&&!player[videoId][key]){ player[videoId][key]=true; var data=player.getVideoData(); if(key==='0%'){ key='play'; } var params={ video_type: 'youtube', video_id: videoId, video_title: data.title, }; if(options.automatic.enable_video && options.automatic.enable_youtube && options.dynamicEvents.hasOwnProperty("automatic_event_video") ){ var pixels=Object.keys(options.dynamicEvents.automatic_event_video); for (var i=0; i < pixels.length; i++){ var event=Utils.clone(options.dynamicEvents.automatic_event_video[pixels[i]]); event.params["progress"]=key Utils.copyProperties(params, event.params) if(pixels[i]==='tiktok'){ var time_trigger=event.automatic_event_video_trigger; if(currentTime >=marks[time_trigger]&&event.fired!==true){ getPixelBySlag(pixels[i]).onWatchVideo(event); options.dynamicEvents.automatic_event_video[pixels[i]].fired=true; }}else{ Utils.copyProperties(Utils.getRequestParams(), event.params); getPixelBySlag(pixels[i]).onWatchVideo(event); }} } if(key=="play"){ $.each(options.triggerEventTypes, function (triggerType, events){ $.each(events, function (eventId, triggers){ switch (triggerType){ case 'video_play': Utils.fireTriggerEvent(eventId); break; }}); }); }} }} function tagIsVimeoVideo(tag){ var src=tag.src||''; return src.indexOf('player.vimeo.com/video/') > -1; } function tagIsAsincVimeoVideo(tag){ if(tag.src) return false; var keys=Object.keys(tag.dataset); for(var i=0;i -1){ var src=tag.dataset[keys[i]]; return src.indexOf('player.vimeo.com/video/') > -1; }} return false; } function attachVimeoPlayerToTag(tag){ var player=new Vimeo.Player(tag); player.getDuration().then(function (pl,seconds){ pl.pysMarks=getVideoCompletionMarks(seconds); }.bind(null,player)); player.getVideoTitle().then(function (pl,title){ pl.pysVideoTitle=title; }.bind(null,player)); player.getVideoId().then(function (pl,id){ pl.pysVideoId=id; }.bind(null,player)); player.pysCompletedMarks={}; player.on('play', function (){ if(this.pysTimer){ return; } clearInterval(this.pysTimer); var player=this; this.pysTimer=setInterval(function (){ checkVimeoCompletion(player); }, 1000); }); player.on('pause', function (){ clearInterval(this.pysTimer); this.pysTimer=false; }); player.on('ended', function (){ clearInterval(this.pysTimer); this.pysTimer=false; }); } function checkVimeoCompletion(player){ player.getCurrentTime().then(function (seconds){ for (var key in player.pysMarks){ if(player.pysMarks[key] <=seconds&&!player.pysCompletedMarks[key]){ player.pysCompletedMarks[key]=true; if(key==='0%'){ key='play'; } var params={ video_type: 'vimeo', video_id: player.pysVideoId, video_title: player.pysVideoTitle, }; if(options.automatic.enable_video && options.automatic.enable_vimeo && options.dynamicEvents.hasOwnProperty("automatic_event_video") ){ var pixels=Object.keys(options.dynamicEvents.automatic_event_video); for (var i=0; i < pixels.length; i++){ var event=Utils.clone(options.dynamicEvents.automatic_event_video[pixels[i]]); event.params["progress"]=key Utils.copyProperties(params, event.params); if(pixels[i]==='tiktok'){ var time_trigger=event.automatic_event_video_trigger; if(seconds >=player.pysMarks[time_trigger]&&event.fired!==true){ getPixelBySlag(pixels[i]).onWatchVideo(event); options.dynamicEvents.automatic_event_video[pixels[i]].fired=true; }}else{ Utils.copyProperties(Utils.getRequestParams(), event.params); getPixelBySlag(pixels[i]).onWatchVideo(event); }} } if(key=="play"){ $.each(options.triggerEventTypes, function (triggerType, events){ $.each(events, function (eventId, triggers){ switch (triggerType){ case 'video_play': Utils.fireTriggerEvent(eventId); break; }}); }); }} }}); } var utmTerms=['utm_source', 'utm_medium', 'utm_campaign', 'utm_content' ,'utm_term']; var utmId=['fbadid', 'gadid', 'padid', 'bingid']; var requestParams=[]; function getDomain(url){ url=url.replace(/(https?:\/\/)?(www.)?/i, ''); if(url.indexOf('/')!==-1){ return url.split('/')[0]; } return url; } function checkSession(){ if(Cookies.get('pys_start_session')===undefined || Cookies.get('pys_session_limit')===undefined){ firstVisit=true; return true } return false } function getTrafficSource(){ try { let referrer=document.referrer.toString(), source; let direct=referrer.length===0; let internal=direct ? false:referrer.indexOf(options.siteUrl)===0; let external = !direct&&!internal; if(external===false){ source='direct'; }else{ source=referrer; } if(source!=='direct'){ return getDomain(source); }else{ return source; }} catch (e){ console.error(e); return 'direct'; }} function getQueryVars(){ try { var result={}, tmp=[]; window.location.search .substr(1) .split("&") .forEach(function (item){ tmp=item.split('='); if(tmp.length > 1){ result[tmp[0]]=tmp[1]; }}); return result; } catch (e){ console.error(e); return {};}} function getLandingPageValue(){ let name="pys_landing_page" if(options.visit_data_model==="last_visit"){ name="last_pys_landing_page" } if(Cookies.get(name)&&Cookies.get(name)!=="undefined"){ return Cookies.get(name); } else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficLanding){ return options.tracking_analytics.TrafficLanding; }else{ return ""; }} function getTrafficSourceValue(){ let name="pysTrafficSource" if(options.visit_data_model==="last_visit"){ name="last_pysTrafficSource" } if(Cookies.get(name)&&Cookies.get(name)!=="undefined"){ return Cookies.get(name); } else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficSource){ return options.tracking_analytics.TrafficSource; }else{ return ""; }} function getUTMId(useLast=false){ try { let cookiePrefix='pys_' let terms=[]; if(useLast){ cookiePrefix='last_pys_' } $.each(utmId, function (index, name){ if(Cookies.get(cookiePrefix + name)){ terms[name]=Cookies.get(cookiePrefix + name) } else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficUtmsId[name]){ terms[name]=filterEmails(options.tracking_analytics.TrafficUtmsId[name]) }}); return terms; } catch (e){ console.error(e); return []; }} function getUTMs(useLast=false){ try { let cookiePrefix='pys_' if(useLast){ cookiePrefix='last_pys_' } let terms=[]; $.each(utmTerms, function (index, name){ if(Cookies.get(cookiePrefix + name)){ let value=Cookies.get(cookiePrefix + name); terms[name]=filterEmails(value); } else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficUtms[name]){ terms[name]=filterEmails(options.tracking_analytics.TrafficUtms[name]) }}); return terms; } catch (e){ console.error(e); return []; }} function getDateTime(){ var dateTime=new Array(); var date=new Date(), days=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], months=['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ], hours=['00-01', '01-02', '02-03', '03-04', '04-05', '05-06', '06-07', '07-08', '08-09', '09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17', '17-18', '18-19', '19-20', '20-21', '21-22', '22-23', '23-24' ]; dateTime.push(hours[date.getHours()]); dateTime.push(days[date.getDay()]); dateTime.push(months[date.getMonth()]); return dateTime; } function filterEmails(value){ return Utils.validateEmail(value) ? undefined:value; } return { PRODUCT_SIMPLE:0, PRODUCT_VARIABLE:1, PRODUCT_BUNDLE:2, PRODUCT_GROUPED:3, utmTerms:utmTerms, utmId:utmId, isNewSession: checkSession(), setHidePixelCookie: function(){ let refresh_after_consent=false; if(!firstVisit&&options.gdpr.consent_magic_integration_enabled&&window.CS_Data!==undefined&&window.CS_Data.cs_refresh_after_consent){ refresh_after_consent=true; } if(!refresh_after_consent&&!firstVisit) return false; const url_parts=window.location.href; const url_params=new URLSearchParams(window.location.search); const matchingPixels=["facebook", "ga", "google_ads", "bing", "pinterest", "tiktok"]; $.each(matchingPixels, function (slug){ var module=getPixelBySlag(slug); if(module&&module.isEnabled()){ $.each(module.getHidePixel(), function (index, hide_info){ for (const item of hide_info.hide_tag_contain){ if(item){ let hideTagTimeInHours=hide_info.hide_tag_time; let hideTagTimeInMilliseconds=hideTagTimeInHours * 60 * 60 * 1000; let currentTimeInMilliseconds=new Date().getTime(); let expiresTimeInMilliseconds=currentTimeInMilliseconds + hideTagTimeInMilliseconds; const itemValue=item.split('='); const key=itemValue[0]; const value=itemValue[1]; if(value!==undefined){ if(url_params.get(key)===value){ Cookies.set('hide_tag_'+hide_info.pixel, true, { expires: new Date(expiresTimeInMilliseconds) }); break; }}else if(url_params.get(key)!==null){ Cookies.set('hide_tag_'+hide_info.pixel, true, { expires: new Date(expiresTimeInMilliseconds) }); break; }} }}); }}); }, hideMatchingPixel: function(pixelValue, slug){ if(Cookies.get('hide_tag_'+pixelValue)){ return true; } return false; }, validateEmail: function (email){ var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); }, fireEventForAllPixel:function(functionName,events){ if(events.hasOwnProperty(Facebook.tag())) Facebook[functionName](events[Facebook.tag()]); if(events.hasOwnProperty(Analytics.tag())) Analytics[functionName](events[Analytics.tag()]); if(events.hasOwnProperty(GAds.tag())) GAds[functionName](events[GAds.tag()]); if(events.hasOwnProperty(Pinterest.tag())) Pinterest[functionName](events[Pinterest.tag()]); if(events.hasOwnProperty(Bing.tag())) Bing[functionName](events[Bing.tag()]); if(events.hasOwnProperty(TikTok.tag())) TikTok[functionName](events[TikTok.tag()]); }, getQueryValue:function (name){ return getQueryVars()[name]; }, filterEmails: function (value){ return filterEmails(value); }, setupPinterestObject: function (){ Pinterest=window.pys.Pinterest||Pinterest; return Pinterest; }, setupBingObject: function (){ Bing=window.pys.Bing||Bing; return Bing; }, copyProperties: function (from, to){ for (var key in from){ if("function"==typeof from[key]){ continue; } to[key]=from[key]; } return to; }, clone: function(obj){ var copy; if(null==obj||"object"!=typeof obj) return obj; if(obj instanceof Date){ copy=new Date(); copy.setTime(obj.getTime()); return copy; } if(obj instanceof Array){ copy=[]; for (var i=0, len=obj.length; i < len; i++){ if("function"==typeof obj[i]){ continue; } copy[i]=Utils.clone(obj[i]); } return copy; } if(obj instanceof Object){ copy={}; for (var attr in obj){ if(obj.hasOwnProperty(attr)){ if("function"==typeof obj[attr]){ continue; } copy[attr]=Utils.clone(obj[attr]); }} return copy; } return obj; }, getTagsAsArray: function (tag){ return [].slice.call(document.getElementsByTagName(tag)); }, initYouTubeAPI: function (){ if(typeof window.YT==='undefined'){ var tag=document.createElement('script'); tag.src='//www.youtube.com/iframe_api'; var firstScriptTag=document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); } window.onYouTubeIframeAPIReady=function (){ var potentialVideos=Utils.getTagsAsArray('iframe').concat(Utils.getTagsAsArray('embed')); for (var i=0; i < potentialVideos.length; i++){ var video=potentialVideos[i]; if(tagIsYouTubeVideo(video)){ var iframe=normalizeYouTubeIframe(video); addYouTubeEvents(iframe); }else{ if(tagIsYouTubeAsyncVideo(video)){ video.addEventListener("load", function(evt){ var iframe=normalizeYouTubeIframe(evt.currentTarget); addYouTubeEvents(iframe); }); }} } var targets=document.querySelectorAll('.elementor-widget-video .elementor-wrapper'); const config={ attributes: false, childList: true, subtree: true }; const callback=function(mutationsList, observer){ for (let mutation of mutationsList){ if(mutation.type==='childList'){ for(var m=0;m 0&&link.indexOf('.')!==-1){ link=link.substring(link.lastIndexOf(".") + 1); return link; }else{ return ""; }}, getLinkFilename: function (link){ link=link.substring(0, (link.indexOf("#")===-1) ? link.length:link.indexOf("#")); link=link.substring(0, (link.indexOf("?")===-1) ? link.length:link.indexOf("?")); link=link.substring(link.lastIndexOf("/") + 1, link.length); if(link.length > 0&&link.indexOf('.')!==-1){ return link; }else{ return ""; }}, setupMouseOverClickEvents: function (eventId, triggers){ document.addEventListener('mouseover', function(event){ var matchedElements=Array.from(document.querySelectorAll(triggers)); var clickedElement=event.target; var closestMatch=clickedElement.closest(triggers); if(matchedElements.includes(clickedElement)||closestMatch){ if(event.target.classList.contains('pys-mouse-over-' + eventId)){ return true; }else{ event.target.classList.add('pys-mouse-over-' + eventId); } Utils.fireTriggerEvent(eventId); }}); }, setupCSSClickEvents: function (eventId, triggers){ document.addEventListener('click', function(event){ var matchedElements=Array.from(document.querySelectorAll(triggers)); var clickedElement=event.target; var closestMatch=clickedElement.closest(triggers); if(matchedElements.includes(clickedElement)||closestMatch){ Utils.fireTriggerEvent(eventId); }}, true); }, setupURLClickEvents: function (){ if(!options.triggerEventTypes.hasOwnProperty('url_click')){ return; } document.addEventListener('click', function(event){ if(event.target.matches('a')){ var url=event.target.getAttribute('href'); if(url){ Object.entries(options.triggerEventTypes.url_click).forEach(function ([eventId, triggers]){ triggers.forEach(function (trigger){ if(Utils.compareUrl(url, trigger.value, trigger.rule)){ Utils.fireTriggerEvent(eventId); }}); }); }} }, true); }, removeUrlDomain(url){ if(url.indexOf("/#") > -1){ url=url.substring(0, url.indexOf("/#")); } return url.replace('http://','') .replace('https://','') .replace('www.','') .trim() .replace(/^\/+/g, '') }, compareUrl: function(base,url,rule){ if(url=="*"||url=='') return true; base=Utils.removeUrlDomain(base) url=Utils.removeUrlDomain(url) if(rule=='match'){ return url==base; }else{ return base.indexOf(url) > -1 }}, setupScrollPosEvents: function (eventId, triggers){ var scrollPosThresholds={}, docHeight=$(document).height() - $(window).height(); $.each(triggers, function (index, scrollPos){ scrollPos=docHeight * scrollPos / 100; scrollPos=Math.round(scrollPos); scrollPosThresholds[scrollPos]=eventId; }); $(document).on("scroll",function (){ var scrollPos=$(window).scrollTop(); $.each(scrollPosThresholds, function (threshold, eventId){ if(scrollPos <=threshold){ return true; } if(eventId===null){ return true; }else{ scrollPosThresholds[threshold]=null; } Utils.fireTriggerEvent(eventId); }); }); }, setupCommentEvents:function (eventId,triggers){ $('form.comment-form').on("submit",function (){ Utils.fireTriggerEvent(eventId); }); }, isEventInTimeWindow: function (eventName, event, prefix){ if(event.hasOwnProperty("hasTimeWindow")&&event.hasTimeWindow){ var cookieName=prefix+"_"+eventName; var now=new Date().getTime(); if(Cookies.get(cookieName)!==undefined){ var lastTimeFire=Cookies.get(cookieName); var fireTime=event.timeWindow * 60*60*1000; if(now - lastTimeFire > fireTime){ Cookies.set(cookieName,now, { expires: event.timeWindow / 24.0}); }else{ return false; }}else{ Cookies.set(cookieName,now, { expires: event.timeWindow / 24.0}); }} return true }, fireTriggerEvent: function (eventId){ if(!options.triggerEvents.hasOwnProperty(eventId)){ return; } var event={}; var events=options.triggerEvents[eventId]; if(events.hasOwnProperty('facebook')){ event=events.facebook; if(Utils.isEventInTimeWindow(event.name,event,"dyn_facebook_"+eventId)){ Facebook.fireEvent(event.name, event); }} if(events.hasOwnProperty('ga')){ event=events.ga; if(Utils.isEventInTimeWindow(event.name,event,"dyn_ga_"+eventId)){ Analytics.fireEvent(event.name, event); }} if(events.hasOwnProperty('google_ads')){ event=events.google_ads; if(Utils.isEventInTimeWindow(event.name,event,"dyn_google_ads_"+eventId)){ GAds.fireEvent(event.name, event); }} if(events.hasOwnProperty('pinterest')){ event=events.pinterest; if(Utils.isEventInTimeWindow(event.name,event,"dyn_pinterest_"+eventId)){ Pinterest.fireEvent(event.name, event);; }} if(events.hasOwnProperty('bing')){ event=events.bing; if(Utils.isEventInTimeWindow(event.name,event,"dyn_bing_"+eventId)){ Bing.fireEvent(event.name, event);; }} if(events.hasOwnProperty('tiktok')){ event=events.tiktok; if(Utils.isEventInTimeWindow(event.name,event,"dyn_bing_"+eventId)){ TikTok.fireEvent(event.name, event); }} }, isFirstPurchaseFire: function ($eventName,orderId,pixel){ if(Cookies.get("pys_"+$eventName+"_order_id_"+pixel)==orderId){ return false; }else{ Cookies.set("pys_"+$eventName+"_order_id_"+pixel, orderId, { expires: 1 }); } return true; }, fireStaticEvents: function (pixel, timeout=0){ if(options.staticEvents.hasOwnProperty(pixel)){ $.each(options.staticEvents[pixel], function (eventId, events){ if(options.woo.hasOwnProperty('woo_purchase_on_transaction') && options.woo.woo_purchase_on_transaction && (eventId==="woo_purchase"||eventId==="woo_purchase_category")){ if(!Utils.isFirstPurchaseFire(eventId,events[0].woo_order,pixel)){ return; }} if(options.edd.hasOwnProperty('edd_purchase_on_transaction') && options.edd.edd_purchase_on_transaction && (eventId==="edd_purchase"||eventId==="edd_purchase_category")){ if(!Utils.isFirstPurchaseFire(eventId,events[0].edd_order,pixel)){ return; }} $.each(events, function (index, event){ event.fired=event.fired||false; if(!event.fired&&Utils.isEventInTimeWindow(event.name,event,'static_' + pixel+"_")){ var fired=false; if(pixel==='tiktok'){ setTimeout(function(){ getPixelBySlag(pixel).fireEvent(event.name, event); }, timeout * 500); timeout++; }else{ getPixelBySlag(pixel).fireEvent(event.name, event); } event.fired=fired; }}); }); }}, loadGoogleTag: function (id){ if(!gtag_loaded){ (function (window, document, src){ var a=document.createElement('script'), m=document.getElementsByTagName('script')[0]; a.async=1; a.src=src; m.parentNode.insertBefore(a, m); })(window, document, '//www.googletagmanager.com/gtag/js?id=' + id); window.dataLayer=window.dataLayer||[]; window.gtag=window.gtag||function gtag(){ dataLayer.push(arguments); }; gtag('js', new Date()); if(options.google_consent_mode){ let data={}; data[ 'analytics_storage' ]=options.gdpr.analytics_storage.enabled ? options.gdpr.analytics_storage.value:'granted'; data[ 'ad_storage' ]=options.gdpr.ad_storage.enabled ? options.gdpr.ad_storage.value:'granted'; data[ 'ad_user_data' ]=options.gdpr.ad_user_data.enabled ? options.gdpr.ad_user_data.value:'granted'; data[ 'ad_personalization' ]=options.gdpr.ad_personalization.enabled ? options.gdpr.ad_personalization.value:'granted'; gtag('consent', 'default', data); } gtag_loaded=true; }}, loadPixels: function (){ if(options.gdpr.ajax_enabled&&!options.gdpr.consent_magic_integration_enabled){ $.get({ url: options.ajaxUrl, dataType: 'json', data: { action: 'pys_get_gdpr_filters_values' }, success: function (res){ if(res.success){ options.gdpr.all_disabled_by_api=res.data.all_disabled_by_api; options.gdpr.facebook_disabled_by_api=res.data.facebook_disabled_by_api; options.gdpr.tiktok_disabled_by_api=res.data.tiktok_disabled_by_api; options.gdpr.analytics_disabled_by_api=res.data.analytics_disabled_by_api; options.gdpr.google_ads_disabled_by_api=res.data.google_ads_disabled_by_api; options.gdpr.pinterest_disabled_by_api=res.data.pinterest_disabled_by_api; options.gdpr.bing_disabled_by_api=res.data.bing_disabled_by_api; options.cookie.externalID_disabled_by_api=res.data.externalID_disabled_by_api; options.cookie.disabled_all_cookie=res.data.disabled_all_cookie; options.cookie.disabled_advanced_form_data_cookie=res.data.disabled_advanced_form_data_cookie; options.cookie.disabled_landing_page_cookie=res.data.disabled_landing_page_cookie; options.cookie.disabled_first_visit_cookie=res.data.disabled_first_visit_cookie; options.cookie.disabled_trafficsource_cookie=res.data.disabled_trafficsource_cookie; options.cookie.disabled_utmTerms_cookie=res.data.disabled_utmTerms_cookie; options.cookie.disabled_utmId_cookie=res.data.disabled_utmId_cookie; } loadPixels(); }}); }else{ loadPixels(); }}, consentGiven: function (pixel){ if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){ var cookiebot_consent_category=options.gdpr['cookiebot_' + pixel + '_consent_category']; if(options.gdpr[pixel + '_prior_consent_enabled']){ if(Cookiebot.consented===false||Cookiebot.consent[cookiebot_consent_category]){ return true; }}else{ if(Cookiebot.consent[cookiebot_consent_category]){ return true; }} return false; } if(options.gdpr.cookie_notice_integration_enabled&&typeof cnArgs!=='undefined'){ var cn_cookie=Cookies.get(cnArgs.cookieName); if(options.gdpr[pixel + '_prior_consent_enabled']){ if(typeof cn_cookie==='undefined'||cn_cookie==='true'){ return true; }}else{ if(cn_cookie==='true'){ return true; }} return false; } if(options.gdpr.cookie_law_info_integration_enabled){ var cli_cookie=Cookies.get('viewed_cookie_policy'); if(options.gdpr[pixel + '_prior_consent_enabled']){ if(typeof cli_cookie==='undefined'||cli_cookie==='yes'){ return true; }}else{ if(cli_cookie==='yes'){ return true; }} return false; } if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){ var test_prefix=CS_Data.test_prefix; if((typeof CS_Data.cs_google_consent_mode_enabled!=="undefined"&&CS_Data.cs_google_consent_mode_enabled==1)&&(pixel=='analytics'||pixel=='google_ads')){ return true; } if(CS_Data.cs_cache_enabled==1){ var substring="cs_enabled_cookie_term"; var theCookies=document.cookie.split(';'); for (var i=1 ; i <=theCookies.length; i++){ if(theCookies[ i - 1 ].indexOf(substring)!==-1){ var categoryCookie=theCookies[ i - 1 ].replace('cs_enabled_cookie_term' + test_prefix + '_', ''); categoryCookie=Number(categoryCookie.replace(/\D+/g, "")); var cs_cookie_val=Cookies.get('cs_enabled_cookie_term' + test_prefix + '_' + categoryCookie); if(categoryCookie===CS_Data.cs_script_cat.facebook&&pixel=='facebook'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }}else if(categoryCookie===CS_Data.cs_script_cat.bing&&pixel=='bing'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }}else if(categoryCookie===CS_Data.cs_script_cat.analytics&&pixel=='analytics'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }}else if(categoryCookie===CS_Data.cs_script_cat.gads&&pixel=='google_ads'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }}else if(categoryCookie===CS_Data.cs_script_cat.pinterest&&pixel=='pinterest'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }}else if(categoryCookie===CS_Data.cs_script_cat.tiktok&&pixel=='tiktok'){ if(cs_cookie_val=='yes'){ return true; }else{ return false; }} }} }else{ var cs_cookie=Cookies.get('cs_viewed_cookie_policy'+test_prefix); if(typeof cs_cookie==='undefined'||cs_cookie==='yes'){ return true; }} return false; } if(options.gdpr.real_cookie_banner_integration_enabled){ var consentApi=window.consentApi; if(consentApi){ switch (pixel){ case "analytics": return consentApi.consentSync("http", "_ga", "*").cookieOptIn; case "facebook": return consentApi.consentSync("http", "_fbp", "*").cookieOptIn; case "pinterest": return consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn; case "bing": return consentApi.consentSync("http", "_uetsid", "*").cookieOptIn; case "google_ads": return consentApi.consentSync("http", "1P_JAR", ".google.com").cookieOptIn; case 'tiktok': return consentApi.consentSync("http", "tt_webid_v2", ".tiktok.com").cookieOptIn; default: return true; }} } return true; }, setupGdprCallbacks: function (){ if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){ window.addEventListener("CookiebotOnConsentReady", function(){ if(Cookiebot.consent.marketing){ Facebook.loadPixel(); Bing.loadPixel(); Pinterest.loadPixel(); GAds.loadPixel(); TikTok.loadPixel(); } if(Cookiebot.consent.statistics){ Analytics.loadPixel(); } if(!Cookiebot.consent.marketing){ Facebook.disable(); Pinterest.disable(); Bing.disable() GAds.disable(); TikTok.disable(); } if(!Cookiebot.consent.statistics){ Analytics.disable(); }}); } if(options.gdpr.cookie_notice_integration_enabled){ $(document).onFirst('click', '.cn-set-cookie', function (){ if($(this).data('cookie-set')==='accept'){ Facebook.loadPixel(); Analytics.loadPixel(); GAds.loadPixel(); Pinterest.loadPixel(); Bing.loadPixel(); TikTok.loadPixel(); }else{ Facebook.disable(); Analytics.disable(); GAds.disable(); Pinterest.disable(); Bing.disable(); TikTok.disable(); }}); $(document).onFirst('click', '.cn-revoke-cookie', function (){ Facebook.disable(); Analytics.disable(); GAds.disable(); Pinterest.disable(); Bing.disable(); TikTok.disable(); }); } if(options.gdpr.cookie_law_info_integration_enabled){ $(document).onFirst('click', '#cookie_action_close_header', function (){ Facebook.loadPixel(); Analytics.loadPixel(); GAds.loadPixel(); Pinterest.loadPixel(); Bing.loadPixel(); TikTok.loadPixel(); }); $(document).onFirst('click', '#cookie_action_close_header_reject', function (){ Facebook.disable(); Analytics.disable(); GAds.disable(); Pinterest.disable(); Bing.disable(); TikTok.disable(); }); } if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){ var test_prefix=CS_Data.test_prefix, cs_refresh_after_consent=false, substring="cs_enabled_cookie_term"; if(CS_Data.cs_refresh_after_consent==1){ cs_refresh_after_consent=CS_Data.cs_refresh_after_consent; } if(!cs_refresh_after_consent){ var theCookies=document.cookie.split(';'); for (var i=1 ; i <=theCookies.length; i++){ if(theCookies[i-1].indexOf(substring)!==-1){ var categoryCookie=theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_',''); categoryCookie=Number(categoryCookie.replace(/\D+/g,"")); var cs_cookie_val=Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie); if(cs_cookie_val=='yes'){ if(categoryCookie===CS_Data.cs_script_cat.facebook){ Facebook.loadPixel(); } if(categoryCookie===CS_Data.cs_script_cat.bing){ Bing.loadPixel(); } if(categoryCookie===CS_Data.cs_script_cat.analytics||(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)){ Analytics.loadPixel(); } if(categoryCookie===CS_Data.cs_script_cat.gads||(typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1)){ GAds.loadPixel(); } if(categoryCookie===CS_Data.cs_script_cat.pinterest){ Pinterest.loadPixel(); } if(categoryCookie===CS_Data.cs_script_cat.tiktok){ TikTok.loadPixel(); }}else{ if(categoryCookie===CS_Data.cs_script_cat.facebook){ Facebook.disable(); } if(categoryCookie===CS_Data.cs_script_cat.bing){ Bing.disable(); } if(categoryCookie===CS_Data.cs_script_cat.analytics&&(typeof CS_Data.cs_google_analytics_consent_mode=="undefined"||CS_Data.cs_google_analytics_consent_mode==0)){ Analytics.disable(); } if(categoryCookie===CS_Data.cs_script_cat.gads&&(typeof CS_Data.cs_google_ads_consent_mode=="undefined"||CS_Data.cs_google_ads_consent_mode==0)){ GAds.disable(); } if(categoryCookie===CS_Data.cs_script_cat.pinterest){ Pinterest.disable(); } if(categoryCookie===CS_Data.cs_script_cat.tiktok){ TikTok.disable(); }} if(Cookies.get('cs_enabled_advanced_matching')=='yes'){ Facebook.loadPixel(); }} } $(document).on('click','.cs_action_btn',function(e){ e.preventDefault(); var elm=$(this), button_action=elm.attr('data-cs_action'); if(button_action==='allow_all'){ Facebook.loadPixel(); Bing.loadPixel(); Analytics.loadPixel(); GAds.loadPixel(); Pinterest.loadPixel(); TikTok.loadPixel(); }else if(button_action==='disable_all'){ Facebook.disable(); Bing.disable(); if(CS_Data.cs_google_analytics_consent_mode==0||typeof CS_Data.cs_google_analytics_consent_mode=="undefined"){ Analytics.disable(); } if(CS_Data.cs_google_ads_consent_mode==0||typeof CS_Data.cs_google_ads_consent_mode=="undefined"){ GAds.disable(); } Pinterest.disable(); TikTok.disable(); }}); }} if(options.gdpr.real_cookie_banner_integration_enabled){ var consentApi=window.consentApi; if(consentApi){ consentApi.consent("http", "_ga", "*") .then(Analytics.loadPixel.bind(Analytics), Analytics.disable.bind(Analytics)); consentApi.consent("http", "_fbp", "*") .then(Facebook.loadPixel.bind(Facebook), Facebook.disable.bind(Facebook)); consentApi.consent("http", "_pinterest_sess", ".pinterest.com") .then(Pinterest.loadPixel.bind(Pinterest), Pinterest.disable.bind(Pinterest)); consentApi.consent("http", "_uetsid", "*") .then(Bing.loadPixel.bind(Bing), Bing.disable.bind(Bing)); consentApi.consent("http", "1P_JAR", ".google.com") .then(GAds.loadPixel.bind(GAds), GAds.disable.bind(GAds)); consentApi.consent("http", "tt_webid_v2", ".tiktok.com") .then(TikTok.loadPixel.bind(TikTok), TikTok.disable.bind(TikTok)); }} }, isCheckoutPage: function (){ return $('body').hasClass('woocommerce-checkout')||document.querySelector('.woocommerce-checkout') || $('body').hasClass('edd-checkout'); }, addCheckoutFields:function(){ var utm=""; var utms=getUTMs() $.each(utmTerms, function (index, name){ if(index > 0){ utm+="|"; } utm+=name+":"+utms[name]; }); var utmIdList=""; var utmsIds=getUTMId() $.each(utmId, function (index, name){ if(index > 0){ utmIdList+="|"; } utmIdList+=name+":"+utmsIds[name]; }); var utmIdListLast=""; var utmsIdsLast=getUTMId(true) $.each(utmId, function (index, name){ if(index > 0){ utmIdListLast+="|"; } utmIdListLast+=name+":"+utmsIdsLast[name]; }); var utmLast=""; var utmsLast=getUTMs(true) $.each(utmTerms, function (index, name){ if(index > 0){ utmLast+="|"; } utmLast+=name+":"+utmsLast[name]; }); var dateTime=getDateTime(); var landing=getLandingPageValue(); var lastLanding=getLandingPageValue(); var trafic=getTrafficSourceValue(); var lastTrafic=getTrafficSourceValue(); var $form=null; if($('body').hasClass('woocommerce-checkout')){ $form=$("form.woocommerce-checkout"); }else{ $form=$("#edd_purchase_form"); } var inputs={'pys_utm':utm, 'pys_utm_id':utmIdList, 'pys_browser_time':dateTime.join("|"), 'pys_landing':landing, 'pys_source':trafic, 'pys_order_type': $(".wcf-optin-form").length > 0 ? "wcf-optin":"normal", 'last_pys_landing':lastLanding, 'last_pys_source':lastTrafic, 'last_pys_utm':utmLast, 'last_pys_utm_id':utmIdListLast, } Object.keys(inputs).forEach(function(key,index){ $form.append(" "); }); }, saveAdvancedFormData: function (email,phone,firstName,lastName){ let data=Utils.getAdvancedFormData(); if(email!=null){ data["email"]=email; } if(phone!=null){ data["phone"]=phone; } if(firstName!=null){ data["first_name"]=firstName; } if(lastName!=null){ data["last_name"]=lastName; } if(!options.cookie.disabled_advanced_form_data_cookie){ Cookies.set('pys_advanced_form_data', JSON.stringify(data),{ expires: 300 }); }else{ Cookies.remove('pys_advanced_form_data') } if(Analytics.isEnabled()){ Analytics.updateEnhancedConversionData() } else if(GAds.isEnabled()){ GAds.updateEnhancedConversionData() }}, getAdvancedMergeFormData: function(){ var advanced=Utils.getAdvancedFormData(); var mergedData={}; if(Object.keys(options.google_ads.user_data).length==0 || (advanced["email"]!=options.google_ads.user_data.email) || (advanced["phone"]!=options.google_ads.user_data.phone_number) || (options.google_ads.user_data.address && (options.google_ads.user_data.address.first_name&&advanced["first_name"]!=options.google_ads.user_data.address.first_name || options.google_ads.user_data.address.last_name&&advanced["last_name"]!=options.google_ads.user_data.address.last_name) ) ){ if(Object.keys(options.google_ads.user_data).length!=0){ mergedData=options.google_ads.user_data; if(advanced["email"]&&advanced["email"]!=options.google_ads.user_data.email){ mergedData.email=advanced.email; } if(advanced["phone"]&&advanced["phone"]!=options.google_ads.user_data.phone_number){ mergedData.phone_number=advanced["phone"]; } if(options.google_ads.user_data.address){ if(options.google_ads.user_data.address.first_name&&advanced["first_name"]&&advanced["first_name"]!=options.google_ads.user_data.address.first_name){ mergedData.address=mergedData.address||{}; mergedData.address.first_name=advanced["first_name"]; } if(options.google_ads.user_data.address.last_name&&advanced["last_name"]&&advanced["last_name"]!=options.google_ads.user_data.address.last_name){ mergedData.address=mergedData.address||{}; mergedData.address.last_name=advanced["last_name"]; }} }else{ mergedData=advanced; } return mergedData; } return advanced; }, getAdvancedFormData: function (){ let dataStr=Cookies.get("pys_advanced_form_data"); if(dataStr===undefined){ return {'first_name':"",'last_name':"",'email':"",'phone':""};}else{ return JSON.parse(dataStr); }} };}(options); var TikTok=function (options){ var initialized=false; function fireEvent(name, event){ if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'tiktok')){ return; } var data=event.params; var ids=event.pixelIds.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'tiktok'); }) var params={}; Utils.copyProperties(data, params); params.event_id=event.event_id; if(ids.length > 0){ TikTok.fireEventAPI(name, event, params); } ids.forEach(function(pixelId){ if(options.debug){ console.log('[TikTok] ' + name, params,"pixel_id",pixelId); } ttq.instance(pixelId).track(name,params) }); } return { tag: function(){ return "tiktok"; }, isEnabled: function (){ return options.hasOwnProperty('tiktok'); }, getHidePixel: function(){ if(this.isEnabled()&&options.tiktok.hasOwnProperty('hide_pixels')){ return options.tiktok.hide_pixels; } return []; }, disable: function (){ initialized=false; }, loadPixel:function (){ if(initialized||!this.isEnabled()||!Utils.consentGiven('tiktok')){ return; } for (var i=0; i < options.tiktok.pixelIds.length; i++){ var trackingId=options.tiktok.pixelIds[i]; if(!Utils.hideMatchingPixel(trackingId, 'tiktok')){ !function (w, d, t){ w.TiktokAnalyticsObject=t; var ttq=w[t]=w[t]||[]; ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"]; ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}; for(var i=0;i 0){ advancedMatching=options.tiktok.advanced_matching; if(!advancedMatching.hasOwnProperty("external_id")){ if(Cookies.get('pbid')){ advancedMatching["external_id"]=Cookies.get('pbid'); }} else if(advancedMatching.hasOwnProperty("external_id")&&advancedMatching.external_id!=Cookies.get('pbid')){ advancedMatching["external_id"]=Cookies.get('pbid') ? Cookies.get('pbid'):advancedMatching.external_id; } ttq.instance(pixelId).identify(advancedMatching) }}); initialized=true; if(options.staticEvents.hasOwnProperty('tiktok')){ var timeout=1; setTimeout(function (timeout){ Utils.fireStaticEvents('tiktok', timeout); }, 1500, timeout) }}, fireEvent: function (name, data){ if(!initialized||!this.isEnabled()){ return false; } data.delay=data.delay||0; if(data.delay===0){ fireEvent(name, data); }else{ setTimeout(function (name, params){ fireEvent(name, params); }, data.delay * 1000, name, data); } return true; }, fireEventAPI: function (name, event, params){ var ids=event.pixelIds.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'tiktok'); }) var notCachedEventsIds=new Array(); var isAddToCartFromJs=options.woo.hasOwnProperty("addToCartCatchMethod") && options.woo.addToCartCatchMethod==="add_cart_js"; if(!isAddToCartFromJs){ notCachedEventsIds.push('woo_add_to_cart_on_button_click') } if(options.tiktok.serverApiEnabled){ if(!notCachedEventsIds.includes(event.e_id)){ var isApiDisabled=options.gdpr.all_disabled_by_api || options.gdpr.tiktok_disabled_by_api || options.gdpr.cookiebot_integration_enabled || options.gdpr.cookie_notice_integration_enabled || options.gdpr.consent_magic_integration_enabled || options.gdpr.cookie_law_info_integration_enabled; if(event.eventID.length==0&&(options.ajaxForServerEvent||event.type!=="static")){ event.eventID=pys_generate_token(36); } if(options.ajaxForServerEvent||isApiDisabled||event.delay > 0||event.type!=="static"){ var json={ action: 'pys_tiktok_api_event', pixel: TikTok.tag(), event: name, ids: ids, data:params, url:window.location.href, event_id:event.event_id, ajax_event:options.ajax_event }; if(event.hasOwnProperty('woo_order')){ json['woo_order']=event.woo_order; } if(event.hasOwnProperty('edd_order')){ json['edd_order']=event.edd_order; } if(event.e_id==="automatic_event_internal_link" || event.e_id==="automatic_event_outbound_link" || name=='PageView' ){ setTimeout(function(){ jQuery.ajax({ type: 'POST', url: options.ajaxUrl, data: json, headers: { 'Cache-Control': 'no-cache' }, success: function(){}, }); },500) }else{ jQuery.ajax({ type: 'POST', url: options.ajaxUrl, data: json, headers: { 'Cache-Control': 'no-cache' }, success: function(){}, }); }} }} }, onClickEvent: function (event){ this.fireEvent(event.name, event); }, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){ window.pysWooProductData=window.pysWooProductData||[]; if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty(this.tag())){ var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); Utils.copyProperties(window.pysWooProductData[product_id][this.tag()]['params'], event.params); if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){ if(product_type===Utils.PRODUCT_BUNDLE){ var data=$(".bundle_form .bundle_data").data("bundle_form_data"); var items_sum=getBundlePriceOnSingleProduct(data); event.params.value=(parseFloat(data.base_price) + items_sum) * qty; }else{ event.params.value=event.params.value * qty; }} event.params.quantity=qty; this.fireEvent(event.name, event); }} }, onWooAddToCartOnButtonEvent: function (product_id){ if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty(this.tag())){ var productData=window.pysWooProductData[product_id][this.tag()] var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]) Utils.copyProperties(productData['params'], event.params) event.pixelIds=productData['pixelIds']; this.fireEvent(event.name, event); }} }, onEddAddToCartOnButtonEvent:function (download_id, price_index, qty){ if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); if(window.pysEddProductData.hasOwnProperty(download_id)){ var index; if(price_index){ index=download_id + '_' + price_index; }else{ index=download_id; } if(window.pysEddProductData[download_id].hasOwnProperty(index)){ if(window.pysEddProductData[download_id][index].hasOwnProperty(this.tag())){ Utils.copyProperties(window.pysEddProductData[download_id][index][this.tag()].params, event.params); this.fireEvent(event.name,event); }} }}, onPageScroll: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, onWatchVideo: function (event){ if(initialized&&this.isEnabled()&&!event.fired){ this.fireEvent(event.name, event); }}, onCommentEvent: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, onAdSenseEvent: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, onTime: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, }}(options); var Facebook=function (options){ var defaultEventTypes=[ 'PageView', 'ViewContent', 'Search', 'AddToCart', 'AddToWishlist', 'InitiateCheckout', 'AddPaymentInfo', 'Purchase', 'Lead', 'Subscribe', 'CustomizeProduct', 'FindLocation', 'StartTrial', 'SubmitApplication', 'Schedule', 'Contact', 'Donate' ]; var notCachedEventsIds=new Array(); var isAddToCartFromJs=options.woo.hasOwnProperty("addToCartCatchMethod") && options.woo.addToCartCatchMethod==="add_cart_js"; if(!isAddToCartFromJs){ notCachedEventsIds.push('woo_add_to_cart_on_button_click') } var initialized=false; var configuredPixels=new Array(); function fireEvent(name, event){ if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'facebook')){ return; } var data=event.params; var ids=event.pixelIds.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'facebook'); }); var actionType=defaultEventTypes.includes(name) ? 'trackSingle':'trackSingleCustom'; var params={}; Utils.copyProperties(data, params); Utils.copyProperties(Utils.getRequestParams(), params); if(options.facebook.serverApiEnabled){ if(event.e_id==="woo_remove_from_cart"){ Facebook.updateEventId(event.name); event.eventID=Facebook.getEventId(event.name); }else if(!notCachedEventsIds.includes(event.e_id)){ var isApiDisabled=options.gdpr.all_disabled_by_api || options.gdpr.facebook_disabled_by_api || options.gdpr.cookiebot_integration_enabled || options.gdpr.cookie_notice_integration_enabled || options.gdpr.consent_magic_integration_enabled || options.gdpr.cookie_law_info_integration_enabled; if(options.ajaxForServerEvent||event.type!=="static"){ event.eventID=pys_generate_token(36); } if(options.ajaxForServerEvent||isApiDisabled||event.delay > 0||event.type!=="static"){ var json={ action: 'pys_api_event', pixel: 'facebook', event: name, ids: ids, data:params, url:window.location.href, eventID:event.eventID, ajax_event:options.ajax_event }; if(event.hasOwnProperty('woo_order')){ json['woo_order']=event.woo_order; } if(event.hasOwnProperty('edd_order')){ json['edd_order']=event.edd_order; } if(event.e_id==="automatic_event_internal_link" || event.e_id==="automatic_event_outbound_link" ){ setTimeout(function(){ jQuery.ajax({ type: 'POST', url: options.ajaxUrl, data: json, headers: { 'Cache-Control': 'no-cache' }, success: function(){}, }); },500) }else if(name=='PageView'){ let expires=parseInt(options.cookie_duration); var currentTimeInSeconds=Date.now(); var randomNum=Math.floor(1000000000 + Math.random() * 9000000000); timeoutDelay=0; if(!Cookies.get('_fbp')){ timeoutDelay=100; } if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){ timeoutDelay=100; } setTimeout(function(){ if(!Cookies.get('_fbp')){ Cookies.set('_fbp','fb.1.'+currentTimeInSeconds+'.'+randomNum, { expires: expires }) } if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){ Cookies.set('_fbc', 'fb.1.'+currentTimeInSeconds+'.'+getUrlParameter('fbclid'), { expires: expires }) } jQuery.ajax({ type: 'POST', url: options.ajaxUrl, data: json, headers: { 'Cache-Control': 'no-cache' }, success: function(){}, }); },timeoutDelay) }else{ jQuery.ajax({ type: 'POST', url: options.ajaxUrl, data: json, headers: { 'Cache-Control': 'no-cache' }, success: function(){}, }); }} if(event.e_id!=="automatic_event_signup"&&name=="CompleteRegistration"&&options.facebook.wooCRSendFromServer){ return; }} } if(options.debug){ console.log('[Facebook] ' + name, params,"pixel_ids",ids,"eventID",event.eventID); } ids.forEach(function (pixelId){ var args={}; if(options.facebook.serverApiEnabled&&event.hasOwnProperty('eventID')){ args.eventID=pixelId+event.eventID; } Facebook.maybeInitPixel(pixelId); fbq(actionType,pixelId, name, params,args); }); } return { tag: function(){ return "facebook"; }, isEnabled: function (){ return options.hasOwnProperty('facebook'); }, getHidePixel: function(){ if(this.isEnabled()&&options.facebook.hasOwnProperty('hide_pixels')){ return options.facebook.hide_pixels; } return []; }, initEventIdCookies: function (key){ var ids={}; ids[key]=pys_generate_token(36) Cookies.set('pys_fb_event_id', JSON.stringify(ids)); }, updateEventId:function(key){ var cooData=Cookies.get("pys_fb_event_id") if(cooData===undefined){ this.initEventIdCookies(key); }else{ var data=JSON.parse(cooData); data[key]=pys_generate_token(36); Cookies.set('pys_fb_event_id', JSON.stringify(data)); }}, getEventId:function (key){ var data=Cookies.get("pys_fb_event_id"); if(data===undefined){ this.initEventIdCookies(key); data=Cookies.get("pys_fb_event_id"); } return JSON.parse(data)[key]; }, disable: function (){ initialized=false; }, loadPixel: function (){ if(initialized||!this.isEnabled()||!Utils.consentGiven('facebook')){ return; } ! function (f, b, e, v, n, t, s){ if(f.fbq) return; n=f.fbq=function (){ n.callMethod ? n.callMethod.apply(n, arguments):n.queue.push(arguments) }; if(!f._fbq) f._fbq=n; n.push=n; n.loaded = !0; n.version='2.0'; n.agent='dvpixelyoursite'; n.queue=[]; t=b.createElement(e); t.async = !0; t.src=v; s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); var ids=options.facebook.pixelIds.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'facebook'); }); ids.forEach(function (pixelId){ Facebook.maybeInitPixel(pixelId); }); initialized=true; Utils.fireStaticEvents('facebook'); }, advancedMatching: function (){ if(options.facebook.advancedMatchingEnabled){ let advancedMatchingForm=Utils.getAdvancedFormData(); let advancedMatching={}; if(Object.keys(options.facebook.advancedMatching).length > 0){ advancedMatching=options.facebook.advancedMatching; } if(!advancedMatching.hasOwnProperty("em") && advancedMatchingForm.hasOwnProperty("email")&&advancedMatchingForm["email"].length > 0){ advancedMatching["em"]=advancedMatchingForm["email"]; } if(!advancedMatching.hasOwnProperty("ph") && advancedMatchingForm.hasOwnProperty("phone")&&advancedMatchingForm["phone"].length > 0){ advancedMatching["ph"]=advancedMatchingForm["phone"]; } if(!advancedMatching.hasOwnProperty("fn") && advancedMatchingForm.hasOwnProperty("first_name")&&advancedMatchingForm["first_name"].length > 0){ advancedMatching["fn"]=advancedMatchingForm["first_name"]; } if(!advancedMatching.hasOwnProperty("ln") && advancedMatchingForm.hasOwnProperty("last_name")&&advancedMatchingForm["last_name"].length > 0){ advancedMatching["ln"]=advancedMatchingForm["last_name"]; } if(!advancedMatching.hasOwnProperty("external_id")){ if(Cookies.get('pbid')){ advancedMatching["external_id"]=Cookies.get('pbid'); }} else if(advancedMatching.hasOwnProperty("external_id")&&advancedMatching.external_id!=Cookies.get('pbid')){ advancedMatching["external_id"]=Cookies.get('pbid') ? Cookies.get('pbid'):advancedMatching.external_id; } if(Object.keys(advancedMatching).length > 0){ return advancedMatching; }} return false }, maybeInitPixel: function(pixelId){ if(configuredPixels.includes(pixelId)) return; if(options.facebook.removeMetadata||Utils.hideMatchingPixel(pixelId, this.tag())){ fbq('set', 'autoConfig', false, pixelId); } let advancedMatching=Facebook.advancedMatching(); if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){ if(!advancedMatching){ fbq('init', pixelId); }else{ var test_prefix=CS_Data.test_prefix; var cs_advanced_matching=Cookies.get('cs_enabled_advanced_matching'+test_prefix); if(jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0){ if(cs_advanced_matching=='yes'){ fbq('init', pixelId, advancedMatching); }else{ fbq('init', pixelId); }}else{ fbq('init', pixelId, advancedMatching); }} }else{ if(!advancedMatching){ fbq('init', pixelId); }else{ fbq('init', pixelId, advancedMatching); }} configuredPixels.push(pixelId); }, fireEvent: function (name, data){ if(!initialized||!this.isEnabled()){ return false; } data.delay=data.delay||0; data.params=data.params||{}; if(data.delay===0){ fireEvent(name, data); }else{ setTimeout(function (name, params){ fireEvent(name, params); }, data.delay * 1000, name, data); } return true; }, onAdSenseEvent: function (event){ this.fireEvent(event.name, event); }, onClickEvent: function (event){ this.fireEvent(event.name, event); }, onWatchVideo: function (event){ this.fireEvent(event.name, event); }, onCommentEvent: function (event){ this.fireEvent(event.name, event); }, onFormEvent: function (event){ this.fireEvent(event.name, event); }, onDownloadEvent: function (event){ this.fireEvent(event.name, event); }, onWooAddToCartOnButtonEvent: function (product_id){ if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){ var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]) Utils.copyProperties(window.pysWooProductData[product_id]['facebook']['params'], event.params) event.pixelIds=window.pysWooProductData[product_id]['facebook']['pixelIds']; this.fireEvent(event.name, event); }} }, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){ window.pysWooProductData=window.pysWooProductData||[]; if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(product_type===Utils.PRODUCT_VARIABLE&&!options.facebook.wooVariableAsSimple){ product_id=parseInt($form.find('input[name="variation_id"]').val()); } if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){ var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click.facebook); Utils.copyProperties(window.pysWooProductData[product_id]['facebook']['params'], event.params); var groupValue=0; if(product_type===Utils.PRODUCT_GROUPED){ $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); var quantity=parseInt($(this).val()); if(isNaN(quantity)){ quantity=0; } var childItem=window.pysWooProductData[product_id]['facebook'].grouped[childId]; if(quantity==0){ event.params.content_ids.forEach(function(el,index,array){ if(el==childItem.content_id){ array.splice(index, 1); }}); } if(event.params.hasOwnProperty('contents')){ event.params.contents.forEach(function(el,index,array){ if(el.id==childItem.content_id){ if(quantity > 0){ el.quantity=quantity; }else{ array.splice(index, 1); }} }); } groupValue +=childItem.price * quantity; }); if(groupValue==0) return; } if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){ if(product_type===Utils.PRODUCT_GROUPED){ event.params.value=groupValue; }else if(product_type===Utils.PRODUCT_BUNDLE){ var data=$(".bundle_form .bundle_data").data("bundle_form_data"); var items_sum=getBundlePriceOnSingleProduct(data); event.params.value=(parseFloat(data.base_price) + items_sum)* qty; }else{ event.params.value=event.params.value * qty; }} if(event.params.hasOwnProperty('contents')&&product_type!==Utils.PRODUCT_GROUPED){ event.params.contents[0].quantity=qty; } var event_name=is_external ? options.woo.affiliateEventName:event.name; this.fireEvent(event_name, event); }} }, onWooRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onWooAffiliateEvent: function (product_id){ if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.woo_affiliate[this.tag()]); if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){ Utils.copyProperties(window.pysWooProductData[product_id][this.tag()].params, event.params) this.fireEvent(options.woo.affiliateEventName, event); }} }, onWooPayPalEvent: function (event){ this.fireEvent(event.name, event); }, onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){ if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); if(window.pysEddProductData.hasOwnProperty(download_id)){ var index; if(price_index){ index=download_id + '_' + price_index; }else{ index=download_id; } if(window.pysEddProductData[download_id].hasOwnProperty(index)){ if(window.pysEddProductData[download_id][index].hasOwnProperty('facebook')){ Utils.copyProperties(window.pysEddProductData[download_id][index]['facebook']["params"], event.params) if(options.edd.addToCartOnButtonValueEnabled&&options.edd.addToCartOnButtonValueOption!=='global'){ event.params.value=event.params.value * qty; } var contents=event.params.contents; contents[0].quantity=qty; event.params.contents=JSON.stringify(contents); this.fireEvent(event.name,event); }} }}, onEddRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onPageScroll: function (event){ this.fireEvent(event.name, event); }, onTime: function (event){ this.fireEvent(event.name, event); }, };}(options); var Analytics=function (options){ var initialized=false; var isAllowEnhancedConversions=false; function fireEvent(name, event){ if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'ga')){ return; } var eventParams=event.params; var data=event.params; var valuesArray=Object.values(event.trackingIds); var ids=valuesArray.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'ga'); }) Utils.copyProperties(Utils.getRequestParams(), eventParams); var _fireEvent=function (tracking_id,name,params){ params['send_to']=tracking_id; if(options.debug){ console.log('[Google Analytics #' + tracking_id + '] ' + name, params); } gtag('event', name, params); }; var copyParams=Utils.copyProperties(eventParams, {}); if(event.hasOwnProperty("unify")){ var params=mapParamsToUnifyGA(name,copyParams) }else{ var params=mapParamsTov4(ids,name,copyParams) } delete params.analytics_storage; delete params.ad_storage; delete params.ad_user_data; delete params.ad_personalization; _fireEvent(ids, name, params); isTrackEventForGA.push(name); } function normalizeEventName(eventName){ var matches={ ViewContent: 'view_item', AddToCart: 'add_to_cart', AddToWishList: 'add_to_wishlist', InitiateCheckout: 'begin_checkout', Purchase: 'purchase', Lead: 'generate_lead', CompleteRegistration: 'sign_up', AddPaymentInfo: 'set_checkout_option' }; return matches.hasOwnProperty(eventName) ? matches[eventName]:eventName; } function mapParamsToUnifyGA(name,param){ switch (name){ case 'OutboundClick': case 'InternalClick': { let params={ event_category: "Key Actions", event_action: name, } if(param.hasOwnProperty("target_url")){ params['event_label']=param.target_url } if(options.trackTrafficSource){ params['traffic_source']=param.traffic_source } return params; } case 'AdSense' : case 'Comment' : case 'login' : case 'sign_up' : case 'EmailClick' : case 'TelClick':{ let params={ event_category: "Key Actions", event_action: name, } return params; } case 'Form':{ let params={ event_category: "Key Actions", event_action: name, } var formClass=(typeof param.form_class!='undefined') ? 'class: ' + param.form_class:''; if(formClass!=""){ params["event_label"]=formClass; } return params; } case 'Download':{ let params={ event_category: "Key Actions", event_action: name, event_label: param.download_name, } return params; } case 'TimeOnPage' : case 'PageScroll':{ let params={ event_category: "Key Actions", event_action: name, event_label: document.title, } return params; } case 'search':{ let params={ event_category: "Key Actions", event_action: name, event_label: param.search_term } return params; }} return param; } function mapParamsTov4(tag,name,param){ var hasGA4Tag=false; delete param.page_title; delete param.event_url; delete param.landing_page; if(Array.isArray(tag)){ hasGA4Tag=tag.some(function (element){ return isv4(element); }); }else if(isv4(tag)){ hasGA4Tag=true; } if(hasGA4Tag){ delete param.traffic_source; delete param.event_category; delete param.event_label; delete param.ecomm_prodid; delete param.ecomm_pagetype; delete param.ecomm_totalvalue; if(name==='search'){ param['search']=param.search_term; delete param.search_term; delete param.dynx_itemid; delete param.dynx_pagetype; delete param.dynx_totalvalue; }}else{ switch (name){ case 'OutboundClick': case 'InternalClick': { let params={ event_category: "Key Actions", event_action: name, } if(param.hasOwnProperty("target_url")){ params['event_label']=param.target_url } if(options.trackTrafficSource){ params['traffic_source']=param.traffic_source } return params; } case 'AdSense' : case 'Comment' : case 'login' : case 'sign_up' : case 'EmailClick' : case 'TelClick':{ let params={ event_category: "Key Actions", event_action: name, } return params; } case 'Form':{ let params={ event_category: "Key Actions", event_action: name, } var formClass=(typeof param.form_class!='undefined') ? 'class: ' + param.form_class:''; if(formClass!=""){ params["event_label"]=formClass; } return params; } case 'Download':{ let params={ event_category: "Key Actions", event_action: name, event_label: param.download_name, } return params; } case 'TimeOnPage' : case 'PageScroll':{ let params={ event_category: "Key Actions", event_action: name, event_label: document.title, } return params; } case 'search':{ let params={ event_category: "Key Actions", event_action: name, event_label: param.search_term, } return params; }} delete param.post_type; delete param.post_id; delete param.plugin; delete param.user_role; delete param.cartlows; delete param.cartflows_flow; delete param.cartflows_step; } return param; } function isv4(tag){ return tag.indexOf('G')===0; } return { tag: function(){ return "ga"; }, isEnabled: function (){ return options.hasOwnProperty('ga'); }, getHidePixel: function(){ if(this.isEnabled()&&options.ga.hasOwnProperty('hide_pixels')){ return options.ga.hide_pixels; } return []; }, disable: function (){ initialized=false; }, updateEnhancedConversionData:function (){ if(isAllowEnhancedConversions){ var advanced=Utils.getAdvancedMergeFormData() gtag('set', 'user_data', advanced); }}, loadPixel: function (){ if(initialized||!this.isEnabled()||!Utils.consentGiven('analytics')){ return; } for (var i=0; i < options.ga.trackingIds.length; i++){ var trackingId=options.ga.trackingIds[i]; if(!Utils.hideMatchingPixel(trackingId, 'ga')){ Utils.loadGoogleTag(trackingId); break; }} var cd={ 'dimension1': 'event_hour', 'dimension2': 'event_day', 'dimension3': 'event_month' }; if(options.ga.retargetingLogic==='ecomm'){ cd.dimension4='ecomm_prodid'; cd.dimension5='ecomm_pagetype'; cd.dimension6='ecomm_totalvalue'; }else{ cd.dimension4='dynx_itemid'; cd.dimension5='dynx_pagetype'; cd.dimension6='dynx_totalvalue'; } var config={ 'custom_map': cd }; if(options.user_id&&options.user_id!=0){ config.user_id=options.user_id; } if(options.ga.crossDomainEnabled){ config.linker={ accept_incoming: options.ga.crossDomainAcceptIncoming, domains: options.ga.crossDomainDomains };} var ids=options.ga.trackingIds.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'ga'); }); ids.forEach(function (trackingId,index){ var obj=options.ga.isDebugEnabled; var searchValue="index_"+index; config.debug_mode=false; for (var key in obj){ if(obj.hasOwnProperty(key)&&obj[key]===searchValue){ config.debug_mode=true; break; }} if(!config.debug_mode){ delete config.debug_mode; } if(isv4(trackingId)){ if(options.ga.disableAdvertisingPersonalization){ config.allow_ad_personalization_signals=false }} if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){ var cookiebot_consent_category=options.gdpr['cookiebot_analytics_consent_category']; if(options.gdpr['analytics_prior_consent_enabled']){ if(Cookiebot.consented===true&&Cookiebot.consent[cookiebot_consent_category]){ gtag('config', trackingId, config); }}else{ if(Cookiebot.consent[cookiebot_consent_category]){ gtag('config', trackingId, config); }} }else{ gtag('config', trackingId, config); }}); if(!isAdsLoad&&GAds.isEnabled()&&options.google_ads.conversion_ids.length > 0){ for (var i=0; i < options.google_ads.conversion_ids.length; i++){ var trackingId=options.google_ads.conversion_ids[i]; if(!Utils.hideMatchingPixel(trackingId, 'google_ads')){ Utils.loadGoogleTag(trackingId); break; }} var ids=options.google_ads.conversion_ids.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'google_ads'); }); ids.forEach(function (conversion_id,index){ gtag('config', conversion_id); if(options.google_ads.enhanced_conversion.includes("index_"+index)){ isAllowEnhancedConversions=true gtag('config', conversion_id,{ 'allow_enhanced_conversions':true }); } if(isAllowEnhancedConversions){ var advanced=Utils.getAdvancedMergeFormData() gtag('set', 'user_data', advanced); }}); isAdsLoad=true; } initialized=true; Utils.fireStaticEvents('ga'); $(document).trigger("analytics_initialized") }, fireEvent: function (name, data){ if(!initialized||!this.isEnabled()){ return false; } data.delay=data.delay||0; data.params=data.params||{}; if(data.delay===0){ fireEvent(name, data); }else{ setTimeout(function (name, params){ fireEvent(name, params); }, data.delay * 1000, name, data); } return true; }, onAdSenseEvent: function (event){ this.fireEvent(event.name, event); }, onClickEvent: function (event){ this.fireEvent(event.name, event); }, onWatchVideo: function (event){ if(!event.hasOwnProperty("youtube_disabled") || !event.youtube_disabled || event.params.video_type!=="youtube"){ this.fireEvent(event.name, event); }}, onCommentEvent: function (event){ this.fireEvent(event.name, event); }, onFormEvent: function (event){ this.fireEvent(event.name, event); }, onDownloadEvent: function (event){ this.fireEvent(event.name, event); }, onWooAddToCartOnButtonEvent: function (product_id, prod_info=null){ if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('ga')){ var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params) event.trackingIds=window.pysWooProductData[product_id]['ga']['trackingIds']; if(prod_info){ if(prod_info['pys_list_name_productlist_id']){ event.params.items[0]['item_list_id']=prod_info['pys_list_name_productlist_id'] } if(prod_info['pys_list_name_productlist_name']){ event.params.items[0]['item_list_name']=prod_info['pys_list_name_productlist_name'] }} this.fireEvent(event.name, event); }} }, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){ window.pysWooProductData=window.pysWooProductData||[]; if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); if(product_type===Utils.PRODUCT_VARIABLE&&!options.ga.wooVariableAsSimple){ product_id=parseInt($form.find('input[name="variation_id"]').val()); } if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('ga')){ Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params); if(product_type===Utils.PRODUCT_GROUPED){ var groupValue=0; $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); var quantity=parseInt($(this).val()); if(isNaN(quantity)){ quantity=0; } var childItem=window.pysWooProductData[product_id]['ga'].grouped[childId]; event.params.items.forEach(function(el,index,array){ if(el.id==childItem.content_id){ if(quantity > 0){ el.quantity=quantity; el.price=childItem.price; }else{ array.splice(index, 1); }} }); groupValue +=childItem.price * quantity; }); if(options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption!=='global' && event.params.hasOwnProperty('ecomm_totalvalue')){ event.params.ecomm_totalvalue=groupValue; } if(groupValue==0) return; }else{ event.params.items[0].quantity=qty; } if(options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption!=='global' && product_type!==Utils.PRODUCT_GROUPED){ if(event.params.hasOwnProperty('ecomm_totalvalue')){ event.params.ecomm_totalvalue=event.params.items[0].price * qty; }} var eventName=is_external ? options.woo.affiliateEventName:event.name; eventName=normalizeEventName(eventName); this.fireEvent(eventName, event); }} }, onWooCheckoutProgressStep: function (event){ this.fireEvent(event.name, event); }, onWooSelectContent: function (event){ const select_prod_list={}; if(event.params.items[0].item_list_name!==undefined){ select_prod_list.list_name=event.params.items[0].item_list_name; } if(event.params.items[0].item_list_id!==undefined){ select_prod_list.list_id=event.params.items[0].item_list_id; } Cookies.set('select_prod_list', select_prod_list, { expires: 1 }); this.fireEvent(event.name, event); }, onWooRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onWooAffiliateEvent: function (product_id){ if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag())) return; var event=options.dynamicEvents.woo_affiliate[this.tag()]; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('ga')){ event=Utils.clone(event); Utils.copyProperties(window.pysWooProductData[product_id][this.tag()], event.params) this.fireEvent(normalizeEventName(options.woo.affiliateEventName), event); }} }, onWooPayPalEvent: function (event){ this.fireEvent(event.name, event); }, onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){ if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]); if(window.pysEddProductData.hasOwnProperty(download_id)){ var index; if(price_index){ index=download_id + '_' + price_index; }else{ index=download_id; } if(window.pysEddProductData[download_id].hasOwnProperty(index)){ if(window.pysEddProductData[download_id][index].hasOwnProperty('ga')){ Utils.copyProperties(window.pysEddProductData[download_id][index]['ga'].params, event.params); event.params.items[0].quantity=qty; this.fireEvent(event.name,event); }} }}, onEddRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onPageScroll: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, onTime: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, };}(options); var GAds=function (options){ var initialized=false; var isAllowEnhancedConversions=false function fireEvent(name, data){ if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(event_name,'google_ads')){ return; } var _params=Utils.copyProperties(data.params,{}); var ids=data.ids.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'google_ads'); }); var coversionIds=data.hasOwnProperty('conversion_ids') ? data.conversion_ids.filter(function (conversion_id){ return !Utils.hideMatchingPixel(conversion_id, 'google_ads'); }):[]; var conversion_labels=data.hasOwnProperty('conversion_labels') ? data.conversion_labels.filter(function (conversion_label){ conversion_id=conversion_label.split('/')[0]; return !Utils.hideMatchingPixel(conversion_id, 'google_ads'); }):[]; Utils.copyProperties(Utils.getRequestParams(), _params); var _fireEvent=function (conversion_id,event_name){ params=Utils.copyProperties(_params, { send_to: conversion_id }); if("conversion"===event_name){ delete params.items; delete params.ecomm_pagetype; delete params.ecomm_prodid; delete params.ecomm_totalvalue; } if(options.debug){ console.log('[Google Ads #' + conversion_id + '] ' + event_name, params); } gtag('event', event_name, params); }; if(conversion_labels.length > 0){ ids=conversion_labels; if(!isTrackEventForGA.includes(name)){ _fireEvent(ids, name); }}else{ var conversion_event_name=data.e_id; switch (conversion_event_name){ case "woo_add_to_cart_on_cart_page": case "woo_add_to_cart_on_checkout_page": case "woo_add_to_cart_on_button_click": conversion_event_name='woo_add_to_cart'; break; case "edd_add_to_cart_on_cart_page": case "edd_add_to_cart_on_checkout_page": case "edd_add_to_cart_on_button_click": conversion_event_name='edd_add_to_cart'; break; } if(ids.length&&options.google_ads[conversion_event_name + '_conversion_track']&&options.google_ads[conversion_event_name + '_conversion_track']=='conversion'){ _fireEvent(ids, "conversion"); } if(ids.length&&options.google_ads[conversion_event_name + '_conversion_track']&&options.google_ads[conversion_event_name + '_conversion_track']!='conversion'){ ids=ids; }else{ ids=coversionIds; } if(!isTrackEventForGA.includes(name)){ _fireEvent(ids, name); }} } function normalizeEventName(eventName){ var matches={ ViewContent: 'view_item', AddToCart: 'add_to_cart', AddToWishList: 'add_to_wishlist', InitiateCheckout: 'begin_checkout', Purchase: 'purchase', Lead: 'generate_lead', CompleteRegistration: 'sign_up', AddPaymentInfo: 'set_checkout_option' }; return matches.hasOwnProperty(eventName) ? matches[eventName]:eventName; } return { tag: function(){ return "google_ads"; }, isEnabled: function (){ return options.hasOwnProperty('google_ads'); }, getHidePixel: function(){ if(this.isEnabled()&&options.google_ads.hasOwnProperty('hide_pixels')){ return options.google_ads.hide_pixels; } return []; }, disable: function (){ initialized=false; }, updateEnhancedConversionData:function (){ if(isAllowEnhancedConversions){ var advanced=Utils.getAdvancedMergeFormData() gtag('set', 'user_data', advanced); }}, loadPixel: function (){ if(initialized||!this.isEnabled()||!Utils.consentGiven('google_ads')){ return; } if(!isAdsLoad&&options.google_ads.conversion_ids.length > 0){ for (var i=0; i < options.google_ads.conversion_ids.length; i++){ var trackingId=options.google_ads.conversion_ids[i]; if(!Utils.hideMatchingPixel(trackingId, 'google_ads')){ Utils.loadGoogleTag(trackingId); break; }} var ids=options.google_ads.conversion_ids.filter(function (pixelId){ return !Utils.hideMatchingPixel(pixelId, 'google_ads'); }); ids.forEach(function (conversion_id,index){ let config={}; if(options.google_ads.enhanced_conversion.includes("index_"+index)){ isAllowEnhancedConversions=true; config.allow_enhanced_conversions=true } if(options.google_ads.crossDomainEnabled){ config.linker={ accept_incoming: options.google_ads.crossDomainAcceptIncoming, domains: options.google_ads.crossDomainDomains };} gtag('config', conversion_id, config); if(isAllowEnhancedConversions){ var advanced=Utils.getAdvancedMergeFormData() gtag('set', 'user_data', advanced); }}); isAdsLoad=true; } initialized=true; Utils.fireStaticEvents('google_ads'); }, fireEvent: function (name, data){ if(!initialized||!this.isEnabled()){ return false; } data.delay=data.delay||0; data.params=data.params||{}; data.ids=data.ids||[]; data.conversion_labels=data.conversion_labels||[]; if(data.delay===0){ fireEvent(name, data); }else{ setTimeout(function (name, data){ fireEvent(name, data); }, data.delay * 1000, name, data); } return true; }, onAdSenseEvent: function (event){ this.fireEvent(event.name, event); }, onClickEvent: function (action, params){ }, onWatchVideo: function (event){ this.fireEvent(event.name, event); }, onCommentEvent: function (event){ this.fireEvent(event.name, event); }, onFormEvent: function (event){ this.fireEvent(event.name, event); }, onDownloadEvent: function (event){ this.fireEvent(event.name, event); }, onWooAddToCartOnButtonEvent: function (product_id){ if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){ var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]) Utils.copyProperties(window.pysWooProductData[product_id]['google_ads']['params'].params, event.params) event["ids"]=window.pysWooProductData[product_id]['google_ads']['ids'] event["conversion_labels"]=window.pysWooProductData[product_id]['google_ads']['conversion_labels'] this.fireEvent(event.name, event); }} }, onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){ window.pysWooProductData=window.pysWooProductData||[]; if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]); if(product_type===Utils.PRODUCT_VARIABLE&&!options.google_ads.wooVariableAsSimple){ product_id=parseInt($form.find('input[name="variation_id"]').val()); } if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){ Utils.copyProperties(window.pysWooProductData[product_id]['google_ads']["params"], event.params); event["ids"]=window.pysWooProductData[product_id]['google_ads']['ids'] event["conversion_labels"]=window.pysWooProductData[product_id]['google_ads']['conversion_labels'] var groupValue=0; if(product_type===Utils.PRODUCT_GROUPED){ $form.find(".woocommerce-grouped-product-list .qty").each(function(index){ var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]",""); var quantity=parseInt($(this).val()); if(isNaN(quantity)){ quantity=0; } var childItem=window.pysWooProductData[product_id]['google_ads'].grouped[childId]; if(options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption!=='global'){ event.params.items.forEach(function(el,index,array){ if(el.id==childItem.content_id){ if(quantity > 0){ el.quantity=quantity; el.price=childItem.price; }else{ array.splice(index, 1); }} }); } groupValue +=childItem.price * quantity; }); if(groupValue==0) return; event.params.value=groupValue; }else{ event.params.items[0].quantity=qty; } if(options.woo.addToCartOnButtonValueEnabled && options.woo.addToCartOnButtonValueOption!=='global' && product_type!==Utils.PRODUCT_GROUPED){ event.params.value=event.params.value * qty; } var eventName=is_external ? options.woo.affiliateEventName:event.name; eventName=normalizeEventName(eventName); this.fireEvent(eventName, event); }} }, onWooRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onWooAffiliateEvent: function (product_id){ if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag())) return; var event=options.dynamicEvents.woo_affiliate[this.tag()]; if(window.pysWooProductData.hasOwnProperty(product_id)){ if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){ event=Utils.clone(event) Utils.copyProperties(window.pysWooProductData[product_id][this.tag()], event.params) this.fireEvent(normalizeEventName(options.woo.affiliateEventName), event); }} }, onWooPayPalEvent: function (event){ this.fireEvent(event.name, event); }, onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){ if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) return; var event=options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]; if(window.pysEddProductData.hasOwnProperty(download_id)){ var index; if(price_index){ index=download_id + '_' + price_index; }else{ index=download_id; } if(window.pysEddProductData[download_id].hasOwnProperty(index)){ if(window.pysEddProductData[download_id][index].hasOwnProperty('google_ads')){ event=Utils.clone(event) Utils.copyProperties(window.pysEddProductData[download_id][index]['google_ads']['params'], event.params); event.ids=window.pysEddProductData[download_id][index]['google_ads']['ids'] this.fireEvent(event.name, event); }} }}, onEddRemoveFromCartEvent: function (event){ this.fireEvent(event.name, event); }, onPageScroll: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, onTime: function (event){ if(initialized&&this.isEnabled()){ this.fireEvent(event.name, event); }}, };}(options); window.pys=window.pys||{}; window.pys.Facebook=Facebook; window.pys.Analytics=Analytics; window.pys.GAds=GAds; window.pys.Utils=Utils; window.pys.TikTok=TikTok; $(document).ready(function (){ if(Cookies.get('form_track')){ Cookies.remove('form_track') } if($("#pys_late_event").length > 0){ var events=JSON.parse($("#pys_late_event").attr("dir")); for(var key in events){ var event={}; event[events[key].e_id]=[events[key]]; if(options.staticEvents.hasOwnProperty(key)){ Object.assign(options.staticEvents[key], event); }else{ options.staticEvents[key]=event; }} } var Pinterest=Utils.setupPinterestObject(); var Bing=Utils.setupBingObject(); if(options.hasOwnProperty('cookie')){ if(options.cookie.externalID_disabled_by_api||options.cookie.disabled_all_cookie){ Cookies.remove('pbid') } if(options.cookie.disabled_advanced_form_data_cookie||options.cookie.disabled_all_cookie){ Cookies.remove('pys_advanced_form_data') } if(options.cookie.disabled_landing_page_cookie||options.cookie.disabled_all_cookie){ Cookies.remove('pys_landing_page') Cookies.remove('last_pys_landing_page') } if(options.cookie.disabled_trafficsource_cookie||options.cookie.disabled_all_cookie){ Cookies.remove('pysTrafficSource') Cookies.remove('last_pysTrafficSource') } if(options.cookie.disabled_first_visit_cookie||options.cookie.disabled_all_cookie){ Cookies.remove('pys_first_visit') } if(options.cookie.disabled_utmTerms_cookie||options.cookie.disabled_all_cookie){ $.each(Utils.utmTerms, function (index, name){ Cookies.remove('pys_' + name) }); $.each(Utils.utmTerms, function (index, name){ Cookies.remove('last_pys_' + name) }); } if(options.cookie.disabled_utmId_cookie||options.cookie.disabled_all_cookie){ $.each(Utils.utmId,function(index,name){ Cookies.remove('pys_' + name) }) $.each(Utils.utmId,function(index,name){ Cookies.remove('last_pys_' + name) }); }} Utils.manageCookies(); Utils.initializeRequestParams(); Utils.setupGdprCallbacks(); if(options.enable_auto_save_advance_matching){ $(document).on("blur","input[type='email']",function (){ let email=$(this).val().trim().toLowerCase(); if(Utils.validateEmail(email)){ Utils.saveAdvancedFormData(email,null,null,null); }}) $(document).on("blur","input[type='tel']",function (){ let phone=$(this).val().trim().replace(/\D/g, ""); if(phone.length > 5){ Utils.saveAdvancedFormData(null,phone,null,null); }}) $(document).on("blur","input[type='text']",function (){ let name; if($(this).attr("name")&&$(this).attr("name")!=''){ name=$(this).attr("name").trim() } if(name&&options.advance_matching_fn_names.includes(name)){ let value=$(this).val().trim(); if(value.length > 0){ Utils.saveAdvancedFormData(null,null,value,null); }} if(name&&options.advance_matching_ln_names.includes(name)){ let value=$(this).val().trim(); if(value.length > 0){ Utils.saveAdvancedFormData(null,null,null,value); }} if(name&&options.advance_matching_tel_names.includes(name)){ let value=$(this).val().trim(); if(value.length > 0){ Utils.saveAdvancedFormData(null,value,null,null); }} }) } if(options.dynamicEvents.hasOwnProperty("automatic_event_internal_link") || options.dynamicEvents.hasOwnProperty("automatic_event_outbound_link") || options.dynamicEvents.hasOwnProperty("automatic_event_tel_link") || options.dynamicEvents.hasOwnProperty("automatic_event_email_link") || options.dynamicEvents.hasOwnProperty("automatic_event_download") ){ $(document).onFirst('click', 'a, button, input[type="button"], input[type="submit"]', function (e){ var $elem=$(this); if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){ var isFired=false; if($elem.is('a')){ var href=$elem.attr('href'); if(typeof href!=="string"){ return; } href=href.trim(); var extension=Utils.getLinkExtension(href); var track_download=false; if(extension.length > 0){ if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){ var pixels=Object.keys(options.dynamicEvents.automatic_event_download); for (var i=0; i < pixels.length; i++){ var event=Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]); var extensions=event.extensions; if(extensions.includes(extension)){ if(pixels[i]=="tiktok"){ getPixelBySlag(pixels[i]).fireEvent(event.name, event); }else{ if(options.enable_remove_download_url_param){ href=href.split('?')[0]; } event.params.download_url=href; event.params.download_type=extension; event.params.download_name=Utils.getLinkFilename(href); getPixelBySlag(pixels[i]).onDownloadEvent(event); } isFired=true; }} }} } if(isFired){ return; }} if(!e.hasOwnProperty('originalEvent')){ return; } if($elem.hasClass("add_to_cart_button") || $elem.hasClass("single_add_to_cart_button")){ return; } if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_next_step_click") && $elem.hasClass("wcf-next-step-link")){ return; } if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_bump_click") && $elem.hasClass("wcf-bump-order-cb")){ return; } if($elem.hasClass("remove_from_cart_button")){ return; } if($elem.hasClass("remove")){ if($elem.parents('.cart_item').length||$elem.parents('.mini_cart_item').length) return; } if($elem.attr("name")=="update_cart"||$elem.attr("name")=="apply_coupon"){ return; } if($elem.hasClass('pys_block')){ return; } var text=""; var target_url=""; var linkType="Internal Click"; if($elem.is('a')){ var href=$elem.attr('href'); if(typeof href!=="string"){ return; } href=href.trim(); text=$elem.text(); if(options.enable_remove_target_url_param){ target_url=href.split('?')[0]; }else{ target_url=href } if(href.startsWith('mailto:')){ if(options.dynamicEvents.hasOwnProperty("automatic_event_email_link")){ var pixels=Object.keys(options.dynamicEvents.automatic_event_email_link); for(var i=0;i 0){ var isOverGoogleAd=false; $(document) .on('mouseover', 'ins > ins > iframe', function (){ isOverGoogleAd=true; }) .on('mouseout', 'iframe', function (){ isOverGoogleAd=false; }); $(window) .on("blur",function (){ if(isOverGoogleAd){ $.each(options.triggerEventTypes, function (triggerType, events){ $.each(events, function (eventId, triggers){ switch (triggerType){ case 'ad_sense_click': Utils.fireTriggerEvent(eventId); break; }}); }); }}) .trigger("focus"); } if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll") ){ var singlePageScroll=function (){ var docHeight=$(document).height() - $(window).height(); var isFired=false; if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")){ var pixels=Object.keys(options.dynamicEvents.automatic_event_scroll); for(var i=0;i { var form_id=$(event.target).attr('data-formid'); var sendEventId=null; var disabled_form_action=false; if(options.triggerEventTypes.hasOwnProperty('wpforms')){ key_event=Object.keys(options.triggerEventTypes.wpforms)[0]; if(options.triggerEventTypes.wpforms[key_event].hasOwnProperty('disabled_form_action')){ disabled_form_action=options.triggerEventTypes.wpforms[key_event].disabled_form_action; } $.each(options.triggerEventTypes.wpforms, function (eventId, triggers){ $.each(triggers.forms, function (index, value){ if(value==form_id){ sendEventId=eventId; };}); }); } if(sendEventId!=null){ Utils.fireTriggerEvent(sendEventId); if(!disabled_form_action){ sendFormAction($(event.target), form_id); }}else{ sendFormAction($(event.target), form_id); }}) $(document).on('frmFormComplete', function(event, form, response){ const form_id=$(form).find('input[name="form_id"]').val(); var sendEventId=null; var disabled_form_action=false; if(options.triggerEventTypes.hasOwnProperty('formidable')){ key_event=Object.keys(options.triggerEventTypes.formidable)[0]; if(options.triggerEventTypes.formidable[key_event].hasOwnProperty('disabled_form_action')){ disabled_form_action=options.triggerEventTypes.formidable[key_event].disabled_form_action; } $.each(options.triggerEventTypes.formidable, function (eventId, triggers){ $.each(triggers.forms, function (index, value){ if(value==form_id){ sendEventId=eventId; };}); }); } if(sendEventId!=null){ Utils.fireTriggerEvent(sendEventId); if(!disabled_form_action){ sendFormAction($(event.target), form_id); }}else{ sendFormAction($(event.target), form_id); }}); $(document).onFirst('nfFormSubmitResponse', function (event, data){ const form_id=data.response.data.form_id; var sendEventId=null; var disabled_form_action=false; if(options.triggerEventTypes.hasOwnProperty('ninjaform')){ key_event=Object.keys(options.triggerEventTypes.ninjaform)[0]; if(options.triggerEventTypes.ninjaform[key_event].hasOwnProperty('disabled_form_action')){ disabled_form_action=options.triggerEventTypes.ninjaform[key_event].disabled_form_action; } $.each(options.triggerEventTypes.ninjaform, function (eventId, triggers){ $.each(triggers.forms, function (index, value){ if(value==form_id){ sendEventId=eventId; };}); }); } if(sendEventId!=null){ Utils.fireTriggerEvent(sendEventId); if(!disabled_form_action){ sendFormAction($(event.target), form_id); }}else{ sendFormAction($(event.target), form_id); }}); var fluentForms=$('form.frm-fluent-form'); fluentForms.each(function(){ var $form=$(this); $form.on('fluentform_submission_success', function(event){ var $formItem=$(this); var form_id=$formItem.attr('data-form_id'); var sendEventId=null; var disabled_form_action=false; if(options.triggerEventTypes.hasOwnProperty('fluentform')){ key_event=Object.keys(options.triggerEventTypes.fluentform)[0]; if(options.triggerEventTypes.fluentform[key_event].hasOwnProperty('disabled_form_action')){ disabled_form_action=options.triggerEventTypes.fluentform[key_event].disabled_form_action; } $.each(options.triggerEventTypes.fluentform, function (eventId, triggers){ $.each(triggers.forms, function (index, value){ if(value==form_id){ sendEventId=eventId; };}); }); } if(sendEventId!=null){ Utils.fireTriggerEvent(sendEventId); if(!disabled_form_action){ sendFormAction($(event.target), form_id); }}else{ sendFormAction($(event.target), form_id); }}); }); Utils.loadPixels(); if(Utils.isCheckoutPage()){ Utils.addCheckoutFields(); }}); if(options.automatic.enable_video){ var consentApi=window.consentApi; if(consentApi&&options.gdpr.real_cookie_banner_integration_enabled){ if(options.automatic.enable_youtube&&options.enable_event_video&&options.enable_automatic_events){ window.consentApi.consent("http", "CONSENT", ".youtube.com").then(Utils.initYouTubeAPI); } if(options.automatic.enable_vimeo&&options.enable_event_video&&options.enable_automatic_events){ window.consentApi.consent("http", "player", ".vimeo.com").then(Utils.initVimeoAPI); }}else{ if(options.automatic.enable_youtube&&options.enable_event_video&&options.enable_automatic_events){ Utils.initYouTubeAPI(); } if(options.automatic.enable_vimeo&&options.enable_event_video&&options.enable_automatic_events){ Utils.initVimeoAPI(); }} } var sendFormAction=function (form_target, formId){ var params={ form_id: formId, text: form_target.find('[type="submit"]').is('input') ? form_target.find('[type="submit"]').val() : form_target.find('.forminator-button-submit').text()!='' ? form_target.find('.forminator-button-submit').text() : form_target.find('[type="submit"]').text() }; if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){ var pixels=Object.keys(options.dynamicEvents.automatic_event_form); for (var i=0; i < pixels.length; i++){ var event=options.dynamicEvents.automatic_event_form[pixels[i]]; if(pixels[i]==="tiktok"){ getPixelBySlag(pixels[i]).fireEvent(event.name, event); }else{ Utils.copyProperties(params, event.params) Utils.copyProperties(Utils.getRequestParams(), event.params); getPixelBySlag(pixels[i]).onFormEvent(event); }} }} }(jQuery, pysOptions); if(pysOptions.ajaxForServerEvent&&!Cookies.get('pbid')&&!(pysOptions.cookie.disabled_all_cookie||pysOptions.cookie.externalID_disabled_by_api)){ jQuery.ajax({ url: pysOptions.ajaxUrl, dataType: 'json', data: { action: 'pys_get_pbid' }, success: function (res){ if(res.data&&res.data.pbid!=false&&pysOptions.send_external_id){ var expires=parseInt(pysOptions.external_id_expire||180); Cookies.set('pbid', res.data.pbid, { expires: expires, path: '/' }); }} }); } function pys_generate_token(length){ var a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".split(""); var b=[]; for (var i=0; i