scriptpath = '/';
setimg = new Array();

function ask(url) {
 if (confirm (_lang('Вы уверены?')))
  self.location=url;
}
function askform(url) {
 return confirm (_lang('Вы уверены?'));
}

function round2(val) {
  return Math.round(val*100)/100;
}

function win(url,wname,w,h,r,s) {
   var posX = (screen.width - w) / 2;
   var posY = (screen.height - h) / 2;
   var pos = ",top="+posY+",left="+posX;
   newWin = open(url,wname,"toolbar=0,location=0,status=0,menubar=1,scrollbars="+s+",resizable="+r+",width="+w+",height="+h+pos);
}

function toggle_block(eid) {
 if (document.getElementById(eid).style.display == 'none') {
   document.getElementById(eid).style.display='block';
   document.getElementById(eid+'_').style.display='none';
 } else {
   document.getElementById(eid).style.display='none';
   document.getElementById(eid+'_').style.display='block';
 }
}

function toggle_b(eid) {
 if (document.getElementById(eid).style.display == 'none') {
   document.getElementById(eid).style.display='block';
 } else {
   document.getElementById(eid).style.display='none';
 }
}

function createRequest() {
  var request;
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }
  return request;
}

function counttime(id, count) {  var ctitle = _lang('секунд');
  if (count == 1) ctitle = _lang('секунду');
  else if ((count == 2) || (count == 3) || (count == 4)) ctitle = _lang('секунды');  if (document.getElementById("id_cart_span_"+id)) document.getElementById("id_cart_span_"+id).innerHTML = _lang("Это сообщение закроется через")+" " + count + " " + ctitle + ".";
  if (count > 0) window.setTimeout('counttime('+id+', '+(count-1)+')', 1000);
    else document.body.removeChild(document.getElementById('id_cart_'+id));
}

function getRadioGroupValue(radioGroupObj) {
  if (radioGroupObj.value) return radioGroupObj.value;
  for (var i=0; i < radioGroupObj.length; i++)
    if (radioGroupObj[i].checked) return radioGroupObj[i].value;
  return null;
}

function priceFormat(val) {  return val.toString().replace(/(\d{3})$/, '&nbsp;$1').replace(/(\d{3})&nbsp;/, '&nbsp;$1&nbsp;');
}

function skl_num(num, text1, text2, textmany) {
  if ((num%100 == 11) || (num%100 == 12) || (num%100 == 13) || (num%100 == 14)) return textmany;
  else if (num%10 == 1) return text1;
  else if ((num%10 == 2) || (num%10 == 3) || (num%10 == 4)) return text2;
  else return textmany;
}


// Добавить твоар в корзину
function addtocart(id, name) {
  if (typeof(prices) == 'undefined') {    alert(_lang('Дождитесь загрузки страницы'));
    return false;
  }
  var request = createRequest();
  var count = parseInt(document.getElementById("quantity_"+id).value);
  var price = prices[id];
  var color = colors[id];
  var url = scriptpath + "include/ajax.php?addtocart=" + encodeURIComponent(id) + "&price=" + encodeURIComponent(price) + "&color=" + encodeURIComponent(color) + "&quantity=" + encodeURIComponent(count) + "&rnd=" + Math.random();

  var dw = 300, dh = 130;
  var divcart = document.createElement("div");
  divcart.id = "id_cart_" + id;
  divcart.className = 'cartp index';
  divcart.style.width = dw + "px";
  divcart.style.marginTop = -(Math.round(dh/2) - document.documentElement.scrollTop) + "px";
  divcart.style.marginLeft = "-" + Math.round(dw/2) + "px";
  divcart.innerHTML = "<h2 id='id_cart_h2_"+id+"'>"+_lang('Добавление товара в корзину...')+"</h2><p><strong>" + name + "</strong></p><p id='id_cart_span_"+id+"'></p><p><a href='#' onclick=\"document.body.removeChild(document.getElementById('id_cart_"+id+"')); return false;\">"+_lang('Закрыть')+"</a></p>";
  document.body.appendChild(divcart);


  request.open("GET", url, true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      if (request.status == 200) {
        var resp = request.responseText;
        if (resp.substr(0, 2) == 'OK') {
           var resparr = resp.split('|');
           document.getElementById("id_cart_h2_"+id).innerHTML = _lang('Добавлено');           var curcount = parseInt(resparr[2]);
           var curprice = parseInt(resparr[1]);
           document.getElementById("cart_count").innerHTML = (curcount);
           document.getElementById("cart_price").innerHTML = priceFormat(curprice);
           document.getElementById("cart_title").innerHTML = skl_num(curcount, _lang('товар'), _lang('товара'), _lang('товаров'));
           counttime(id, 2);
        } else {           alert(resp);
        }
      }
    }
  }
  request.send(null);
}

