/* 
 * 2001-2011 (C) Heiloo-Online
 * All rights reserved.
 * 
 */

// ===== Banners ==============================================================

// Needed for random sort fo banner arrays --- dont remove!!!
function willekeurig(a,b){ 
	return (Math.round(Math.random())-0.5);
}

Date.prototype.getMDay = function() {
	return (this.getDay() + 6) %7;
}
Date.prototype.getISOYear = function() {
	var thu = new Date(this.getFullYear(), this.getMonth(), this.getDate()+3-this.getMDay());
	return thu.getFullYear();
}
Date.prototype.getISOWeek = function() {
	var onejan = new Date(this.getISOYear(),0,1);
	var wk = Math.ceil((((this - onejan) / 86400000) + onejan.getMDay()+1)/7);
	if (onejan.getMDay() > 3) wk--;return wk;
} 


var bannerCounter = 0;
var advadv = false;

function BannerObject(url, alt, pic, width, height, animate) {
	
	this.url = url;
	this.alt = alt;
	this.pic = pic;
	this.width = width; 
	this.height = height;
	if (animate!=null) this.animate = animate;
	else this.animate = true;
	this.used = false;
	this.flash = false;
	this.html = '';
	
	this.setHtml = function(src) {
		var bannerClass = "banner";
		if (this.animate) bannerClass += " animate";
		this.html = '<div class="' + bannerClass + '">' + src + '</div>';
		return this.html;
	}
	
	this.getImageHtml = function() {
		bannerCounter++;
		var html = '<a href="' + this.url + '" title="' + this.alt + '">';
		html += '<img src=' + this.pic;
		html += ' width=' + this.width;
		html += ' height=' + this.height;
		html += ' alt="' + this.alt + '"';
		html += ' /></a>';
		return this.setHtml(html);
	}
	
	this.getFlashHtml = function() {
		bannerCounter++;
		var html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
		html += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"';
		html += ' width="' + this.width + '" height="' + this.height + '">';
		html += '<param name="movie" value="' + this.pic + '">';
		html += '<param name="src" value="' + this.pic + '">';
		html += '<param name="wmode" value="opaque">';
		html += '<embed src="' + this.pic + '" width="' + this.width + '" height="' + this.height + '">';
		html += '</embed></object>';
		return this.setHtml(html);
	}
	
	this.getHtml = function() {
		if (this.html!='') return this.html;
		else if (this.flash==false) return this.getImageHtml();
		else return this.getFlashHtml();
	}
	
}

function SchrijfBannerArray(someArray) {
	var html = "";
	for (i=0; i<someArray.length; i++) { 
		html += someArray[i].getHtml();
	}
	return html;
}

