function moveToCart(id, name, price, num) {

	var productID = id;
	var productName = name;
	
	var productCartNumberTemplate1 = "Кол-во: <b>";
	var productCartNumberTemplate2 = "</b>";
	
	if ( !productsIDArray[productID] ) {
	
		if ( num ) {
			productsIDArray[productID] = parseInt(num);
		}
		else {
			productsIDArray[productID] = 1;
			updateCart(productID, "increase");
			cartExecute.getElementsByTagName("span")[1].innerHTML = (parseInt(cartExecute.getElementsByTagName("span")[1].innerHTML) + parseInt(price)) + " руб.";
		}
		
		productCartObject = document.createElement("div");
		productCartObject.appendChild(document.createTextNode(""));
		productCartObject.id = productID + "cart";
		productCartObject.className = "cartItem";
		productCartObject.innerHTML = "<a href='products.php?id=" + productID + "'>" + productName + "</a><br />";
		productCartObject.setAttribute("price", price);
		if ( cartObject.parentNode.className != "executeBlock" ) {
			productCartObject.onmouseover = function() {
				this.style.background = "#ba8989";
				if ( document.getElementById(productID) ) {
					if ( document.getElementById(productID).className == "itemBlock" )
						document.getElementById(productID).className = "itemBlock redBlock";
					else if ( document.getElementById(productID).className == "itemBlockHorizontal" )
						document.getElementById(productID).className = "itemBlockHorizontal redBlock";
				}
				else
					this.style.cursor = "default";
			}		
			productCartObject.onmouseout = function() {
				this.style.background = "#9c6464";
				if ( document.getElementById(productID) ) {
					if ( document.getElementById(productID).className == "itemBlock redBlock" )
						document.getElementById(productID).className = "itemBlock";
					else if ( document.getElementById(productID).className == "itemBlockHorizontal redBlock" )
						document.getElementById(productID).className = "itemBlockHorizontal";
				}
			}
		}
		
		productCartNumberObject = document.createElement("span");
		productCartNumberObject.appendChild(document.createTextNode(""));
		productCartNumberObject.id = productID + "number";
		productCartNumberObject.innerHTML = productCartNumberTemplate1 + productsIDArray[productID] + productCartNumberTemplate2;
		
		productCartIncreaseObject = document.createElement("span");
		productCartIncreaseObject.appendChild(document.createTextNode(""));
		productCartIncreaseObject.className = "cartIncrease";
		productCartIncreaseObject.innerHTML = "+";
		productCartIncreaseObject.onclick = function() {
			moveToCart(id, name, price);
		}
		productCartDecreaseObject = document.createElement("span");
		productCartDecreaseObject.appendChild(document.createTextNode(""));
		productCartDecreaseObject.className = "cartDecrease";
		productCartDecreaseObject.innerHTML = "-";
		productCartDecreaseObject.onclick = function() {
			if ( productsIDArray[productID] > 1 ) {
				productsIDArray[productID] -= 1;
				document.getElementById(productID + "number").innerHTML = productCartNumberTemplate1 + productsIDArray[productID] + productCartNumberTemplate2;
			}
			else {
				document.getElementById(productID + "cart").parentNode.removeChild(document.getElementById(productID + "cart"));
				if ( document.getElementById(productID) ) {
					if ( document.getElementById(productID).className == "itemBlock redBlock" )
						document.getElementById(productID).className = "itemBlock";
					else if ( document.getElementById(productID).className == "itemBlockHorizontal redBlock" )
						document.getElementById(productID).className = "itemBlockHorizontal";
				}
				delete productsIDArray[productID];
				if ( !cartObject.hasChildNodes() ) {
					cartObject.parentNode.style.display = "none";
					cartCaption.innerHTML = "Ваша корзина пуста";
					cartExecute.style.display = "none";
				}
			}
			cartExecute.getElementsByTagName("span")[1].innerHTML = (parseInt(cartExecute.getElementsByTagName("span")[1].innerHTML) - parseInt(price)) + " руб.";
			updateCart(productID, "decrease");
		}		
		
		productCartDeleteObject = document.createElement("span");
		productCartDeleteObject.appendChild(document.createTextNode(""));
		productCartDeleteObject.className = "cartDelete";
		productCartDeleteObject.innerHTML = "x";
		productCartDeleteObject.onclick = function() {
			cartExecute.getElementsByTagName("span")[1].innerHTML = (parseInt(cartExecute.getElementsByTagName("span")[1].innerHTML) - parseInt(price)*productsIDArray[productID]) + " руб.";
			document.getElementById(productID + "cart").parentNode.removeChild(document.getElementById(productID + "cart"));
			if ( document.getElementById(productID) ) {
				if ( document.getElementById(productID).className == "itemBlock redBlock" )
					document.getElementById(productID).className = "itemBlock";
				else if ( document.getElementById(productID).className == "itemBlockHorizontal redBlock" )
					document.getElementById(productID).className = "itemBlockHorizontal";
			}
			delete productsIDArray[productID];
			if ( !cartObject.hasChildNodes() ) {
				cartObject.parentNode.style.display = "none";
				cartCaption.innerHTML = "Ваша корзина пуста";
				cartExecute.style.display = "none";
				if ( executeForm != null ) executeForm.style.display = "none";
			}
			updateCart(productID, "delete");
		}	
		
		productCartObject.appendChild(productCartNumberObject);
		productCartObject.appendChild(productCartIncreaseObject);
		productCartObject.appendChild(productCartDecreaseObject);
		productCartObject.appendChild(productCartDeleteObject);
		
		cartObject.appendChild(productCartObject);
		
	}
	else {
		productsIDArray[productID] += 1;
		updateCart(productID, "increase"); 
		document.getElementById(productID + "number").innerHTML = productCartNumberTemplate1 + productsIDArray[productID] + productCartNumberTemplate2;
		if ( !num ) {
			cartExecute.getElementsByTagName("span")[1].innerHTML = (parseInt(cartExecute.getElementsByTagName("span")[1].innerHTML) + parseInt(price)) + " руб.";
		}
	}
	
	if ( num ) {
		cartExecute.getElementsByTagName("span")[1].innerHTML = (parseInt(cartExecute.getElementsByTagName("span")[1].innerHTML) + parseInt(price)*num) + " руб.";
	}
	
	if ( cartObject.hasChildNodes() ) {
		cartObject.parentNode.style.display = "block";
		cartCaption.innerHTML = "Ваша корзина";
		cartExecute.style.display = "block";
	}
}

function updateCart(productId, insertType) {
	document.getElementById("cart_ajax_loader").style.display = "block";
	$.ajax({
		type: "GET",
		url: "insert_product.php",  
		cache: false,
		data: "product_id="+productId+"&insert_type="+insertType,
		success: function(){
			document.getElementById("cart_ajax_loader").style.display = "none";
		}
	});
}