var fontUrl = 'index.php?eID=carrois_font';
var baseUrl = null;
var slider = null;


$.colorInput.defaults.cells = 10;
$.colorInput.defaults.cellSize = 20;
$.colorInput.defaults.hueWidth = 22;
$.colorInput.defaults.hideInput = true;
$.colorInput.defaults.hoverSelect = true;
$.colorInput.defaults.cancelOnClick = [];
$.colorInput.defaults.acceptCancelButtons = false;
$.colorInput.defaults.showLeft = false;
$.colorInput.defaults.noHash = true;

/**
 * @author dpool
 */
$(document).ready(function(){
	
	// set correct top-margin for content area depending on how large the navigation part is
	$('#bottom').css('margin-top', $('#top').height() + 'px');
	
	// set the baseUrl variable
	baseUrl = $('base').attr('href');
	
	// set the baseUrl as link for the logo
	$('#logolink').attr('href', baseUrl);
	
	//
	$('div.toggle-content').click(function(){
		var id = $(this).attr('id');
		var doitonce = false;
		$('.' + id).toggle('fast',function(){
			if (doitonce == false) {
				$('div#' + id).toggleClass('toggle-content-remove');
				doitonce = true;
			}
		});
	});
	
	// dynamic setting of column width if images are set to right or left position
	$('div.content-container-imgsmall div.content-img').each(function(){
		var width_img = $(this).children('img:first').width();
		var width_text = 800-width_img;
		$(this).width(width_img);
		$(this).parent().children('.content-text').width(width_text);

		//
		compensateLargeImageMargin(this);
	});
	

	$('#font-text-field').keyup(function(){
		reloadFonts();
	});
	$('#text-color-field').click(function(){
		reloadFonts();
	});
	$('#background-color-field').click(function(){
		reloadFonts();
	});
	
	$('#font-size-field').slider({
		animate: true,
		min: 10,
		max: 80,
		step: 1,
		value: 40,
		slide: function(){
			reloadFonts();
		},
		change: function(){
			reloadFonts();
		}
	});

	var inputA = $("#text-color-field").colorInput();
	inputA.change(function(){
		reloadFonts();
	});
	var inputB = $("#background-color-field").colorInput();
	inputB.change(function(){
		reloadFonts();
	});
	
	$(document).click(function(e) {
		if ($.colorInput.current) {
			$.colorInput.current.cancel();
		}
    });
	
	$('.show-shopping-options').click(function(){
		var id = $(this).attr('id');
		$('.' + id + '-trigger').toggle();
		$('.' + id).toggle();
	});
	
	$('.hide-shopping-options').click(function(){
		var id = $(this).attr('id');
		$('.' + id + '-trigger').toggle();
		$('.' + id).toggle();
	});
	
	$('.addtocart').click(function(){
		addToCart($(this).attr('id'));
	});
	
	$('.flashmovie').each(function(){
		var id = $(this).attr('id');
		swfobject.registerObject(id);
	});
	
	//
	$('.accordion .accordion-header').click(function() {
		var id = $(this).attr('id');
		$('#' + id + '-content').toggle('slow');
		$(this).toggleClass('accordion-header-act');
		if ($(this).hasClass('accordion-header-act')) {
			saveToCookie(id);
		}
		else {
			removeFromCookie(id);
		}
	}).next().hide();
	
	//
	openAccordion();
	
	$('.checkbox-trigger').click(function(){
		var id = $(this).attr('id');
		var value = 0;
		if ($(this).attr('checked') == true) {
			value = 1;
		}
		$('#' + id + '-hidden').val(value);
		console.log($('#' + id + '-hidden').val());
	});
	
	$('input.checkbox-trigger-disable').attr({'disabled': 'disabled'});
	
	initBasket();
});


function removeFromCookie (id) {
	var cookie = $.cookie('carrois-basket-cookie');
	if (cookie) {
		var newArray = new Array();
		var idArray = cookie.split('.');
		for (var i=0;i<idArray.length;i++) {
			if (idArray[i] != id) newArray.push(idArray[i]);
		}
		var cookie = newArray.join('.');
		$.cookie('carrois-basket-cookie', cookie, { expires: 100 });
	}
}


function saveToCookie (id) {
	var cookie = $.cookie('carrois-basket-cookie');
	if (cookie) {
		var idArray = cookie.split('.');
	}
	else {
		var idArray = new Array();
	}
	
	if($.inArray(id, idArray) == -1) {
		idArray.push(id);
		cookie = idArray.join('.');
		$.cookie('carrois-basket-cookie', cookie, { expires: 100 });
	}
}

function openAccordion () {
	var cookie = $.cookie('carrois-basket-cookie');
	if (cookie) {
		idArray = cookie.split('.');
		
		$('.accordion-header').each(function () {
			if ($.inArray($(this).attr('id'), idArray) > -1) {
				var id = $(this).attr('id');
				$('#' + id + '-content').toggle();
				$(this).toggleClass('accordion-header-act');
			}
		});
	}
}

function addToCart (id) {
	$.get(baseUrl + 'index.php?eID=carrois_basket&id=' + id, function(){
		initBasket();
	});
}

function initBasket () {
	$.get(baseUrl + 'index.php?eID=carrois_basket', function(data){
		if (data > 0) {
			$('#shopping-cart-count').html(' (' + data + ')');
			$('#shopping-cart-count').show();
			$('#shopping-cart').click(function(){
				showBasket();
			});
		}
		else {
			$('#shopping-cart-count').hide();
			$('#shopping-cart').click(function(){
				return false;
			});
		}
	});
}

function showBasket () {
	document.location = baseUrl + 'shop/basket.html';
}

function reloadFonts () {
	
	$('.flashmovie').each(function(){
		var id = $(this).attr('id');
		var obj = swfobject.getObjectById(id);
		
		var fontsize = $('#font-size-field').slider('value');
		var fonttext = $('#font-text-field').val();
		var fontcolor = $('#text-color-field').val();
		var backcolor = $('#background-color-field').val();
		var customObj = {
				newText: fonttext,
				newTextSize: fontsize,
				newTextcolor: fontcolor,
				newBgcolor: backcolor
		};
		obj.setTextField(customObj);

		var size = fontsize * 1;
		var new_height = size + 20 * 1;
		var new_offset = (new_height - 100) / 2;		
		$('div.font-swf').css({'top': new_offset});
		$('div.font-display').css({'height': new_height});
		
		$('.font-display').show();
	});
}

/**
 * 
 * @param el
 * @return
 */
function compensateLargeImageMargin (el) {
	var first = true;
	var first_width = 0;
	var width_img = $(el).children('img').each(function(){
		if (first == true) {
			first_width = $(this).width();
			first = false;
		}
		else if (first_width > 0) {
			var margin_left = first_width-800;
			$(this).css('margin-left', margin_left);
		}
	});
}