var RND = parseInt(Math.random() * 100000);
var index = 0;
var IsIE = (window.navigator.appName.toLowerCase().indexOf('microsoft') != -1) ? true : false;
var shippingarr = new Array(); // массив сумм доставки (инициализируется из скрипта)
var ArrImgGoods = new Array(); // массив товаров с картинками
var ArrSizeGoods = new Array();
var del_border = 0;
var del_border2 = 0;

var GoodsIDstr=0;   // идентификатор текущего товара
var graph = "";         // '#GRAPH2#';
var inPack = 1;     // Количество в УПАКОВКЕ (возвращает только числа из строки)
var curSizeValueID = ''; // текущий ValueID для свойства РАЗМЕР
var curColorValueID = ''; // текущий ValueID для свойства ЦВЕТ
var mesunit = '';   // единица измерения (обычно ШТ)
var minorder = ''; // Минимальное количество для заказа (обычно 100)
var artic = '';   // Артикул товара
var weight = 0; // вес ОДНОГО товара

var Order_Weight = 0;	// вес ЗАКАЗА
var ArrPhoto = new Array();


var idGood = 0;     // индекс текущего товара в массиве товаров ArrGoods
var FieldID_Color = 0;  // FieldID цвета
var FieldID_Size = 0;  // FieldID размера
var FieldID_Pack = 0;  // FieldID упаковки
var posIdsize = 0;  // индекс РАЗМЕРА в массиве ArrayFieldsValues товара
var posIdcolor = 0; // индекс ЦВЕТА в массиве ArrayFieldsValues товара
var posIdpack = 0;  // индекс ВИДА УПАКОВКИ в массиве ArrayFieldsValues товара

// находит позиции расширенных свойств
function getIDposition(idg, idc, ids, idp) {
    FieldID_Color = idc;  // FieldID цвета
    FieldID_Size = ids;  // FieldID размера
    FieldID_Pack = idp;  // FieldID упаковки
    // по ИД св-ва находим его положение в массиве для простоты обращения в последствии
    for (i = 0; i < ArrGoods.length; i++) // находим конфигурации для данного товара
    {
        if (ArrGoods[i].GoodsID == idg) {
            idGood = i;
            break;
        }
    }
    for (i = 0; i < 3; i++) {
        if (ArrGoods[idGood].ArrayConfig[0].ArrayFieldsValues[i].FieldID == idc) posIdcolor = i;
        if (ArrGoods[idGood].ArrayConfig[0].ArrayFieldsValues[i].FieldID == ids) posIdsize = i;
        if (ArrGoods[idGood].ArrayConfig[0].ArrayFieldsValues[i].FieldID == idp) posIdpack = i;
    }
}



function checkValue(val, type) {
    var flagDigit = 'good';
    var alertMSG = '';
    var result = '';
    var trueLength = 0;
    var trueLength2 = 0;
    if (type == 'инн') { if (val.length>0) alertMSG = 'Не правильный формат ИНН'; trueLength = 10; trueLength2 = 12; }
    if (type == 'кпп') { if (val.length > 0) alertMSG = 'Не правильный формат КПП'; trueLength = 9; trueLength2 = 9; }
    if (type == 'рс') { if (val.length > 0) alertMSG = 'Не правильный формат Р/с'; trueLength = 20; trueLength2 = 20; }
    if (type == 'кс') { if (val.length > 0) alertMSG = 'Не правильный формат Кор. счета'; trueLength = 20; trueLength2 = 20; }
    if (type == 'бик') { if (val.length > 0) alertMSG = 'Не правильный формат БИК'; trueLength = 9; trueLength2 = 9; }

    for (i = 0; i < val.length; i++) {
        if (val.substring(i, i + 1) == '1' || val.substring(i, i + 1) == '2' || val.substring(i, i + 1) == '3' || val.substring(i, i + 1) == '4' || val.substring(i, i + 1) == '5' || val.substring(i, i + 1) == '6' || val.substring(i, i + 1) == '7' || val.substring(i, i + 1) == '8' || val.substring(i, i + 1) == '9' || val.substring(i, i + 1) == '0') {
        }
        else {
            flagDigit = 'bad';
            break;
        }
    }
    if (flagDigit == 'bad') result = alertMSG;
    if (val.length != trueLength && val.length != trueLength2) result = alertMSG;
    return result;
}



function clean(a) {
    var p = a.previousSibling.previousSibling;
    //alert(p.tagName);
    p.style.display = "none"; // тег label (прячем)
    if (p) {
        a.onblur = function() {
            if (!a.value) {
                p.style.display = ""; // тег label (показываем)
            }
            else {
                p.style.display = "none"; // тег label (прячем)
            }
        }
    }
}



function set_cur(div_par) {

    var IDParentElement = "", NextParentElement = "";
    var obj = null;
    var obj1 = null;

    if (document.getElementById(div_par) != null) {
        obj1 = document.getElementById(div_par);


        for (var i = 0; i < 10; i++) {
            obj = obj1;
            if (obj.id != 'catalog') {

                if (obj.id != '') obj.className = 'cur';

            }
            else break;
            if (IsIE) obj1 = eval("obj.parentElement");
            else obj1 = eval("obj.parentNode");
        }
    }
}




// возвращает только числа из строки
function only_numbers(inPack) {
    var newinPack = "";
    var i, st;
    for (i = 0; i < inPack.length; i++) {
        st = inPack.substring(i, i + 1);
        if (st == '1' || st == '2' || st == '3' || st == '4' || st == '5' || st == '6' || st == '7' || st == '8' || st == '9' || st == '0')
            newinPack = newinPack + st;
    }
    return newinPack;
}

function checkctr(obj, idInput) {

    var objSel = document.getElementById(obj);
    var idInput = parent.document.getElementById(idInput);
    if (objSel.options[objSel.selectedIndex].value != '0') {
        idInput.value = objSel.options[objSel.selectedIndex].text;
        return true;
    }
    else return false;

}


function show_block_adres() {
    var adr1 = document.getElementById('adr1');
    var adr2 = document.getElementById('adr2');
    var adr3 = document.getElementById('adr3');
    var adr4 = document.getElementById('adr4');
    var adr5 = document.getElementById('adr5');

    adr1.style.display = 'none';
    adr2.style.display = 'none';
    adr3.style.display = 'none';
    adr4.style.display = 'none';
    adr5.style.display = '';
}

function myReturnOnlyDigits(st) {
    var res = "";
    var i;
    st = st.toString();
    for (i = 0; i < st.length; i++) {
        if (st.charAt(i) == "0" || st.charAt(i) == "1" || st.charAt(i) == "2" || st.charAt(i) == "3" || st.charAt(i) == "4" || st.charAt(i) == "5" || st.charAt(i) == "6" || st.charAt(i) == "7" || st.charAt(i) == "8" || st.charAt(i) == "9")
            res = res + st.charAt(i);
    }
    return res;    
}

function myComposePhoneNumber(pref, suf) {
    return "+7" + myReturnOnlyDigits(pref) + myReturnOnlyDigits(suf);
}

function insertSp2Phone(tel) {
    tel = tel.toString();
    if (tel.length <= 5 || tel.indexOf(" ", 1)==2)
        return tel;
    tel = tel.substring(0, 2) + " " + tel.substring(2, 5) + " " + tel.substring(5, tel.length);
    return tel;
}

