/* AAN TE PASSEN */

var ST_siteTrekPad = '/webradar/';

var ST_toestemmingsTekst1 = 'Wilt u meedoen aan een onderzoek over deze site?';
var ST_toestemmingsTekst2 = 'Beantwoorden van de vragen duurt ongeveer 7 minuten. Hiervoor wordt aan het einde van uw bezoek een nieuw venster geopend.';
var ST_jaKnop = 'Ja, ik wil meedoen';
var ST_neeKnop = 'Nee, ik wil niet meedoen';

var ST_toonBedanktTekst = true;
var ST_balkTijd = 2;
var ST_tekstJa = 'Bedankt voor uw toestemming. Een extra popup is intussen geopend. Wij verzoeken u vriendelijk deze niet te sluiten.';
var ST_tekstNee = 'U heeft aangegeven niet deel te willen nemen. Wij zullen zorgen dat u niets van het onderzoek merkt.';

var ST_test = false; // op false zetten voordat de balk live gaat!

var ST_startDatum = new Date(2008,4,1); // jaar,maand,dag; maanden 1=januari, 2=februari etc.
var ST_eindDatum = new Date(2008,12,25);
var ST_steekProef = 3; // 1 per hoeveel bezoekers wordt onderzocht?

/* SVP NIET VERANDEREN */

/* COOKIES */

var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
		this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undefined;
	},
	eraseAll: function () {
		for (var i in this) {
			if (typeof this[i] == 'function') continue;
			this.erase(i);
		}
	}
};
Cookies.init();

var W3CDOM = (document.createElement && document.getElementsByTagName);
if (W3CDOM) {
	document.write('<style>#webradarNoscript {display: none}</style>');
}

/* Controleer cookie support */

var ST_cookiesSupported = false;
Cookies.create('ST_test','supported',1);

