var AjaxObject = CreateAjaxObject();

var GoodItems = new Array();
var Dostavka = 0;

function ClearBasket()
{
  AjaxObject.Execute("/ajax/clear_basket.php", "", ClearBasketRequest, false, "");
}

function ClearBasketRequest(XML)
{
  if(XML.getElementsByTagName('result').item(0).firstChild.data == "0")
  {
    document.getElementById('basket_goods_price').innerHTML = "0";
    document.getElementById('basket_goods_count').innerHTML = "0";
    document.getElementById('create_order_span').style.display = "none";
    document.getElementById('clear_order_span').style.display = "none";	
    if(document.getElementById('order_selector'))
      document.getElementById('order_selector').src = "/files/drop_0.jpg";
    alert("Корзина очищена");
  }
}

function AddToBasket(GoodID)
{
  var Query = "?good_id=" + GoodID.toString();
  AjaxObject.Execute("/ajax/add_to_basket.php", Query, AddGoodRequest, false, "");
}

function AddGoodRequest(XML)
{
  if(XML.getElementsByTagName('result').item(0).firstChild.data == "0")
  {
	var GoodsCount = XML.getElementsByTagName('goods_count').item(0).firstChild.data;
	var GoodsPrice = XML.getElementsByTagName('goods_price').item(0).firstChild.data;
	/*var BasketDiv = document.getElementById('basket_div');
	BasketDiv.innerHTML = "В корзине: <b>" + GoodsCount + "</b> товар(ов)<br />Сумма: <b>" + GoodsPrice + "</b> р. ";
	if(BasketDiv.getElementsByTagName('a').length == 0)
	{
	  var Href = document.createElement('a');
	  Href.href = "/order.html";
	  Href.className = "right-info";
	  Href.innerHTML = "Оформить заказ";
	  BasketDiv.appendChild(Href);*/
	document.getElementById('basket_goods_count').innerHTML = GoodsCount.toString();
	document.getElementById('basket_goods_price').innerHTML = GoodsPrice.toString();
        if(document.getElementById('order_selector'))
        {
	  if(GoodsCount < 5)
	    document.getElementById('order_selector').src = "/files/drop_" + GoodsCount.toString() + ".jpg";
	}  
	document.getElementById('create_order_span').style.display = "block";
	document.getElementById('clear_order_span').style.display = "block";		
    alert(XML.getElementsByTagName('result_text').item(0).firstChild.data);
  }
  else
    alert(XML.getElementsByTagName('result_text').item(0).firstChild.data);
}

function AddGoodItem(ID, Name, Price, Count)
{
  if(Count == 0)
	return;
  var Item = new Object();
  Item.ID = ID;
  Item.Name = Name;
  Item.Price = Price;
  Item.Count = Count;
  GoodItems.push(Item);
  ShowItem(Item);
  //ChangeDostavka();
  //ChangeAllPrice();
}

function ShowItem(Item)
{
  var TBody = document.getElementById('basket_goods_body');
	
  var Row = document.createElement('tr');
  Row.id = "good_" + Item.ID.toString();
	
  var ImgCell = document.createElement('td');
  ImgCell.innerHTML = "<CENTER><IMG style='width: 70px; height: 70px;' src='/img/products/real/" + Item.ID.toString() + ".jpeg'></CENTER>";
	
  var NameCell = document.createElement('td');
  NameCell.innerHTML = "<A href='goods.php?good_id=" + Item.ID.toString() + "' class='catalogue-item-link'>" + Item.Name + "</A>";
	
  var PriceCell = document.createElement('td');
  var Price = Item.Price * Item.Count;
  PriceCell.innerHTML = Price.toString();
	
  var CountCell = document.createElement('td');
  var CountValue = document.createElement('input');
  CountValue.style.width = "20px";
  CountValue.value = Item.Count.toString();
  CountValue.onkeyup = function() { SetCount(Item.ID, this); };
  CountCell.appendChild(CountValue);
	
  var DeleteCell = document.createElement('td');
  var DeleteImg = document.createElement('img');
  DeleteImg.src = "files/delete.png";
  DeleteImg.onclick = function() { DeleteItem(Item.ID); };
  DeleteImg.style.cursor = "pointer";
  DeleteCell.appendChild(DeleteImg);
	
  Row.appendChild(ImgCell);
  Row.appendChild(NameCell);
  Row.appendChild(PriceCell);
  Row.appendChild(CountCell);
  Row.appendChild(DeleteCell);
	
  TBody.appendChild(Row);
}

function ChangeDostavka(Dostavka)
{
  document.getElementById('order_dostavka').innerHTML = Dostavka.toString() + " руб.";
}

function ChangeAllPrice()
{
  var Value = Dostavka;
  for(var i = 0; i < GoodItems.length; i++)
	  Value += GoodItems[i].Count * GoodItems[i].Price;
	document.getElementById('basket_all_price').innerHTML = Value.toString() + " руб.";
}