// Удалить товар из корзины
function delitem(id, num) {
  if (window.confirm(_lang("Вы уверены?"))) {
    var request = createRequest();
    var url = scriptpath + "include/ajax.php?delfromcart=" + (id) + "&price=" + (num*prices[id]) + "&num=" + (num);
    request.open("GET", url, true);
    request.onreadystatechange = function() {
      if (request.readyState == 4) {
        if (request.status == 200) {
          var resp = request.responseText;
          if (resp.substr(0, 2) == "OK") {
            document.getElementById("f_cnt_"+id).value = "0";
            document.getElementById("tr_"+id).style.display = "none";
            settotal();
          } else {            alert(resp);
          }
        }
      }
    }
    request.send(null);
  }
}

// Пересчет стоимости корзины
function settotal () {
  if (typeof mincnts == 'undefined') mincnts = [0];
  var oldmcnt = 0;
  for (var i=0; i < mincnts.length; i++) {    eval('if (typeof(prices_'+mincnts[i]+') == "undefined") prices_'+mincnts[i]+' = prices'+(oldmcnt>0 ? '_'+oldmcnt : '') + ';');
    oldmcnt = mincnts[i];
  }
  var inputs = document.getElementsByTagName("input");
  var totalcnt=0, totalprice=0, totalweight=0, curid, curcnt;
  for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].name.substring(0, 6) == "f_cnt_") {
       curid = inputs[i].id.substring(6);
       curcnt = parseInt(document.getElementById("f_cnt_"+curid).value);
       if (!isNaN(curcnt)) {
         totalcnt += curcnt;
       }
    }
  }
  oldmcnt = 0;
  for (var i=0; i < mincnts.length; i++) {     if (totalcnt < mincnts[i]) {       eval('var prices_curr = prices'+(oldmcnt>0 ? '_'+oldmcnt : '') + ';');
       break;
     }
     oldmcnt = mincnts[i];
  }
  if (oldmcnt == mincnts[mincnts.length-1]) {    eval('var prices_curr = prices'+(oldmcnt>0 ? '_'+mincnts[mincnts.length-1] : '') + ';');
  }
  for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].name.substring(0, 6) == "f_cnt_") {
       curid = inputs[i].id.substring(6);
       curcnt = parseInt(document.getElementById("f_cnt_"+curid).value);
       if (!isNaN(curcnt) && (typeof prices_curr[curid] != 'undefined')) {
         document.getElementById("f_price_"+curid).innerHTML = priceFormat(parseInt(prices_curr[curid]) * curcnt);
         totalprice += parseInt(prices_curr[curid]) * curcnt;
         totalweight += curcnt*parseFloat(weights[curid]);
       } else {
         document.getElementById("f_price_"+curid).innerHTML = "0";
       }
    }
  }
  if (document.order_form.id_ship) {
    var id_ship = getRadioGroupValue(document.order_form.id_ship);
    var postprice = getWeightPrice(totalweight, document.getElementById("f_region").value);
    var emsprice = getEMSPrice(totalweight, document.getElementById("f_region").value, document.getElementById("f_city").value);
    var aviaprice = getAviaPrice(totalweight, document.getElementById("f_region").value);
    document.getElementById("delivery-post").style.display = (postprice > 0 ? 'block' : 'none');
    document.getElementById("delivery-ems").style.display = (emsprice > 0 ? 'block' : 'none');
    document.getElementById("delivery-avia").style.display = (aviaprice > 0 ? 'block' : 'none');
    document.getElementById("tr-delivery").style.display = (aviaprice+emsprice+postprice > 0 ? '' : 'none');
    if (id_ship == 'post') {
      var weightprice = postprice;
    } else if (id_ship == 'ems') {
      var weightprice = emsprice;
    } else if (id_ship == 'avia') {
      var weightprice = aviaprice;
    }
    document.getElementById("f_weight_price").innerHTML = (weightprice==0 ? '?' : priceFormat(weightprice) + ' '+_lang('rur'));
  } else {
    var weightprice = 0;
  }
  document.getElementById("f_total_price").innerHTML = priceFormat(round2(totalprice+weightprice));
  document.getElementById("f_total_cnt").innerHTML = totalcnt;
}

