/*
General jQuery functions
Copyright (c) 2009 Ylab, www.ylab.nl
Author: Yohan Creemers
*/
function SearchToArray(){
	var q = this.search.substring(1);
	var pairs = q.split('&');
	var values = [];
	jQuery.each(pairs, function() {
		var set = this.split('=');
		if(set.length == 2){
			values[set[0]] = set[1];
		}
	});
	this.values = values;
}

function toTwoDec(number){
	if (isNaN(number)){return "-,--";}
	number = (Math.round(100 * number));
	if (number < 10){number = "0,0" + number;}
	else if (number < 100){number = "0," + number;}
	else {
		number = number.toString()
		var n = number.length;
		number = number.slice(0,n-2) + "," + number.slice(n-2,n);
	}
	return number;
}

function toEuro(number){
	number = toTwoDec(number);
	return number + '&nbsp;Euro';
	return "&euro;&nbsp;" + number;
}

function displayCounter(num){
	return num + ' beeld' + (num==1 ? '' : 'en');
}

function calculateOrderForm(){
	var numA = $('.thumbs a.priceA').size();
	var numB = $('.thumbs a.priceB').size();
	var numC = $('.thumbs a.priceC').size();
	var totalExcl = (numA * prices.A) + (numB * prices.B) + (numC * prices.C);
	$('.countS').html(displayCounter(numA + numB + numC));
	$('#countA').html(displayCounter(numA) + ' &agrave; ' + prices.A + ' Euro');
	$('#countB').html(displayCounter(numB) + ' &agrave; ' + prices.B + ' Euro');
	$('#countC').html(displayCounter(numC) + ' &agrave; ' + prices.C + ' Euro');
	$('#priceA').html(toEuro(numA * prices.A));
	$('#priceB').html(toEuro(numB * prices.B));
	$('#priceC').html(toEuro(numC * prices.C));
	$('#priceS').html(toEuro(totalExcl));
	$('#priceV').html(toEuro(totalExcl * btw / 100));
	$('#priceT').html(toEuro(totalExcl * (1 + btw / 100)));
}

function prepareOrderForm(){
	if($('#orderform').size() == 0){
		//no form
		return;
	}
	$('#frmOrder').hide();
	$('#countV').html(btw + '% BTW');
	calculateOrderForm();
	$('#titleOrder').addClass('navigatie').wrapInner('<a></a>');
	$('#titleOrder a').addClass('dicht').toggle(function(){
		$(this).removeClass('dicht').addClass('open');
		$('#frmOrder').slideDown();
	},function(){
		$(this).removeClass('open').addClass('dicht');
		$('#frmOrder').hide();
	});
}

jQuery(document).ready(function($){
	var i;
	var strFavoritesAdd = 'voeg toe aan favorieten';
	var strFavoritesDel = 'verwijder uit favorieten';

	$('.menusub a').each(function(){
		if(this.href == document.location.href){
			$(this).addClass('menusubactief');
		}
	});

	//dropdown categories
	$('#categorieen').hover(function(event){
		$('ul', this).show();
	},function(event){
		$('ul', this).hide();
	});
	$('#categorieen ul').css({position:'absolute',right:'2px',top:'20px'}).parent().addClass('dropdown');

	$('.thumb, #categorieen a').hover(function(event){
		$(this).addClass('hover');
	},function(event){
		$(this).removeClass('hover');
	});

	//ajaxify favorites
	$('.fav').click(function(event){
		event.preventDefault();
		$this = $(this);
		jQuery.ajax({type: 'GET', url: this.href, data: {ajax:1}, success: function(id){
			//id is id of record in ypg_favorites
			$this.toggleClass('fav-add');
			$this.toggleClass('fav-del');
			if($this.hasClass('fav-del')){
				$this.html(strFavoritesDel);
			}else{
				$this.html(strFavoritesAdd);
			}}
		});
	});

	$('.fav-no-order').click(function(event){
		event.preventDefault();
		$this = $(this);
		jQuery.ajax({type: 'GET', url: this.href, data: {ajax:1}, success: function(id){
			$this.parent().html('');
			calculateOrderForm();
		}});
	});

	//delete photo
	$('.photo-del').click(function(){
		if(confirm(this.title + ' wordt van de server verwijderd.')){
			this.href += '&ref=' + encodeURI($('#aBack')[0].href);
			return true;
		}else{
			return false;
		}
	});

	$('.showonmap').click(function(event){
		event.preventDefault();
		SearchToArray.call(this);
		var latlon = this.values['ll'].split(',');
		goAndShow(latlon[0], latlon[1]);
	});

	//prevent context menu on images
	$('img').bind('contextmenu', function(){return false;});
	$('img').bind('mousemove', function(){return false;});

	//add tooltips
	if(jQuery.isFunction(jQuery.fn.tooltip)){
		$('.thumb a[title]').tooltip({bodyHandler: function(event){
			var lines = this.tooltipText.split('~');
			for(i=0; i<3; i++){
				if(!lines[i]){
					lines[i] = '';
				}
			}
			return $('<div id="tiptitle">' + lines[0] + '</div><div id="tipdescription">' + lines[1] + '</div><div id="tiptime">' + lines[2] + '</div>');
		}, showURL:false, delay:1000});
	}

	prepareOrderForm();
});
