design_sex = 'm';
var productType = 'customBooklet';
var productName = 'Буклет';
var addShirtSvc = 'addCustomBooklet';
var last_meas_step = last_meas_mens_step;
var meas = meas_mens;

var fabricNumAdded = 0;
var fabricsAdded = new Array ();

var fabrics = new Array ();
var tieFabrics = new Array ();
var skirtFabrics = new Array ();

/**
 * Добавляет ткань в буклет
 */
function addFabricToList () {
    if(fabricNumAdded < 12 && fabricsAdded.indexOf (product.bookletFabric) == -1) {
        fabricNumAdded += 1;
        cell = elt('bf'+ fabricNumAdded);
        cell.innerHTML = '<img src="/images/dummy.gif" class="bookletFabric_img" id="img_bf'+ fabricNumAdded +'" onclick="fabric_zoom(\''+ product.bookletFabric +'\',  \'bookletFabric\')">\n\
            <img class="bookletFabric_remove" src="/images/popup_close_small.png" onClick="removeFabricFromList(\''+ product.bookletFabric +'\')">';

        last_imgs['bf' + fabricNumAdded] = '';
        if(currentProductAttr.bookletFabric.values[product.bookletFabric].priceTie == -1) {
            urlbase = '/female/skirtPresets/fabric/';
            change_part ('bf' + fabricNumAdded, product.bookletFabric +'_icon');
        } else if(currentProductAttr.bookletFabric.values[product.bookletFabric].price == 0) {
            urlbase = tie_design_base + product.bookletFabric + '/';
            change_part ('bf' + fabricNumAdded, '../../customTie/' + product.bookletFabric +'/fabric_icon');
        } else {
            urlbase = design_base + product.bookletFabric + '/';
            change_part ('bf' + fabricNumAdded, 'fabric_icon');
        }

        fabricsAdded.push(product.bookletFabric);

        product['fabric' + fabricNumAdded] = product.bookletFabric;
    } else if (fabricNumAdded >= 12) {
        myalert("Невозможно добавить более 12 тканей в 1 буклет.\r\nВы можете удалить ненужную ткань из конструктора буклета, нажав на значок \"х\", и после этого добавить другую ткань.")
    }
}

/**
 * Убирает ткань из буклета и переносит оставшиеся
 */
function removeFabricFromList (fabric) {
    var num = fabricsAdded.indexOf(fabric);
    if(num > -1 && num < 12) {
        fabricsAdded.splice(num, 1);
        for (i = num + 1; i <= fabricNumAdded-1; i++) {
            currentCell = elt('bf'+ i);
            nextCell = elt('bf'+ (i + 1));
            if(product['fabric' + i] &&  product['fabric' + (i + 1)]) {
                product['fabric' + i] = product['fabric' + (i + 1)]
            }
            if(currentCell && nextCell) {
                currentCell.innerHTML = nextCell.innerHTML;
                currentCell.getElementsByTagName('img')[0].id = 'img_bf'+i;
            }
        }

        elt('bf'+ fabricNumAdded).innerHTML = '<div class="bookletFabric_placeholder" ></div>';
        product['fabric' + fabricNumAdded] = '';

        fabricNumAdded -= 1;
    }
}

/**
 * Добавить буклет в корзину
 */
function addBooklet () {
    p = {};
    p.price = product.price;
    for (i in product) {
        p[i] = product[i];
    }

    if(fabricNumAdded < 1) {
        myalert ('Необходимо выбрать хотя бы одну ткань.');
        return;
    } else if (fabricNumAdded < 12) {
        if (!myconfirm ('Вы можете добавить больше образцов тканей. Отправить текущий буклет в корзину?')) {
            return;
        }
    }

    delete p.bookletFabric;
    delete p.has;

    p.measurementsName = '';

    customerService (null, addShirtSvc, addShirt_callback, p);
}

/**
 * Попап с тканями для буклета
 */
function write_bookletFabric_popup (attr, cols, help) {
    splitFabrics ();
    var s = '';
    if (fabrics.length > 0 ) {
        s = genFabricsTable(fabrics, attr, cols);
        write_inner ('select_' + attr, s);
        show_item ('fabricsSelectBookletLabel');
    }

    if (tieFabrics.length > 0 ) {
        s = genFabricsTable(tieFabrics, attr, cols);
        write_inner ('select_bookletTieFabric', s);
        show_item ('tieFabricSelectBookletLabel');
    }

    if (skirtFabrics.length) {
        s = genSkirtFabricTable(skirtFabrics, attr, cols);
        write_inner ('select_bookletSkirtFabric', s);
        show_item ('skirtFabricSelectBookletLabel');
    }

}