function parse_phone(tel, pref_ph, ph) {
    var temptel = '';
    var temppref = '';
    var flagpref = 0;
    var obj = null;
    tel = insertSp2Phone(tel);
    for (i = 3; i < tel.length; i++) {
        if (tel.substring(i, i + 1) == ' ') {
            flagpref = 1;
        }
        else {
            if (flagpref == 1) temptel = temptel + tel.substring(i, i + 1);
            if (flagpref != 1) temppref = temppref + tel.substring(i, i + 1);
        }
    }
    //alert("parse_phone " + tel + " done: (" + temppref + ") " + temptel);
    obj = document.getElementById(pref_ph);
    if (obj != null) {
        obj.value = temppref;
        if (temppref != "")     // непустой тел
            show_divMODE(pref_ph + "_star", "none");
        else
            show_divMODE(pref_ph + "_star", "");
        //alert("temppref = " + temptel);
    }
    obj = document.getElementById(ph);
    if (obj != null) {
        obj.value = temptel;
        if (temptel != "")     // непустой тел
            show_divMODE(ph + "_star", "none");
        else
            show_divMODE(ph + "_star", "");
        //alert("temptel = " + temptel);
    }
}

function normaliz2(x) {

    x = parseInt(Math.round(x * 100));
    x = x / 100;
    return x;

}

function getHarImageurl(id, text) {

    for (i = 0; i < ArrImgGoods.length; i++) {
        if (ArrImgGoods[i][0] == id && text != '1') id = ArrImgGoods[i][1];
        if (ArrImgGoods[i][0] == id && text == '1') id = ArrImgGoods[i][2];
    }

    return id;
}

function getHarSizeTEXT(id) {
    for (i = 0; i < ArrSizeGoods.length; i++) {
        if (ArrSizeGoods[i][0] == id) id = ArrSizeGoods[i][1];
    }
    return id;
}

// формирует строку с товаром (вызывается ТОЛЬКО из searchConfig)
// GoodsItemObj - объект товара GoodsItemObj
// idxCfgITEM - идентификатор конфигурации со ШТУКАМИ
// idxCfgPACK - идентификатор конфигурации с УПАКОВКАМИ
// baskline - ПОДстрока для добавления в корзину (все есть, кроме значения параметра ValueID УПАКОВКИ)
// harImgID - ValueID ЦВЕТА для установки картинки
// idcolor - ValueID ЦВЕТА
// idsize - ValueID РАЗМЕРА
function writeGoods(GoodsObj, idxCfgITEM, idxCfgPACK, baskline, harImgID, idcolor, idsize) {
    //alert("writeGoods: GoodsObj=" + GoodsObj.GoodsID + ", idxCfgITEM=" + idxCfgITEM + ", idxCfgPACK=" + idxCfgPACK)
    //// priceITEM - Цена1 за штуку в конфигурации со ШТУКАМИ
    //// priceITEMinPACK - Цена1 за штуку в конфигурации с УПАКОВКАМИ
    var priceITEM = GoodsObj.ArrayConfig[idxCfgITEM].Price1;
    var priceITEMinPACK = GoodsObj.ArrayConfig[idxCfgPACK].Price1;
    var remainderITEM = GoodsObj.ArrayConfig[idxCfgITEM].remainder;
    var remainderPACK = GoodsObj.ArrayConfig[idxCfgPACK].remainder;
    var Blockcount = GoodsObj.GoodsID + "_" + idxCfgITEM;  // Blockcount = Blockcount + 1;

    var remainderITEMst = ' <img src="/i/round_red.gif" width=13 height=13 align=right alt="отсутствует" title="отсутствует" style="vertical-align:middle" />';
    if (remainderITEM>0)
        remainderITEMst = ' <img src="/i/round_green.gif" width=13 height=13 align=right alt="в наличии" title="в наличии" style="vertical-align:middle" />';
    var remainderPACKst = ' <img src="/i/round_red.gif" width=13 height=13 align=right alt="отсутствует" title="отсутствует" style="vertical-align:middle" />';
    if (remainderPACK > 0)
        remainderPACKst = ' <img src="/i/round_green.gif" width=13 height=13 align=right alt="в наличии" title="в наличии" style="vertical-align:middle" />';


    var curColorObj = GoodsObj.getColorObjByValueID(idcolor);
    var curSizeObj = GoodsObj.getSizeObjByValueID(idsize);
    if (curColorObj == null) {
        //alert("Ошибка writeGoods: не удается найти XML-объект с цветом");
        //return "";
        // сгенерим объект-обманку с фоткой по умолчанию
        curColorObj = new ColorObj(FieldID_Color, idcolor, GoodsObj.DefGraph);
    }
    if (curSizeObj == null) {
        alert("Ошибка writeGoods: не удается найти XML-объект с размером");
        return "";
    }
    minorder = curSizeObj.MinimumInOrder;
    inPack = curSizeObj.QuantityInPacking;
    weight = curSizeObj.Weight;
    var minmes = priceITEM * minorder;
    var price2Pack = priceITEMinPACK * inPack;


    var harImgURL = curColorObj.picture; // url картинки цвет
    var harImgTEXT = GoodsObj.SAFEgetExtColorObjByValueID(idcolor).Name; //значение цвет
    var harSizeTEXT = GoodsObj.SAFEgetExtSizeObjByValueID(idsize).Name; //значение размер
    //alert("harImgURL=" + harImgURL + ", harImgTEXT=" + harImgTEXT + ", harSizeTEXT=" + harSizeTEXT)
    minmes = normaliz2(minmes);
    price2Pack = normaliz2(price2Pack);

    // если задан параметер iseuro=1 то нужно пересчитать в евро

    if (iseuro == '1') {

        price2Pack = normaliz2(price2Pack / DollarRateValueMax);
        priceITEM = priceITEM / DollarRateValueMax;
        priceITEMinPACK = priceITEMinPACK / DollarRateValueMax;
        minmes = normaliz2(minmes / DollarRateValueMax);


    }

    gop1 = '<a class="addbaskt" href="javascript: getQuan(' + inPack + ', \'' + baskline + idPack + '\',\'quan1' + Blockcount + '\');"><img src="/i/add_bask.gif"></a>';
    gop2 = '<a class="addbaskt" href="javascript: getQuan(' + inPack + ', \'' + baskline + idPack2 + '\',\'quan2' + Blockcount + '\',\'1\');"><img src="/i/add_bask.gif"></a>';

    var line = '<table class="harakteristik" >';
    line = line + '<tr>';
    line = line + '<th class="first">Наименование товара</td>';
    line = line + '<th>Цена</td>';
    line = line + '<th>Мин. кол-во</td>';
    line = line + '<th>Кол-во</td>';
    line = line + '<th>Сумма</td>';
    line = line + '<th>&nbsp;</th>';
    line = line + '</tr>';

    line = line + '<tr>';


    if (harImgURL != '') line = line + '<td rowspan="2" class="name bord"><a href="/linkpics/' + harImgURL + '" rel="prettyPhoto"><img class="goodsp" align=left src="/linkpics/' + harImgURL + '"></a>' + GoodsObj.Artikul + '<br>Размер: ' + harSizeTEXT + '<br>Цвет: ' + harImgTEXT + '<br>Вес: ' + weight + '</td>';
    else line = line + '<td rowspan="2" class="name bord">' + GoodsObj.Artikul + '<br>Размер: ' + harSizeTEXT + '<br>Цвет: ' + harImgTEXT + '<br>Вес: ' + weight + '</td>';


    line = line + '<td class="price bord"><nobr><span id="price1block"><nobr><span id="priceblock1' + Blockcount + '">' + minmes + ' ' + valuesim + '</span></nobr></span></nobr></td>';
    line = line + '<td class="price bord"> ' + minorder + ' ' + GoodsObj.Unit + remainderITEMst + '</td>';
    line = line + '<td class="price bord" align=center>';
    line = line + '<center><table class="counts">';
    line = line + '<td class="updown"><a class="down" href="#" onclick="javascript: up_val(\'-\',\'quan1' + Blockcount + '\',\'sum1' + Blockcount + '\',\'0\',' + priceITEM + ', ' + inPack + ',' + minorder + '); return false;" alt="-1" title="-1"></a></td>';
    line = line + '<td class="inp"><input name="n1' + Blockcount + '" onkeypress="return false" id="quan1' + Blockcount + '" value="0"></td>';
    line = line + '<td class="updown"><a class="up" href="#" alt="+1" title="+1" onclick="javascript: up_val(\'+\',\'quan1' + Blockcount + '\',\'sum1' + Blockcount + '\',\'0\',' + priceITEM + ', ' + inPack + ',' + minorder+ '); return false;"></a></td>';
    line = line + '</table>';
    line = line + '</center></td>';
    line = line + '<td class="price bord" id="sum1' + Blockcount + '">0.00 ' + valuesim + '</td>';
    line = line + '<td class="add bord"><p id="bask' + Blockcount + '" class=goodsbasket>' + gop1 + '</p></td>';
    line = line + '</tr>';

    line = line + '<tr>';
    line = line + '<td class="price bord"><nobr><span id="priceblock2' + Blockcount + '">' + price2Pack + '</span></nobr> ' + valuesim + '</td>';
    line = line + '<td class="price bord">1 уп.<br>(' + inPack + ' ' + GoodsObj.Unit + ')' + remainderPACKst + '</td>';
    line = line + '<td class="price bord" align=center><center>';
    line = line + '<table class="counts">';
    line = line + '<td class="updown"><a class="down" href="#" onclick="javascript: up_val(\'-\',\'quan2' + Blockcount + '\',\'sum2' + Blockcount + '\',\'1\',' + priceITEMinPACK + ', ' + inPack + ',1); return false;" alt="-1" title="-1"></a></td>';
    line = line + '<td class="inp"><input name="n2' + Blockcount + '" onkeypress="return false" id="quan2' + Blockcount + '" value="0"></td>';
    line = line + '<td class="updown"><a class="up" href="#" alt="+1" title="+1" onclick="javascript: up_val(\'+\',\'quan2' + Blockcount + '\',\'sum2' + Blockcount + '\',\'1\',' + priceITEMinPACK + ', ' + inPack + ',1); return false;"></a></td>';
    line = line + '</table>';
    line = line + '</center></td>';
    line = line + '<td class="price bord" id="sum2' + Blockcount + '">0.00 ' + valuesim + '</td>';
    line = line + '<td class="add bord"><p id="bask2' + Blockcount + '" class=goodsbasket>' + gop2 + '</td>';
    line = line + '</tr>';
    line = line + '</table>';
    return line;

}





