/* 
 *
 * Общие функции, которые должны работать для всех конструкторов (в теории)
 * 
 */
//var tie_design_base = '../customTie/';

/**
 * У эксплореров нет поиска в массиве по значению, поэтому придется добавить.
 */

if(typeof Array().indexOf != 'function'){
  Array.prototype.indexOf = function(obj){
   for(var i=0; i<this.length; i++){
    if(this[i]==obj){
     return i;
    }
   }
   return -1;
  }
}


function dbg(obj) {
    elt('dbg').innerHTML = dump_object(obj);
}

function dump_object(obj, prepend) {
    html = '';
    if(prepend == null)
        prepend = 'root:';
    for(var i in obj) {
        if(typeof obj[i] == 'object')
            html += prepend + i + ':<br/>' + dump_object(obj[i], prepend + ":" + i + ':') + '<br/>';
        else
            html += prepend + i + ': ' + obj[i] + '<br/>';
    }

    return html;
}

function empty( val ) {
    return ( val === "" || val === 0   || val === "0" || val === null  || val === false  ||  ( typeof val=='object' && (val instanceof Array) && val.length === 0 ) );
}

function getTie_callback (res) {
    eval (res);
    cart_shirt = a;
    var s = '';
    s += '<table summary="">';
    s += '<tr>';
    s += '<td width="50%">';
    //    s += '<span class="articleDescrHeader">Ткань:</span>';
    s += '<img alt="" src="' + tie_design_base + (a.useTieFabric == 'true' ? a.tieFabric : a.fabric) + '/fabric_icon.png" />';
    s += '<span class="articleDescrHeader">Описание:</span>';
    s += a.description;
    s += '</td>';

    s += '</tr>';
    s += '</table>';
    write_inner ('tieView', s);
    url = window.location + '';
    url.match(/customTie/) ?
        show_inline_item ('copy2designTie') : hide_item ('copy2designTie');

    if (current_popup == 'cartView_page')
        change_popup2 ('customTieView_page');
    else
        change_popup4 ('customTieView_page');
}

function getActiveAddress () {
    customerService (0, 'addressList', function (res) {
        eval (res);
        for (oid in a) {
            if (a[oid].selected == 'true') {
                selected_address = a[oid];
                return;
            }
        }
    });
}

function getOrder_callback (res) {
    eval (res);
    order = zorder;
    order_contents = a;
    write_inner ('order_num', order.orderNum);
    write_inner ('order_date', date_conv (order.orderDate));
    var s = '';
    for (var i in a) {
        var o = a[i];
        if (o.category.match(/^custom/)) { 
            if (o.variation && o.category == 'customshirt') {
                src = '/' + contentGender + '/shirtPresets/'+ o.variation + '/pict.jpg';
            } else if (o.variation && o.category == 'customskirt') {
                src = '/' + contentGender + '/skirtPresets/' + o.variation + '/pict_cart.jpg';
            } else {
                src = '/' + contentGender + '/' + o.category + '/'+ o.product + '/fabric_icon.png';
            }        
        } else { 
            if (o.category == 'presets') {
                switch (o.variation) {
                    case 'ladiesSkirt':
                        src = '/' + contentGender + '/skirtPresets/' + o.article + '/pict.jpg';
                        break;
                }
            } else {
                src = '/' + contentGender + '/' + o.category + '/' + o.product + '_pict.jpg';
            } 
        }
        s += '<div class="cart_article">';
        s += '<table summary="">';
        s += '<tr>';
        s += '<td width="100">';
        s += '<img alt="" src="' + src + '" /><br />';
        s += '</td>';
        s += '<td width="130">';
        s += '<span class="articleName" onclick="orderArticleView(this,\'' + i + '\')">';
        s += o.displayName;
        s += '</span>';
        s += '<br />Цена: ' + o.price + ' руб.<br />';
        s += '<br />Количество: ' + o.count + '<br />';
        s += '<br />Сумма: ' + o.sum + ' руб.';
        s += '</td>';
        s += '<td>';
        s += '<span class="articleDescrHeader">Описание:</span><br />';
        s += o.shortDescription;
        s += '</td>';
        s += '</tr>';
        s += '</table>';
        s += '</div>';
    }
    s += 'Стоимость товаров: ' + (order.sum - order.shippingSum) + ' руб.<br />';
    s += 'Стоимость доставки: ' + order.shippingSum + ' руб.<br />';
    s += 'Итого: ' + order.sum + ' руб.<br />';
    var toPay = order.sum - order.usedOst - order.usedVirtual;
    var usedBalance = order.sum - toPay;
    if (usedBalance > 0) {
        s += 'Использовано с л/с: ' + usedBalance + ' руб.<br/>';
        s += 'К оплате: <b>' + toPay + '</b> руб.<br />';
    }
    if (toPay > 0 && order.paidByCard == '0' && !order.shipping.match (/^intl/))
        show_inline_item ('getInvoice');
    else
        hide_item ('getInvoice');
    if (order.paidByCard != '0')
        show_inline_item ('getReceipt');
    else
        hide_item ('getReceipt');
    var state = order.orderState;
    if (state == 'created' && toPay > 0) {
        getActiveAddress ();
        write_inner ('checkout4_toPay', toPay); //Для того, чтоб работал Ассист из истории
        write_inner ('checkout4_orderNum', order.orderNum);
        show_inline_item ('payOrder');
        show_inline_item ('payOrderAssist');
    } else {
        hide_item ('payOrder');
        hide_item ('payOrderAssist');
    }
    if (state == 'created' && toPay == 0)
        show_inline_item ('confirmOrder');
    else
        hide_item ('confirmOrder');
    if (state == 'created' || state == 'confirmed' || state == 'scheduled' || state == 'scheduled2')
        show_inline_item ('cancelOrder');
    else
        hide_item ('cancelOrder');
    if (state == 'shipped' || state == 'shipped2')
        show_inline_item ('confirmDelivery');
    else
        hide_item ('confirmDelivery');
    write_inner ('orderView', s);
    change_popup3 ('orderView_page');
}

