var _at = '@';

function add2cart(id) {
	var cart = $.cookie("cart");
	var count = 1;
	var pattern = new RegExp("\\b"+id+":(\\d+)", "");
	if (cart && cart.match(pattern)) {
		count = parseInt(RegExp.$1) + 1;
		cart = cart.replace(pattern, id+":"+count);
	}
	else {
		cart = cart ? cart + ","+id+":1" : id+":1";
	};
	$.cookie("cart", cart, {
		path: '/',
		expires: DateThroughMounth()
	});
	$('#price'+id+' > a').attr('href', '/shopcart/');
	$('#price'+id+' > a').text('в корзине '+count+' шт');
	$('#price'+id).attr('className', 'cart allready');
	$.ajax({
		url: '/cartajax/',
	        dataType: 'html',
	        success: function(response) {
	    		$('#cart').html(response);
		}
	});
}

function cartDelete(id) {
	if (!confirm("Вы действительно хотите удалить позицию из корзины?")) {
		return;
	}
	var cart = $.cookie("cart");
	var pattern = new RegExp("\\b"+id+":(\\d+)", "");
	cart = cart.replace(pattern, '');
	cart = cart.replace(/,,+/, ',');
	if (cart == ',') {
		cart = '';
	}; 
	$.cookie("cart", cart, {
		path: '/',
		expires: DateThroughMounth(),
	});

	if (!cart) {
		location.reload();
		return;
	};
	$('#cart-row'+id).remove();
	summaryCalc();
	
}

function DateThroughMounth() {
	var date = new Date();
	date.setTime(date.getTime() + (30*24*3600*1000));
	return date;
}

function saveCart(el) {
	if (!el) {
	        return;
	};
	if (!el.value || !el.name) {
		return;
	};
	$.cookie(el.name, el.value, {path: '/', expires: DateThroughMounth()});
}

function splitters(text) {
	if (text.match(/(\d\d\d\d+)/)) {
		var count = RegExp.$1;
		var count_text = '';
		while (count >= 1) {
			count_text = (count % 1000)+' '+count_text;
			if (count >= 1000) {
			if (count%1000 < 100) {
				count_text = '0'+count_text;
			}
			if (count%1000 < 10) {
				count_text = '0'+count_text;
			}}
			count = parseInt(count/1000);
		}
		return text.replace(/\d\d\d\d+/, count_text);
	}
	return text;
}

function countChange(el) {
	id = el.name;	
	if (!id.match(/(\d+)/)) {
		return;
	}
	id = parseInt(RegExp.$1);
	var count = parseInt(el.value);
	var price = parseInt($('#price-'+id).text().replace(/\D/,''));
	$('#sum-'+id).text(splitters(count*price + "руб."));
	summaryCalc();
	return true;
}

function summaryCalc() {
	var f = document.forms['cart'].elements;
	var sum = 0;
	for (var i=0; i<f.length; i++) {
		if (f[i].name.match(/count-(\d+)/)) {
			var id = parseInt(RegExp.$1);
			sum += parseInt($('#sum-'+id).text().replace(/\D+/g,''));
		}
	}
	$('#summary').text(splitters(sum+'руб.'));
	calcDelivery();
	$.ajax({
		url: '/cartajax/',
	        dataType: 'html',
	        success: function(response) {
	    		$('#cart').html(response);
		}
	});
}

function calcDelivery() {
	$('#delivery-price').text(parseInt($('#summary').text().replace(/\D+/g,'')) > 20000 ? "бесплатно" : "800 руб.");
	$('#summary-delivery').text(parseInt($('#summary').text().replace(/\D+/g,'')) > 20000 ? $('#summary').text() : splitters(((parseInt($('#summary').text().replace(/\D+/g, ''))+800)) + "руб."));
}

function checkForm() {
	var f = document.forms['cart'];
	if (!f.cart_name.value.match(/[a-zA-Zа-яА-Я]/)) {
		alert('Пожалуйста, заполните поле Ф.И.О.');
		return false;
	}
	if (!f.cart_phone.value.phone(/\d/)) {
		alert('Пожалуйста, заполните поле Телефон');
		return false;
	}
	return false;
}