// поиск конфигурации какой-то
// SizeValueID - ValueID размера
// ColorValueID - ValueID цвета
// isImage - признак того, что сменился ЦВЕТ ('1' - ЦВЕТ, иначе РАЗМЕР)
function searchConfig(SizeValueID, ColorValueID, isImage) {
    // сначала идёт размер, потом цвет, потом пачки. Тут можно вычислить позицию по ИД св-ва, если так удобнее. 

    var pricePack = 0;

    //Blockcount = 0;
    var line = '';
    // 1.находим конфигурацию   2. проставляем цены  3. ФОРМИРУЕМ ССЫЛКУ добавления в корзину


    for (i = 0; i < ArrGoods.length; i++) // находим конфигурации для данного товара
    {
        if (ArrGoods[i].GoodsID == GoodsIDstr) {
            idGood = i;
            break;
        }
    }

    for (idCfg = 0; idCfg < ArrGoods[idGood].ArrayConfig.length; idCfg++) // идем по всем конфигурациям товара
    {	// перебираем все конфигурации


        if (SizeValueID != '' && ColorValueID != '') {  //если заданны оба параметра нужно 2 совпадения по параметрам
            if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID == SizeValueID && ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID == ColorValueID) {
                //наши конфигурацию, где есть наши св-ва...  (1)
                if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdpack].ValueID == idPack) {
                    // pricePack - цена за ШТУКУ (idCfg - конфигурация с ценой за ШТУКУ)
                    pricePack = ArrGoods[idGood].ArrayConfig[idCfg].Price1; 
                    for (idCfg2 = 0; idCfg2 < ArrGoods[idGood].ArrayConfig.length; idCfg2++) {
                        if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID == ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdsize].ValueID && ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID == ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].ValueID && ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdpack].ValueID != idPack) {
                            // нашли конфигурацию с ценой за УПАКОВКУ - idCfg2
                            // сформируем ПОДстроку для добавления в корзину по РАЗМЕРУ, ЦВЕТУ и УПАКОВКЕ (САМ вариант УПАКОВКИ пока не указываем, т.к. их потом будет 2)
                            var baskline = 'c=addbask&idg=' + GoodsIDstr + '&idc=' + ArrGoods[idGood].RubricID + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].FieldID + '=' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID;
                            baskline = baskline + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].FieldID + '=' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID;
                            baskline = baskline + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdpack].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdpack].FieldID + '=';

                            line = line + writeGoods(ArrGoods[idGood], idCfg, idCfg2, baskline, '', ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID, ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID);
                        }
                    }
                }
            }
        }
        else { // если только 1 параметр - то достаточно 1 совпадения

            if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID == SizeValueID || ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID == ColorValueID) {

                //наши конфигурацию, где есть наши св-ва...  (1)
                if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdpack].ValueID == idPack) {
                    // pricePack - цена за ШТУКУ (idCfg - конфигурация с ценой за ШТУКУ)
                    pricePack = ArrGoods[idGood].ArrayConfig[idCfg].Price1;

                    for (idCfg2 = 0; idCfg2 < ArrGoods[idGood].ArrayConfig.length; idCfg2++) {
                        if (ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID == ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdsize].ValueID && ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID == ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].ValueID && ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdpack].ValueID != idPack) {
                            // нашли конфигурацию с ценой за УПАКОВКУ - idCfg2
                            var baskline = 'c=addbask&idg=' + GoodsIDstr + '&idc=' + ArrGoods[idGood].RubricID + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdsize].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdsize].FieldID + '=' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdsize].ValueID;
                            baskline = baskline + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].FieldID + '=' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].ValueID;
                            baskline = baskline + '&idg' + GoodsIDstr + '_f=' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdpack].FieldID + '&idg' +
									+GoodsIDstr + '_f' + ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdpack].FieldID + '=';

                            if (isImage == '0') line = line + writeGoods(ArrGoods[idGood], idCfg, idCfg2, baskline, ArrGoods[idGood].ArrayConfig[idCfg2].ArrayFieldsValues[posIdcolor].ValueID, ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID, ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID);
                            else line = line + writeGoods(ArrGoods[idGood], idCfg, idCfg2, baskline, '', ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdcolor].ValueID, ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIdsize].ValueID);
                        }
                    }
                }
            }
        }

    }

    // выводим блоки
    var blockp = document.getElementById('block_harakterist');
    blockp.innerHTML = line;
}