/**
 * Генерирует таблицу с тканями
 */
function genFabricsTable (fabricEnum, attr, cols) {
    var s = '';
    var i = 0;
    var j;
    var base = '';
    var icon = attr == 'contrastFabric' ? 'icon_contrast_' : 'icon_';
    s += '<table cellpadding="5">';
    for (var q in fabricEnum) {
        var v = fabricEnum[q];
        if (typeof v != 'string') continue;
        base = currentProductAttr[attr].values[v].price == 0 ?
            tie_design_base : design_base;
        s += i ? '' : '<tr>';
        s += '<td>';
        s += '<div class="design_menu_popup_icon">';
        s += '<img src="' + base + v + '/fabric.png" id="' + icon + v + '" onclick="select_icon(\'' + attr + '\',\'' + v + '\')" />';
        s += '</div>';
        s += '<div class="fabric_cotton">' + currentProductAttr[attr].values[v].shortComposition + '</div>';
        s += '<div class="fabric_name">' + currentProductAttr[attr].values[v].displayName + '</div>';
        s += '</td>';
        i++;
        if (i >= cols)
            i = 0;
        s += i ? '' : '</tr>';
    }
    if (i) {
        for (j = i; j < cols; j++)
            s += '<td>&nbsp;</td>';
        s += '</tr>';
    }
    s += '</table>';

    return s;
}

function genSkirtFabricTable (fabricEnum, attr, cols) {
    var s = '';
    var i = 0;
    var j;
    var base = '';
    var icon = attr == 'contrastFabric' ? 'icon_contrast_' : 'icon_';
    s += '<table cellpadding="5">';
    $(fabricEnum).each(function(k,v) {
        base = currentProductAttr[attr].values[v].price == 0 ?
            tie_design_base : design_base;
        s += i ? '' : '<tr>';
        s += '<td>';
        s += '<div class="design_menu_popup_icon">';
        s += '<img src="/female/skirtPresets/fabric/' + v + '_65x65.png" id="' + icon + v + '" onclick="select_icon(\'' + attr + '\',\'' + v + '\')" />';
        s += '</div>';
        s += '<div class="fabric_cotton">' + currentProductAttr[attr].values[v].shortComposition + '</div>';
        s += '<div class="fabric_name">' + currentProductAttr[attr].values[v].displayName + '</div>';
        s += '</td>';
        i++;
        if (i >= cols)
            i = 0;
        s += i ? '' : '</tr>';
    });
    if (i) {
        for (j = i; j < cols; j++)
            s += '<td>&nbsp;</td>';
        s += '</tr>';
    }
    s += '</table>';

    return s;
}

/**
 * Делит список тканей на рубашечные и галстучные
 */
function splitFabrics () {
    fabrics =  new Array () ;
    tieFabrics = new Array () ;
    skirtFabrics = new Array ();
    for(var v in currentProductAttr['bookletFabric'].values) {
        if(currentProductAttr['bookletFabric'].values[v].priceTie == -1) {
            skirtFabrics.push(v);
        } else if (currentProductAttr['bookletFabric'].values[v].price == 0) {
            tieFabrics.push(v)
        } else {
            fabrics.push(v);
        }
    }
}

/**
 * Событие, вызываемое при щелчке по ткани в списке
 */
function change_bookletFabric() {
    change_button_text ('bookletFabric', product.bookletFabric);
    addFabricToList();
    calc_price();
}

/**
 * Посчитать цену
 */
function calc_price () {
    var price = attr_cost ('bookletFabric');
    product.price = parseInt(price);
}

/**
 * Начальная отрисовка рабочего пространства
 * Если не рисуются начальные значения - ругаться сюда
 */
function draw_workspace () {
    select_icon ('bookletFabric', product.bookletFabric);
    removeFabricFromList (product.bookletFabric);
}

function design_init (section) {
    prepareProductAttr();
    currentProductAttr = productAttr.customBooklet;

    set_attr_defaults ();
    
    
    init ();


    urlbase = design_base + product.bookletFabric + '/';

    write_bookletFabric_popup ('bookletFabric', 3);

    hide_item ('please_wait');

    draw_workspace ();
    change_section (section ? section : 'booklet_design');
    
    $('a#bookletFabric').trigger('click');
}

//Нужно вызывать для того, чтоб происходило изменение выбраного пункта
function select_icon (attr, val) {
    var icon = deselect_icon (attr);
    product[attr] = val;
    if(val != '') {
        try {
            elt(icon + val).className = 'selected_icon';            
        } catch (err) {
            //dbg(err);
        }
    }
    
    try{
        eval ('change_' + attr + '()');
    } catch (err) {
        //dbg(err);
    }
}

