var c_module_2_cart =
{
	o:
	{
		url: ajax_object._global.url + 'ajax/modules/2/index.php',
		timeout: 10000,
		timeout_callback: '',
		timeout_callback_default: 'alert (\'Истекло время ожидания ответа от сервера. Пожалуйста, попробуйте снова.\'); loading_status (\'hide\');',
		name: 'c_module_2_cart.o'
	},
	
	add: function (id)
	{
		loading_status ('show');
		o = c_module_2_cart.o;
		o.callback = 'obj.value';
		o.timeout_callback = o.timeout_callback_default;
		o.param =
			'ajax_category=cart' +
			'&action=add' +
			'&id=' + id;
		ajax_object.http_request (o);
	},
	
	add_row: function (id, name, amount, price)
	{
		var new_row = document.createElement ('tr');
		var clone_row = document.getElementById ('cart_row');
		var clone_tds = clone_row.getElementsByTagName ('td');
		for (var i = 0; i < 4; i++)
		{
			var new_td = document.createElement ('td');
			new_td.innerHTML = clone_tds[i].innerHTML;
			new_td.className = 'c' + (i + 1);
			new_row.appendChild (new_td);
		}
		var c_table = document.getElementById ('cart_table');
		new_row.id = 'item_' + id;
		var existing_rows = c_table.getElementsByTagName('tr').length;
		new_row.getElementsByTagName ('span')[0].innerHTML = existing_rows - 1;
		var inputs = new_row.getElementsByTagName ('input');
		inputs[0].id = 'price_' + id;
		inputs[0].value = price;
		inputs[1].id = 'amount_' + id;
		inputs[1].value = amount;
		inputs[1].name = 'item[' + id + ']';
		new_row.getElementsByTagName ('td')[1].innerHTML = name;
		c_table.getElementsByTagName ('tbody')[0].appendChild (new_row);
		this.recount ();
	},
	
	change: function (id, amount)
	{
		id = id.split ('_')[1];
		loading_status ('show');
		o = c_module_2_cart.o;
		o.callback = 'obj.value';
		o.timeout_callback = o.timeout_callback_default;
		o.param =
			'ajax_category=cart' +
			'&action=change' +
			'&id=' + id +
			'&amount=' + amount;
		ajax_object.http_request (o);
	},
	
	change_row: function (id, amount, price)
	{
		var row = document.getElementById ('item_' + id);
		if (row)
		{
			var inputs = row.getElementsByTagName ('input');
			inputs[0].value = price;
			inputs[1].value = amount;
		}
		this.recount ();
	},
	
	remove: function (id)
	{
		id = id.split ('_')[1];
		
		loading_status ('show');
		o = c_module_2_cart.o;
		o.callback = 'obj.value';
		o.timeout_callback = o.timeout_callback_default;
		o.param =
			'ajax_category=cart' +
			'&action=remove' +
			'&id=' + id;
		ajax_object.http_request (o);
	},
	
	remove_row: function (id)
	{
		var row = document.getElementById ('item_' + id);
		row.parentNode.removeChild (row);
		this.recount ();
	},
	
	recount: function ()
	{
		var c_table = document.getElementById ('cart_table');
		var c_main_body = document.getElementById ('cart_main_body');
		var c_announce = document.getElementById ('cart_announce');
		var c_rows = c_table.getElementsByTagName('tr');
		var existing_rows = c_rows.length;
		if (existing_rows > 2)
		{
			var total_price = 0;
			var usd_kgs_rate = document.getElementById ('usd_rate').value;
			for (var i = 0; i < existing_rows; i++)
			{
				if (i == 0 || i == 1) continue;
				var inputs = c_rows[i].getElementsByTagName ('input');
				if (i%2)
					c_rows[i].className = 'cell_3';
				else
					c_rows[i].className = 'cell_2';
				total_price += inputs[0].value * inputs[1].value;
				c_rows[i].getElementsByTagName ('span')[0].innerHTML = i - 1;
			}
			var total_price_usd = total_price / usd_kgs_rate;
			document.getElementById ('cart_price').innerHTML = total_price.toFixed (2);
			document.getElementById ('cart_price_usd').innerHTML = total_price_usd.toFixed (2);
			c_main_body.style.display = 'block';
			c_announce.style.display = 'none';
		}
		else
		{
			c_main_body.style.display = 'none';
			c_announce.style.display = 'block';
		}
		loading_status ('hide');
	}
}

function loading_status (action)
{
	if (action == 'show')
	{
		$('design_overflow_loading_bg').className = 'design_overflow_loading_bg_show';
		ajax_object.style.set_style ('design_overflow_loading_bg', 'opacity', 60);
		$('design_overflow_loading_status').className = 'design_overflow_loading_status_show';
	}
	else
	{
		$('design_overflow_loading_bg').className = 'design_overflow_loading_bg_hide';
		$('design_overflow_loading_status').className = 'design_overflow_loading_status_hide';
	}
}