function getQuan(inPack, line, quan, pack) {

    var q1 = document.getElementById(quan);
    var qu = q1.value * 1;

    if (pack) qu = qu * inPack;

    line = line + '&quan' + GoodsIDstr + '=' + qu;
    line = '/add.html?' + line;

    show_win(700, 200, line);
}

function showiting(act) {
    var obj1 = document.getElementById('popUpblock');
    if (act == 'show') obj1.style.display = 'block';
    if (act == 'hide') obj1.style.display = 'none';
}

function add_images(img, annt, cat, good, img2, name) {
    var x = ArrPhoto.length;
    ArrPhoto[x] = new Array();
    ArrPhoto[x][0] = img;
    ArrPhoto[x][1] = annt;
    ArrPhoto[x][2] = good;
    ArrPhoto[x][3] = img2;
    ArrPhoto[x][4] = name;
}



function write_img(num, img1, img2, img3, act, text) {
    var te = ArrPhoto.length - num;
    if (te < 2 && act == '+') {
        if (tekImg < ArrPhoto.length) {
            tekImg = ArrPhoto.length;

            img1.src = '/linkpics/' + ArrPhoto[num - 1][0];
            img2.src = '/linkpics/' + ArrPhoto[num][0];
            idGoodImg = ArrPhoto[num][2]
            img2big.src = '/linkpics/' + ArrPhoto[num][3];
            img3.src = '/i/0.gif';
            text.innerHTML = ArrPhoto[num][1];
            nameh.innerHTML = ArrPhoto[num][4];
        }
    }
    else if (act == '-' && num < 3) {
        if (tekImg > 1) {
            img1.src = '/i/0.gif';
            img2.src = '/linkpics/' + ArrPhoto[num - 2][0];
            img2big.src = '/linkpics/' + ArrPhoto[num - 2][3];
            idGoodImg = ArrPhoto[num - 2][2]
            img3.src = '/linkpics/' + ArrPhoto[num - 1][0];
            text.innerHTML = ArrPhoto[num - 2][1];
            nameh.innerHTML = ArrPhoto[num - 2][4];
            num = 1;
            tekImg = 1;
        }
    }
    else {
        if (act == '+') {
            tekImg = tekImg + 1;
            num = num + 1;
        }
        if (act == '-') {
            tekImg = tekImg - 1;
            num = num - 1;
        }
        img1.src = '/linkpics/' + ArrPhoto[num - 2][0];
        img2.src = '/linkpics/' + ArrPhoto[num - 1][0];
        img2big.src = '/linkpics/' + ArrPhoto[num - 1][3];
        idGoodImg = ArrPhoto[num - 1][2]
        img3.src = '/linkpics/' + ArrPhoto[num][0];
        text.innerHTML = ArrPhoto[num - 1][1];
        nameh.innerHTML = ArrPhoto[num - 1][4];
    }

}

function hideit(obj) {
    var obj1 = document.getElementById(obj);
    if (obj1) obj1.style.display = 'none';
}
function show_it(obj) {
    var obj1 = document.getElementById(obj);
    if (obj1) obj1.style.display = 'block';
}



// добавление картинок (в селект и в список с рисунками)
function insertimg(GoodsObj, ColorValueID, obj) {
    var line = '';
    var defPic = graph;
    var curPic = '';
    for (i = 0; i < ArrImgGoods.length; i++) {
        // вычислим имя картинки
        curPic = GoodsObj.getColorObjByValueID(ArrImgGoods[i][0]);
        if (curPic!=null)
            curPic = curPic.picture; // ArrImgGoods[i][1];
        if (curPic == null || curPic == "")
            curPic = defPic;
        if (ColorValueID == '' || ColorValueID == 'first') {
            line += '<div class="item">';
            line += '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrImgGoods[i][0] + ',\'1\');">' + ArrImgGoods[i][2] + '</a><br>' + '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrImgGoods[i][0] + ',\'1\');"><img id="' + GoodsIDstr + '_' + ArrImgGoods[i][0] + '" class=goodsel src="/linkpics/' + curPic + '"></a>' + '</div>';
            //alert("insertimg 0: ArrImgGoods[i][0]=" + ArrImgGoods[i][0] + ", ArrImgGoods[i][1]=" + ArrImgGoods[i][1] + ", ArrImgGoods[i][2]=" + ArrImgGoods[i][2]);
            if (ColorValueID == ArrImgGoods[i][0])
                obj.options[obj.options.length] = new Option(ArrImgGoods[i][2], ArrImgGoods[i][0], false, false); // *** VIC true);
            else
                obj.options[obj.options.length] = new Option(ArrImgGoods[i][2], ArrImgGoods[i][0], false, false);
        }
        else {
            if (ColorValueID == ArrImgGoods[i][0]) {
                line += '<div class="item">';
                line += '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrImgGoods[i][0] + ',\'1\');">' + ArrImgGoods[i][2] + '</a><br>' + '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrImgGoods[i][0] + ',\'1\');"><img id="' + GoodsIDstr + '_' + ArrImgGoods[i][0] + '" class=goodsel src="/linkpics/' + curPic + '"></a>' + '</div>';
                if (ColorValueID == ArrImgGoods[i][0])
                    obj.options[obj.options.length] = new Option(ArrImgGoods[i][2], ArrImgGoods[i][0], false, false); // *** VIC true);
                else
                    obj.options[obj.options.length] = new Option(ArrImgGoods[i][2], ArrImgGoods[i][0], false, false);
            }
        }
    }
    //alert("insertimg: " + line);
    return line;
}

function insertlinks(id, obj) { // добавление размеров
    line = '';
    for (i = 0; i < ArrSizeGoods.length; i++) {
        if (id == '' || id == 'first') {

            line += '<div class="item">';
            line += '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrSizeGoods[i][0] + ',\'0\');">' + ArrSizeGoods[i][1] + '</a></div>';
            if (curSizeValueID == ArrSizeGoods[i][0]) obj.options[obj.options.length] = new Option(ArrSizeGoods[i][1], ArrSizeGoods[i][0], false, true);
            else obj.options[obj.options.length] = new Option(ArrSizeGoods[i][1], ArrSizeGoods[i][0], false, false);
        }
        else {// тут  id задан нужно выводить только определенный id

            if (id == ArrSizeGoods[i][0]) {

                line = line + '<div class="item">';
                line = line + '<a href="javascript:checkthisconfig(' + GoodsIDstr + ',' + ArrSizeGoods[i][0] + ',\'0\');">' + ArrSizeGoods[i][1] + '</a></div>';

                if (curSizeValueID == ArrSizeGoods[i][0]) obj.options[obj.options.length] = new Option(ArrSizeGoods[i][1], ArrSizeGoods[i][0], false, true);
                else obj.options[obj.options.length] = new Option(ArrSizeGoods[i][1], ArrSizeGoods[i][0], false, false);

            }
        }

    }
    return line;

}






function add_option(obj, id, img) {

    if (img == '1') {
        for (i = 0; i < ArrSizeGoods.length; i++) {
        }
    }
    else {
        for (i = 0; i < ArrSizeGoods.length; i++) {
        }
    }

}

function ChangeMainImg(imgSrc) {
    var obj = document.getElementById('mainimg');
    if (imgSrc)
    	obj.src = imgSrc;
    else
        obj.src = "/linkpics/" + graph;
}

