ns('Carib.Order.Widgets');

/**
 * Preview table
 * 
 * @version $Id: preview_table.js 545 2009-09-10 16:21:55Z  $
 */
Carib.Order.Widgets.PreviewTable = function(config) {
  config = $.extend({
    column_model: [ 'residence', 'excursions', 'transfer', 'airfare', 'guide', 'control' ],
    hide_empty: true,
    remove_msg: 'Вы уверены, что хотите удалить направление?'
  }, config || {});
  Carib.Order.Widgets.PreviewTable.superclass.constructor.call(this, config);
}

utils.extend(Carib.Order.Widgets.PreviewTable, Carib.Order.Widgets.EditableTable, {
  _getRowClass: function(record, num) {
    return num % 2 == 0 ? 'two' : false; 
  },
  
  _removeRow: function(record, num) {
    Carib.Order.Widgets.PreviewTable.superclass._removeRow.call(this, record, num);
    
    this._updateParity();
  },  
  
  _updateParity: function() {
    this.recordset.each(function(num, record) {
      var $row = this.getTableRow(record);
      if(num % 2 == 0)
        $row.addClass('two');
      else
        $row.removeClass('two');
    }, this);
  },
  
  _residenceRenderer: function(record) {
    var residence = record.get('residence');
    var content = '';
      content += '<div><strong>Страна:</strong><br/>' + residence.data.country_name + '</div>';
      content += '<div><strong>Город/курорт:</strong><br/>' + residence.data.city_name + '</div>';
      content += '<div><strong>Тур:</strong><br/>' + residence.data.tour_name + '</div>';
    if(!record.isTourDefined()) {
      content += '<div><strong>Отель:</strong><br/>' + residence.data.hotel_name + '</div>';
    }
      content += '<div><strong>Ночей:</strong> ' + residence.data.nights + '</div>';
      content += '<div><strong>Размещение:</strong><br/>' + residence.data.placing_category_name + '</div>';
    if(!record.isTourDefined()) {
      content += '<div><strong>Номер:</strong><br/>' + residence.data.number_category_name + '</div>';
      content += '<div><strong>Питание:</strong><br/>' + residence.data.food_type_name + '</div>';
    }
    return { content: content };
  },
  
  _excursionsRenderer: function(record) {
    var content = '';
    if(!record.isTourDefined()) {
      var excursions = record.get('residence').get('excursions');
      excursions.each(function(num, record){
        content += '<div>' + record.get('name') + '</div>';
      });
    } else {
      content += '<div><strong>По программе тура:</strong><br/>' + record.get('residence').get('tour_name') + '</div>';
    }
    return { content: content };
  },
  
  _guideRenderer: function(record) {
    var guide = record.get('guide');
    var language = record.get('language');
    var content = '';
    if(guide == '-') {
      content += 'Нет'
    } else {
      content += '<div>' + guide + '</div>';
      content += '<div>' + language + '</div>';
    }
    return { content: content };
  },
  
  _transferRenderer: function(record) {
    var transfer = record.get('residence').get('transfer');
    if(record.isTourDefined()) 
      transfer = '<div><strong>По программе тура:</strong><br/>' + record.get('residence').get('tour_name') + '</div>';
      
    return { content: transfer };
  }
});

