function number_format(number, decimals, decimal_seperator, thousands_seperator)
{
	var internal_number = number.replace(thousands_seperator, "");
	internal_number = internal_number.replace(decimal_seperator, ".");
	var numberFloat = parseFloat(internal_number);
	numberFloat = numberFloat.toFixed(decimals);

	if(decimals>0)
	{
		var dotIndex = numberFloat.indexOf(".");
		if(!dotIndex)
		{
			numberFloat = numberFloat+".";
			dotIndex = numberFloat.indexOf(".");
		}

		var presentDecimals = numberFloat.length-dotIndex;

		for(i=presentDecimals;i<=decimals;i++)
		{
			numberFloat = numberFloat+"0";
		}
		var formattedNumber = decimal_seperator+numberFloat.substring(dotIndex+1);
	}else
	{

		var formattedNumber = "";
		var dotIndex = numberFloat.length;
	}




	var counter=0;
	for(i=dotIndex-1;i>=0;i--)
	{
		if(counter==3 && numberFloat.substr(i,1)!='-')
		{
			formattedNumber= thousands_seperator+formattedNumber;
			counter=0;
		}
		formattedNumber = numberFloat.substr(i,1)+formattedNumber;
		counter++;

	}
	if(formattedNumber=='NaN')
	{
		formattedNumber = number_format('0', decimals, decimal_seperator, thousands_seperator);
	}
	return formattedNumber;
}

function toggleSearchOptions(a)
{
	$searchOptions = $('.searchOptions');
	if ($searchOptions.is(':visible')) {
		$searchOptions.slideUp();
		$(a).parents('div.moreSearchOptions').find('.displaySearchOptions').show();
		$(a).parents('div.moreSearchOptions').find('.hideSearchOptions').hide();
	} else {
		$searchOptions.slideDown();
		$(a).parents('div.moreSearchOptions').find('.displaySearchOptions').hide();
		$(a).parents('div.moreSearchOptions').find('.hideSearchOptions').show();
	}
}
function toggleExpandedNav(className) {
	$expandedNav = $('div.expandedNav');
	$opened = $expandedNav.find('.opened');
	if ($opened.length) {
		$opened.slideUp('normal', function() {
			$(this).removeClass('opened');
			$expandedNav.find('div.shopCategory.'+className).slideDown().addClass('opened');
		});
	} else {
		$expandedNav.find('div.shopCategory.'+className).slideDown().addClass('opened');
	}
}

function handleFilters() {
	$('div.filters li :checkbox').click(function() {
		$checkbox = $(this);
		$li = $checkbox.parents('li');

		if ($checkbox.is(':checked')) {
			$li.addClass('selected');
		} else {
			$li.removeClass('selected');
		}
		this.form.submit();
	});
}

jQuery(function() {
	var exampleCallback = function () { return $(this).attr('title'); };
	$('div.searchBox :text').example(exampleCallback);
	$('div.loginBox :text').example(exampleCallback);
	$('div.newsletterBox :text').example(exampleCallback);
	
	handleFilters();
});


jQuery(function() {
	// Convert font to imgs
	var convertToImg = function() {
		$o = jQuery(this);
		
		var font = $o.attr('millesimesFont');
		font = font ? font : 'undefined';
		var color = $o.css('color');
		if (/\((\d+),\s*(\d+),\s*(\d+)\)/.test(color)) {
			color = color.match(/\((\d+),\s*(\d+),\s*(\d+)\)/);
		} else if (/^#[0-9a-f]{6}$/i.test(color)) {
		} else {
		}
		switch (typeof color) {
			case 'object':
				if (color != null) {
					color.shift();
					color = color.join(',');
				} else {
					color = '0,0,0';
				}
				break;
			
			case 'string':
				var colorMaps = {black: '0,0,0'};
				color = colorMaps[color] ? colorMaps[color] : color;
				break;
			
			default:
				color = '0,0,0';
				break;
		}
		var size = null;
		var lines = $o.html().split(/<br\s*\/?>/i);
		if (jQuery.browser.msie) {
			size = parseFloat($o.height() / (lines.length ? lines.length : 1)) * 0.75;
		} else {
			size = parseFloat($o.css('fontSize')) * 0.9;
		}
		
		jQuery.each(lines, function(k, line) { lines[k] = jQuery.trim(line); });
		var text = lines.join("\n");
		var url = window.MILLESIMES.path.img + 'text.php?size='+encodeURIComponent(size)+'&color='+encodeURIComponent(color)+'&text='+encodeURIComponent(text)+'&font='+encodeURIComponent(font);

		jQuery(this).html('<img src="'+url+'" />');
	};
	jQuery('div.body h3 span').map(convertToImg);
	jQuery('div.body h4 span').map(convertToImg);
});