function initCTC(valute) {
    // записываем в куки и выставляем флаг валюты 1- евро, 0 - рубли
    objE = document.getElementById('ec');
    objR = document.getElementById('rc');
    if (valute == '1') {
        objE.className = 'evro_cur';
        objR.className = 'rub';
        objE.href = 'javascript:void(0);';
        objR.href = "javascript: initCTC(\'0\');";
        iseuro = '1';
        valuesim = '€';

        CreateCookie("setcook", 1, 30);
    }
    else {
        objE.className = 'evro';
        objR.className = 'rub_cur';
        objR.href = 'javascript:void(0);';
        objE.href = "javascript: initCTC(\'1\');";
        CreateCookie("setcook", 0, 30);
        iseuro = '0';
        valuesim = 'Р';
    }


    if (curSizeValueID == '' && curColorValueID != '') {
        //alert('выводим по цвету');
        checkthisconfig(GoodsIDstr, curColorValueID, '1');
    }
    if (curSizeValueID != '' && curColorValueID == '') {
        checkthisconfig(GoodsIDstr, curSizeValueID, '0');

    }
    if (curSizeValueID != '' && curColorValueID != '') {
        checkthisconfig(GoodsIDstr, curSizeValueID, '0');
        //alert('вывод по размеру и цвету пока не работает');
    }

}



// реакция на изменение расширенного свойства конфигурации
// GoodsIDstr - ИД товара
// curFieldValueID - ValueID измененного свойства (FieldID [цвет или размер] смотрится по параметру img)
// img - признак того, что изменили ЦВЕТ ('1' - изменили цвет, иначе изменили размер)
// block - необходимость изменения текущего выбора в селектах конфигурации ('1' - не надо менять, иначе меняем)
function checkthisconfig(GoodsIDstr, curFieldValueID, img, block) {
    //alert("checkthisconfig: GoodsIDstr=" + GoodsIDstr + ", curFieldValueID=" + curFieldValueID + ", img=" + img + ", block=" + block)
    var PackID = idPack2; // id упаковки, чтобы 2 раза не выводилось
    var posIndex = 0;
    var posIndex2 = 0;
    var obj = null;

    if (curFieldValueID != '0') {
        line = '';
        if (img == '1') {   // изменился ЦВЕТ
            objsel = document.getElementById('harsel2'); // обнуляем размер
            objsel.options.length = 1;

            var objimghar = document.getElementById(GoodsIDstr + '_' + curFieldValueID);
            if (objimghar!=null)
                ChangeMainImg(objimghar.src);
        }
        else {   // изменился РАЗМЕР

            objsel = document.getElementById('harsel1'); // обнуляем цвет
            objsel.options.length = 1;
        }
        // GoodsIDstr - ид товара
        // curFieldValueID - ид свойства,конфигурации с которым нажно найти	


        if (img == '1') {
            posIndex = posIdcolor; // позиция св-ва с массивом цвет
            posIndex2 = posIdsize; // размера
            obj = document.getElementById('mansellinks'); // размеры
        }
        else {
            posIndex = posIdsize; // позиция св-ва с массивом размера
            posIndex2 = posIdcolor; // цвета
            obj = document.getElementById('mansel'); // цвета
        }
// нашли товар
        for (i = 0; i < ArrGoods.length; i++) {
            if (ArrGoods[i].GoodsID == GoodsIDstr) {
                idGood = i;
                break;
            }
        }

        for (idCfg = 0; idCfg < ArrGoods[idGood].ArrayConfig.length; idCfg++) // идем по всем конфигурациям товара
        {	// перебираем все конфигурации
            if (curFieldValueID == ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIndex].ValueID && ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[2].ValueID == PackID) {
                //наши конфигурацию, где есть наше св-во... 
                //значим выводим второй св-во ArrayFieldsValues[posIndex2]
                if (img != '1') { // строим фотки
                    line = line + insertimg(ArrGoods[idGood], ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIndex2].ValueID, objsel);
                }
                else { // строим ссылки
                    line = line + insertlinks(ArrGoods[idGood].ArrayConfig[idCfg].ArrayFieldsValues[posIndex2].ValueID, objsel);
                }
            }
        }

        //записываем найденные размеры или цвета
        obj.innerHTML = line;

        // устанавливаем ТЕКУЩИЕ переменные
        if (img == '1') curColorValueID = curFieldValueID;
        else curSizeValueID = curFieldValueID;

        // проверяем парность функцией	
        checkpair(img);


        if (block != '1') {
            if (img == '1') {
                set_selected(document.getElementById('harsel1'), curFieldValueID);
            }
            else {
                set_selected(document.getElementById('harsel2'), curFieldValueID);
            }
        }



    } //  если выбрали "не выбранно", то выводим список всех соотвествующих характеристик
    else {
        //********************************************************************************************************	
        if (img == '1') {
            add_first('0');
            curColorValueID = '';
            searchConfig(curSizeValueID, '', '0');
            ChangeMainImg();
        }
        else {
            add_first('1');
            curSizeValueID = '';
            searchConfig('', curColorValueID);
        }
    }
    $(document).ready(myInitprettyPhoto);
}


// первоначалое добавление ЦВЕТОВ или РАЗМЕРОВ
// img - режим работы ('1' - цвета, иначе размеры)
function add_first(GoodsObj, img) {
    if (img != '1') {   // РАЗМЕРЫ
        var obj1 = document.getElementById('mansellinks'); // div
        var obj2 = document.getElementById('harsel2');  // select
        obj2.options.length = 1;

        line = insertlinks('first', obj2);
        obj1.innerHTML = line;
    }
    else {  // ЦВЕТА
        var obj1 = document.getElementById('mansel'); // div
        var obj2 = document.getElementById('harsel1');  // select
        obj2.options.length = 1;
        
        line = insertimg(GoodsObj, 'first', obj2);
        obj1.innerHTML = line;
    }
}


function checkpair(img) {
    if (curColorValueID != '' || curSizeValueID != '') {
        searchConfig(curSizeValueID, curColorValueID, img);
    }
}


function selectcity(val) {
    if (val == "-1") {
        var obj = document.getElementById('cityselect');
        var obj2 = document.getElementById('cityinput');
        obj.style.display = 'none';
        obj2.style.display = 'block';
    }

}


function selectcountry(val) {

    if (val != "Россия") {
        var obj = document.getElementById('areaselect');
        var obj2 = document.getElementById('areainput');
        obj.style.display = 'none';
        obj2.style.display = 'block';
    }
    else {
        var obj = document.getElementById('areaselect');
        var obj2 = document.getElementById('areainput');
        obj.style.display = 'block';
        obj2.style.display = 'none';

    }


}
function selectarea(val) {
    if (val == "-1") {
        var obj = document.getElementById('areaselect');
        var obj2 = document.getElementById('areainput');
        obj.style.display = 'none';
        obj2.style.display = 'block';
    }
}

// СТАРЬЕ - добавление цвета
function add_ext_one(id, value, name) {

    var x = ArrImgGoods.length;
    ArrImgGoods[x] = new Array();
    ArrImgGoods[x][0] = id;
    ArrImgGoods[x][1] = value;
    ArrImgGoods[x][2] = name;
}
// СТАРЬЕ - добавление размера
function add_ext_two(id, value) {

    var x = ArrSizeGoods.length;
    ArrSizeGoods[x] = new Array();
    ArrSizeGoods[x][0] = id;
    ArrSizeGoods[x][1] = value;

}







function roundprice(price) {
    price = Math.ceil(price)
    xs = price + '';
    return xs;
}