function CreateOrder()
{
  var FIO = document.getElementById('order_fio').value;
	var Email = document.getElementById('order_email').value;
	var Phone1 = document.getElementById('order_phone_1').value;
	var Phone2 = document.getElementById('order_phone_2').value;
	var Address = document.getElementById('order_address').value;
	
	if(FIO == "")
	{
	  alert("Пожалуйста, укажите Ф.И.О.");
		return;
	}
	if(!CheckEmail(Email))
	{
	  alert("E-mail указан некорректно.");
		return;
	}
	if(Phone1 == "")
	{
	  alert("Пожалуйста, укажите два телефонных номера");
		return;
	}
	if(Phone2 == "")
	{
	  alert("Пожалуйста, укажите два телефонных номера");
		return;
	}
	if(Address == "")
	{
	  alert("Пожалуйста, укажите адрес доставки");
		return;
	}
	var Query = "?fio=" + FIO + "&email=" + Email + "&phone1=" + Phone1 + "&phone2=" + Phone2 + "&address=" + Address;
	AjaxObject.Execute("/ajax/create_order.php", Query, CreateOrderRequest, false, "basket_goods_body");
}

function CreateOrderRequest(XML)
{
  if(XML.getElementsByTagName('result').item(0).firstChild.data == "0")
  {
	  var ID = parseInt(XML.getElementsByTagName('order_id').item(0).firstChild.data);
		var Content = "<P class='p_text'>Благодарим Вас за заказ. Номер Вашего заказа - " + ID.toString() + ". На Ваш Email отправлено подтверждение заказа. В ближайшее время наш сотрудник свяжется с Вами для уточнения времени доставки.</DIV>";
		var MainDiv = document.getElementById('order_content');
		MainDiv.innerHTML = Content;
  }
  else
    alert(XML.getElementsByTagName('result_text').item(0).firstChild.data);
}

function DeleteItem(ID)
{
  if(!confirm("Удаляем?"))
	  return;
  var Query = "?good_id=" + ID.toString();
	AjaxObject.Execute("/ajax/remove_from_basket.php", Query, RemoveRequest, false, "basket_goods_body");
}

function RemoveRequest(XML)
{
  if(XML.getElementsByTagName('result').item(0).firstChild.data == "0")
  {
	  var ID = parseInt(XML.getElementsByTagName('id').item(0).firstChild.data);
	  var NewDostavka = parseInt(XML.getElementsByTagName('dostavka').item(0).firstChild.data);
		for(var i = 0; i < GoodItems.length; i++)
		{
		  if(GoodItems[i].ID == ID)
			{
			  //GoodItems[i].Count = 0;
				GoodItems.splice(i, 1);
				var TBody = document.getElementById('basket_goods_body');
				var Row = document.getElementById("good_" + ID);
				TBody.removeChild(Row);
			}
		}
		Dostavka = NewDostavka;
		ChangeDostavka(NewDostavka);
		ChangeAllPrice();
		if(GoodItems.length == 0)
		{
		  document.getElementById('order_content').innerHTML = "<CENTER>Корзина пуста</CENTER>";
			document.getElementById('basket_div').innerHTML = "Корзина пуста.";
		}
  }
  else
    alert(XML.getElementsByTagName('result_text').item(0).firstChild.data);
}

function SetCount(ID, Input)
{
  if(!parseInt(Input.value))
	  return;
  var Value = parseInt(Input.value);
	var Query = "?good_id=" + ID.toString() + "&new_count=" + Value.toString();
	AjaxObject.Execute("/ajax/change_count_from_basket.php", Query, ChangeCountRequest, false, "basket_goods_body");
}

function ChangeCountRequest(XML)
{
  if(XML.getElementsByTagName('result').item(0).firstChild.data == "0")
  {
	  var ID = parseInt(XML.getElementsByTagName('id').item(0).firstChild.data);
		var NewCount = parseInt(XML.getElementsByTagName('new_count').item(0).firstChild.data);
	  var NewDostavka = parseInt(XML.getElementsByTagName('dostavka').item(0).firstChild.data);
		Dostavka = NewDostavka;
		ChangeDostavka(NewDostavka);
		UpdateGoodsTableByCount(ID, NewCount);
		ChangeAllPrice();
  }
  else
    alert(XML.getElementsByTagName('result_text').item(0).firstChild.data);
}

function UpdateGoodsTableByCount(ID, NewCount)
{
  for(var i = 0; i < GoodItems.length; i++)
	{
	  if(GoodItems[i].ID == ID)
		{
		  GoodItems[i].Count = NewCount;
			var Row = document.getElementById("good_" + ID.toString());
			if(!Row)
			  return;
			var Input = Row.getElementsByTagName('input')[0];
			Input.value = NewCount.toString();
			var Cells = Row.getElementsByTagName('td');
			var Price = GoodItems[i].Price * GoodItems[i].Count;
			Cells[2].innerHTML = Price.toString() + " руб.";
			Input.focus();
		}
	}
}

function CheckEmail(Value)
{
  if(Value == "")
	  return false;
	var Split = Value.split("@");
	if(Split.length < 2)
	  return false;
	if(Split[0] == "")
	  return false;
	var PsetSplit = Split[1].split(".");
	if(PsetSplit.length < 2)
	  return false;
	if(PsetSplit[0] != "" && PsetSplit[1] != "")
	  return true;
	return false;
}



