var banners = new Array();
var bannerInterval = 10;
var crnt = 0;
var bannerTimer;
var stil = true;
var catItems;
var pagOpen = false;

function init() {
	//Pas knoppen onderin aan
	$('.cat_knop_text').each(function () {
		var fs = 13;
		while($(this).width() > 90) {
			$(this).css('font-size', fs + 'px');
			fs--;
		}
		$(this).css({ 'padding-left' : ((100 - parseInt($(this).width())) / 2) + 'px', 'padding-top' : ((28 - parseInt($(this).height())) / 2) + 'px' });
	});
	
	//Shop aanbiedingen
	$('#aanbiedingen_reeks').mousemove(function(e){		
		var marge = Math.max(Math.round(Math.min((240 - e.pageY), 0) / 240 * Math.max($('#aanbiedingen_reeks').height() - 180, 0)), -($('#aanbiedingen_reeks').height() - 180));
		$('#aanbiedingen_reeks').animate({"margin-top": (marge + 50) }, { "queue": false, "duration": 500, "easing": "easeOutBack" });
	});
	
	//Inlog placeholders
	$('#user, #pass').placeholder();
	$('#zoekveld').placeholder();
	
	//Navigatie schalen	
	resize();
	$("#navigation").width($("#navigation").width() + 5);
	
	$("#zoekveld").focus();
}

function loadBanners(bannerString) {
	var bannerArray = bannerString.split("[]");
	for(i = 0; i < bannerArray.length; i++) {
		var tempArray = new Array();
		var bannerAtt = bannerArray[i].split(", ")
		for(a = 0; a < bannerAtt.length; a++) {
			tempArray.push(bannerAtt[a]);
		}
		banners.push(tempArray);
		tempArray = false;
	}

	//Banners
	laadPlaatje(0);
	banners[0][4] = true;
	if(banners.length > 1) {
		laadPlaatje(1);
		banners[1][4] = true;
		bannerTimer = setTimeout("volgendeBanner()", bannerInterval * 1000);
	}
}

function openPag(id) {
	if(pagOpen) {
		if(pagOpen == id)
			return;
		
		$("#" + id).stop(true, true);
		$("#" + id).fadeIn().css({'position':'absolute', 'border':'0px', 'bottom':'0px', 'left': "0px"}).find(".cat_blok").html("").css({"width": 900, 'height': $("#categorien").height() - 47 });
		$("#" + id).find(".cat_titel").hide();
		$("#" + pagOpen).fadeOut();
		pagOpen = id;
		return;
	}
	pagOpen = id;
		
	$(".categorie, #ads, #aanbiedingen, #houder_top, #houder_bottom, #bannerLinks").not($('#' + id)).fadeOut("normal");
		
	$("#ads").fadeOut("fast", function() {
		$("#categorien").css({ 'top': 92, 'width':'900px', 'height': (369 + $("#" + id).height()) + 'px' });
		$("#" + id).css({ 'position':'absolute', 'border':'0px', 'bottom':'0px', 'left': (parseInt(id.substring(7, id.length)) * 108) + "px" }).find(".cat_titel").fadeOut();
		$("#" + id).animate({ 'left': '0px' }, { "queue": false, "duration": 400, "easing": "easeOutQuad" }).find(".cat_blok").html("").animate({"width": 900, 'height': $("#categorien").height() - 47 }, { "queue": false, "duration": 400, "easing": "easeOutQuad", complete: function() {
			catItems = new Array("webshop.png", "nieuws.png", "testcentrum.png", "customBouw.png", "onderhoud.png");
			laadItem(0, id);
			$(".cat_knop").unbind("click").click(function() {
				window.location.href = "index.php";
			}).find(".cat_knop_text").fadeOut('fast', function () {
				$(this).html("Terug").css({'font-size' : '15px', 'padding-left' : '25px', 'padding-top' : '5px'}).fadeIn('fast');	
			})
		} });
	});	
}

function laadItem(item, catID) {
	var img = new Image();

	$(img).load(function () {
		$(this).hide().css({ 'float' : 'left', 'margin-left' : '40px', 'margin-top' : '37px' });
		$("#" + catID).find(".cat_blok").append(this);
		$(this).fadeIn();
		
		if(catItems[(item + 1)])
			laadItem((item + 1), catID);
	}).error(function () {
      
	}).attr('src', 'img/' + catItems[item]);
}

$(window).resize(function() {
	resize();
});

