$(document).ready(function() {

	var pagename = $("body").attr("class").split(" ")[0];
	addSiteStatPromos($("#agenda"), pagename, "uitagenda");
	addSiteStatPromos($("#specialoffers"), pagename, "aanbiedingen");
	addSiteStatPromos($("#relateditems"), pagename, "gerelateerd");
	addSiteStatOutings($("#search-results"), pagename, "zoekresultaat");
	addSiteStatOutings($("#favorites-outings"), pagename, "favorieten");
	addSiteStatCategories(document, pagename);
	addSiteStatBanners(document, pagename);
	addSpecialOfferLinks(document, pagename);
	addEnlargeMap(document, pagename);
	addExternalLinks(document, pagename);
	addToFavoritesLinks(document, pagename);
	addSortTags(document, pagename);
	addFilterTags(document, pagename);
	addCompleteAgendaLink(document, pagename);
	addPdfCounters(document, pagename);
	
	
	$("#searchForm").each(function() {
		sitestatSearchForm($(this));	
	});
});

function addPdfCounters(context, pagename) {
	
	$("#download-resources-links a",context).each(function() {
		$(this).click(function(event) {
			var linkname = $(this).find("div").text();
			var counter = pagename.concat(".downloadresource.", replaceInvalidSitestatTokens(linkname));
			ns_onclick(this, '', counter, 'pdf', '');
		});
	});
}

