var cart_url;
var lang;

var translations = new Array();

$(document).ready(function(){
	
	lang = $('html').attr('lang');
	cart_url = '/ajax/cart/?r=';

});

function add_to_cart(product_id)
{
	if(!product_id)
	{
		display_message('error_has_occured', 1);
	}
	
	var message;
	var option_a;
	var option_b;
	var amount = 1;
	
	if($('#amount_' + product_id).attr('id'))
	{
		amount = $('#amount_' + product_id).val();
	}
	
	if($('#option_a_' + product_id).attr('id'))
	{
		option_a = $('#option_a_' + product_id).val();
		
		if(option_a == 0)
		{
			display_message('select_option_a', 1, 'add_to_cart_message');
			
			return;
		}
	}
	
	if($('#option_b_' + product_id).attr('id'))
	{
		option_b = $('#option_b_' + product_id).val();
		
		if(option_b == 0)
		{
			display_message('select_option_b', 1, 'add_to_cart_message');
			
			return;
		}
	}
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'add_to_cart', 'product_id' : product_id, 'amount' : amount, 'option_a_id' : option_a, 'option_b_id' : option_b},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		draw_header_cart();
	  	
	  		display_message('item_added_to_cart', 1, 'add_to_cart_message', 2000);
	  	
		} else {
			
			display_message('error_has_occured', 1);
		}
	  }
	});
}

function change_amount(product_id, amount, option_a_id, option_b_id)
{
	if(!product_id)
	{
		display_message('error_has_occured', 1);
	}
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'change_amount', 'product_id' : product_id, 'amount' : amount, 'option_a_id' : option_a_id, 'option_b_id' : option_b_id},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		draw_header_cart();
	  		draw_cart_content();
	  	
		} else {
			
			display_message('error_has_occured', 1);
		}
	  }
	});	
}

function remove_from_cart(product_id, option_a_id, option_b_id)
{
	if(!product_id)
	{
		display_message('error_has_occured', 1);
	}
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'remove_from_cart', 'product_id' : product_id, 'option_a_id' : option_a_id, 'option_b_id' : option_b_id},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		draw_header_cart();
	  		draw_cart_content();
	  	
		} else {
			
			display_message('error_has_occured', 1);
		}
	  }
	});
}

function empty_cart(message)
{
	var c = confirm(message);
	
	if(!c)
	{
		return;
	}
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'empty_cart'},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		draw_header_cart();
			draw_cart_content(); 	
		} 
	  }
	});
}

function apply_bonuscode()
{
	var bonuscode = $('#bonuscode').val();
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'apply_bonuscode', 'bonuscode' : bonuscode},
	  dataType: "html",
	  success: function(result)
	  {
	  	
	  	draw_header_cart();
		draw_cart_content();
			
	  	if(bonuscode && !result)
	  	{
	  		display_message('bonuscode_not_valid', 1);			
		}	 
	  }
	});
}

function draw_header_cart()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'draw_header_cart'},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		$('#header_cart').html(result);
		} 
	  }
	});
}

function draw_cart_content()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'draw_cart'},
	  dataType: "html",
	  success: function(result)
	  {
	  	if(result)
	  	{
	  		$('#cart').html(result);	
	  	} 
	  }
	});
}

function update_transport()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'update_transport', 'transport_id' : $('#transport_id').val()},
	  dataType: "html",
	  success: function(result)
	  {
	  	$('#transport_extra').html('');	  	 
	  	$('#transport_extra').hide('fast');
		$('#transport_extra').show('fast');	
		$('#transport_extra').html(result);	  
		
		update_transport_price();
		update_total_price();
		hide_show_fields();	 
	  }
	});
}

function hide_show_fields()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'get_transport_group', 'transport_id' : $('#transport_id').val()},
	  dataType: "html",
	  success: function(result)
	  {
		if(result == 'smartpost' || result == 'ise jarele')
		{
			$('#cart .optional').css({display : 'none'});
		
		} else {
		
			$('#cart .optional').css({display : 'table-row'});
		}
	  }
	});
}

function update_total_price()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'update_total_price', 'transport_id' : $('#transport_id').val()},
	  dataType: "html",
	  success: function(result)
	  {
	  	$('#total_price').html(result);	  	 
	  }
	});
}

function update_transport_price()
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'update_transport_price', 'transport_id' : $('#transport_id').val()},
	  dataType: "html",
	  success: function(result)
	  {
	  	$('#transport_price').html(result);	  	 
	  }
	});
}

function update_option_b_holder(product_id, option_a_id)
{
	if(!$('#option_b_holder').attr('id'))
	{
		return;	
	}
	
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'draw_options_b', 'product_id' : product_id, 'option_a_id' : option_a_id},
	  dataType: "html",
	  success: function(result)
	  {
	  	$('#option_b_holder').html(result);	  	 
	  }
	});
}

function send_and_close_order(invoice_id)
{
	$.ajax({
	  type: 'POST',
	  url: cart_url + Math.random() ,
	  data: {'task' : 'send_and_close_order', 'invoice_id' : invoice_id},
	  dataType: "html",
	  success: function(result)
	  {
	  		 
	  }
	});
}

function display_message(message, ajax, target_id, timeout)
{
	if(!message)
	{
		return;
	}
	
	if(ajax)
	{
		$.ajax({
			type: 'POST',
			url: cart_url + Math.random() ,
			data: {'task' : 'translate', 'key' : message, 'lang' : lang},
			dataType: "html",
			success: function(result)
			{
				if(target_id != '' && $('#'+target_id).attr('id'))
				{
					$('#'+target_id).html(result);
					
					if(timeout)
					{
						setTimeout(function(){ $('#'+target_id).html('') }, timeout);
					}
				
				} else {
					
					alert(result);
				} 	 
			}
		});
	
	} else {
		
		if(target_id != '' && $('#'+target_id).attr('id'))
		{
			$('#'+target_id).html(message);
			
			if(timeout)
			{
				setTimeout(function(){ $('#'+target_id).html('') }, timeout);
			}
		
		} else {
			
			alert(message);
		}
	}	
}