function resize() {
	if($(window).width()/2 - 450 < 90) {
		$("#navigation").css({ 'left':'90px', 'margin-left': '0px' });
	} else {
		$("#navigation").css({ 'left':'50%', 'margin-left': '-450px' });
	}
	
	if($(window).width()/2 - 450 < 5) {
		$("#ads, #bannerLinks, #categorien").css({ 'left':'5px', 'margin-left': '0px' });
		$("#aanbiedingen, #houder_top, #houder_bottom").css({ 'left': (651) + "px", 'margin-left': '0' });
	} else {
		$("#ads, #bannerLinks, #categorien").css({ 'left':'50%', 'margin-left': '-450px' });
		$("#aanbiedingen, #houder_top, #houder_bottom").css({ 'left':'50%', 'margin-left': '196px' });
	}
}

function laadPlaatje(nr, laden) {
	if(banners[nr][4] == "true")
		return;
		
	banners[nr][4] = "true";
		
	if(banners[nr][2] == "true") {
		//Flash
		$('#ads').removeClass('loading').append("<div style='position: absolute;' class='loading' id='banner" + nr + "'><img src='banners/" + banners[nr][3] + "' /></div>");
		
		banners[nr][2] = $("#banner" + nr);
		if(nr != crnt) {
			banners[nr][2].flash(
				{
				swf: "banners/" + banners[nr][0],
				width: 640,
				height: 360,
				play: false
				}
			);
			$("#banner" + nr).hide();
		} else {
			banners[nr][2].flash(
				{
				swf: "banners/" + banners[nr][0],
				width: 640,
				height: 360,
				play: true
				}
			);
		}
		banners[nr][1] = "true";
				
		if(laden)
			laadBanner(nr);
			
		if(nr + 1 < banners.length && !banners[nr + 1][2])
			laadPlaatje(nr + 1);
	} else {
		//Image
		var img = new Image();
	 
		$(img).load(function () {
			$('#ads').removeClass('loading').append(this);
			
			$(this).attr("id", "banner" + nr);
				
			banners[nr][1] = true;
				
			if(nr != crnt)
				$(this).hide();	
	
			if(laden)
				laadBanner(nr);
		}).error(function () {
			//alert(banners[nr][0]);
		}).attr('src', 'banners/' + banners[nr][0]).setAttribute("onClick", "window.location = '" + banners[nr][3] + "'").css('cursor', 'pointer');
	}
}

function volgendeBanner() {
	if(stil) {
		if(banners[(crnt + 1) % banners.length][1] == "true") {
			clearTimeout(bannerTimer);
			stil = false;
			$('#banner' + ((crnt + 1) % banners.length)).css({ left: 640 }, 300).show().animate({"left": 0 }, { "queue": false, "duration": 900, "easing": "easeInOutCubic" });
			$('#banner' + crnt).css({ left: 0 }, 300).animate({"left": -640 }, { "queue": false, "duration": 900, "easing": "easeInOutCubic", complete: function() {
				crnt = (crnt + 1) % banners.length;
				stil = true;
				resetBanners();
				
				bannerTimer = setTimeout("volgendeBanner()", bannerInterval * 1000);
				//Flash (play)
				if(banners[(crnt) % banners.length][2] && banners[(crnt) % banners.length][2] != "true") {
					banners[(crnt) % banners.length][2].flash(
						function() { this.Play(); }
					);
				}
			} });
		} else {
			laadPlaatje((crnt + 1) % banners.length, true);	
		}
	}
}

function laadBanner(nr) {
	if(stil && nr != crnt) {
		clearTimeout(bannerTimer);
		if(banners[nr][1] == "true") {
			stil = false;
			$('#banner' + nr).css({ left: 640 }, 300).show().animate({"left": 0 }, { "queue": false, "duration": 900, "easing": "easeOutQuad" });
			$('#banner' + crnt).css({ left: 0 }, 300).animate({"left": -640 }, { "queue": false, "duration": 900, "easing": "easeOutQuad", complete: function() {
				crnt = nr;
				stil = true;
				resetBanners();
				//Flash (play)
				if(banners[nr][2] && banners[nr][2] != "true") {
					banners[nr][2].flash(
						function() { this.Play(); }
					);
				}
			} });
			bannerTimer = setTimeout("volgendeBanner()", bannerInterval * 1000);
		} else {
			laadPlaatje(nr, true);
		}
	}
}

function resetBanners() {
	for(i = 0; i < banners.length; i++) {
		if(banners[i][1] && banners[i][2] != "true") {
			banners[i][2].flash(
				function() { this.GotoFrame(1); }
			);
		}
	}	
}