// JavaScript Document
var cookieRequestObject = createCookieRequestObject();
var debugCookieMode=1;
var gidForBasket=0;
var cookieForBasket=0;
var oldCookieBasket=0;
//var lang='ee';
var lang=getLang();
var fromSelect=false;
var firstLoad=false;

function createCookieRequestObject() 
{
  // will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // this should work for all browsers except IE6 and older
  try
  {
    // try to create XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.7.0",
					"MSXML2.XMLHTTP.6.0",
                                    "MSXML2.XMLHTTP.5.0",
                                    "MSXML2.XMLHTTP.4.0",
                                    "MSXML2.XMLHTTP.3.0",
                                    "MSXML2.XMLHTTP",
                                    "Microsoft.XMLHTTP");
    // try every prog id until one works
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) 
    {
      try 
      { 
        // try to create XMLHttpRequest object
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
      } 
      catch (e) {}
    }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function processCookie()
{
  // only continue if xmlHttp isn't void
  if (cookieRequestObject)
  {
    // try to connect to the server
    try
    {
      // remove this line if you don't like the 'Receiving...' message
     // display("Receiving new message from server...")
      // make asynchronous HTTP request to retrieve new message
	var s="modules/basket/setBasket.php?gid="+gidForBasket+'&coco='+cookieForBasket+'&oldCoco='+oldCookieBasket;
		 //alert(s);	

	 cookieRequestObject.open("GET", s, true);
	  cookieRequestObject.onreadystatechange = handleGettingCookie;
	  //alert('send RAZ OK!');
	  cookieRequestObject.send(null);
	  //alert('send OK!');
    }
    catch(e)
    {
	//alert('from process Edit');
      displayErrorCookie(e.toString());
    }
  }
}

// function called when the state of the HTTP request changes
function handleGettingCookie() 
{
// when readyState is 4, we are ready to read the server response
  if (cookieRequestObject.readyState == 4) 
  {
    // continue only if HTTP status is "OK"
    if (cookieRequestObject.status == 200) 
    {
      try
      {
		//  alert('qqqqqqq');
        // do something with the response from the server
        answerForBasket();
      }
      catch(e)
      {
        // display error message
		//alert('ERROR !!!');
        displayErrorCookie(e.toString());
      }
    } 
    else
    {
      // display error message
      displayErrorCookie(cookieRequestObject.statusText);   
    }
  }
}

function answerForBasket()
{
	//alert('aaaaa');
  // retrieve the server's response 
 var response = cookieRequestObject.responseText;
 //alert("otvet="+response);
  // server error?
  if (response.indexOf("ERRNO") >= 0 
      || response.indexOf("error") >= 0
      || response.length == 0)
    throw(response.length == 0 ? "Server error." : response);
  // display the message
 var ar=response.split('^');	
//alert('ar[0]=' + ar[0]);

var r=eval(ar[0]);
var skolko=eval(ar[1]);

	if(r>0 && r<4)
		basketFinish(ar[2], skolko );
	else
		displayErrorCookie('non standart response');
	
  // restart sequence
//  setTimeout("processEdit();", updateInterval * 1000);

}

function displayErrorCookie(message)
{
  // display error message, with more technical details if debugMode is true
 /* displayEdit("Error retrieving the news message! Will retry in " +
          errorRetryInterval + " seconds." + 
          (debugMode ? "<br/>" + message : ""));
  */
  
(debugCookieMode && document.getElementById('answer') != null) ? document.getElementById('answer').innerHTML=cookieRequestObject.readyState + message : ""
 //;
  // restart sequence
  
//setTimeout("processCookie();", 1000);
}


function korzinaCookie()
{
//alert('fromSelect=' + fromSelect);
	if(!fromSelect)
	gidForBasket=document.getElementById('goodsId').innerHTML;
	
	fromSelect=false;
	//alert("gidForBasket="+gidForBasket);

var tm=new Date();
tm.setDate(tm.getDate()+3600*24*30);

if(ReadCookie("cookieForBasket") == null){
	var m=Math.round((Math.random()*1000000));
	cookieForBasket=m;
	oldCookieBasket=0;
	document.cookie="cookieForBasket="+m+";expires="+tm.toGMTString()+";";
	}
	else 
	{
	var strCookie=ReadCookie("cookieForBasket");
	var arCookie=strCookie.split('^');
	cookieForBasket=arCookie[0];
	oldCookieBasket=1;
	}

processCookie();
}


function basketFinish(c, n){
//alert('n=' + n);
if(n==0) return;

var tm=new Date();
		tm.setDate(tm.getDate()+3600*24*30);
		var stroka=c+'^'+n;
		document.cookie="cookieForBasket="+stroka+";expires="+tm.toGMTString()+";";

var langC=getLang();

if(langC=='ee') alert("Kaup on korvis");
	if(langC=='en') alert("Goods in bascet");
	if(langC=='ru') alert("Товар в корзине");
	document.getElementById('basketGoodsCount2').innerHTML=': '+n;
}