// Цена доставки посылкой
function getWeightPrice(weight, region) {  var regiontype = regiontypes[region];
  if (regiontype == 1) {    var initprice = 129.09;
    var step = 11.7;
  } else if (regiontype == 2) {
    var initprice = 131.95;
    var step = 12.74;
  } else if (regiontype == 3) {
    var initprice = 131.95;
    var step = 17.94;
  } else if (regiontype == 4) {
    var initprice = 171.34;
    var step = 25.09;
  } else if (regiontype == 5) {
    var initprice = 192.66;
    var step = 28.6;
  } else {    return 0;
  }
  var result = initprice + step*(Math.ceil(weight*2));
  return 10*Math.ceil((1+0.01*percent_post)*(rur_post + result)/10);
}

// Цена доставки EMS
function getEMSPrice(weight, region, city) {
  var regiontype = regionemstypes[region];
  var iscenter = (regioncenters[region]==city ? true : false);
  if (regiontype == 0) {    var init05 = (iscenter ? 440 : 560);
    var init1 = (iscenter ? 520 : 620);
    var init15 = (iscenter ? 520 : 670);
    var init2 = (iscenter ? 610 : 740);
    var init10 = (iscenter ? 450 : 520);
    var step10 = (iscenter ? 80 : 110);
    var init20 = (iscenter ? 350 : 420);
    var step20 = (iscenter ? 90 : 120);
    var initinf = (iscenter ? 550 : 620);
    var stepinf = (iscenter ? 80 : 110);
  } else if (regiontype == 1) {
    var init2 = (iscenter ? 570 : 710);
    var step2 = (iscenter ? 90 : 60);
    var initinf = (iscenter ? 650 : 590);
    var stepinf = (iscenter ? 140 : 180);
  } else if (regiontype == 2) {
    var init2 = (iscenter ? 570 : 710);
    var step2 = (iscenter ? 90 : 60);
    var initinf = (iscenter ? 650 : 590);
    var stepinf = (iscenter ? 140 : 180);
  } else if (regiontype == 3) {
    var init2 = (iscenter ? 550 : 690);
    var step2 = (iscenter ? 80 : 60);
    var initinf = (iscenter ? 610 : 630);
    var stepinf = (iscenter ? 130 : 150);
  } else if (regiontype == 4) {
    var init2 = (iscenter ? 530 : 670);
    var step2 = (iscenter ? 80 : 60);
    var initinf = (iscenter ? 630 : 650);
    var stepinf = (iscenter ? 110 : 130);
  } else if (regiontype == 5) {
    var init2 = (iscenter ? 570 : 690);
    var step2 = (iscenter ? 90 : 60);
    var initinf = (iscenter ? 650 : 630);
    var stepinf = (iscenter ? 140 : 150);
  } else {
    return 0;
  }
  if (regiontype == 0) {    if (weight <= 0.5) {
      var result = init05;
    } else if (weight <= 1) {
      var result = init1;
    } else if (weight <= 1.5) {
      var result = init15;
    } else if (weight <= 2) {
      var result = init2;
    } else if (weight <= 10) {
      var result = init10 + step10*(Math.ceil(weight));
    } else if (weight <= 20) {
      var result = init20 + step20*(Math.ceil(weight));
    } else {
      var result = initinf + stepinf*(Math.ceil(weight));
    }
  } else {    if (weight <= 2) {
      var result = init2 + step2*(Math.ceil(weight*2));
    } else {      var result = initinf + stepinf*(Math.ceil(weight));
    }
  }
  return 10*Math.ceil((1+0.01*percent_ems)*(rur_ems + result)/10);
}