function laadBannersBoven(target) {
	
	var banner = new Array();
	
	// BLOK 1
	
	// var rouleer = 1 + Math.floor (Math.random() * 4);
	var rouleer = 1;
	switch(rouleer) {
	
		case 1: 
			banner[banner.length] = new BannerObject(
				"http://www.heiloo-online.nl/nieuws/6700-albert-heijn-tloo-zondag-open",
				"Albert Heijn zondags open",
				"http://www.heiloo-online.nl/i/advahzondagopen.png",
				234, 60);
			break;
	
		default:
			b = new BannerObject();
			b.setHtml(
					"<iframe id='ae04e8ba' name='ae04e8ba' src='http://www.heiloo-online.nl/ads/www/delivery/afr.php?n=ae04e8ba&amp;zoneid=3&amp;cb=89876568655611023964' frameborder='0' scrolling='no' width='234' height='60' allowtransparency='true'><a href='http://www.heiloo-online.nl/ads/www/delivery/ck.php?n=a81e4ce6&amp;cb=89876568655611023964' target='_blank'><img src='http://www.heiloo-online.nl/ads/www/delivery/avw.php?zoneid=3&amp;cb=89876568655611023964&amp;n=a81e4ce6' border='0' alt='' /></a></iframe>" +
					"<script type='text/javascript' src='http://www.heiloo-online.nl/ads/www/delivery/ag.php'></script>"
			);
			banner[banner.length] = b;
			break;
			
	}
	
	// BLOK 2
	
	var rouleer = 1 + Math.floor (Math.random() * 4);
	switch(rouleer) { 
	
		case 1:
			banner[banner.length] = new BannerObject(
					"http://www.kopsaannemers.nl/",
					"Kops Aannemers",
					"http://www.heiloo-online.nl/i/advkopsaannemers.png",
					234, 60);
			break;
			
		case 2:
			banner[banner.length] = new BannerObject(
					"http://www.kopsaannemers.nl/",
					"Kops Aannemers",
					"http://www.heiloo-online.nl/i/advkopsaannemers.png",
					234, 60);
			break;
			
		case 3:
			banner[banner.length] = new BannerObject(
					"http://www.kopskozijnen.nl/",
					"Kops Kozijnen",
					"http://www.heiloo-online.nl/i/advkopskozijnen.gif",
					234, 60);
			break;

		case 4:
			banner[banner.length] = new BannerObject(
					"http://www.kekwomen.nl/",
					"Kek kleedt vrouwen met passie",
					"http://www.heiloo-online.nl/i/advkekwomen.png",
					234, 60);
			break;
	}
	
	// BLOK 3

	var rouleer = 1 + Math.floor (Math.random() * 2);
	switch(rouleer) { 
		
		case 1:
			banner[banner.length] = new BannerObject(
				"http://www.vanderborden.nl/detail-woning/HEILOO/Kennemerstraatweg-446/HO100677/",
				"Te koop: Kennemerstraatweg 446 te Heiloo",
				"http://www.heiloo-online.nl/i/advborden-kennemerstraatweg446.gif",
				234, 60);
		break;
		
		default:	
			banner[banner.length] = new BannerObject( 
				"http://www.vanderborden.nl/",
				"Van Der Borden Makelaardij",
				"http://www.heiloo-online.nl/i/advborden234x60v2.gif",
				234, 60);
		break;
	}

	// BLOK 4
	
	var rouleer = 1 + Math.floor (Math.random() * 4);
	switch(rouleer) { 
	
		case 1:
			
			banner[banner.length] = new BannerObject(
					"http://www.rabobank.nl/particulieren/lokalebanken/nkl/klant_contact_centrum/",
					"Het virtuele kantoor met adviseurs uit uw eigen regio.",
					"http://www.heiloo-online.nl/i/advrabobank-kcc.gif",
					234, 60);
			break;
			
  		case 2:
			banner[banner.length] = new BannerObject(
				"http://www.broodzakelijk.nl/",
				"XXL weken bij Bakker Kees Zoon",
				"http://www.heiloo-online.nl/i/advbroodzakelijkxxl.gif",
				234, 60);
		break;
		
  		case 3:
  			banner[banner.length] = new BannerObject(
  					"http://www.difiorentina.nl/",
  					"Poffertjes bij IJssalon Di Fiorentina",
  					"http://www.heiloo-online.nl/i/advfiorentina.gif",
  					234, 60);
  			break;
		
		default: 
			banner[banner.length] = new BannerObject(
					"http://www.heiloo-online.nl/adverteren/?utm_source=Heiloo-Online&utm_medium=banner&utm_campaign=adverteren",
					"Adverteren op deze website",
					"http://www.heiloo-online.nl/i/advadv234x60.png",
					234, 60);
			advadv = true;
		break;

	}

	banner.sort(willekeurig);
	
	$(target).html(SchrijfBannerArray(banner));

}

