/**
 * Google analytics tracking code
 * Version 1.01
 * Released on 23.06.2011
 * 
 * Copyright (c) 2011 Pavel Sabatka
 * Copyright (c) JP Consult s.r.o.
 * 
 * With kind compliance of Jan Tichy uses list of search engines from H1 tracking code 
 * @see http://www.h1.cz/ga
 */
var analytics=new Analytics;
function Analytics(){this.addOrganics=!0;this.facebook=new Facebook(this);this.downloads=["pdf","doc","docx","odt","ppt","odg","ods","xls","zip","rar","eps"];this.trackers=new Trackers;this.youtube=new YouTube(this);this.router=new Router(this);typeof jQuery!="undefined"&&$(document).ready(function(){$("a").click(function(){var b=$(this).attr("href"),a=$(this).children("img").length>0,a=$(this).text()+(a?" [img]":""),a=trim(a);window.analytics.router.isDownloadUrl(b)?window.analytics.trackers.push(["_trackEvent","Download",
b,a]):window.analytics.router.isExternalUrl(b)&&window.analytics.trackers.push(["_trackEvent","External link",b,a])});window.analytics.youtube.init()});this.addExtensionAsDownload=function(b){this.downloads[this.downloads.length]=b};this.callOnReady=function(b){typeof jQuery!="undefined"&&isFunction(b)&&$(document).ready(function(){b()})}}var _gaq=_gaq||[];
(function(){var b=document.createElement("script");b.type="text/javascript";b.async=!0;b.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(b,a)})();
var _ga={engines:["seznam.cz:q","seznam.cz:w","atlas.centrum.cz:q","searchatlas.centrum.cz:q","atlas.cz:q","centrum.cz:q","1188.cz:q","jyxo.cz:q","mapy.cz:ssq","najisto.centrum.cz:what","takeit.cz:q","tiscali.cz:query","volny.cz:search","zacatek.cz:q","webhledani.cz:q","zlatestranky.cz:search","zoohoo.cz:q","1.cz:q","akcni-cena.cz:search","b2bc.cz:XSearching","ceno.cz:q","cenyzbozi.cz:q","dobra-koupe.cz:searchtext","elektro.cz:w","elektrus.cz:h","eshop-katalog.cz:hledej","foxter.cz:search","heureka.cz:h[fraze]",
"hledam-zbozi.cz:q","hledejceny.cz:search","hyperceny.cz:q","ishopy.eu:search","koupis.cz:q","lepsiceny.cz:q","levnenakupy.cz:searchword","mojse.cz:search_text","monitor.cz:qw","naakup.cz:hledat","najdicenu.cz:ss","nakupte.cz:what","nejlepsiceny.cz:t","nejlepsinakupy.cz:q","nejnakup.cz:q","onlinezbozi.cz:search","porovnejcenu.cz:phrase","seznamobchodu.cz:search","seznamzbozi.cz:st","shoops.cz:s","shopy.cz:s","srovname.cz:hledat","srovnanicen.cz:q","srovnavadlo.cz:q","taxa.cz:keyword","usetrim.cz:q",
"vybereme.cz:q","zalevno.cz:q","zbozi.eshop-katalog.cz:hledej","zbozi.poptavky.cz:cond[fulltext]","zbozi.portik.cz:vyraz","zbozi.cz:q","atlas.sk:phrase","centrum.sk:q","azet.sk:q","azet.sk:sq","morfeo.sk:q","surf.sk:kw","szm.sk:ws","zoohoo.sk:q","zoznam.sk:s","cenoveinfo.sk:SearchProductName","e-nakupovanie.sk:searchword","heureka.sk:h[fraze]","najdicenu.sk:ss","najnakup.sk:q","nakup.24hod.sk:q","srovname.sk:hledat","superdeal.sk:q","tovar.sk:q","google:q","google:as_q","google:as_oq","google:as_epq",
"google:as_lq","google:as_rq","ananzi.co.za:qt","anzwers.com.au:search","araby.com:q","bbc.co.uk:q","britishinformation.com:search","club-internet.fr:q","elmundo.es:q","eniro.se:geo_area","excite.co.uk:q","excite.com:q","gigablast.com:q","hotbot.co.uk:query","hotbot.com:query","iafrica.funnel.co.za:q","icq.com:q","kelkoo:contextKeywords","looksmart.com:qt","maktoob.com:q","myway.com:searchfor","mywebsearch.com:searchfor","najdi.si:q","netsprint.pl:q","onet.pl:qt","orange.co.uk:q","rambler.ru:query",
"search.com:q","searcheurope.com:query","searchy.co.uk:search_term","sky.com:term","suche.web.de:su","tesco.net:q","tiscali.co.uk:query","virginmedia.com:q","wolframalpha.com:i","zinza.com:query"],create:function(b,a,c,d){a||(a="auto");c=new Tracker(c);c.push(["_setAccount",b]);c.push(["_setAllowAnchor",!0]);c.push(["_setDomainName",a]);if(analytics.addOrganics)for(a=this.engines.length-1;a>=0;a--)b=this.engines[a].split(":"),c.push(["_addOrganic",b[0],b[1],!0]);window.analytics.trackers.addTracker(c);
d||(c.push(["_trackPageview",window.analytics.router.getUrlAndExec()]),c.push(["_trackPageLoadTime"]))}};function Trackers(){this.trackers=[];this.addNewTracker=function(b){this.trackers[this.trackers.length]=new Tracker(b)};this.clear=function(){this.trackers=[]};this.addTracker=function(b){this.trackers[this.trackers.length]=b};this.push=function(b){for(var a=0;a<this.trackers.length;a++)this.trackers[a].push(b)}}
function Tracker(b){this.name=b==void 0||b.length==0?"":b+".";this.push=function(a){if(!isArray(a)||a.length==0)throw"Params must be set";var b=a.slice(0);b[0]=this.name+a[0];_gaq.push(b)}}
function Facebook(b){this.analytics=b;this.init=function(a){var b=this;a.Event.subscribe("edge.create",function(){b.analytics.trackers.push(["_setCustomVar",1,"Facebook","FB Liker",1]);b.analytics.trackers.push(["_trackEvent","Facebook","Like"])});a.Event.subscribe("comment.create",function(){b.analytics.trackers.push(["_trackEvent","Facebook","Comment create"])});a.Event.subscribe("comment.remove",function(){b.analytics.trackers.push(["_trackEvent","Facebook","Comment remove"])});a.Event.subscribe("edge.remove",
function(){b.analytics.trackers.push(["_deleteCustomVar",1]);b.analytics.trackers.push(["_trackEvent","Facebook","UnLike"])});a.Event.subscribe("auth.login",function(){b.analytics.trackers.push(["_trackEvent","Facebook","Login"])});a.Event.subscribe("auth.logout",function(){b.analytics.trackers.push(["_trackEvent","Facebook","Logout"])});a.Event.subscribe("auth.statusChange",function(){b.analytics.trackers.push(["_trackEvent","Facebook","Status changed"])})}}
function UrlPreparer(){this.prepare=function(b,a){if(b[0]=="#")return b;b=b.replace(/^https?:\/\//i,"");b=b.replace(/#.*$/i,"");b=b.replace(RegExp("^"+location.hostname+"(:[0-9]{2,4})?"),"");a||(b=b.replace(/\?.*/,""));b=b.replace(/\/\?/,"?");b=b.replace(/\/$/,"");/^\//.test(b)||(b="/"+b);return b}}
function Router(b){this.routes=[];this.analytics=b;this.preparer=new UrlPreparer;this.addRoute=function(a){this.routes[this.routes.length]=a};this.getUrl=function(a){return this.getUrlTemplate(a,!1)};this.getUrlAndExec=function(a){return this.getUrlTemplate(a,!0)};this.getUrlTemplate=function(a,b){for(var d=a?a:document.location.href,b=!!b,d=this.preparer.prepare(d,!0),f=0;f<this.routes.length;f++)if(this.routes[f].match(d))return b&&this.routes[f].exec(),this.routes[f].assemble(d);return d};this.isExternalUrl=
function(a){return a.length<4?!1:/^https?:\/\//i.test(a)&&!RegExp("^https?://"+window.location.hostname,"i").test(a)};this.isDownloadUrl=function(a){return RegExp("^.+\\.("+implode("|",this.analytics.downloads)+")","i").test(a)}}
function BaseRoute(b,a,c){this.func=c;this.match=function(a){var a=this.preparer.prepare(a),b=this.route.replace(/\$[0-9]+/gi,"([^/]+)"),b=b.replace(/\/+/g,"\\/");return RegExp("^"+b+"$").test(a)};this.assemble=function(a){var b=a.match(/\?/)?a.replace(/^(.*)\?/,""):"";if(!this.match(a))throw"URL "+a+" does not match route "+this.route;var c=this.routeNew,a=this._getMatches(a),e;for(e in a)c=c.replace(RegExp("\\"+e,"g"),a[e]);b.length>0&&(c.match(/^(.*)\?(.+)$/)?c=c+"&"+b:c.match(/^(.*)\?$/)?c+=b:
c=c+"?"+b);return c};this._isValid=function(){for(var a=this._getVariables(),b=0;b<a.length;b++)if(!this.route.match(RegExp("\\"+a[b])))return!1;return!0};this._getVariables=function(){var a=this.routeNew.match(/(\$[0-9]+)/gi);return a==null?[]:a};this._getMatches=function(a){var a=this.preparer.prepare(a),b=this._getVariables(),c=[];for(i=0;i<b.length;i++){var e=this.route,e=e.replace(RegExp("\\"+b[i]),"$~"+i+"~"),e=e.replace(/\$[0-9]+/g,"([^/]+)"),e=e.replace(/\/+/g,"\\/"),g=e.replace(RegExp("\\$~"+
i+"~(.*)$"),""),e=e.replace(RegExp("^(.*)\\$~"+i+"~"),""),g=a.replace(RegExp(g),""),g=g.replace(RegExp(e),"");c[b[i]]=g}return c};this.exec=function(){isFunction(this.func)&&this.func()};this.preparer=new UrlPreparer;this.route=this.preparer.prepare(b);this.routeNew=a;if(!this._isValid())throw"Created route is not valid: count of var in URL is lower then length of array, first var is $1 (not a $0)!";}
function RegexpRoute(b,a,c){this.func=c;this.regexp=b;this.match=function(a){return this.regexp.test(a)};this.assemble=function(a){if(!this.match(a))throw"URL "+a+" does not match route "+this.regexp;var b=this.routeNew;/\?/.test(a)&&(a=a.replace(/^.*\?/,""),b+=(/\?/.test(b)?"&":"?")+a);return b};this.exec=function(){isFunction(this.func)&&this.func()};this.preparer=new UrlPreparer;this.routeNew=this.preparer.prepare(a,!0)}
function ConditionOnUrlRoute(b,a,c,d){this._route=new BaseRoute(b,a,d);this.match=function(a){return c(a)&&this._route.match(a)};this.assemble=function(a){if(!c(a))throw"URL "+a+" does not match route";return this._route.assemble(a)};this.exec=function(){isFunction(this.func)&&this.func()};if(!isFunction(c))throw"condition must be a function!";this.condition=c;this.func=d}function onYouTubePlayerReady(b){typeof window.analytics.youtube==="object"&&window.analytics.youtube.initEvents(b)}
function YouTubeVideo(b,a,c,d){this.id=b;this.ytcode=a;this.player=c;this.tracker=d;this.playedOnce=!1;this.eventCategory="YouTube video";this.youtubeEvent=function(a){this.tracker.trackState(this.ytcode,a)};this.youtubeError=function(b){this.tracker.trackError(a,b)}}
function YouTubeStateTracker(b){this.startedVideos=[];this.analytics=b;this.trackState=function(a,b){b==1?(inArray(a,this.startedVideos)||(this.startedVideos[this.startedVideos.length]=a,this.analytics.trackers.push(["_trackEvent","YouTube",a,"Play unique"])),this.analytics.trackers.push(["_trackEvent","YouTube",a,"Play"])):b==0&&this.analytics.trackers.push(["_trackEvent","YouTube",a,"Ended"])};this.trackError=function(a,b){this.analytics.trackers.push(["_trackEvent","YouTube",a,"Error",b])}}
function YouTube(b){this.videos=[];this.analytics=b;this.tracker=new YouTubeStateTracker(this.analytics);this.autoIdPrefix="ytvideoplayer";this.autoIdCounter=0;this.init=function(){var a=this;$("embed").each(function(){a.analytics.youtube.initVideo(this)})};this.getCodeFromSrc=function(a){a=a.replace(/^.*\/v\//,"");a=a.replace(/^.*(\?|&|\/)v=/,"");return a=a.replace(/(\?|&|\/).*$/,"")};this.initVideo=function(a){var b=a.src;if(/www\.youtube\.com/.test(b)){var d=null;a.id.length>0?d=a.id:(d=this.analytics.youtube.getAutoId(),
a.id=d);if(!/enablejsapi=1/.test(b))b+=/\?/.test(b)?"&":"?",a.src=b+"enablejsapi=1&playerapiid="+d;this.analytics.youtube.addVideo(d,a)}};this.addVideo=function(a,b){var d=this.getCodeFromSrc(b.src);this.videos.push(new YouTubeVideo(a,d,b,this.tracker))};this.getVideo=function(a){for(var b in this.videos)if(this.videos[b].id==a)return this.videos[b];return null};this.getAutoId=function(){var a=this.autoIdPrefix+this.autoIdCounter;this.autoIdCounter++;return a};this.getVideos=function(){return this.videos};
this.initEvents=function(a){a=this.getVideo(a);a.player.addEventListener("onStateChange","window.analytics.youtube.getVideo('"+a.id+"').youtubeEvent");a.player.addEventListener("onError","window.analytics.youtube.getVideo('"+a.id+"').youtubeError")};this.trackStateChange=function(a){this.analytics.youtube.tracker.trackState(this.analytics.youtube.getCodeFromSrc(a.target.a.videoUrl),a.data)}}function implode(b,a){return a instanceof Array?a.join(b):a}
function isFunction(b){return typeof b=="function"&&(!Function.prototype.call||typeof b.call=="function")}function inArray(b,a){for(var c=a.length,d=0;d<c;d++)if(a[d]==b)return!0;return!1}function trim(b){return b.replace(/^\s*|\s*$/g,"")}function isArray(b){return b.constructor.toString().indexOf("Array")==-1?!1:!0};

