var req;
var g_id=0;
function loadXMLDoc(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
//      response = req.responseXML.documentElement;
      response = req.responseText;
      checkCart('', '', response);
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}
function checkCart(id, quant, response)
{
  var response=response.replace(/\r\n|\r|\n/g,'');
  
  try 
  {quant=$('kol_tov').value;}
  catch(err)
  {quant=1;}

  if (response == 'exists'){
  	  alert('Данный товар уже присутствует в Вашей корзине.\r\nИзменить количество можно на странице заказа.');
  }
  else if (response == 'zero'){
  	  alert('Количество товара должно быть больше 0.');
  }
  else if (response != ''){ 
    // Response mode
    response = response.split('+-+');
    goods_no = response[0];
    total = response[1];
    span1 = document.getElementById('cart_goods_no');
    span2 = document.getElementById('cart_total');
	span1.innerHTML=goods_no;
	span2.innerHTML=total;
	alert('Товар помещен в корзину');
    window.location.reload();
  }else{
    // Input mode
    url  = '/inc/cart_add.php?id='+id+'&quant='+quant;
    loadXMLDoc(url);
  }
}

function loadXMLDoc1(url,id) {
    // branch for native XMLHttpRequest object
	g_id=id;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange1;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange1;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange1() 
{
    if (req.readyState == 4)
    {
        if (req.status == 200)
        {
	      	response = req.responseText;
			renewCart('', '', response);
        }
        else
        {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}
function renewCart(id, quant, response)
{
  if (response == 'exists'){
  	  alert('Данный товар уже присутствует в Вашей корзине.\r\nИзменить количество можно на странице заказа.');
  }
  else if (response == 'zero'){
  	  alert('Количество товара должно быть больше 0.');
  }
  else if (response != ''){ 
    // Response mode
    response = response.split('+-+');
    cost = response[0];
    goods_no = response[1];
    total = response[2];
    total_rur = response[3];
    total_usd = response[4];
    span1 = document.getElementById('cart_goods_no');
    span2_1 = document.getElementById('cart_total');
    span3 = document.getElementById('cost_'+g_id);
    span4 = document.getElementById('cost_total');
	span1.innerHTML=goods_no;
	span2_1.innerHTML=total_rur;
	span3.innerHTML=cost;
	span4.innerHTML=total;
  }else{
    // Input mode
    url  = '/inc/cart_modify.php?id='+id+'&quant='+quant;
    loadXMLDoc1(url,id);
  }
}

function loadXMLDoc2(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange2;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange2;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange2() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
//      response = req.responseXML.documentElement;
      response = req.responseText;
      orderDetails(0, response);
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}
function orderDetails(id,response)
{
  if (response != ''){ 
    // Response mode
    span1 = document.getElementById('order_details');
	span1.innerHTML=response;
  }else{
    // Input mode
    url  = '/inc/order_details.php?id='+id;
    loadXMLDoc2(url);
  }
}

function loadXMLDoc3(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange3;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange3;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function processReqChange3() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
//      response = req.responseXML.documentElement;
      response = req.responseText;
      filterMakes(0, response);
        } else {
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}
function filterMakes(id,response)
{
  if (response != ''){ 
    // Response mode
    var span1 = document.getElementById('search_makes');
    if(span1){span1.innerHTML=response;}
  }else{
    // Input mode
    url  = '/inc/filter_makes.php?id='+id;
    loadXMLDoc3(url);
  }
}

function toggleDiv()
{
	var el;
	var args=toggleDiv.arguments;
	for(var i=0;i<args.length;i++)
	{
		el=document.getElementById(args[i]);
		if(el) el.style['display']=el.style['display']=='block'?'none':'block';
	}
}

function showLogin()
{
	var obj=document.getElementById('loginForm');
	if(obj)
	{
		obj.style['left']=absPosition('imPrivCab').x+'px';
		toggleDiv('loginForm');
	}
}

// ОПРЕДЕЛЕНИЕ КООРДИНАТ ЭЛЕМЕНТА
function absPosition(id) 
{ 
	  var obj=document.getElementById(id);
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
	// Пример:
	// "x = " + absPosition(obj).x;
	// "y = " + absPosition(obj).y;
}

    function showMakeInfo(id)
    {
    	window.open('inc/show_make_info.php?id='+id,'wnd','toolbar=no,location=no,menubar=yes,resizable=yes,scrollbars,width=600,height=400');
    }
    function compare(id)
    {
    	window.open('inc/compare.php?action=add&id='+id,'wnd','toolbar=no,location=no,menubar=no,resizable=yes,scrollbars,width=800,height=600');
    }