function enter_space(text) {
    text = roundprice(text)


    var x = 1;
    var xx = 0;
    var buf = '';
    var xbuf = ''; //выход цена
    var pass = 0; // пропускить знаков справа

    for (i = text.length - pass; i > 0; i--) {

        buf = buf + text.substring(i - 1, i);
        if (x == 3 + xx) { buf = buf + ' '; x = 1; xx = xx + 1; }
        x = x + 1;
    }

    for (i = buf.length; i > 0; i--) {
        xbuf = xbuf + buf.substring(i - 1, i);
    }
    xbuf = xbuf + text.substring(text.length - pass, text.length);
    document.write(xbuf);
}


// pack == '0' - штуки
// pack == '1' - упаковки
function up_val(doit, id, sumid, pack, price, inPack, minorder) {
    var inpt = document.getElementById(id);
    var sum = document.getElementById(sumid);
    var x = eval(inpt.value);

    if (doit == '+' && pack == '0') {
        minorder = minorder * 1;
        inpt.value = x + minorder;
    }
    if (doit == '+' && pack == '1') {
        inpt.value = x + 1;
    }
    if (doit == '-') {
        if (eval(inpt.value) - 1 < 0) { }
        else if (eval(inpt.value) - minorder < minorder && pack != '1') {
            alert('Минимальное количество для заказа данного товара ' + minorder + ' ' + mesunit);
            inpt.value = minorder;
        }
        else if (pack != '1') inpt.value = x - minorder;
        else inpt.value = x - 1;
    }
    update_quan(id, pack, sumid, price, inPack);
}

function up_val2(doit, id, inPack, mesunit, minorder, packr) {

    var lzheinpt = document.getElementById('lzhe' + id); // внешний инпут
    var inpt = document.getElementById(id); //основной скрытый инпут
    var pack = document.getElementById('get' + id); // инпут со значеним тип упаковки

    var tempvalue = lzheinpt.value;
    tempvalue = tempvalue * 1;
    minorder = minorder * 1;


    if (doit == '+' && pack.value != packr) {
        //штуки	
        tempvalue = tempvalue + minorder;
    }

    if (doit == '+' && pack.value == packr) {
        //пачки
        tempvalue = tempvalue + 1;

    }


    if (doit == '-') {
        if (eval(inpt.value) - 1 < 0) { }
        else if (eval(inpt.value) - 1 < minorder && pack.value != 'Упак') { alert('Минимальное количество для заказа данного товара ' + minorder + ' ' + mesunit); }
        else if (pack.value == packr) tempvalue = tempvalue - 1;
        else tempvalue = tempvalue - minorder;


    }






    update_baskquan(id, tempvalue, inPack, mesunit, minorder);

}

function update_baskquan(id, tempvalue, inPack, mesunit, minorder) {
    var lzheinpt = document.getElementById('lzhe' + id); // внешний инпут
    var inpt = document.getElementById(id); //основной скрытый инпут
    var pack = document.getElementById('get' + id); // инпут со значеним тип упаковки

    if (pack.value == namepack) {
        lzheinpt.value = tempvalue;
        inpt.value = tempvalue * inPack;

    }
    else {



        if (eval(tempvalue) < minorder) {
            alert('Минимальное количество для заказа данного товара ' + minorder + ' ' + mesunit);
            lzheinpt.value = inpt.value;
        }
        else {
            lzheinpt.value = tempvalue;
            inpt.value = tempvalue;
        }

    }

}

function update_quan(id, pack, sumid, price, inPack) {
    var inpt = document.getElementById(id);
    var sum = document.getElementById(sumid);

    if (pack == '0') {
        if (pack == '0' && eval(inpt.value) < minorder) {

            alert('Минимальное количество для заказа данного товара ' + minorder + ' ' + mesunit);
            inpt.value = minorder;
            var result = inpt.value * price;
            sum.innerHTML = result + ' ' + valuesim;
        }
        else {
            var result = inpt.value * price;
            if (pack != '0') result = result * inPack;
            result = normaliz2(result);
            sum.innerHTML = result + ' ' + valuesim;
        }
    }
    else {

        if (pack == '0' && eval(inpt.value) < minorder) {
            alert('Минимальное количество для заказа данного товара ' + minorder + ' ' + mesunit);
            inpt.value = '100';
        }
        else {

            var result = inpt.value * price;
            if (pack != '0') result = result * inPack;
            result = normaliz2(result);
            sum.innerHTML = result + ' ' + valuesim;
        }
    }

}


function show_cur_rubric(id) {

    var obj = document.getElementById('block' + id);
    obj.style.display = 'block';

}


function del_bord(idr, x, f) {
    if (x != 1) {
        if (f == 'f') {
            var obj = document.getElementById('fb' + idr);
            var obj1 = document.getElementById('fb2' + idr);
            obj.style.display = 'none';
            obj1.style.display = 'none';
        }
        else if (f == 't') {
            var obj = document.getElementById('tb' + idr);
            var obj1 = document.getElementById('tb2' + idr);
            obj.style.display = 'none';
            obj1.style.display = 'none';
        }
        else {
            var obj = document.getElementById('b' + idr);
            var obj1 = document.getElementById('b2' + idr);
            obj.style.display = 'none';
            obj1.style.display = 'none';
        }
    }
}


function show_win_work(width, height, s_url, cat, good) {
    s_url = '/vcd-' + cat + '-1-' + good + s_url;
    var p_top = (window.screen.height - height) / 2, p_left = (window.screen.width - width) / 2;
    var win = window.open(s_url, "imgswin", "resizable=yes,scrollbars=yes,toolbar=no,location=no,directoties=no,status=no,menubar=no,width=" + width + ",height=" + height + ",top=" + p_top + ",left=" + p_left);
    win.focus();
}





function show_win(width, height, s_url) {
    var p_top = (window.screen.height - height) / 2, p_left = (window.screen.width - width) / 2;
    var win = window.open(s_url, "imgswin", "resizable=yes,scrollbars=yes,toolbar=no,location=no,directoties=no,status=no,menubar=no,width=" + width + ",height=" + height + ",top=" + p_top + ",left=" + p_left);
    win.focus();
}

function show_print(width, height, s_url, idg) {
    var p_top = (window.screen.height - height) / 2, p_left = (window.screen.width - width) / 2;
    var win_name = "win_" + idg;
    var win_print = window.open(s_url, win_name, "resizable=yes,scrollbars=yes,toolbar=yes,location=no,directoties=no,status=no,menubar=no,width=" + width + ",height=" + height + ",top=" + p_top + ",left=" + p_left);
    win_print.focus();
}

function active_win(surl) {
    window.opener.document.location = surl;
}

function add_bask_img(idcat, idgoods) {
    document.write("<a href='javascript:show_win(500,200,\"/basket_add.html?idc=" + idcat + "&idg=" + idgoods + "&c=addbask&ctype=showbask&r=" + RND + "\")'><img src='/i/basket.gif' width=19 height=16 hspace=4 border=0 alt='в корзину' align=absmiddle></a>");
}

function add_bask_text(idcat, idgoods) {
    document.write("[ <a href='javascript:show_win(500,200,\"/basket_add.html?idc=" + idcat + "&idg=" + idgoods + "&c=addbask&ctype=showbask&r=" + RND + "\")'>в корзину</a> ]");
}

function set_selected(p, v) {
    for (i = 0; i < p.options.length; i++) {
        if (p.options[i].value == v) { p.options[i].selected = true; break; }
    }
}

function set_radio(p, v) {
    for (i = 0; i < p.length; i++) {
        if (p[i].value == v) { p[i].checked = true; break; }
    }
}