function laadBannersRechts(target) {

	var banner = new Array();
/*	
	banner[banner.length] = new BannerObject(
		"http://www.bartdalenberg.nl/",
		"Grafisch Buro Bart Dalenberg",
		"http://www.heiloo-online.nl/i/advbartdalenberg.jpg",
		118, 200);
 */
	
	/*
	b = new BannerObject();
	b.setHtml('<a href="http://partnerprogramma.bol.com/click/click?p=1&t=url&s=6952&url=http%3A//www.bol.com/nl/m/nederlandse-boeken/kind-jeugd/N/60%252B8293/index.html&f=BAN&name=Kinderboeken (120X60)"><img src="https://www.bol.com/nl/upload/banners/BOL120x60_kinderen.gif" width="120" height="60" alt="Kinderboeken (120X60)"  /></a><img src="http://partnerprogramma.bol.com/click/impression?p=1&s=6952&t=url&f=BAN&name=Kinderboeken (120X60)" width="1" height="1" />');
	banner[banner.length] = b;
	*/
	
	banner[banner.length] = new BannerObject( 
		"http://www.esfinx.nl/",
		"Tapas Eetcafe Esfinx",
		"http://www.heiloo-online.nl/i/advesfinx.gif",
		120, 60);
	
	banner[banner.length] = new BannerObject( 
		"http://www.hanraadsschoenen.nl/",
		"Bar en BooTs shoes & accessories",
		"http://www.heiloo-online.nl/i/advbarboots-supersale.gif",
		120, 60);

	banner[banner.length] = new BannerObject( 
		"http://www.boonkrommenie.nl/",
		"Boon, Kijken en Luisteren in Stijl",
		"http://www.heiloo-online.nl/i/advboon.gif",
		120, 60);
		
	var rouleer = 1 + Math.floor (Math.random() * 4);
	switch(rouleer) { 
	
		case 1: 
			banner[banner.length] = new BannerObject(
					"http://www.hostingstunter.nl/",
					"Registreer uw domeinnaam",
					"http://www.heiloo-online.nl/i/advhostingstunter.gif",
					120, 60);
		break;
			
		case 2: 
			banner[banner.length] = new BannerObject(
					"http://www.newyorkpizza.nl/",
					"New York Pizza",
					"http://www.heiloo-online.nl/i/advnewyorkpizza.gif",
					120, 60);
		break;
		
		case 3:
			banner[banner.length] = new BannerObject(
					"http://www.uitkijkpost.nl/",
					"Lees de Uitkijkpost online",
					"http://www.heiloo-online.nl/i/advuitkijkpost.gif",
					120, 60);
		break;
		
		case 4:
			/*
			 *  Uw advertentie kan hier staan!
			 */
		break;
		
	}

	var rouleer = 1 + Math.floor (Math.random() * 4);
	switch(rouleer) { 
	
		case 1: 
			banner[banner.length ] = new BannerObject( 
				"http://www.wijndijck.nl/",
				"Wijndijck - importeur van topwijnen",
				"http://www.heiloo-online.nl/i/advwijndijck.gif",
				120, 60);
		break;
		
		case 2: 
			banner[banner.length] = new BannerObject( 
				"http://www.larsbrillen.nl/",
				"Lars Brillen",
				"http://www.heiloo-online.nl/i/advlarsbrillen.gif",
				120, 60);
		break;

		case 3:
			banner[banner.length] = new BannerObject(
				"http://www.jpkdesign.nl/",
				"JPKDesign.nl Webdesign Vormgeving",
				"http://www.heiloo-online.nl/i/advjpkdesign.gif",
				120, 60);		
		break;	
		
		case 4:
			banner[banner.length] = new BannerObject(
				"http://www.kookhuislimmen.nl/",
				"Sate en spareribs online bestellen",
				"http://www.heiloo-online.nl/i/advkookhuis5.gif",
				120, 60);
		break;

	} 
	
	banner.sort(willekeurig);
	
	var sponsoring = new Array();
	sponsoring[sponsoring.length] = new BannerObject( 
		"http://www.dolfinn.nl/",
		"Stichting Dolfinn",
		"http://www.heiloo-online.nl/i/advdolfinn.gif",
		120, 60);
	var j = Math.floor (Math.random() * sponsoring.length);
	banner[banner.length] = sponsoring[j];
	
	/*
	banner[banner.length] = new BannerObject(
		"http://www.heiloo-online.nl/email/",
		"Gratis nieuwsbrief per e-mail",
		"http://www.heiloo-online.nl/i/nieuwsbrief.png",
		120, 60);
	 */

	if (false && !advadv) {
		banner[banner.length] = new BannerObject(
			"http://www.heiloo-online.nl/adverteren/?utm_source=Heiloo-Online&utm_medium=banner&utm_campaign=adverteren",
			"Adverteer op deze website",
			"http://www.heiloo-online.nl/i/advadv.gif",
			120, 60);
	}
	

	/*
	var day = new Date();
	day.setDate(day.getDate()+1);
	var bak = day.getISOWeek() % 2;
	switch(bak) {
		case 0: 
			banner[banner.length] = new BannerObject(
				"http://www.heiloo-online.nl/bekendmakingen",
				"Deze week de groene bak, klik voor bekendmakingen",
				"http://www.heiloo-online.nl/i/advbakgroen.png",
				120, 160);
			break;
		case 1: 
			banner[banner.length] = new BannerObject(
				"http://www.heiloo-online.nl/bekendmakingen",
				"Deze week de grijze bak, klik voor bekendmakingen",
				"http://www.heiloo-online.nl/i/advbakgrijs.png",
				120, 160);
			break;
	}
	*/

	// Add banners
	$(target).html(SchrijfBannerArray(banner));
	
	// Bol affiliate banner
	// $(target).append('<br/><script type="text/javascript">var bol_pml={"id":"bol_script1313586609792","baseUrl":"partnerprogramma.bol.com","secure":false,"nrProducts":"5","title":"","price_color":"#CB0100","priceRangeId":"","catID":"3136","header":true,"urlPrefix":"http://aai.bol.com/aai","site_id":"6952","target":true,"rating":false,"price":true,"image_size":false,"link_name":"","link_subid":"","image_position":"right","width":"120","cols":"1","background_color":"#FFFFFF","text_color":"#000000","link_color":"#0000FF","border_color":"#D2D2D2","letter_type":"verdana","letter_size":"11"};</script><script id="bol_script1313586609792" src="http://partnerprogramma.bol.com/partner/static/js/aai/clientBestsellerGenerator.js" type="text/javascript"></script>');
	
	// Apps
	$(target).append('<br/><a href="http://itunes.apple.com/us/app/heilooonline/id482701218"><img src="http://www.heiloo-online.nl/i/app-store.png" width="120" height="150"></a>');
	$(target).append('<br/><a href="https://market.android.com/details?id=com.heiloo_online&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5oZWlsb29fb25saW5lIl0."><img src="http://www.heiloo-online.nl/i/app-market.png" width="120" height="150"></a>');
	
	// Text links
	$(target).append('<br/><a href="http://www.heiloo-online.nl/nieuws/lezer.php" title="Nieuws voorlezen">Nieuws voorlezen</a>');
	$(target).append('<br/><a href="http://www.heiloo-online.nl/nabestellen/" title="Foto\'s nabestellen">Foto\'s nabestellen</a>');

	// Add startpage and favorites
	if (!window.sidebar && window.external) { // IE compatible only
		$(target).append('<br/><a href="#" title="Maak startpagina" onClick="this.style.behavior=\'url(#default#homepage)\';this.setHomePage(\'http://www.heiloo-online.nl\');">Maak startpagina</a>');
		$(target).append('<br/><a href="#" title="Toevoegen aan favorieten" onClick="window.external.AddFavorite(\'http://www.heiloo-online.nl\', \'Heiloo-Online\');">Favoriet toevoegen</a>');
	}

}

