/**
 * Log functie voor cross-browser logging
 */
window.log = function(){
	log.history = log.history || [];
	log.history.push(arguments);
	if(this.console){
		console.log( Array.prototype.slice.call(arguments) );
	}
};


var num = {

	parseInt: function( integer, radix )
	{
		var number = parseInt(integer, radix);
		return isNaN(number) ? 0 : number;
	},

	parseFloat: function( integer )
	{
		var number = parseFloat(integer);
		return isNaN(number) ? 0.00 : number;
	},

	money: function(waarde, euro)
	{
		var str;

		if (euro == true || euro == undefined) {
			str = '&euro; ';
		}

		return str + waarde.toFixed(2).toString().replace('.',',');
	}
}

/**
 * Popup functies
 */
var popup = {
	
	pdf: function(url)
	{
		$.fancybox({
			href: url + '#zoom=100&navpanes=0&statusbar=0&messages=0',
			type: 'iframe',
			centerOnScroll: true,
			padding: 5,
			width: '90%',
			height: '95%'
		});
	},

	aanverwante_artikelen: function(id, aantal)
	{
		if ( ! aantal) {
			aantal = 0;
		}

		$.fancybox({
			href: KJ.baseurl + 'shop/aanverwant/' + id + '?aantal=' + aantal,
			type: 'iframe',
			modal: true,
			centerOnScroll: true,
			padding: 1,
			width: 960,
			height: 510
		});

		$.fancybox.showActivity();
	}
}

/**
 * Kablau & Joustra jQuery Plugins
 */
$(function(){
	(function($) {
		/**
		 * Bind een input aantal, met nette plus & min knoppen
		 */
		$.fn.aantal_control = function(options) {

			var defaults = {
				after_change: function(aantal) {
					return aantal;
				}
			};

			options = $.extend(defaults, options);

			var selector = $(this);

			// Product
			$('img.plus', selector).click(function() {
				$(this).siblings('input').val(function(i, val){
					return options.after_change(  num.parseInt( val ) + 1 );
				}).trigger('change');
			});

			$('img.minus', selector).click(function() {
				$(this).siblings('input').val(function(i, val){
					val = num.parseInt( val ) - 1;

					val = val > 0 ? val : 0;
					return options.after_change(val);
				}).trigger('change');
			});

			$('input', selector).bind({
				'blur keyup': function()
				{
					$(this).val(function(i, val){
						val = num.parseInt( val );

						val = Math.abs(val);

						return options.after_change(val);
					});
				},

				focus: function()
				{
					// aLs het readonly is niks uitvoeren
					if ($(this).attr('readonly'))
						return;

					// Selecteer de tekst in de
					$(this).select();

					$(this).val(function(i, val){
						val = num.parseInt( val );

						return options.after_change( val == 0 ? '' : val );
					});
				}
			})
			// Autoaanvullen opbokken
			.attr({
				autocomplete: 'off',
				maxlength: 6
			});

			return this;
		};

		var cache = [];
		// Arguments are image paths relative to the current page.
		$.preLoadImages = function() {
			var args_len = arguments.length;
			for (var i = args_len; i--;) {
				var cacheImage = document.createElement('img');
				cacheImage.src = arguments[i];
				cache.push(cacheImage);
			}
		}

		$.fn.equalHeight = function() {

			var maxHeight = 0;

			this.each(function() {
				if ($(this).height() > maxHeight)
				{
					maxHeight = $(this).height();
				}
			});

			this.css('minHeight', maxHeight);
		}
	})(jQuery);
});

$(function(){

	$('.aantal_input').aantal_control();

	$('input[placeholder]').each(function() {
		var placeholder = $(this).attr('placeholder');

		$(this).val(placeholder);

		$(this).bind({
			'focus': function()
			{
				if ($(this).val() == placeholder)
				{
					$(this).val('').removeClass('placeholder');
				}
			},
			'blur': function()
			{
				if ($.trim($(this).val()) == '')
				{
					$(this).val(placeholder).addClass('placeholder');
				}
			}
		});
	});

	$('#menu li').hover(function() {
		$('ul:eq(0)', this).show();
	}, function() {
		$('ul:eq(0)', this).hide();
	});
	
	
	// PDF
	$('a.pdf').click(function(){
		popup.pdf( $(this).attr('href') );
		
		return false;
	});
});
