$(function(){
	
	if ($.browser.msie && $.browser.version < 7)
		$('img[src$=.png]').pngfix();

	$('img[hover],input[hover]').imghover();

	var homeOpenTimer, homeCloseTimer;
	$('#uitjeshome div.uitje').hover(function(e){
		$(this).toggleClass('hover');
		var self = this;

		clearTimeout(homeOpenTimer);

		if (e.type == 'mouseenter') {
			if ($(this).hasClass('active'))
				clearTimeout(homeCloseTimer);

			homeOpenTimer = setTimeout(function(){
				openHomeUitje(self);
			},500);
		}

		if (e.type == 'mouseleave') {
			clearTimeout(homeCloseTimer);
			homeCloseTimer = setTimeout(function(){
				closeHomeUitje($('#uitjeshome div.uitje.active')[0]);
			},500);
		}
	});

	function openHomeUitje(ele) {
		$(ele).addClass('active').stop().animate({height:'486px'},400,'swing')
			.find('div.content-extra').fadeIn(400);
	}

	function closeHomeUitje(ele) {
		$(ele).stop().animate({height:'216px'},400,'swing',function(){
			$(this).removeClass('active');
		}).find('div.content-extra').fadeOut(400);
	}

	function positionSelector() {
		$('#uitjesselector').css('right',($(document).width() < 1042) ? '-5px' : '-30px');
	}

	function slideSelector() {
		$('#uitjesselector').stop().animate({top:$(window).scrollTop()+'px'},500,'swing');
	}

	function dockSelector(state) {
		if (state) {
			$('#uitjesselector').addClass('docked').stop().animate({top:0},500,'swing');
			$(window).unbind('scroll');
		} else {
			$('#uitjesselector').removeClass('docked');
			$(window).scroll(slideSelector);
			slideSelector();
		}
	}

	$('#uitjesselector img.button_dock_release').click(function(){
		dockSelector(!$('#uitjesselector').hasClass('docked'));
	});

	var selectedUitjes = [];

	function isDuplicate(uitjeID) {
		var uitjeID = parseInt(uitjeID,10);
		for(uitje in selectedUitjes) {
			if (uitjeID == parseInt(selectedUitjes[uitje][0],10))
				return true;
		}
		return false;
	}

	$('#uitjeshome img.button_add').click(function(){
		var id = parseInt($(this).parent('div.uitje').attr('uitje_id'),10);
		addUitje(id);
		$(this).fadeOut('fast');
	});

	function addUitje(id) {
		var data = [id, uitjesDB[id][0], uitjesDB[id][1]];
		if (isDuplicate(id)) return;
		selectedUitjes.push(data);
		updateCookie();
		populateSelector();
	}

	function updateCookie(){
		var c = [];
		for(uitje in selectedUitjes)
			c.push(selectedUitjes[uitje][0]);
		$.setCookie('TDHBB',c.join('|'),365);
	}

	function parseCookie(skipSelector){
		var c = $.getCookie('TDHBB');
		c = c.length ? c.split('|') : [];
		for (var i=0; i<c.length; i++) {
			if (uitjesDB[c[i]]) selectedUitjes.push([parseInt(c[i],10),uitjesDB[c[i]][0],uitjesDB[c[i]][1]]);
			if (isHome) $('#uitje'+c[i]+' img.button_add').fadeOut('fast');
		}

		if (!skipSelector)
			populateSelector();
	}

	function populateSelector() {
		if (selectedUitjes.length>0) {
			$('#uitjesselector').addClass('hascontent')
				.find('ul.uitjeslist>li').remove();
			var uitjeslist = $('#uitjesselector ul.uitjeslist');
			for (var uitje in selectedUitjes) {
				var newEle = $(
					'<li data="'+selectedUitjes[uitje][0]+'">'
					+'<img src="images/trash.gif" hover="images/trash_hover.gif" width="17" height="16" alt="Verwijderen" title="Verwijderen" class="remove">'
					+'<a href="'+selectedUitjes[uitje][2]+'">'+selectedUitjes[uitje][1]+'</a></li>'
				);
				newEle.find('img.remove').imghover().click(removeSelection);
				uitjeslist.append(newEle);
			}
		} else {
			$('#uitjesselector').removeClass('hascontent')
				.find('ul.uitjeslist>li').remove();
		}			
	}

	function removeSelection(){
		var id = parseInt($(this).parent('li').attr('data'),10);
		
		selectedUitjes = $.grep(selectedUitjes,function(ele,idx){
			return !(id == parseInt(ele[0],10));
		});
        
		updateCookie();

		if (isHome) $('#uitje'+id+' img.button_add').fadeIn('fast');

		if (isOfferte) {
			$(this).parent('li').remove();
			var ids = [];
			for (var uitje in selectedUitjes)
				ids.push(selectedUitjes[uitje][0]);
			$('#formuitjes').val(ids.join(','));
			
			if (!ids.length) {
			    window.location.reload();
			}
		} else {			
			populateSelector();
		}
	}

	// Init home
	var isHome = false;
	if ($('body').hasClass('showselector')) {
		var isHome = $('#uitjeshome').length>0;
		positionSelector();		
		parseCookie();
		$(window).resize(positionSelector);
		$(window).scroll(slideSelector);		
		$('#uitjesselector').show();
	}

	$('ul.bijpassend li').hover(function(e){
		var isEnter = (e.type == 'mouseenter');
		$(this).toggleClass('hover',isEnter);
	}).click(function(){
		location.href = $(this).find('a').attr('href');
	});

	$('#button_offerte_detail').click(function(){
		var uitje = parseInt($('body').attr('uitjeid'),10);
		addUitje(uitje);
	});

	$('#button_voegtoe_detail').click(function(){
		var uitje = parseInt($('body').attr('uitjeid'),10);
		addUitje(uitje);
	});

	var isOfferte = false;
	if ($('#formuitjes').length) {
		parseCookie(true);
		isOfferte = true;
	}

	$('ul.geselecteerd img.verwijder').click(removeSelection);

	$('#button_voeg-foto-toe').click(function(){
		var prevDiv = $(this).parent('div').prev('div');
		prevDiv.after(prevDiv.clone());
	});

    $('div.message').slideDown(400);
});

Shadowbox.init({
	language: 'nl',
	players: ['iframe']
});