if (Cookies['ST_test']) {
	ST_cookiesSupported = true;
	Cookies.erase('ST_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 (!Cookies['ST_firstVisit'] && ST_onderzoekBegonnen)
	Cookies.create('ST_firstVisit',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 = Cookies['ST_numberOfVisits'] || 0;
	ST_aantalBezoeken++;
	if (!Cookies['ST_lastVisitTime'])
		Cookies.create('ST_numberOfVisits',ST_aantalBezoeken,ST_loopTijdOnderzoek);
	Cookies.create('ST_lastVisitTime','true',(1/24));
}

/* Initialisatie hoofdscript */

addEventSimple(window,"load",ST_init);
var ST_newWindow;
var ST_loaded = false;

function ST_init()
{

	if (ST_test) {
		var q = document.createElement('a');
		q.href = '#';
		q.className = 'testLink';
		q.onclick = function() {Cookies.eraseAll();location.reload()};
		q.appendChild(document.createTextNode('Verwijder cookies'));
		document.body.appendChild(q);
	}	

	// geen cookies of onderzoek nog niet begonnen of beeindigd: doe niets

	if (!ST_cookiesSupported) return;

	var noscriptOnderzoek = document.getElementById('webRadarNoScript');
	if (noscriptOnderzoek)
		noscriptOnderzoek.parentNode.removeChild(noscriptOnderzoek);

	if (!ST_onderzoekBegonnen) return;
	if (ST_loopTijdOnderzoek < 0 ) return;
	
	// vind status gebruiker
	
	// als er nog geen status is, is het heteerste bezoek van de gebruiker
	// trek random en zet status op nee (niet geselecteerd)
	// of onbekend (vragen dmv. balk)

	if (!Cookies['ST_status'])
		Cookies.create('ST_status',ST_selecteerGebruiker(),1);

	var currentStatus = Cookies['ST_status'];

	// als gebruiker niet geselecteerd is of toestemming heeft geweigerd, doe niets
	
	if (currentStatus == 'nee') return;
	
	// als gebruiker al geselecteerd was, volg hem
	
	else if (currentStatus == 'ja')
		ST_volgGebruiker();
	
	// als gebruiker nieuw is, creeer balk voor toestemming
	
	else {
		ST_creeerBalk();
		var aantalBalken = Cookies['ST_balken'] || 0;
		aantalBalken++;
		Cookies.create('ST_balken',aantalBalken,1);
		if (aantalBalken > 2)
			ST_initialiseerOnderzoek();
	}
	
}

function ST_volgGebruiker() {

	// gebruiker was al geselecteerd en had al toestemming gegeven; volg hem

	ST_loaded = true;
	addEventSimple(window,"unload",ST_exit);
}

function ST_initialiseerOnderzoek() {

	// gebruiker heeft toestemming gegeven; start popup

	Cookies.create('ST_status','ja',ST_loopTijdOnderzoek);
	addEventSimple(document,"click",ST_openPopup);
	if (self.parent != self) {
		setClickOnFrames(top,true);
	}
	Cookies.create('ST_referrer',top.document.referrer,1);
	ST_volgGebruiker();
}

function ST_selecteerGebruiker() {

	// om gebruiker te selecteren voor onderzoek

	var rnd = !!(Math.random()*ST_steekProef < 1)
	return (rnd) ? 'onbekend' : 'nee';
}

function ST_creeerBalk() {

/*	var x = document.createElement('div');
	x.id = 'webradarToestemming';
	var y = document.createElement('h4');
	y.appendChild(document.createTextNode(ST_toestemmingsTekst1));
	x.appendChild(y);
	var z = document.createElement('p');
	z.appendChild(document.createTextNode(ST_toestemmingsTekst2));
	x.appendChild(z);
	var a = document.createElement('div');
	var b = document.createElement('a');
	b.href = '#';
	b.relatedItem = z;
	b.appendChild(document.createTextNode(ST_jaKnop));
	b.onclick = ST_gebruikerKliktJa;
	b.className = 'eerste';
	a.appendChild(b);
	var c = document.createElement('a');
	c.href = '#';
	c.relatedItem = z;
	c.appendChild(document.createTextNode(ST_neeKnop));
	c.onclick = ST_gebruikerKliktNee;
	a.appendChild(c);
	x.appendChild(a);
	document.body.appendChild(x);
	var stijl = document.createElement('link');
	stijl.id = 'balkStijlen';
	stijl.setAttribute('rel','stylesheet');
	stijl.setAttribute('href',ST_siteTrekPad + 'specialestijlen.css');
	document.getElementsByTagName('head')[0].appendChild(stijl); */
 
  win = new Window({className: "mac_os_x", title: "Toestemming", width:300, height:220, destroyOnClose: true, recenterAuto:false});
  win.getContent().update('<div style="padding: 10px; background-color: #a28c58">'+
                          '<img src="/templates/afbeeldingen/logos/overlay.gif"></div><br />'+
                          '<div style="padding:10px; font-size: 1.1em;"><h4>'+ST_toestemmingsTekst1+'</h4><br /><p>'+ST_toestemmingsTekst2+'</p><br />'+
                          '<a href="#" style="text-decoration: underline;" onClick="ST_gebruikerKliktJa()">'+ST_jaKnop+'</a><br /><br />'+
                          '<a href="#" style="text-decoration: underline;" onClick="ST_gebruikerKliktNee()">'+ST_neeKnop+'</a></div>');
  win.showCenter();
}

function ST_gebruikerKliktJa() {
	ST_initialiseerOnderzoek();
	if (ST_toonBedanktTekst) {
		//this.relatedItem.innerHTML = ST_tekstJa;
		//setTimeout(ST_verwijderBalk,ST_balkTijd * 1000);
		win.getContent().update('<div style="padding: 10px; background-color: #a28c58">'+
                          '<img src="/templates/afbeeldingen/logos/overlay.gif"></div><br />'+
                          '<div style="padding:10px; font-size: 1.1em;"><p>'+ST_tekstJa+'</p><br />'+
                          '<a href="#" style="text-decoration: underline;" onClick="win.destroy()">Dit venster kan worden afgeloten</a></div>');
		win.showCenter();
		//setTimeout(win.destroy(),ST_balkTijd * 1000);
	}
	else {
		//setTimeout(ST_verwijderBalk,ST_balkTijd * 100); // eerst event kans geven naar document te bubblen
		setTimeout(win.destroy(),ST_balkTijd * 100); // eerst event kans geven naar document te bubblen
	}
}

function ST_gebruikerKliktNee() {
	if (ST_toonBedanktTekst) {
		//this.relatedItem.innerHTML = ST_tekstNee;
		//setTimeout(ST_verwijderBalk,ST_balkTijd * 1000);
		win.getContent().update('<div style="padding: 10px; background-color: #a28c58">'+
                          '<img src="/templates/afbeeldingen/logos/overlay.gif"></div><br />'+
                          '<div style="padding:10px; font-size: 1.1em;"><p>'+ST_tekstNee+'</p><br />'+
                          '<a href="#" style="text-decoration: underline;" onClick="win.destroy()">sluit venster</a></div>');
		win.showCenter();
		setTimeout(win.destroy(),ST_balkTijd * 1000);
	}
	else {
		//ST_verwijderBalk();
		win.destroy();
        }
	Cookies.create('ST_status','nee',ST_loopTijdOnderzoek);
	removeEventSimple(document,"click",ST_openPopup);
	if (self.parent != self)
		setClickOnFrames(top,false);
}

function ST_verwijderBalk() {
	var balk = document.getElementById('webradarToestemming');
	if (!balk) return;
	balk.parentNode.removeChild(balk);
	var balkStijl = document.getElementById('balkStijlen');
	balkStijl.disabled = true;
}

function ST_openPopup() {
	if (Cookies['ST_popup']) return;
	Cookies.create('ST_status','ja',ST_loopTijdOnderzoek);
	ST_newWindow = window.open(ST_siteTrekPad + 'popup.html','ST_window','width=400,height=300,resizable=yes,scrollbars=yes');
	ST_newWindow.blur();
	removeEventSimple(document,"click",ST_openPopup);
	if (self.parent != self)
		setClickOnFrames(top,false);
	//ST_verwijderBalk();
}

function ST_exit()
{
	Cookies.init();
	ST_loaded = false;
	var tijd = ST_timeOnPage();
	if (Cookies['ST_popup'] == 'opened' && ST_newWindow) {
		ST_newWindow.trackMain(location.pathname,tijd);
	}
	else
		Cookies.create('ST_temp_store',location.pathname+',,'+tijd,1);
}

function setClickOnFrames(parentFrame,flag) {
	var x = parentFrame.frames;
	for (var i=0;i<x.length;i++) {
		if (x[i] == self) continue;
		if (x[i].frames.length)
			setClickOnFrames(x[i],flag);
		else {
			if (flag)
				addEvent(x[i].document,"click",ST_openPopup);
			else
				removeEvent(x[i].document,"click",ST_openPopup);			
		}
	}
}



/* 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
      
********************/

function createReadableDate(dateObj)
{
	var dag = dateObj.getDate();
	var maand = dateObj.getMonth() + 1;
	var jaar = dateObj.getFullYear();
	return dag + '-' + maand + '-' + jaar;
}

function addEventSimple(obj,evt,fn) {
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function removeEventSimple(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}

