
var Sitester_average_number_of_executions = 30; // 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 = "se"; // { "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 = 1069; // 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<data.length;i++){
	var dataString = data[i].string;
	var dataProp = data[i].prop;
	this.versionSearchString = data[i].versionSearch || data[i].identity;
	if (dataString) {
		if (dataString.indexOf(data[i].subString) != -1)
		return data[i].identity;
	}
	else if (dataProp)
		return data[i].identity;
	}
},
searchVersion: function (dataString) {
	var index = dataString.indexOf(this.versionSearchString);
	if (index == -1) return;
	return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
},
dataBrowser: [
    {
	    string: navigator.userAgent,
	    subString: "Chrome",
	    identity: "Chrome",
	    versionSearch: "Chrome"
	},
	{ string: navigator.userAgent,
	subString: "OmniWeb",
	versionSearch: "OmniWeb/",
	identity: "OmniWeb"
	},
	{
	string: navigator.vendor,
	subString: "Apple",
	identity: "Safari"
	},
	{
	prop: window.opera,
	identity: "Opera"
	},
	{
	string: navigator.vendor,
	subString: "iCab",
	identity: "iCab"
	},
	{
	string: navigator.vendor,
	subString: "KDE",
	identity: "Konqueror"
	},
	{
	string: navigator.userAgent,
	subString: "Firefox",
	identity: "Firefox"
	},
	{
	string: navigator.vendor,
	subString: "Camino",
	identity: "Camino"
	},
	{	
	string: navigator.userAgent,
	subString: "Netscape",
	identity: "Netscape"
	},
	{
	string: navigator.userAgent,
	subString: "MSIE",
	identity: "Explorer",
	versionSearch: "MSIE"
	},
	{
	string: navigator.userAgent,
	subString: "Gecko",
	identity: "Mozilla",
	versionSearch: "rv"
	},
	{ 	
	string: navigator.userAgent,
	subString: "Mozilla",
	identity: "Netscape",
	versionSearch: "Mozilla"
        }
],
dataOS : [
	{
	string: navigator.platform,
	subString: "Win",
	identity: "Windows"
	},
	{
	string: navigator.platform,
	subString: "Mac",
	identity: "Mac"
	},
	{
	string: navigator.platform,
	subString: "Linux",
	identity: "Linux"
	}
]
};
function Sitester_Debug() 
{ 
this.params = new Object();
this.get=Sitester_Debug_get;
qs=location.search.substring(1,location.search.length);
if (qs.length == 0)
	return;
qs = qs.replace(/\+/g, ' ');
var args = qs.split('&');
for (var i=0;i<args.length;i++)
{
	var value;
	var pair = args[i].split('=');
	var name = unescape(pair[0]);
	if (pair.length == 2)
	value = unescape(pair[1]);
	else
	value = name;	
	this.params[name] = value;
}
}
function Sitester_Debug_get(key, default_)
{
if (default_ == null)
	default_ = null;
var value=this.params[key];
if (value==null) value=default_;
	return value;
}
function Sitester_RanLCase()
{
   return String.fromCharCode(97 + Math.round(Math.random() * 25));
}
function Sitester_RanUCase()
{
   return String.fromCharCode(65 + Math.round(Math.random() * 25));
}
function Sitester_r_nr()
{
return Math.round((Math.random()*9))
}
function Sitester_Generate_guid()
{
return "80b" + Sitester_r_nr() + Sitester_r_nr() + Sitester_r_nr() + Sitester_r_nr() + "-" + Sitester_RanLCase() + Sitester_r_nr() + Sitester_r_nr() + Sitester_r_nr() + "-" + Sitester_RanLCase() + Sitester_SurveyId + "-" + Sitester_r_nr() + Sitester_r_nr() + "-" + Sitester_r_nr() + Sitester_r_nr() + Sitester_RanLCase();
}
// Handle click on the layer
function Sitester_openWindow() 
{  
var Sitester_ref = unescape(Sitester_getCookieValue(Sitester_strReferrer));
var Sitester_guid = Sitester_Generate_guid();
var Sitester_protocol = (("https:" == document.location.protocol) ? "https" : "http");
var Sitester_Location = new String(window.location.href);
window.open(Sitester_protocol + "://www.sitester.com/sform/start.asp?PK_Id=" + Sitester_guid + "&Language=" + Sitester_def_lang + "&SwapLanguage=" + Sitester_swap_lang + "&Sitester_loc=" + Sitester_Location + "&Sitester_ref=" + Sitester_ref + "", "", "scrollbars=yes,width=450,height=350");   
document.getElementById("Sitester").style.display="none"; 
// write LastExposure and Exposed
if(Sitester_BrowserDetect.browser == "Safari")
{
	Sitester_setCookie(Sitester_strExposedDateTime, Sitester_strMacTime, Sitester_dat4);
}
else
{
	Sitester_setCookie(Sitester_strExposedDateTime, Sitester_exposure_dat, Sitester_dat4);
}
Sitester_setCookie(Sitester_strExposed, Sitester_strCookie, Sitester_dat4);
// delete ActiveUser and Delay
Sitester_deleteCookie(Sitester_strActiveUser);
Sitester_deleteCookie(Sitester_strDelay);
// remove the layer from all frames 
for(i=0; (i<parent.frames.length); i++)
{
	if(parent.frames[i].document.getElementById("Sitester") != null)
	{
	parent.frames[i].document.getElementById("Sitester").style.display="none";
	}
}
}
// Write layer 
function Sitester_Go()
{
    var Sitester_protocol = (("https:" == document.location.protocol) ? "https" : "http");  
    
document.write("<div id='Sitester' title='Sitester' style='position: absolute; left:0; top:0; width:1024px; height:768px; z-index:9000; visibility: visible;'>");
document.write("<img src='" + Sitester_protocol + "://www.sitester.com/style/Sitesterlager50px.gif' width='1024' height='768' alt='Sitester' title='Sitester' onClick='Sitester_openWindow();'>");
document.write("</div>");
}
// 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();		
}
}