function laadSocialAds(target) {
	
	var html = "";
	
	var b = new BannerObject( 
			"http://www.facebook.com/Heiloo.Online",
			"Volg ons op Facebook",
			"http://www.heiloo-online.nl/templates/s-facebook.jpg",
			16, 16, false);
	html += b.getHtml();

	var b = new BannerObject( 
			"http://www.twitter.com/heiloo_online",
			"Volg ons op Twitter",
			"http://www.heiloo-online.nl/templates/s-twitter.jpg",
			16, 16, false);
	html += b.getHtml();
	
	var b = new BannerObject( 
			"http://www.linkedin.com/groups?gid=1254887",
			"Volg ons op LinkedIn",
			"http://www.heiloo-online.nl/templates/s-linkedin.jpg",
			16, 16, false);
	html += b.getHtml();
			
	var b = new BannerObject( 
			"http://onlineheiloo.hyves.nl",
			"Volg ons op Hyves",
			"http://www.heiloo-online.nl/templates/s-hyves.jpg",
			16, 16, false);
	html += b.getHtml();

	$(target).append('<div id="socials">' + html + '</div>');
}

// ===== Animaties ============================================================

// Algemene fading functie
jQuery.fn.fadeToggle = function(speed, callback) { 
	   return this.animate({opacity: 'toggle'}, speed, 'swing', callback); 
}; 

// Fade to new contents
jQuery.fn.fadeHtml = function(html, speed) {
	var me = this;
	if (speed==null) speed = 200;
	me.fadeToggle(speed, function() {
		me.html(html);
		me.fadeToggle(speed);
	});
}; 

// Animatie voor de banners
function flashBanners() {
	var i = 0;
	var speed = 777;
	$("img.animate").each(function() {
		var banner = $(this);
		setTimeout(function() {
			banner.fadeToggle(speed, function() {
			    banner.fadeToggle(speed, function() {	
			    	// ready
			    });
			});
		}, 2 * speed * i++);
	});
	setTimeout('flashBanners()',56985);
}

// Animatie voor tabs
function showTabs() {
	$("div#tabadverteren").animate({bottom: '50%'}, 'slow', 'swing'); 
}

// Bottom banner
function laadBottomBanner() {
	var from = 30000 + Math.floor (Math.random() * 10000);
	var till = from + 10000;
	var html = '<div id="bottomBanner"><a href="http://www.dolfinn.nl/dolfinnrocks/" title="Dolfinn Rocks">';
	html += '<img src="/i/advdolfinnrocks2010_798x90.png" alt="Dolfinn Rocks"></a></div>';
	$('body').prepend(html);
	setTimeout(function() {
		$('div#bottomBanner').animate({left: '50%'}, 3000, 'swing');
		} , from);
	setTimeout(function() {
		$('div#bottomBanner').animate({left: '-50%'}, 3000, 'swing');
		} , till);
}

