Drupal.locale = { 'pluralFormula': function ($n) { return Number(($n!=1)); }, 'strings': {"":{"An AJAX HTTP error occurred.":"Tapahtui AJAX HTTP virhe.","HTTP Result Code: !status":"HTTP koodi: !status","An AJAX HTTP request terminated abnormally.":"AJAX HTTP pyynt\u00f6 keskeytyi odottamatta.","Debugging information follows.":"Seuraavassa virhetiedot.","Path: !uri":"Polku: !url","StatusText: !statusText":"Tilanneteksti: !statusText","ResponseText: !responseText":"Vastausteksti: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Resume":"Jatka","Pause":"Pys\u00e4yt\u00e4","There was no action specified.":"Toimintoa ei ole m\u00e4\u00e4ritettyn\u00e4.","This slideshow is forced paused.":"Diaesitys pakotetaan pys\u00e4hdytetyksi.","An invalid integer was specified for slideNum.":"Tunnistamaton numero m\u00e4\u00e4riteltyn\u00e4 slideNumissa.","An invalid action \u0022!action\u0022 was specified.":"Ep\u00e4kelpo toiminto \u0022!action\u0022 m\u00e4\u00e4ritelty.","Re-order rows by numerical weight instead of dragging.":"Uudelleenlajittele rivit numeerisen painon mukaan ved\u00e4-pudota toiminnon sijaan.","Show row weights":"N\u00e4yt\u00e4 rivien painokertoimet","Hide row weights":"Piilota rivien painokertoimet","Drag to re-order":"J\u00e4rjestele vet\u00e4m\u00e4ll\u00e4","Changes made in this table will not be saved until the form is submitted.":"Muutokset otetaan k\u00e4ytt\u00f6\u00f6n vasta kun valitset \u003Cem\u003Etallenna\u003C\/em\u003E.","@title dialog":"@title dialogi","Configure":"M\u00e4\u00e4rittele","Hide":"Piilossa","Show":"N\u00e4yt\u00e4","Next":"Seuraava","Close":"Sulje","Edit":"Muokkaa","Add":"Lis\u00e4\u00e4","Done":"Tehty","Disabled":"Ei k\u00e4yt\u00f6ss\u00e4","Enabled":"K\u00e4yt\u00f6ss\u00e4","Loading":"Lataa","Sunday":"Sunnuntai","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Upload":"Siirr\u00e4","Active":"Toiminnassa","Prev":"Edellinen","Mon":"Ma","Tue":"Ti","Wed":"Ke","Thu":"To","Fri":"Pe","Sat":"La","Sun":"Su","January":"Tammikuu","February":"Helmikuu","March":"Maaliskuu","April":"Huhtikuu","May":"Toukokuu","June":"Kes\u00e4kuu","July":"Hein\u00e4kuu","August":"Elokuu","September":"Syyskuu","October":"Lokakuu","November":"Marraskuu","December":"Joulukuu","Allowed HTML tags":"Sallitut HTML-tagit","Select all rows in this table":"Valitse kaikki taulukon rivit","Deselect all rows in this table":"Poista kaikkien rivien valinnat","Today":"T\u00e4n\u00e4\u00e4n","Jan":"Tam","Feb":"Hel","Mar":"Maa","Apr":"Huh","Jun":"Kes","Jul":"Hei","Aug":"Elo","Sep":"Syy","Oct":"Lok","Nov":"Mar","Dec":"Jou","Su":"Su","Mo":"Ma","Tu":"Ti","We":"Ke","Th":"To","Fr":"Pe","Sa":"La","Not published":"Ei julkaistu","Please wait...":"Odota hetki...","mm\/dd\/yy":"mm\/dd\/yy","Only files with the following extensions are allowed: %files-allowed.":"Vain seuraavat tiedostop\u00e4\u00e4tteet ovat sallittuja: %files-allowed.","By @name on @date":"@name p\u00e4iv\u00e4n\u00e4 @date","By @name":"@name","Not in menu":"Ei valikossa","Alias: @alias":"Alias: @alias","No alias":"Ei aliasta","New revision":"Uusi versio","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"Lohkojen muutoksia ei tallenneta ennen kuin klikkaat \u003Cem\u003ETallenna\u003C\/em\u003E-painiketta.","This permission is inherited from the authenticated user role.":"Oikeus on periytetty k\u00e4ytt\u00e4j\u00e4roolista \u0022autentikoitu k\u00e4ytt\u00e4j\u00e4\u0022.","No revision":"Ei versiota","@number comments per page":"@number kommenttia sivua kohti","Requires a title":"Vaatii otsikon","Not restricted":"Ei rajoitettu","(active tab)":"(aktiivinen v\u00e4lilehti)","Not customizable":"Ei mukautettavissa","Restricted to certain pages":"Rajoitettu tiettyihin sivuihin","The block cannot be placed in this region.":"Lohkoa ei voi asettaa t\u00e4h\u00e4n alueeseen.","Customize dashboard":"Mukauta ty\u00f6p\u00f6yt\u00e4\u00e4","Hide summary":"Piilota yhteenveto","Edit summary":"Muokkaa yhteenvetoa","Don\u0027t display post information":"\u00c4l\u00e4 n\u00e4yt\u00e4 l\u00e4hetyksen tietoja","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Tiedostoa %filename ei voida ladata. Sallitut tiedostop\u00e4\u00e4tteet: %extensions.","Autocomplete popup":"Automaattisen t\u00e4ydennyksen ponnahdusikkuna","Searching for matches...":"Haetaan tuloksia...","Log messages":"Kirjaa viestit lokiin","Please select a file.":"Valitse tiedosto.","You are not allowed to operate on more than %num files.":"Et voi k\u00e4sitell\u00e4 useampaa kuin %num tiedostoa.","Please specify dimensions within the allowed range that is from 1x1 to @dimensions.":"M\u00e4\u00e4rittele mittasuhteet sallituissa rajoissa, jotka ovat v\u00e4lilt\u00e4 1x1 ja @dimensions.","%filename is not an image.":"%filename ei ole kuva.","File browsing is disabled in directory %dir.":"Tiedostojen selaaminen estetty hakemistossa %dir.","Do you want to refresh the current directory?":"Tahdotko p\u00e4ivitt\u00e4\u00e4 nykyisen hakemiston\u00e4kym\u00e4n?","Delete selected files?":"Poista valitut tiedostot?","Please select a thumbnail.":"Valitse pienoiskuva.","You must select at least %num files.":"Valitse v\u00e4hint\u00e4\u00e4n %num tiedostoa.","You can not perform this operation.":"Et voi suorittaa t\u00e4t\u00e4 toimintoa.","Insert file":"Sijoita tiedosto","Change view":"Vaihda n\u00e4kym\u00e4\u00e4","No style":"Ei tyyli\u00e4","No title":"Ei otsikkoa","No name":"Ei nime\u00e4","Automatic alias":"Automaattinen alias","Insert this token into your form":"Lis\u00e4\u00e4 merkkej\u00e4 kaavakkeeseesi","First click a text field to insert your tokens into.":"Valitse ensin teksti johon merkit sy\u00f6tet\u00e4\u00e4n.","Downloads":"Lataukset","Remove group":"Poista ryhm\u00e4","Apply (all displays)":"K\u00e4yt\u00e4 (kaikki sivut)","Apply (this display)":"K\u00e4yt\u00e4 (t\u00e4m\u00e4 sivu)","Revert to default":"Palauta oletusasetuksiin","Loading token browser...":"Ladataan korvauskuvioiden selainta...","Available tokens":"K\u00e4yt\u00f6ss\u00e4 olevat merkinn\u00e4t","Also allow !name role to !permission?":"Salli nimelle !name rooli !permission?","From @title":"Otsikosta @title","Updated @date":"P\u00e4ivitetty @date"}} };; (function ($) { Drupal.googleanalytics = {}; $(document).ready(function() { // Attach mousedown, keyup, touchstart events to document only and catch // clicks on all elements. $(document.body).bind("mousedown keyup touchstart", function(event) { // Catch the closest surrounding link of a clicked element. $(event.target).closest("a,area").each(function() { // Is the clicked URL internal? if (Drupal.googleanalytics.isInternal(this.href)) { // Skip 'click' tracking, if custom tracking events are bound. if ($(this).is('.colorbox')) { // Do nothing here. The custom event will handle all tracking. //console.info("Click on .colorbox item has been detected."); } // Is download tracking activated and the file extension configured for download tracking? else if (Drupal.settings.googleanalytics.trackDownload && Drupal.googleanalytics.isDownload(this.href)) { // Download link clicked. ga("send", "event", "Downloads", Drupal.googleanalytics.getDownloadExtension(this.href).toUpperCase(), Drupal.googleanalytics.getPageUrl(this.href)); } else if (Drupal.googleanalytics.isInternalSpecial(this.href)) { // Keep the internal URL for Google Analytics website overlay intact. ga("send", "pageview", { "page": Drupal.googleanalytics.getPageUrl(this.href) }); } } else { if (Drupal.settings.googleanalytics.trackMailto && $(this).is("a[href^='mailto:'],area[href^='mailto:']")) { // Mailto link clicked. ga("send", "event", "Mails", "Click", this.href.substring(7)); } else if (Drupal.settings.googleanalytics.trackOutbound && this.href.match(/^\w+:\/\//i)) { if (Drupal.settings.googleanalytics.trackDomainMode != 2 || (Drupal.settings.googleanalytics.trackDomainMode == 2 && !Drupal.googleanalytics.isCrossDomain(this.hostname, Drupal.settings.googleanalytics.trackCrossDomains))) { // External link clicked / No top-level cross domain clicked. ga("send", "event", "Outbound links", "Click", this.href); } } } }); }); // Track hash changes as unique pageviews, if this option has been enabled. if (Drupal.settings.googleanalytics.trackUrlFragments) { window.onhashchange = function() { ga('send', 'pageview', location.pathname + location.search + location.hash); } } // Colorbox: This event triggers when the transition has completed and the // newly loaded content has been revealed. $(document).bind("cbox_complete", function () { var href = $.colorbox.element().attr("href"); if (href) { ga("send", "pageview", { "page": Drupal.googleanalytics.getPageUrl(href) }); } }); }); /** * Check whether the hostname is part of the cross domains or not. * * @param string hostname * The hostname of the clicked URL. * @param array crossDomains * All cross domain hostnames as JS array. * * @return boolean */ Drupal.googleanalytics.isCrossDomain = function (hostname, crossDomains) { /** * jQuery < 1.6.3 bug: $.inArray crushes IE6 and Chrome if second argument is * `null` or `undefined`, http://bugs.jquery.com/ticket/10076, * https://github.com/jquery/jquery/commit/a839af034db2bd934e4d4fa6758a3fed8de74174 * * @todo: Remove/Refactor in D8 */ if (!crossDomains) { return false; } else { return $.inArray(hostname, crossDomains) > -1 ? true : false; } }; /** * Check whether this is a download URL or not. * * @param string url * The web url to check. * * @return boolean */ Drupal.googleanalytics.isDownload = function (url) { var isDownload = new RegExp("\\.(" + Drupal.settings.googleanalytics.trackDownloadExtensions + ")([\?#].*)?$", "i"); return isDownload.test(url); }; /** * Check whether this is an absolute internal URL or not. * * @param string url * The web url to check. * * @return boolean */ Drupal.googleanalytics.isInternal = function (url) { var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i"); return isInternal.test(url); }; /** * Check whether this is a special URL or not. * * URL types: * - gotwo.module /go/* links. * * @param string url * The web url to check. * * @return boolean */ Drupal.googleanalytics.isInternalSpecial = function (url) { var isInternalSpecial = new RegExp("(\/go\/.*)$", "i"); return isInternalSpecial.test(url); }; /** * Extract the relative internal URL from an absolute internal URL. * * Examples: * - http://mydomain.com/node/1 -> /node/1 * - http://example.com/foo/bar -> http://example.com/foo/bar * * @param string url * The web url to check. * * @return string * Internal website URL */ Drupal.googleanalytics.getPageUrl = function (url) { var extractInternalUrl = new RegExp("^(https?):\/\/" + window.location.host, "i"); return url.replace(extractInternalUrl, ''); }; /** * Extract the download file extension from the URL. * * @param string url * The web url to check. * * @return string * The file extension of the passed url. e.g. "zip", "txt" */ Drupal.googleanalytics.getDownloadExtension = function (url) { var extractDownloadextension = new RegExp("\\.(" + Drupal.settings.googleanalytics.trackDownloadExtensions + ")([\?#].*)?$", "i"); var extension = extractDownloadextension.exec(url); return (extension === null) ? '' : extension[1]; }; })(jQuery); ;