// Цена доставки авиа
function getAviaPrice(weight, region) {
  var regionprice = aviatariffs[region];
  if (regionprice == -1) {    return 0;
  } else {
    var result = 238.20 + regionprice*(Math.ceil(weight*2));
    if (weight > 10) result += 72.50;
    return 10*Math.ceil((1+0.01*percent_avia)*(rur_avia + result)/10);
  }
}



// Прокрутка количества
function chcounter(id, step) {  var curvalue = parseInt(document.getElementById("quantity_"+id).value);
  if (isNaN(curvalue)) curvalue = 1;
  curvalue += step;
  if (curvalue < 1) curvalue = 1;
  if (curvalue > 999) curvalue = 999;
  document.getElementById("quantity_"+id).value = curvalue;
}


// Кликнули по квадратику с цветом
function selectcolor(id, color, price, link) {
  if (typeof(prices) == 'undefined') {
    alert(_lang('Дождитесь загрузки страницы'));
    return false;
  }  var divs = document.getElementsByTagName("DIV");
  for (var i=0; i < divs.length; i++) {    if (divs[i].id.substr(0, 6) == "color_") {      var idarr = divs[i].id.split('_');
      if (idarr[1] == id) {
        if (document.getElementById('price_'+id)) {          divs[i].className = divs[i].className.replace(" selected", "");
          if (idarr[2] == color) divs[i].className += " selected";
        }
        prices[id] = price;
        colors[id] = color;
      }
    }
  }
  if (document.getElementById('price_'+id)) document.getElementById('price_'+id).innerHTML = priceFormat(price);
  if (link != '') {    defaultimages[id] = link;
    var cont = document.getElementById('img_'+id);
    cont.style.backgroundImage = "url("+link+")";
  }
}


// Поставить картинку при наведении на квадратик с цветом
function swimage(id, url) {
  if (typeof(prices) == 'undefined') return false;  var cont = document.getElementById('img_'+id);
  if (cont) {
    setimg[id] = true;    cont.style.backgroundImage = "url("+scriptpath+"images/loading16.gif)";
    img = new Image();
    setTimeout(function(){  // залепа для IE
      if (typeof(img) != 'undefined') img.src = url;
    }, 20);
    if (typeof(img) != 'undefined') img.onload = function(){
      if (setimg[id]) cont.style.backgroundImage = "url("+url+")";
      setimg[id] = false;
      delete img;
    };
  }
}

function defimage(id) {
  if (typeof(prices) == 'undefined') return false;
  var cont = document.getElementById('img_'+id);
  if (cont) {
    setimg[id] = false;
    if (typeof(img) != 'undefined') {      img.onload = null;      delete img;
    }
    cont.style.backgroundImage = "url("+defaultimages[id]+")";
  }
}


// Установить столицу региона
function serregion() {  var idregion = document.getElementById("f_region").value;
  document.getElementById("f_city").value = regioncenters[idregion];
}



// Пасхальное яйцо
function addEvent(elm, evType, fn) {
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, true);
        return true;
    }
    else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    }
    else {
        elm['on' + evType] = fn;
    }
}

addEvent(window, 'load', function(){
  holdCtrl = false;
  holdShift = false;

  addEvent(document, 'keyup', function(event){    holdCtrl = false;
    holdShift = false;
  });

  addEvent(document, 'keydown', function(event){    var e = event || window.event;
    if (e.keyCode == 16) holdShift = true;
    if (e.keyCode == 17) holdCtrl = true;
  });

  addEvent(document.getElementById('logo'), 'mouseover', function(){
    if (holdShift && holdCtrl) {      var d1 = document.createElement("DIV");
      d1.style.position = 'absolute';
      d1.style.backgroundColor = '#FFF';
      d1.style.width = '50px';
      d1.style.height = '90px';
      d1.style.left = '0px';
      d1.style.top = '30px';
      document.getElementById('logo').appendChild(d1);
      var d2 = document.createElement("DIV");
      d2.style.position = 'absolute';
      d2.style.backgroundColor = '#FFF';
      d2.style.width = '5px';
      d2.style.height = '60px';
      d2.style.left = '50px';
      d2.style.top = '70px';
      document.getElementById('logo').appendChild(d2);
    }
  });

  addEvent(document.getElementById('logo'), 'mouseout', function(){
    while (document.getElementById('logo').firstChild)
       document.getElementById('logo').removeChild(document.getElementById('logo').firstChild);
  });
});