﻿/* 

	Social Traffic Pop
	Version:    1.0
	Created By: Tyler Colwell
	Website:    http://tyler.tc/
	
	Copyright © 2010-2011 Tyler Colwell
	
	Countdown Written by Keith Wood http://keith-wood.name/.

*/
(function($){$.fn.socialTrafficPop=function(options){var defaults={title:"Social Traffic Pop",message:"Share Social Traffic Pop with your friends and see what happens!",closeable:true,advancedClose:true,opacity:"0.3",google_url:"http://www.sharewaremaker.info",fb_url:"http://www.sharewaremaker.info",twitter_user:"RealTylerQuinn",twitter_method:"tweet",timeout:25,wait:"0",};var options=$.extend(defaults,options);getPopHTML=function(){var spClose="";if(defaults.closeable==true){spClose='<a href="#" onClick="gppFlush();" id="gpp-close">Close<a/>'}if(defaults.twitter_method=="follow"){var twitter_disp='<a id="spTwitter" href="http://twitter.com/'+defaults.twitter_user+'" class="twitter-follow-button" data-show-count="false">Follow @'+defaults.twitter_user+"</a>"}else{var twitter_disp='<a id="spTwitter" href="http://twitter.com/share" class="twitter-share-button">Tweet</a>'}var sPop='<div id="stp-bg"></div><div id="stp-main"><div id="stp-title">'+spClose+""+defaults.title+'</div><div id="stp-msg-cont"><div id="stp-msg">'+defaults.message+'</div><div class="stp-button"><g:plusone size="standard" count="true" href="'+defaults.google_url+'" callback="googleCB"></g:plusone></div><div class="stp-button"><div id="fb-root"></div><fb:like href="'+defaults.fb_url+'" send="false" layout="button_count" width="50" show_faces="false"></fb:like></div><div class="stp-button">'+twitter_disp+'</div><div class="step-clear"></div></div><div id="stp-bottom"><div id="stp-counter">Share or wait <span id="stp-count"></span> seconds.</div></div></div>';return sPop};var markup=getPopHTML();$("body").append(markup);var cook=readCookie("stpshow");var waitCook=readCookie("stpwait");if(defaults.wait=="0"){waitCook=false}if(cook!="true"&&waitCook!="true"){var windowWidth=document.documentElement.clientWidth;var windowHeight=document.documentElement.clientHeight;var popupHeight=$("#stp-main").height();var popupWidth=$("#stp-main").width();$("#stp-main").css({position:"absolute",top:250,left:windowWidth/2-popupWidth/2});$("#stp-bg").css({height:windowHeight});$("#stp-bg").css({opacity:defaults.opacity});$("#stp-bg").fadeIn("slow");$("#stp-main").fadeIn("slow");if(defaults.timeout=="0"){$("#stp-counter").hide()}else{$("#stp-count").countdown({until:"+"+defaults.timeout+"s",format:"S",compact:true,description:"",onExpiry:stpFlush})}if(defaults.wait!=0){createCookie("gppwait","true",defaults.wait)}}if(defaults.advancedClose==true){$(document).keyup(function(e){if(e.keyCode==27){stpFlush(false)}});$("body").click(function(){stpFlush(false)});$("#stp-main").click(function(event){event.stopPropagation()})}return true}})(jQuery);function googleCB(){stpFlush(true)}FB.Event.subscribe("edge.create",function(href){stpFlush(true)});function twitterCB(intent_event){stpFlush(true)}twttr.events.bind("tweet",twitterCB);twttr.events.bind("follow",twitterCB);function stpFlush(action){if(action==true){createCookie("gpluspop","true",30)}jQuery("#stp-bg").fadeOut("slow");jQuery("#stp-main").fadeOut("slow")}(function($){function Countdown(){this.regional=[];this.regional[""]={labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],whichLabels:null,timeSeparator:":",isRTL:false};this._defaults={until:null,since:null,timezone:null,serverSync:null,format:"dHMS",layout:"",compact:false,significant:0,description:"",expiryUrl:"",expiryText:"",alwaysExpire:false,onExpiry:null,onTick:null,tickInterval:1};$.extend(this._defaults,this.regional[""]);this._serverSyncs=[]}var w="countdown";var Y=0;var O=1;var W=2;var D=3;var H=4;var M=5;var S=6;$.extend(Countdown.prototype,{markerClassName:"hasCountdown",_timer:setInterval(function(){$.countdown._updateTargets()},980),_timerTargets:[],setDefaults:function(a){this._resetExtraLabels(this._defaults,a);extendRemove(this._defaults,a||{})},UTCDate:function(a,b,c,e,f,g,h,i){if(typeof b=="object"&&b.constructor==Date){i=b.getMilliseconds();h=b.getSeconds();g=b.getMinutes();f=b.getHours();e=b.getDate();c=b.getMonth();b=b.getFullYear()}var d=new Date();d.setUTCFullYear(b);d.setUTCDate(1);d.setUTCMonth(c||0);d.setUTCDate(e||1);d.setUTCHours(f||0);d.setUTCMinutes((g||0)-(Math.abs(a)<30?a*60:a));d.setUTCSeconds(h||0);d.setUTCMilliseconds(i||0);return d},periodsToSeconds:function(a){return a[0]*31557600+a[1]*2629800+a[2]*604800+a[3]*86400+a[4]*3600+a[5]*60+a[6]},_settingsCountdown:function(a,b){if(!b){return $.countdown._defaults}var c=$.data(a,w);return(b=="all"?c.options:c.options[b])},_attachCountdown:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName)){return}c.addClass(this.markerClassName);var d={options:$.extend({},b),_periods:[0,0,0,0,0,0,0]};$.data(a,w,d);this._changeCountdown(a)},_addTarget:function(a){if(!this._hasTarget(a)){this._timerTargets.push(a)}},_hasTarget:function(a){return($.inArray(a,this._timerTargets)>-1)},_removeTarget:function(b){this._timerTargets=$.map(this._timerTargets,function(a){return(a==b?null:a)})},_updateTargets:function(){for(var i=this._timerTargets.length-1;i>=0;i--){this._updateCountdown(this._timerTargets[i])}},_updateCountdown:function(a,b){var c=$(a);b=b||$.data(a,w);if(!b){return}c.html(this._generateHTML(b));c[(this._get(b,"isRTL")?"add":"remove")+"Class"]("countdown_rtl");var d=this._get(b,"onTick");if(d){var e=b._hold!="lap"?b._periods:this._calculatePeriods(b,b._show,this._get(b,"significant"),new Date());var f=this._get(b,"tickInterval");if(f==1||this.periodsToSeconds(e)%f==0){d.apply(a,[e])}}var g=b._hold!="pause"&&(b._since?b._now.getTime()<b._since.getTime():b._now.getTime()>=b._until.getTime());if(g&&!b._expiring){b._expiring=true;if(this._hasTarget(a)||this._get(b,"alwaysExpire")){this._removeTarget(a);var h=this._get(b,"onExpiry");if(h){h.apply(a,[])}var i=this._get(b,"expiryText");if(i){var j=this._get(b,"layout");b.options.layout=i;this._updateCountdown(a,b);b.options.layout=j}var k=this._get(b,"expiryUrl");if(k){window.location=k}}b._expiring=false}else{if(b._hold=="pause"){this._removeTarget(a)}}$.data(a,w,b)},_changeCountdown:function(a,b,c){b=b||{};if(typeof b=="string"){var d=b;b={};b[d]=c}var e=$.data(a,w);if(e){this._resetExtraLabels(e.options,b);extendRemove(e.options,b);this._adjustSettings(a,e);$.data(a,w,e);var f=new Date();if((e._since&&e._since<f)||(e._until&&e._until>f)){this._addTarget(a)}this._updateCountdown(a,e)}},_resetExtraLabels:function(a,b){var c=false;for(var n in b){if(n!="whichLabels"&&n.match(/[Ll]abels/)){c=true;break}}if(c){for(var n in a){if(n.match(/[Ll]abels[0-9]/)){a[n]=null}}}},_adjustSettings:function(a,b){var c;var d=this._get(b,"serverSync");var e=0;var f=null;for(var i=0;i<this._serverSyncs.length;i++){if(this._serverSyncs[i][0]==d){f=this._serverSyncs[i][1];break}}if(f!=null){e=(d?f:0);c=new Date()}else{var g=(d?d.apply(a,[]):null);c=new Date();e=(g?c.getTime()-g.getTime():0);this._serverSyncs.push([d,e])}var h=this._get(b,"timezone");h=(h==null?-c.getTimezoneOffset():h);b._since=this._get(b,"since");if(b._since!=null){b._since=this.UTCDate(h,this._determineTime(b._since,null));if(b._since&&e){b._since.setMilliseconds(b._since.getMilliseconds()+e)}}b._until=this.UTCDate(h,this._determineTime(this._get(b,"until"),c));if(e){b._until.setMilliseconds(b._until.getMilliseconds()+e)}b._show=this._determineShow(b)},_destroyCountdown:function(a){var b=$(a);if(!b.hasClass(this.markerClassName)){return}this._removeTarget(a);b.removeClass(this.markerClassName).empty();$.removeData(a,w)},_pauseCountdown:function(a){this._hold(a,"pause")},_lapCountdown:function(a){this._hold(a,"lap")},_resumeCountdown:function(a){this._hold(a,null)},_hold:function(a,b){var c=$.data(a,w);if(c){if(c._hold=="pause"&&!b){c._periods=c._savePeriods;var d=(c._since?"-":"+");c[c._since?"_since":"_until"]=this._determineTime(d+c._periods[0]+"y"+d+c._periods[1]+"o"+d+c._periods[2]+"w"+d+c._periods[3]+"d"+d+c._periods[4]+"h"+d+c._periods[5]+"m"+d+c._periods[6]+"s");this._addTarget(a)}c._hold=b;c._savePeriods=(b=="pause"?c._periods:null);$.data(a,w,c);this._updateCountdown(a,c)}},_getTimesCountdown:function(a){var b=$.data(a,w);return(!b?null:(!b._hold?b._periods:this._calculatePeriods(b,b._show,this._get(b,"significant"),new Date())))},_get:function(a,b){return(a.options[b]!=null?a.options[b]:$.countdown._defaults[b])},_determineTime:function(k,l){var m=function(a){var b=new Date();b.setTime(b.getTime()+a*1000);return b};var n=function(a){a=a.toLowerCase();var b=new Date();var c=b.getFullYear();var d=b.getMonth();var e=b.getDate();var f=b.getHours();var g=b.getMinutes();var h=b.getSeconds();var i=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;var j=i.exec(a);while(j){switch(j[2]||"s"){case"s":h+=parseInt(j[1],10);break;case"m":g+=parseInt(j[1],10);break;case"h":f+=parseInt(j[1],10);break;case"d":e+=parseInt(j[1],10);break;case"w":e+=parseInt(j[1],10)*7;break;case"o":d+=parseInt(j[1],10);e=Math.min(e,$.countdown._getDaysInMonth(c,d));break;case"y":c+=parseInt(j[1],10);e=Math.min(e,$.countdown._getDaysInMonth(c,d));break}j=i.exec(a)}return new Date(c,d,e,f,g,h,0)};var o=(k==null?l:(typeof k=="string"?n(k):(typeof k=="number"?m(k):k)));if(o){o.setMilliseconds(0)}return o},_getDaysInMonth:function(a,b){return 32-new Date(a,b,32).getDate()},_normalLabels:function(a){return a},_generateHTML:function(c){var d=this._get(c,"significant");c._periods=(c._hold?c._periods:this._calculatePeriods(c,c._show,d,new Date()));var e=false;var f=0;var g=d;var h=$.extend({},c._show);for(var i=Y;i<=S;i++){e|=(c._show[i]=="?"&&c._periods[i]>0);h[i]=(c._show[i]=="?"&&!e?null:c._show[i]);f+=(h[i]?1:0);g-=(c._periods[i]>0?1:0)}var j=[false,false,false,false,false,false,false];for(var i=S;i>=Y;i--){if(c._show[i]){if(c._periods[i]){j[i]=true}else{j[i]=g>0;g--}}}var k=this._get(c,"compact");var l=this._get(c,"layout");var m=(k?this._get(c,"compactLabels"):this._get(c,"labels"));var n=this._get(c,"whichLabels")||this._normalLabels;var o=this._get(c,"timeSeparator");var p=this._get(c,"description")||"";var q=function(a){var b=$.countdown._get(c,"compactLabels"+n(c._periods[a]));return(h[a]?c._periods[a]+(b?b[a]:m[a])+" ":"")};var r=function(a){var b=$.countdown._get(c,"labels"+n(c._periods[a]));return((!d&&h[a])||(d&&j[a])?'<span class="countdown_section"><span class="countdown_amount">'+c._periods[a]+"</span><br/>"+(b?b[a]:m[a])+"</span>":"")};return(l?this._buildLayout(c,h,l,k,d,j):((k?'<span class="countdown_row countdown_amount'+(c._hold?" countdown_holding":"")+'">'+q(Y)+q(O)+q(W)+q(D)+(h[H]?this._minDigits(c._periods[H],2):"")+(h[M]?(h[H]?o:"")+this._minDigits(c._periods[M],2):"")+(h[S]?(h[H]||h[M]?o:"")+this._minDigits(c._periods[S],2):""):'<span class="countdown_row countdown_show'+(d||f)+(c._hold?" countdown_holding":"")+'">'+r(Y)+r(O)+r(W)+r(D)+r(H)+r(M)+r(S))+"</span>"+(p?'<span class="countdown_row countdown_descr">'+p+"</span>":"")))},_buildLayout:function(c,d,e,f,g,h){var j=this._get(c,(f?"compactLabels":"labels"));var k=this._get(c,"whichLabels")||this._normalLabels;var l=function(a){return($.countdown._get(c,(f?"compactLabels":"labels")+k(c._periods[a]))||j)[a]};var m=function(a,b){return Math.floor(a/b)%10};var o={desc:this._get(c,"description"),sep:this._get(c,"timeSeparator"),yl:l(Y),yn:c._periods[Y],ynn:this._minDigits(c._periods[Y],2),ynnn:this._minDigits(c._periods[Y],3),y1:m(c._periods[Y],1),y10:m(c._periods[Y],10),y100:m(c._periods[Y],100),y1000:m(c._periods[Y],1000),ol:l(O),on:c._periods[O],onn:this._minDigits(c._periods[O],2),onnn:this._minDigits(c._periods[O],3),o1:m(c._periods[O],1),o10:m(c._periods[O],10),o100:m(c._periods[O],100),o1000:m(c._periods[O],1000),wl:l(W),wn:c._periods[W],wnn:this._minDigits(c._periods[W],2),wnnn:this._minDigits(c._periods[W],3),w1:m(c._periods[W],1),w10:m(c._periods[W],10),w100:m(c._periods[W],100),w1000:m(c._periods[W],1000),dl:l(D),dn:c._periods[D],dnn:this._minDigits(c._periods[D],2),dnnn:this._minDigits(c._periods[D],3),d1:m(c._periods[D],1),d10:m(c._periods[D],10),d100:m(c._periods[D],100),d1000:m(c._periods[D],1000),hl:l(H),hn:c._periods[H],hnn:this._minDigits(c._periods[H],2),hnnn:this._minDigits(c._periods[H],3),h1:m(c._periods[H],1),h10:m(c._periods[H],10),h100:m(c._periods[H],100),h1000:m(c._periods[H],1000),ml:l(M),mn:c._periods[M],mnn:this._minDigits(c._periods[M],2),mnnn:this._minDigits(c._periods[M],3),m1:m(c._periods[M],1),m10:m(c._periods[M],10),m100:m(c._periods[M],100),m1000:m(c._periods[M],1000),sl:l(S),sn:c._periods[S],snn:this._minDigits(c._periods[S],2),snnn:this._minDigits(c._periods[S],3),s1:m(c._periods[S],1),s10:m(c._periods[S],10),s100:m(c._periods[S],100),s1000:m(c._periods[S],1000)};var p=e;for(var i=Y;i<=S;i++){var q="yowdhms".charAt(i);var r=new RegExp("\\{"+q+"<\\}(.*)\\{"+q+">\\}","g");p=p.replace(r,((!g&&d[i])||(g&&h[i])?"$1":""))}$.each(o,function(n,v){var a=new RegExp("\\{"+n+"\\}","g");p=p.replace(a,v)});return p},_minDigits:function(a,b){a=""+a;if(a.length>=b){return a}a="0000000000"+a;return a.substr(a.length-b)},_determineShow:function(a){var b=this._get(a,"format");var c=[];c[Y]=(b.match("y")?"?":(b.match("Y")?"!":null));c[O]=(b.match("o")?"?":(b.match("O")?"!":null));c[W]=(b.match("w")?"?":(b.match("W")?"!":null));c[D]=(b.match("d")?"?":(b.match("D")?"!":null));c[H]=(b.match("h")?"?":(b.match("H")?"!":null));c[M]=(b.match("m")?"?":(b.match("M")?"!":null));c[S]=(b.match("s")?"?":(b.match("S")?"!":null));return c},_calculatePeriods:function(c,d,e,f){c._now=f;c._now.setMilliseconds(0);var g=new Date(c._now.getTime());if(c._since){if(f.getTime()<c._since.getTime()){c._now=f=g}else{f=c._since}}else{g.setTime(c._until.getTime());if(f.getTime()>c._until.getTime()){c._now=f=g}}var h=[0,0,0,0,0,0,0];if(d[Y]||d[O]){var i=$.countdown._getDaysInMonth(f.getFullYear(),f.getMonth());var j=$.countdown._getDaysInMonth(g.getFullYear(),g.getMonth());var k=(g.getDate()==f.getDate()||(g.getDate()>=Math.min(i,j)&&f.getDate()>=Math.min(i,j)));var l=function(a){return(a.getHours()*60+a.getMinutes())*60+a.getSeconds()};var m=Math.max(0,(g.getFullYear()-f.getFullYear())*12+g.getMonth()-f.getMonth()+((g.getDate()<f.getDate()&&!k)||(k&&l(g)<l(f))?-1:0));h[Y]=(d[Y]?Math.floor(m/12):0);h[O]=(d[O]?m-h[Y]*12:0);f=new Date(f.getTime());var n=(f.getDate()==i);var o=$.countdown._getDaysInMonth(f.getFullYear()+h[Y],f.getMonth()+h[O]);if(f.getDate()>o){f.setDate(o)}f.setFullYear(f.getFullYear()+h[Y]);f.setMonth(f.getMonth()+h[O]);if(n){f.setDate(o)}}var p=Math.floor((g.getTime()-f.getTime())/1000);var q=function(a,b){h[a]=(d[a]?Math.floor(p/b):0);p-=h[a]*b};q(W,604800);q(D,86400);q(H,3600);q(M,60);q(S,1);if(p>0&&!c._since){var r=[1,12,4.3482,7,24,60,60];var s=S;var t=1;for(var u=S;u>=Y;u--){if(d[u]){if(h[s]>=t){h[s]=0;p=1}if(p>0){h[u]++;p=0;s=u;t=1}}t*=r[u]}}if(e){for(var u=Y;u<=S;u++){if(e&&h[u]){e--}else{if(!e){h[u]=0}}}}return h}});function extendRemove(a,b){$.extend(a,b);for(var c in b){if(b[c]==null){a[c]=null}}return a}$.fn.countdown=function(a){var b=Array.prototype.slice.call(arguments,1);if(a=="getTimes"||a=="settings"){return $.countdown["_"+a+"Countdown"].apply($.countdown,[this[0]].concat(b))}return this.each(function(){if(typeof a=="string"){$.countdown["_"+a+"Countdown"].apply($.countdown,[this].concat(b))}else{$.countdown._attachCountdown(this,a)}})};$.countdown=new Countdown()})(jQuery);function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else{var expires=""}document.cookie=name+"="+value+expires+"; path=/"}function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null}function createWait(name,value,mins){if(mins){var date=new Date();date.setTime(date.getTime()+(mins*60*1000));var expires="; expires="+date.toGMTString()}else{var expires=""}document.cookie=name+"="+value+expires+"; path=/"};