function get_radio(p) {
    var res = "";
    for (i = 0; i < p.length; i++) {
        if (p[i].checked) { res = p[i].value; break; }
    }
    return res;
}


function set_checked(p, v) {
    if (p.value == v) p.checked = true;
}






function show_parent_div(div_par) {
    var IDParentElement = "", NextParentElement = "";
    var obj = null;
    var obj1 = null;
    if (document.getElementById(div_par) != null) {
        obj1 = document.getElementById(div_par);
        for (var i = 0; i < 10; i++) {
            obj = obj1;
            if (obj != null) {
                if (obj.id != "" && obj.style.display != "block") {
                    obj.style.display = "block";
                }
            }
            else break;
            if (IsIE) obj1 = eval("obj.parentElement");
            else obj1 = eval("obj.parentNode");
        }
    }
}

function show_div(id_cur) {
    var div_set = null;
    div_set = document.getElementById(id_cur);
    if (div_set != null) {
        if (div_set.style.display == "block") div_set.style.display = "none";
        else div_set.style.display = "block";
    }
}

CurCurse = '1.0';
CurValuteFlag = '0'; // 0 - не установлен, 1-доллары, 2-рубли.

function normalize(price) {
    var pr, str;
    pr = parseInt(Math.round(price * 100));
    str = new String(pr);
    pr = "";
    if (str.length > 2)
        pr += str.substring(0, str.length - 2);
    else
        pr += "0";
    pr += ".";
    if (str.length > 2)
        pr += str.substring(str.length - 2, str.length);
    else {
        if (str.length == 1)
            pr += "0";
        pr += str;
    }
    return pr;
}

function price_alt(in_price, in_usd, in_rur) {
    if (in_price == '' || (in_usd == '' && in_rur == '')) return;
    var normal_price = parseFloat("0" + in_price);
    if (in_usd != '') { document.write(normalize(normal_price * CurCurse) + " руб."); return; } // если цена товара в USD, то пересчитаем в рублях и отобразим альтернативную цену
    if (in_rur != '') { document.write(normalize(normal_price / CurCurse) + " $"); return; } // если цена товара в USD, то пересчитаем в рублях и отобразим альтернативную цену
}

function price_alt2(in_price) {
    var normal_price = parseFloat("0" + in_price);
    if (CurValuteFlag == '1') { document.write(normalize(normal_price * CurCurse) + " руб."); return; } // если цена товара в USD, то пересчитаем в рублях и отобразим альтернативную цену
    if (CurValuteFlag == '2') { document.write(normalize(normal_price / CurCurse) + " $"); return; } // если цена товара в USD, то пересчитаем в рублях и отобразим альтернативную цену
}

function ico_img(graph) {
    if (graph == '/i/null.gif') document.write('<img src="/i/ico_noimg.gif" width=30 height=30 border=0 alt="Изображение отсутствует">');
    else if (graph == '/i/noimage.gif') document.write('<img src="/i/ico_noimg.gif" width=30 height=30 border=0 alt="Изображение отсутствует">');
    else document.write('<img src="/i/ico_img.gif" width=30 height=30 border=0 alt="Описание с изображением">')
}

function CreateCookie(name, value, ex_date) {
    var today = new Date();
    today.setDate(today.getDate() + ex_date);
    document.cookie = name + "=" + value + "; expires=" + today.toGMTString() + "; path=/;";
}

function CreateTmpCookie(name, value) {
    document.cookie = name + "=" + value + "; path=/;";
}

function RemoveCookie(name) {
    CreateCookie(name, "", -1);
}

function ReadCookie(name) {
    var tmpName = name + "=";
    if ((startName = atStr(tmpName, document.cookie)) != -1) {
        var startVal = startName + tmpName.length;
        if ((endVal = document.cookie.indexOf(";", startVal)) == -1)
            endVal = document.cookie.length;
        return unescape(document.cookie.substring(startVal, endVal));
    }
    return null;
}

function atStr(sub, str) {
    for (var i = 0; i <= str.length - sub.length; i++)
        if (str.substring(i, i + sub.length).toUpperCase() == sub.toUpperCase()) return i;
    return -1;
}

function SetCompare(obj, id_goods) {
    if (!obj.checked) RemoveCookie("idg" + id_goods); else CreateTmpCookie("idg" + id_goods, id_goods);
}

function SpellCompare(obj) {
    var str = "";
    var start_IDG = 0;
    var end_IDG = -1;
    var break_point = 0;
    var flag;
    while (start_IDG != -1) {
        start_IDG = document.cookie.indexOf("idg", start_IDG);
        end_IDG = document.cookie.indexOf("=", start_IDG);
        if (start_IDG == -1 || end_IDG == -1) break;
        idg = unescape(document.cookie.substring(start_IDG + 3, end_IDG));
        start_IDG = end_IDG;
        flag = false;
        //alert("idg="+idg+" , obj.idg.length="+obj.idg.length);
        if (isNaN(obj.idg.length)) {
            if (obj.idg.value == idg) { obj.idg.checked = true; flag = true; }
        }
        else {
            for (i = 0; i < obj.idg.length; i++) {
                if (obj.idg[i].value == idg) { obj.idg[i].checked = true; flag = true; break; }
            }
        }
        //alert("flag="+flag);
        if (!flag) {
            //alert("!!! idg="+idg);
            str += "<input type=hidden name=idg value=" + idg + ">"
        }
        break_point++; if (break_point > 10) break;
    }
    return str;
}

function SearchScroll(FileAction, pgsize, numpage, stype, str_url) {
    var s1 = new RegExp("pgsize=[^&]*&|pgsize=.*$", "gi");
    var s2 = new RegExp("page=[^&]*&|page=.*$", "gi");
    var s3 = new RegExp("stype=[^&]*&|stype=.*$", "gi");
    var str_url_r = '';
    var ch = '';
    var WWWWW = str_url;
    var IsNetscape = (window.navigator.appName.toLowerCase().indexOf('netscape') != -1) ? true : false;

    str_url = str_url.replace(s1, ''); str_url = str_url.replace(s2, ''); str_url = str_url.replace(s3, '');
    for (i = 0; i < str_url.length; i++) {
        ch = str_url.substr(i, 1);
        if (ch != '=' && ch != '&' && ch != '%' && !IsNetscape) str_url_r += escape(ch); else str_url_r += ch;
    }
    if (str_url_r.substr(str_url_r.length - 1, 1) == '&') str_url_r = str_url_r.substr(0, str_url_r.length - 1);
    document.location = FileAction + '?c=search&pgsize=' + pgsize + '&page=' + numpage + '&stype=' + stype + '&' + str_url_r
}

function logoff(file_templ, idc, stype, page, idr, idt, idn, idg, bask) {
    RemoveCookie("login");
    RemoveCookie("pass");
    RemoveCookie("userid");

    if (bask == '1') document.location = '/' + file_templ + '?idc=' + idc + '&stype=' + stype + '&page=' + page + '&idr=' + idr + '&idt=' + idt + '&idn=' + idn + '&idg=' + idg + '&r=' + RND + '&ctype=showbask';
    else document.location = '/' + file_templ + '?idc=' + idc + '&stype=' + stype + '&page=' + page + '&idr=' + idr + '&idt=' + idt + '&idn=' + idn + '&idg=' + idg + '&r=' + RND;
    //location.reload();
}

function ReadStatusOrder(val) {
    var aStatus = val.split(";");
    for (i = 0; i < aStatus.length - 1; i++) {
        aVal = aStatus[i].split("=");
        document.write(" <br> " + aVal[0] + " : " + aVal[1]);
    }
}