// Adblockerblocker
function addBlockCount(selector) {
	var counter = 0;
	jQuery(selector).each(function(){
		var h = jQuery(this).height()*1;
		var d = jQuery(this).css("display");
		var m = jQuery(this).css("-moz-binding");
		if (h==0 || d=="none" || /url/.test(m)) {
			counter++;	
		}
	});
	return counter;
};
function addBlockBlocker() {
	var counter = 0;
	counter += addBlockCount(".banner");
	counter += addBlockCount("img[src*=adv]");
	counter += addBlockCount("iframe[src*=ads]");
	if (counter>0) {
		alert("WAARSCHUWING:\n" + 
			"Niet alle onderdelen van deze website lijken zichtbaar.\n" +
			"Dit kan juiste en volledige weergave verhinderen.\n" +
			"Staat er misschien een adblocker aan?\n"
		);
		setTimeout('addBlockBlocker();', 60000); // Repeat message
	}
}

// Track event in google analytics
function track(category, action, label, count) {
	if (typeof(label)=="undefined") label = category + ' ' + action;
	if (typeof(count)=="undefined") count = 1;
	_gaq.push(['_trackEvent', category, action, label, count]);
};

// Track website
function trackTimeOnSite() {
	track('Ping','ping');
	setTimeout('trackTimeOnSite();', 30000); // Repeat message
}

// Alter all urls
// Let op: gaat niet altijd goed, o.a. facebook integratie lijkt verkeerd te gaan
// Dus nog erg beta de beta
function alterAllUrls() {
    $('a:not(div.banner a)').each(function() {
    	if (/http/i.test(this.href)==true && 
    		/[?#]?/i.test(this.href)==false &&
    		/heiloo-online/i.test(this.href)==false) {
    			$(this).attr('href', 'http://www.heiloo-online.nl/go?url=' + encodeURIComponent(this.href));
    	}
    });
}

// Let it snow, let it snow, let it snow
// Merry X-mas everyone in code!
function letItSnow() {
	$(document).snowfall({
//		collection: 'a img',
		flakeCount: 100,
		flakeColor : '#ffffff',
		minSize: 5,
		maxSpeed : 1,
		round: true,
		shadow: false
	});
}

// ==== Init ==================================================================


// Liever niet in een frame
if (self!=top) top.location=self.location;

// Als document geladen is
$(document).ready(function(){

	// Iets minder CPU load please...
	jQuery.fx.interval = 200;
	
	// Niks extra's op kleine schermen
	var w = $(document).width();
	if (w<=640) return;
	
	// Laad de banners
	laadBannersBoven("#advboven");
	laadBannersRechts("#advrechts");
//	laadSocialAds("#advrechts");
//	laadBottomBanner();

	// Start animatie banners
	// setTimeout('flashBanners()', 34341);
	
	// Toon tabs
	$("body").prepend('<div id="tabadverteren"><a href="http://www.heiloo-online.nl/adverteren"><img src="http://www.heiloo-online.nl/templates/tabadverteren.png"></a></div>');
//	 setTimeout('showTabs()', 7834);
	
	// Background clickable
//	$("body").prepend('<div id="clickable_background" title="Klik hier">&nbsp;</div>');
//	$("div#clickable_background").click(function(){
//		top.location = "http://www.parkgolfheiloo.nl/";
//	});
	
	// Koppel animatie aan de vlag
//	$("div#vlag").click(function () {
//		top.location = "http://www.oranjebalheiloo.nl/";
//		$("div#contents").fadeToggle('slow');
//		$("div#clickable_background").fadeToggle('slow');
//	});
	
	// Maak ronde hoeken en schaduw --- geeft problemen met o.a. tweet button
	// var myBorder1 = RUZEE.ShadedBorder.create({ corner:8 , shadow:16 });
    // myBorder1.render('contents');
	
	// Start adblockerblocker
	// setTimeout('addBlockBlocker()', 60000);
	
	// Alter all URLs
	// alterAllUrls();
	
	// Onderste advertentie naar beneden schuiven
	var rechts = $('#advrechts').height();
	var midden = $('#mainbody').height();
	var tekort = rechts - midden;
	if (tekort>0) $('#bottomad').css('margin-top', tekort);
	
	// Track time on site
	setTimeout('trackTimeOnSite();', 30000);
});
