function ItemTarifada(){

	var dsBook,
		opcoesSelecionadasIt;
	
	this.setDsBook = function(value){
		dsBook = value;
		opcoesSelecionadasIt = dsBook.tables.OpcoesSelecionadas.getIterator('sourceName');
	};
	
	this.getDsBook = function(){
		return dsBook;
	};
	
	this.getOpcoesSelecionadasIt = function(){
		return opcoesSelecionadasIt;
	};
	
	this.getTarifasTable = function(id){
		
		var first = true;
		var tarifaRow;
		var geralRow = dsBook.tables.DadosGerais.rows[0];

		var sb = new StringBuilder();

		for(var i = 0; i < dsBook.tables.Tarifas.rows.count(); i++){
			tarifaRow = dsBook.tables.Tarifas.rows[i];
			if(first){
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.id = id;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.rowspan = dsBook.tables.Tarifas.rows.count();
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.preco = geralRow.precoADT.formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.gds = tarifaRow.sourceCode;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.tipo = tarifaRow.tipoDePax;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.moeda = tarifaRow.moeda;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.tarifa = tarifaRow.valorBase.formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.taxas = (tarifaRow.valorTotal - tarifaRow.valorBase).formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.total = tarifaRow.valorTotal.formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.segmentos = tarifaRow.segmentos;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.base = getBaseTarifaria(tarifaRow.codTarifa);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.classe = tarifaRow.classe;
				sb.append(mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_0.getHtml());
				first = false;
			}
			else{
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.gds = tarifaRow.sourceCode;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.tipo = tarifaRow.tipoDePax;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.moeda = tarifaRow.moeda;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.tarifa = tarifaRow.valorBase.formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.taxas = (tarifaRow.valorTotal - tarifaRow.valorBase).formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.total = tarifaRow.valorTotal.formatNumber(2,true);
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.segmentos = tarifaRow.segmentos;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.classe = tarifaRow.classe;
				mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.base = getBaseTarifaria(tarifaRow.codTarifa);
				sb.append(mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0_1.getHtml());
			}
		}
		mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0.linhas = sb.toString();
		
		return mainControl.tpl().aereo.reserva.cnt_reserva_0_0_0_0.getHtml();
	};
	
	var getBaseTarifaria = function(codTarifa){
		//pegando o iterator
		var basesTarifariasIt = dsBook.tables.BasesTarifarias.getIterator('codTarifa');
		
		//filtrando pelo codTarifa
		basesTarifariasIt.findByKey(codTarifa);
		
		//retornando a baseTarifaria
		if (basesTarifariasIt.row != null) {
			return basesTarifariasIt.row.baseTarifaria;
		}
		else {
			return '';
		}
	};
	
};

