var Sitester_average_number_of_executions = 5; // default 1; Raise this number to expose every N:th visitor to the survey (i.e. set to 10 and every 10th visitor is exposed etc.) var Sitester_def_lang = "dk"; // { "se", "en", "fi", "dk", "no", "de", "es", "pt", "cn", "ru", "fr", "it", "nl", etc} var Sitester_swap_lang = ""; // { "", "se", "en", "fi", "dk", "no", "de", "es", "pt", "cn", "ru", "fr", "it", "nl", etc } var Sitester_SurveyId = 1304; // Note! The Sitester Id for the survey. var Sitester_sekunder1 = 600; // default 600; If the user in inactive longer than this timeinterval, [Sitester_sekunder2] must pass again before the user is exposed var Sitester_sekunder2 = 120; // default 120; Seconds until the survey are exposed the first time. var Sitester_sekunder3 = 7776000; // default 7776000; Once exposed. This is how many seconds until the user being exposed again. var Sitester_sekunder4 = 31536000; // default 31536000; This is how many seconds until the exposure-memory cookies expire. var Sitester_ExcludeURL = ""; // default ""; Add URLs or part of URLs that you want to exclude from the Survey separated by a comma "," // Browser detection var Sitester_BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i"); document.write("Sitester"); document.write(""); } // Randomizer function Sitester_rnd(cases) { var ranNum = Math.round( Math.random() * (cases-1) ); return (ranNum == 0); } // Cookie functions // Set Cookie for Mac-Safari function Sitester_setCookieSafari(name, value, expires, domain, secure) { var path = '/'; var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } // Set Cookie function Sitester_setCookie(name, value, expire) { // call the specialfunction for Cookies on Mac+Safari if(Sitester_BrowserDetect.browser == "Safari") { Sitester_setCookieSafari(name, value, expire, false, false); } // other browsers else { document.cookie = name + "=" + value + "; path=/" + "" + "; expires=" + expire.toGMTString(); } } // Set Cookie function Sitester_setSessionCookie(name, value) { // call the specialfunction for Cookies on Mac+Safari if(Sitester_BrowserDetect.browser == "Safari") { var domain = false; var secure = false; var expires = false; var path = '/'; var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } // other browsers else { document.cookie = name + "=" + value + "; path=/" + "" + "; expires="; } } // Get Cookie - checks if the cookie [Name] exists function Sitester_getCookie(Name) { var search = Name + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset !=-1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) { end = document.cookie.length; } if (document.cookie.substring(offset, end) == Sitester_strCookie); { return true; } } } return false; } // Gets the value for the cookie [Name] function Sitester_getCookieValue(Name) { var search = Name + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(Name); if (offset !=-1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) { end = document.cookie.length; } return escape(document.cookie.substring(offset, end)); } } return ''; } function Sitester_deleteCookie(name) { var expire_IE=new Date(); expire_IE.setTime(1); var expire_firefox=new Date("Thu Jan 01 00:00:01 1970"); // delete cookie for FireFox if(Sitester_BrowserDetect.browser == "Firefox") { if(Sitester_getCookie(name)) { Sitester_setCookie(name, Sitester_strCookie, expire_firefox); } } // delete cookie for other browsers else { if(Sitester_getCookie(name)) { Sitester_setCookie(name, Sitester_strCookie, expire_IE); } } } // Calculates if the latests exposure has occured before todays date + the parameter time function Sitester_checkTime(time) { var created_date = new Date(); var current_date = new Date(); var search = Sitester_strExposedDateTime + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(Sitester_strExposedDateTime); if (offset !=-1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) { end = document.cookie.length; } current_date.getTime(); check_date = new Date(document.cookie.substring(offset, end)); if((check_date.getTime()+time*1000) < current_date.getTime()) { return true; } } } return false; } // Cookie variables var Sitester_strCookie = "true"; var Sitester_strDelay = "Sitester_DelayId" + Sitester_SurveyId; var Sitester_strActiveUser = "Sitester_ActiveUserId" + Sitester_SurveyId; var Sitester_strExposed = "Sitester_ExposedId" + Sitester_SurveyId; var Sitester_strExposedDateTime = "Sitester_ExposedDateTimeId" + Sitester_SurveyId; var Sitester_strReferrer = "Sitester_Referrer" + Sitester_SurveyId; var Sitester_strNth = "Sitester_Nth" + Sitester_SurveyId; var Sitester_Trigger = false; var Sitester_dat1 = new Date(); var Sitester_dat2 = new Date(); var Sitester_dat3 = new Date(); var Sitester_dat4 = new Date(); var Sitester_exposure_dat = new Date(); var Sitester_referrer = ""; /////////// // Start // /////////// Sitester_BrowserDetect.init(); Sitester_Location = new String(window.location.href); var Sitester_Debug_Opt = new Sitester_Debug(); var do_Sitester_Debug; var Sitester_splitString = Sitester_ExcludeURL.split(","); var Sitester_DoExclude = false var Sitester_referrer = document.referrer; if(Sitester_Debug_Opt.get("SitesterDebug") == "day8") { do_Sitester_Debug = true; alert('Sitester_average_number_of_executions: ' +Sitester_average_number_of_executions+"\n" +'Sitester_def_lang: ' +Sitester_def_lang+"\n" +'Sitester_swap_lang: ' +Sitester_swap_lang+"\n" +'Sitester_SurveyId: ' +Sitester_SurveyId+"\n" +'Sitester_sekunder1: ' +Sitester_sekunder1+"\n" +'Sitester_sekunder2: ' +Sitester_sekunder2+"\n" +'Sitester_sekunder3: ' +Sitester_sekunder3+"\n" +'Sitester_sekunder4: ' +Sitester_sekunder4+"\n" +'Sitester_ExcludeURL: ' +Sitester_ExcludeURL+"\n"); Sitester_Go(); } if(Sitester_ExcludeURL != "") { for(i=0; i<(Sitester_splitString.length); i++) { if(Sitester_Location.toLowerCase().indexOf(Sitester_splitString[i].toLowerCase()) > -1 && !Sitester_DoExclude) { Sitester_DoExclude = true; } else { Sitester_DoExclude = false; } } } else { Sitester_DoExclude = false; } if (!Sitester_getCookie(Sitester_strNth)) { if (Sitester_rnd(Sitester_average_number_of_executions)) { // show the survey this session Sitester_setSessionCookie(Sitester_strNth, true); } else { // dont show the survey this session Sitester_setSessionCookie(Sitester_strNth, false); } } if(Sitester_DoExclude || do_Sitester_Debug || ( Sitester_getCookieValue(Sitester_strNth) == 'false' )) { // dont run the script } else { // Delete cookies from v3-v6 if(Sitester_getCookie("BefInt")) { Sitester_deleteCookie("BefInt"); Sitester_deleteCookie("AllReady"); Sitester_deleteCookie("Delay"); Sitester_deleteCookie("LastExposure"); Sitester_deleteCookie("Exposed"); } if(Sitester_getCookie("LastExposure")) { Sitester_deleteCookie("BefInt"); Sitester_deleteCookie("AllReady"); Sitester_deleteCookie("Delay"); Sitester_deleteCookie("LastExposure"); Sitester_deleteCookie("Exposed"); } // Set the referrer cookie if(!Sitester_getCookie(Sitester_strReferrer)) { Sitester_setSessionCookie(Sitester_strReferrer, Sitester_referrer); } // If not ActiveUser and not Delay, = not inside the 2- or 10-minute interval if(!Sitester_getCookie(Sitester_strActiveUser) && !Sitester_getCookie(Sitester_strDelay)) { // ActiveUser = true Sitester_dat1.setTime(Sitester_dat1.getTime()+(Sitester_sekunder1*1000)); Sitester_setCookie(Sitester_strActiveUser, Sitester_strCookie, Sitester_dat1); // Delay = true Sitester_dat2.setTime(Sitester_dat2.getTime()+(Sitester_sekunder2*1000)); Sitester_setCookie(Sitester_strDelay, Sitester_strCookie, Sitester_dat2); } // is there a Exposed-cookie? if(Sitester_getCookie(Sitester_strExposed)) { // Is the time interval since the last exposure greater than Sitester_sekunder3? if (Sitester_checkTime(Sitester_sekunder3)) { // ActiveUser = true Sitester_dat1.setTime(Sitester_dat1.getTime()+(Sitester_sekunder1*1000)); Sitester_setCookie(Sitester_strActiveUser, Sitester_strCookie, Sitester_dat1); // Delay = true Sitester_dat2.setTime(Sitester_dat2.getTime()+(Sitester_sekunder2*1000)); Sitester_setCookie(Sitester_strDelay, Sitester_strCookie, Sitester_dat2); // delete the Exposed-cookies Sitester_deleteCookie(Sitester_strExposed); Sitester_deleteCookie(Sitester_strExposedDateTime); } } // If no Exposed-Cookie exists else { // ActiveUser and no Delay ? if (Sitester_getCookie(Sitester_strActiveUser) && !Sitester_getCookie(Sitester_strDelay)) { // Run the survey Sitester_Trigger=true; } } // If not ActiveUser and the time interval since the last exposure is greater than Sitester_sekunder3 if (!Sitester_getCookie(Sitester_strActiveUser) && Sitester_checkTime(Sitester_sekunder1)) { // Reset ActiveUser Sitester_dat1.setTime(Sitester_dat1.getTime()+(Sitester_sekunder1*1000)); Sitester_setCookie(Sitester_strActiveUser, Sitester_strCookie, Sitester_dat1); } // Should the survey run? if (Sitester_Trigger) { Sitester_exposure_dat.setTime(Sitester_exposure_dat.getTime()); Sitester_dat4.setTime(Sitester_dat4.getTime()+(Sitester_sekunder4*1000)); Sitester_strMacTime=Sitester_exposure_dat.getTime(); // Write the layer Sitester_Go(); } }