
/* AAN TE PASSEN */

var ST_startDatum = new Date(2011,05,12); // jaar,maand,dag; maanden 1=januari, 2=februari etc.
var ST_eindDatum = new Date(2011,06,14);
var ST_steekProef = 1; // 1 per hoeveel bezoekers wordt onderzocht?
var ST_paginaTekst = 'Wij zijn op dit moment bezig met een onderzoek naar het gebruik van deze site. Hiertoe zal er binnenkort een <strong>popup</strong> geopend worden.';
var ST_cookiePrefix = 'ST_';
var ST_cookieDomain = ''; // Domein van cookies, hoeft alleen ingevuld te worden als sitetrek over meerdere subdomeinen gebruikt wordt
var ST_popupUrl = '/sitetrek/popup.html'; // URL van popup
var ST_startBijExtern = false; // Onderzoek opstarten als nieuw venster wordt geopend (ja/nee)
var ST_opnieuwNa = 150; // Opnieuw uitnodigen na hoeveel dagen, 0 is uitgeschakeld

/* SVP NIET VERANDEREN */

/* Controleer cookie support */

var ST_cookiesSupported = false;
ST_createCookie(ST_cookiePrefix + 'test','supported',1);

if (ST_readCookie(ST_cookiePrefix + 'test'))
{
	ST_cookiesSupported = true;
	ST_eraseCookie(ST_cookiePrefix + 'test');
}

/* Vind uit of het onderzoek begonnen is en de looptijd */

ST_startDatum.setMonth(ST_startDatum.getMonth() - 1);
ST_eindDatum.setMonth(ST_eindDatum.getMonth() - 1);
var ST_aankomstTijd = new Date();
var ST_loopTijdOnderzoek = parseInt((ST_eindDatum.getTime() - ST_aankomstTijd.getTime())/86400000); // in dagen
var ST_onderzoekBegonnen = (ST_startDatum.getTime() < ST_aankomstTijd.getTime());

/* Sla allereerste bezoek van gebruiker op, of hij nou geselecteerd is of niet */

if (!ST_readCookie(ST_cookiePrefix + 'firstVisit') && ST_onderzoekBegonnen)
	ST_createCookie(ST_cookiePrefix + 'firstVisit',ST_createReadableDate(ST_aankomstTijd),ST_loopTijdOnderzoek);

/* Aantal bezoeken aan site. Een bezoek wordt gedefinieerd als een nieuw bezoek als er
	minstens 1 uur verstreken is sinds de laatste pagina is bezocht */

if (ST_onderzoekBegonnen)
{
	var ST_aantalBezoeken = ST_readCookie(ST_cookiePrefix + 'numberOfVisits') || 0;
	ST_aantalBezoeken++;
	if (!ST_readCookie(ST_cookiePrefix + 'lastVisitTime'))
		ST_createCookie(ST_cookiePrefix + 'numberOfVisits',ST_aantalBezoeken,ST_loopTijdOnderzoek);
	ST_createCookie(ST_cookiePrefix + 'lastVisitTime','true',(1/24));
}
/* Initialisatie hoofdscript */

ST_addEvent(window,"load",ST_init);
var ST_newWindow;
var ST_loaded = false;


