﻿var basketHandler = "/BasketAddGood.aspx?goodID=";
var ajaxSupport = true;
var inf = new Array();
var made = new Array();

var request_arr = new Array();
var i_req = 0;

function createRequest()
 {
  var request = null;
  try{request = new XMLHttpRequest();
  }  catch(errObj)
  {   try{   request = new ActiveXObject("Msxml2.XMLHTTP");  }  catch(errObj)   {
    try{     request = new ActiveXObject("Msxml.XMLHTTP");    }    catch(errObj)    {     request = null;    }
   }
  if (request==null)
   {
    ajaxSupport = false;
   }
 }
 return request;
}
 
function addToBasket(id)
 {
    modifyBasket(id, 'Add');
 }

function modifyBasket(id, action)
{

    request_arr[i_req] = createRequest();
    var time = new Date().getTime();
    if (ajaxSupport){
     
     //if (action=="Add")
        Loader(id, "Show", false);
     
     var requestUrl = basketHandler + id + "&random=" + time + "&action="+action;
  
     request_arr[i_req].open("GET", requestUrl, true);
     request_arr[i_req].onreadystatechange=build;
     request_arr[i_req].send(null);

     i_req++;
    }

}

function setText(id, href, text)
 {
 
        var obj = document.getElementById(id);
        if (obj != null){
        obj.innerHTML="";
        
        var elA=document.createElement("a");
        obj.appendChild(elA) ;
        
        obj.lastChild.href=href;
        var as=document.createTextNode(text);
        obj.lastChild.appendChild(as);
        }
 }

function Loader(id, type, debug)
 {
  var obj = document.getElementById(id);
    
  if (type=="Show" && obj != null)
  {
   inf[String(id)]=obj.innerHTML;
   obj.innerHTML=load_message;
  }
  
  if (type=="Hide" && obj != null && debug == false)
  { 
        obj.innerHTML="<span class='zectext'>товар добавлен<span>";
  
        var href = String(inf[String(id)]).substring(String(inf[String(id)]).indexOf('href=')+6, String(inf[String(id)]).indexOf('>')-1);
        var text = String(inf[String(id)]).substring(String(inf[String(id)]).indexOf('>')+1, String(inf[String(id)]).lastIndexOf('<'));

        setTimeout('setText('+String(id)+',\''+href+'\',\''+text+'\')', 3000);

        inf[String(id)]=null;
  }
  else
  {
    setTimeout('3000', "Loader('"+id+"', '"+type+"', false)");
  }
 } 
 
 
function build(i_req)
 {
  var response = new Array();
  
  for (i=0;i<request_arr.length;i++){
  
  if (request_arr[i]!=null){
  
  if (request_arr[i].readyState==4){
     response = String(request_arr[i].responseText).split(";");
        
     switch (response[0]) {
        case "STATUS: OK":
             request_arr[i]=null;
             Loader(response[1].split("=")[1], "Hide", false);
             if (response[2] != null && response[2] != 'undefined' && response[2] != '' && response[2].indexOf('var') != -1){
             try{eval(response.join(';').substr(response.join(';').indexOf('var'), response.join(';').length))}catch(obj){};}
             break;
        case "ACTION: REDIRECT":
               location=response[1];
               break;
        case "ACTION: RELOAD":
               location=location;
               break;
        default:
             alert('Внимание! Товар не был добавлен в корзину. Обратитесь к администратору сайта.');//alert(response.join(";"));
             break;
            }
    }
   }
  }
 }
 
 var sum = "sumView";
 var hidSumV = "sum";
 var GoodPriceWithSale = "GoodPriceWithSale";
 var Amount = "Amount";
 
function calcBasket(obj)
 {
  
  var sumElems = document.getElementById(sum);
  var hidSum = document.getElementById(hidSumV);
  var GoodPriceWithSaleElems = document.getElementsByName(GoodPriceWithSale);
  var AmountElems = document.getElementsByName(Amount);
  
  var i=0;
  var ln = AmountElems.length;
  
  var sumAll = 0;
  var tmpPrice = 0;
  for (i=0;i<ln;i++)
   {
    tmpPrice = GoodPriceWithSaleElems[i].value.replace(",", ".");
    
    if (isNaN(AmountElems[i].value) || Number(AmountElems[i].value)<0) {AmountElems[i].value=0;}
    
    if (String(AmountElems[i].value).length>4) {AmountElems[i].value=String(AmountElems[i].value).substring(0,4);}
    
    sumAll += tmpPrice * Number(AmountElems[i].value);
   }
   
   sumAll = (String(sumAll).split('.')[1]!=null&&String(sumAll).split('.')[1].length>2) ? String(sumAll).substr(0, String(sumAll).indexOf('.')+2) : sumAll;
   
   if (sumElems!=null)
    sumElems.innerHTML = sumAll;
   
   if (hidSum!=null)
    hidSum.value = sumAll;
   
 }
 
 onload=calcBasket;
 
 load_message = "<table class='zecloadmessage'><tr><td class='zecimg'><img src=\"/images/ZECLoader.gif\"></td><td class='zectext'> обработка</tr><table>";