/**
 * @author exmedia.sk
 */
function num_items(basket){
	var num = 0;
	for (var i=0; i<basket.length; i++){
		if (basket[i] !== undefined && basket[i] !== null)
			num++;
	}
	return num;
}

function get_sign_data(){
	var sign_id = $("#texts").val();

    $.getJSON("/global/sign_data.php?sign_id="+sign_id,
            function(data)
            {
                    var options = '';

					// Size
                    $('#size options').remove();
                    options = '';
                    for (var i=0; i<data['size'].length; i++){
                        options += '<option value="' +
                                i + '">' +
                                data['size'][i] +
                                '<\/option>';
                    }
                    $("#size").html(options);
                    $("#size option[value='0']").attr('selected', 'selected');

					// Material
                    $('#material options').remove();
                    options = '';
                    for (var i=0; i<data['material'].length; i++){
                        options += '<option value="' +
                                i + '">' +
                                data['material'][i] +
                                '<\/option>';
                    }
                    $("#material").html(options);
                    $("#material option[value='0']").attr('selected', 'selected');

					// Direction
					if (data['direction'] !== undefined)
					{
	                    $('#direction options').remove();
	                    options = '';
	                    for (var i=0; i<data['direction'].length; i++){
	                        options += '<option value="' +
	                                i + '">' +
	                                data['direction'][i] +
	                                '<\/option>';
	                    }
	                    $("#direction").html(options);
	                    $("#direction option[value='0']").attr('selected', 'selected');
					}
            }
    ); // end getJSON
}

function add_to_basket(serialized){
	var new_item = $.evalJSON(serialized);
	var arr = new Array(new_item['code'],new_item['number'],new_item['size'],new_item['material'],new_item['direction']);
	
	var basket = $.cookie('basket');
	if (basket){
		basket = $.evalJSON(basket);
	}
	else
		basket = new Array();

	basket.push(arr);
	
	$.cookie('basket', $.toJSON(basket));

	update_basket_info();
}

function clear_basket(){
	$.cookie('basket', null);
	update_page();
}

function is_basket_empty(){
	var basket = $.cookie('basket');
	if (basket)
		return false;
	
	return true;
}

function update_basket_info(){
	var basket = $.cookie('basket');
	if (basket){
		basket = $.evalJSON(basket);
		
		var num = num_items(basket);
		$('#basket > span').html(num);
		
		if (num == 0)
			$.cookie('basket', null);
	}
	
	if ( ! basket || num_items(basket) == 0)
		$('#basket').slideUp('normal');
	else
		$('#basket').slideDown('normal').show(function(){
			$(this).show(); 
		});
}

function update_page(){
	update_basket_info();
}

$(document).ready(function(){
	$('div.addbox > a').click(function(){
		var basket = new Object;
		var error_input = false;
		var value = $('input.number').val();
		if (value != '')
		{
			number = parseInt(value);
			if (number)
			{
				basket['code'] = $('#texts').val();
				basket['number'] = number;
				basket['size'] = $('#size').val();
				basket['material'] = $('#material').val();
				basket['direction'] = $('#direction').val();
			}
			else
			{
				alert("'" + value + "' nie je číslo");
				$('input.number').focus();
				$('input.number').select();
				error_input = true;
				return false;
			}
		}
		else
		{
			alert('Zadajte prosím počet kusov');
			$('input.number').focus();
			$('input.number').select();
			error_input = true;
			return false;
		}
		
		if ( ! error_input)
		{
			var serialized = $.toJSON(basket);
			add_to_basket(serialized);
		}
	});
	
	$('a.clear-basket').click(clear_basket);
	
	$('#texts').change(get_sign_data);
	
	$('div.showlistbox > a').click(function(){
		$('table.sign-code-list').toggle('slow', function(){
			if ($(this).is(':visible'))
				$('div.showlistbox > a').html('Skryť zoznam doplnkových textov');
			else
				$('div.showlistbox > a').html('Zobraziť zoznam doplnkových textov');
		});
	});
	
	// Prevent sliding up/down after each refresh
	if ( ! is_basket_empty())
		$('#basket').show();

	update_page();
});