function addCompleteAgendaLink(context, pagename) {
	$("#agenda a.more",context).each(function() {
		$(this).click(function(event) {
			var counter = pagename.concat(".uitagenda.complete_agenda");
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addCompleteAgendaLink(context, pagename) {
	$("#specialoffers a.more",context).each(function() {
		$(this).click(function(event) {
			var counter = pagename.concat(".aanbiedingen.alle_aanbiedingen");
			
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addFilterTags(context, pagename) {
	
	$("#filter-tags a.tag",context).each(function() {
		$(this).click(function(event) {
			var filterLink = $(this).find("span").text();
			var counter = pagename.concat(".filter.", replaceInvalidSitestatTokens(filterLink));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addSortTags(context, pagename) {
	
	$("a.sort",context).each(function() {
		$(this).click(function(event) {
			var sortLink = $(this).find("span").text();
			var counter = pagename.concat(".sorteer.", replaceInvalidSitestatTokens(sortLink));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addToFavoritesLinks(context, pagename) {
	//searchpage
	$("#search-results a.addtofavorites",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(this).parent().parent().find("span").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".link.voeg_toe_favorieten");
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
	
	//detailpage
	$(".pagecontent .addtofavorites",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(document).find(".overviewheader h1").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".link.voeg_toe_favorieten");
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addExternalLinks(context, pagename) {
	$("#beschrijving a",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(document).find(".overviewheader h1").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".link.", replaceInvalidSitestatTokens($(this).text()));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
	
	$("#praktische-informatie a",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(document).find(".overviewheader h1").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".link.", replaceInvalidSitestatTokens($(this).text()));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}


function addEnlargeMap(context, pagename) {
	$("#googlemap a",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(document).find(".overviewheader h1").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".link.vergroot_deze_kaart.", replaceInvalidSitestatTokens($(this).attr("href").split("/").pop().split(".").pop()));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addSpecialOfferLinks(context, pagename) {
	$(".specialoffer a",context).each(function() {
		$(this).click(function(event) {
			var uittip = $(document).find(".overviewheader h1").text();
			var counter = pagename.concat(".uittip.", replaceInvalidSitestatTokens(uittip), ".pdf.pdf");
			ns_onclick(this, '', counter, 'pdf', '');
		});
	});
}

function addSiteStatPromos(context, pagename, panelname) {
	$(".promo",context).each(function() {
		$(this).click(function(event) {
			var counter = pagename.concat(".",  panelname, ".", replaceInvalidSitestatTokens($(this).find("a").text()));
			ns_onclick(this, '', counter, 'clickin', '');
		});
	});
}

function addSiteStatOutings (context, pagename, panelname) {
	$("div.outing div.body", context).click(function(event) {
		var target = event.target;
		if(!(target.className.match("addtofavorites") || target.className.match("removefromfavorites"))) {
			
			var counter = pagename.concat(".", panelname, ".",  replaceInvalidSitestatTokens($(this).find("a.summary").find("span").text()));
			
			ns_onclick(this, '', counter, 'clickin', '');
		}
	});
}

function addSiteStatCategories(context, pagename) {
	$("#categories div.middle", context).click(function(event) {
		var counter = pagename.concat(".spotlightcategorien.",  replaceInvalidSitestatTokens($(this).find("span").text()));
		ns_onclick(this, '', counter, 'clickin', '');
	});
}

function addSiteStatBanners(context, pagename) {
	$("div.advertisement a", context).click(function(event) {
		var counter = pagename.concat(".banner.",  replaceInvalidSitestatTokens($(this).attr("title")));
		event.preventDefault();
		event.stopPropagation();
		ns_onclick(this, '', counter, 'clickin', '');
	});
}

function sitestatSearchForm(targetForm) {
	var searchCriteria = "";
	
	//'What to do'
	var what =  $("#category_input").val();
	var whatLabelValue = $("label.infield", $("#category_input").parent()).text();
	
	if (what != "" && what != whatLabelValue) {
		searchCriteria = searchCriteria.concat("wat=" +  replaceInvalidSitestatTokens(what));
	}
	
	//Where
	var where =  $("#region").val();
	var whereLabelValue = $("label.infield", $("#region").parent()).text();
	
	if (where != "" && where != whereLabelValue) {
		if (searchCriteria != "") {
			searchCriteria = searchCriteria.concat("&amp;");
		}
		searchCriteria = searchCriteria.concat("waar=" +  replaceInvalidSitestatTokens(where));
	}

	//Who
	var who =  $("#companions").val();
	var whoLabelValue = $("label.infield", $("#companions").parent()).text();
	
	if (who != "" && who != whoLabelValue) {
		if (searchCriteria != "") {
			searchCriteria = searchCriteria.concat("&amp;");
		}
		searchCriteria = searchCriteria.concat("wie=" +  replaceInvalidSitestatTokens(who));
	}

	//When start
	var whenStart =  $("#date-from").val();
	var whenStartLabelValue = "dd/mm/jjjj";
	
	if (whenStart != "" && whenStart != whenStartLabelValue) {
		if (searchCriteria != "") {
			searchCriteria = searchCriteria.concat("&amp;");
		}
		searchCriteria = searchCriteria.concat("vanaf=" +  replaceInvalidSitestatTokens(whenStart));
	}
	
	//When to
	var whenTo =  $("#date-to").val();
	var whenToLabelValue = "dd/mm/jjjj";
	
	if (whenTo != "" && whenTo != whenToLabelValue) {
		if (searchCriteria != "") {
			searchCriteria = searchCriteria.concat("&amp;");
		}
		searchCriteria = searchCriteria.concat("tot=" +  replaceInvalidSitestatTokens(whenTo));
	}
	
	//Start with the page name
	var counter = $("body").attr("class").split(" ")[0];
	
	counter = counter.concat(".zoek_uitje.button.toon&amp;", searchCriteria);
	
	ns_onclick(this, '', counter, 'clickin');
}

function replaceInvalidSitestatTokens(input) {
	return input.replace(/([^A-Za-z0-9-_])/g,"").toLowerCase();
}

function ns_onclick (a, url, name, type, winopt){ 
var ns_l="http://nl.sitestat.com/ns/eropuit/s?"; 
ns_l+=name;ns_l+='&ns_type='+type+'&ns_action=view'; 
ns_l+='&ns__t='+(new Date()).getTime();if(!url)url=a.href;
var ns_0=document.referrer;if(ns_0.lastIndexOf('/')==ns_0.length-1) 
ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0); 
if (ns_0.length>0)ns_l+='&amp;ns_referrer='+escape(ns_0); 
winopt=winopt||"";var 
target=(a&&a.target&&a.target!="")?(a.target.substring(0,1)=="_")?a.target.substring(1):a.target:"self"; 
var ns_i=new Image();if(target&&url){if(window[target]){window.ns_softclick_timer=function(target,url) 
{return function(){ns_i.onload=ns_i.onerror=function(){return;}; 
window[((window[target])?target:"self")].location.href=url;}}(target,url); 
window.setTimeout('ns_softclick_timer()',5000);ns_i.onload=ns_i.onerror=window.ns_softclick_timer;}else{ 
window.open(url,target,winopt);}}ns_i.src=ns_l;return false;} 

function sitestat(ns_pagetag){
	ns_l="http://nl.sitestat.com/ns/eropuit/s?" + ns_pagetag;
	ns_l+='&amp;ns__t='+(new Date()).getTime();ns_pixelUrl=ns_l; 
	ns_0=document.referrer; 
	ns_0=(ns_0.lastIndexOf('/')==ns_0.length-1)?ns_0.substring(ns_0.lastIndexOf('/'),0):ns_0; 
	if(ns_0.length>0)ns_l+='&amp;ns_referrer='+escape(ns_0); 
	
	if(document.images){
		ns_1=new Image();ns_1.src=ns_l;
	}else {		
		document.write('<img src="'+ns_l+'" width="1" height="1" alt="">');
	}
} 
 