function w_send() {
    document.write('<input type=hidden name=s_ch value=\"' + s_ch + '\"><input type=hidden name=s_cf value=\"' + s_cf + '\">');
}


function show_divMODE(id_cur, mode) {
    var div_set = null;
    div_set = document.getElementById(id_cur);
    if (div_set != null)
        div_set.style.display = mode;
}

function show_divMODE_Doc(doc, id_cur, mode) {
    var div_set = null;
    div_set = doc.getElementById(id_cur);
    if (div_set != null)
        div_set.style.display = mode;
}

function normalizeDelim(price, delimStr) {
    var pr, str;
    //price=price.replace(',', '.');
    pr = parseInt(Math.round(price * 100));
    str = new String(pr);
    pr = "";
    if (str.length > 2)
        pr += str.substring(0, str.length - 2);
    else
        pr += "0";
    pr += delimStr;
    if (str.length > 2)
        pr += str.substring(str.length - 2, str.length);
    else {
        if (str.length == 1)
            pr += "0";
        pr += str;
    }
    return pr;
}

function g_weight(p_weight, p_quan) {
    var weight = parseFloat(p_weight);
    var quan = parseInt(p_quan);
    Order_Weight += weight * quan;
    document.write(normalize(weight * quan));
}

function RemoveInSelect(p, v) {
    for (i = 0; i < p.options.length; i++) {
        if (p.options[i].value == v) {
            p.remove(i); break;
        }
    }
}

function RemoveAllInSelect(p) {
    p.length = 0;
    //while (p.options.length>0)
    //p.remove(0);
}

function AddInSelect(oSelect, MyValue, MyText) {
    if (MyValue > 9)
        return;
    //var oOption = document.createElement("OPTION");
    //oOption.innerText = MyText;
    //oOption.value = MyValue;
    //oSelect.options.add(oOption);// : 
    oSelect.options[oSelect.length] = new Option(MyText, MyValue);
    //oSelect.add(oOption, null);
    //alert(MyValue+' : '+MyText);
    //oSelect.options.add(new Option(MyText,MyValue));
    //alert("AddInSelect(" + MyValue + ", " + MyText + ")");
}

function ShippingItemObj(ID, Name, Price) {
    this.ID = ID;
    this.Name = Name;
    this.Price = Price;
}

function GetShippingName(ShippingID) {
    var q;
    for (q = 0; q < shippingarr.length; q++)
        if (shippingarr[q] != null && shippingarr[q].ID == ShippingID)
        return shippingarr[q].Name;
    return "";
}

function GetShippingPrice(ShippingID) {
    var q;
    for (q = 0; q < shippingarr.length; q++)
        if (shippingarr[q] != null && shippingarr[q].ID == ShippingID)
        return shippingarr[q].Price;
    return 0;
}

function allowEndorder(doc, my_shippingsumRUR) {
    var obj_form = doc.getElementById("regform");
    if (obj_form == null) {
        alert("ОШИБКА: allowEndorder: obj_form == null");
        return false;
    }
    obj_form.shippingsum.value = normalize(parseFloat(my_shippingsumRUR));
    var a = parseFloat(obj_form.shippingsum.value);
    var b = parseFloat(obj_form.ordersum.value);
    var totalcost = a + b;

    changeText(doc, doc.getElementById("total"), "Итого к оплате: " + normalize(totalcost) + " руб.");
    changeText(doc, doc.getElementById("shipsum"), "Стоимость доставки: " + normalize(obj_form.shippingsum.value) + " руб.");
    //alert("shippingcurrency=" + obj_form.shippingcurrency.value);
    show_divMODE_Doc(doc, "shipsum", "block"); // показываем стоимость доставки
    show_divMODE_Doc(doc, "total", "block"); // показываем общую стоимость заказа
    show_divMODE_Doc(doc, "SUBMITbut", "block"); // показываем кнопку "Оформить заказ"
    show_divMODE_Doc(doc, "SUBMITbut_2", "block"); // показываем кнопку "Оформить заказ"
    return true;
}

function disallowEndorder(doc) {
    var tmp = doc.getElementById("shipsum");
    if (doc.getElementById("shipsum") != null) {
        changeText(doc, doc.getElementById("shipsum"), "Стоимость доставки пока не определена, необходимо выбрать способ доставки и рассчитать стоимость");
    }
    show_divMODE_Doc(doc, "shipsum", "block"); // показываем стоимость доставки
    show_divMODE_Doc(doc, "total", "none"); // скрываем общую стоимость заказа
    show_divMODE_Doc(doc, "SUBMITbut", "none"); // убираем кнопку "Оформить заказ"
    show_divMODE_Doc(doc, "SUBMITbut_2", "none"); // убираем кнопку "Оформить заказ"
}

function disallowEndorderMsg(idd, ids, doc, Msg) {
    var tmp = doc.getElementById("shipsum");
    if (doc.getElementById("shipsum") != null) {
        changeText(doc, doc.getElementById("shipsum"), Msg);
    }
    show_divMODE_Doc(doc, "shipsum", "block"); // показываем стоимость доставки
    show_divMODE_Doc(doc, "total", "none"); // скрываем общую стоимость заказа
    show_divMODE_Doc(doc, "SUBMITbut", "none"); // убираем кнопку "Оформить заказ"
    show_divMODE_Doc(doc, "SUBMITbut_2", "none"); // убираем кнопку "Оформить заказ"
}

function EndOrder_OnSubmit() {
    var obj_form = document.getElementById("regform");
    if (obj_form == null) {
        alert("ошибка EndOrder_OnSubmit: не найдена форма");
        return false;
    }
    var p = get_radio(obj_form.paymentid_rad);
    if (p == "" || p == "0") {
        alert("Необходимо выбрать способ оплаты");
        return false;
    }
    document.getElementById("paymentid").value = p;
    p = get_radio(obj_form.shippmode_rad);
    if (p == "" || p == "0") {
        alert("Необходимо выбрать способ доставки");
        //alert("Необходимо выбрать способ доставки и рассчитать стоимость");
        return false;
    }
    document.getElementById("shippmode").value = p;
    //alert("paymentid=" + document.getElementById("paymentid").value + ", shippmode=" + document.getElementById("shippmode").value);
    //return false;
    if (obj_form.delivery_comment.value != "") {
        var res = "";
        for (i = 0; i < p.length; i++) {
            if (p[i].selected) { res = "\r\nСпособ оплаты: " + p[i].text; break; }
        }
        obj_form.ordercomment.value = obj_form.ordercomment.value + obj_form.delivery_comment.value + res;
    }
    //alert("obj_form.ordercomment.value = " + obj_form.ordercomment.value);
    //return false;
    return true;
}

function myRound(number2Round, NumDigitsAfterComma) {
    //return number2Round;
    var n = Math.pow(10, NumDigitsAfterComma);
    return Math.round(number2Round * n) / n;
}

function isValidEmail(email) {
    return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}

function addHandler(object, event, handler) {
    if (object.addEventListener) {
        object.addEventListener(event, handler, false);
    } else if (object.attachEvent) {
        object.attachEvent('on' + event, handler);
    } else alert("addHandler is not supported");
}

function removeHandler(object, event, handler) {
    if (object.removeEventListener) {
        object.removeEventListener(event, handler, false);
    } else if (object.detachEvent) {
        object.detachEvent('on' + event, handler);
    } else alert("removeHandler is not supported");
}