function ST_init()
{

        // geen cookies of onderzoek nog niet begonnen of beeindigd: doe niets

        if (!ST_cookiesSupported) return;
        if (!ST_onderzoekBegonnen) return;
        if (ST_loopTijdOnderzoek < 0 ) return; // WAT GEBEURT ER MET TEKST OP PAGINA?

        // vind status gebruiker

        var currentStatus = ST_readCookie(ST_cookiePrefix + 'status');
        var laatstUitgenodigd = null;
        if (currentStatus != null) {
            var statusArr = currentStatus.split('\.');
            currentStatus = '';
            if (statusArr.length > 1) {
                laatstUitgenodigd = statusArr[1];
            }
            if (statusArr.length > 0) {
                currentStatus = statusArr[0];
            }
        }
        var tekst = document.getElementById('sitetrekTekst');
        if (tekst) tekst.style.display = 'none';

        // als gebruiker niet geselecteerd is, doe niets

        if (currentStatus == 'nee') return;

        // als gebruiker wel geselecteerd is, of de selectie is nog niet gemaakt,
        // maak tekst onzichtbaar en zet de functie die data naar popup stuurt

        ST_loaded = true;
        ST_addEvent(window,"unload",ST_exit);
        ST_eraseCookie(ST_cookiePrefix + 'temp_store');

        // als gebruiker al geselecteerd is, eindig hier

        ST_createCookie(ST_cookiePrefix + 'popupUrl', location.protocol + '//' + location.hostname + ST_popupUrl);

        var ST_currDate = new Date();
        var opnieuwUitnodigDatum = new Date();
        if (laatstUitgenodigd) {
            opnieuwUitnodigDatum.setTime(laatstUitgenodigd * 1000);
            opnieuwUitnodigDatum.setDate(opnieuwUitnodigDatum.getDate() + ST_opnieuwNa);
        }

        if (opnieuwUitnodigDatum >= ST_currDate && currentStatus == 'ja') {
            return; // gebruiker al eerder geselecteerd; we hebben nu alles voor hem gedaan
        }

        // Nieuwe gebruiker; bepaal selectie & zo ja zet popupopener en tekst

        var ST_geselecteerd = (Math.random()*ST_steekProef < 1)
        if (!ST_geselecteerd)
        {
                ST_createCookie(ST_cookiePrefix + 'status','nee',1);
                return;
        }
        if (tekst)
        {
                tekst.innerHTML = ST_paginaTekst;
                tekst.style.display = 'block';
        }
        ST_createCookie(ST_cookiePrefix + 'status','ja.' + parseInt(ST_currDate.getTime() / 1000),ST_loopTijdOnderzoek);
        ST_addEvent(document,"click",ST_openPopup);
        ST_createCookie(ST_cookiePrefix + 'referrer',top.document.referrer,1);
        if (ST_startBijExtern)
            ST_setExtern();
}

// start onderzoek voor external links
function ST_setExtern() {
  if (!document.getElementsByTagName) return;
  var anchors = document.getElementsByTagName("a");
  for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if(anchor.target == "_blank" || anchor.getAttribute("rel") == "external"){
      ST_addEvent(anchor, "click", ST_checkExternal);
    }
  }
}

function ST_checkExternal(){
	ST_openPopup();

	if (!ST_newWindow)
		setTimeout('ST_checkExternal()', 250);
  else
    setTimeout('ST_newWindow.startOnderzoek()', 2000);

}

function ST_openPopup()
{
	if (ST_readCookie(ST_cookiePrefix + 'popup')) return;
	ST_newWindow = window.open(ST_popupUrl,'ST_window','width=300,height=300,resizable=yes,scrollbars=yes');
	ST_newWindow.blur();
	ST_removeEvent(document,"click",ST_openPopup);
}

function ST_exit()
{
	ST_loaded = false;
	var tijd = ST_timeOnPage();
	if (ST_readCookie(ST_cookiePrefix + 'popup') == 'opened' && ST_newWindow)
		ST_newWindow.trackMain(location.href,tijd);
	else
		ST_createCookie(ST_cookiePrefix + 'temp_store',location.href+',,'+tijd,1);
}


/* Extended tracking */

function ST_timeOnPage() // in seconden
{
	var eindTijd = new Date().getTime();
	var beginTijd = ST_aankomstTijd.getTime();
	var tijdOpPagina = parseInt((eindTijd - beginTijd)/1000);
	return tijdOpPagina;
}


/********************

      UTILITIES

********************/

/* By John Resig */

function ST_addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if ( obj.attachEvent )
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function ST_removeEvent( obj, type, fn )
{
	if ( obj.detachEvent )
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
	}
	else if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
}

/* PPK */

function ST_createCookie(name,value,days)
{
    var dmn = "";
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";

    if (ST_cookieDomain != '')
    {
        dmn = "; domain=" + ST_cookieDomain;
    }

	document.cookie = name+"="+value+expires+"; path=/" + dmn;
}

function ST_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 ST_eraseCookie(name)
{
	ST_createCookie(name,"",-1);
}

function ST_createReadableDate(dateObj)
{
	var dag = dateObj.getDate();
	var maand = dateObj.getMonth() + 1;
	var jaar = dateObj.getFullYear();
	return dag + '-' + maand + '-' + jaar;
}

