function TitulosService() { 	}

TitulosService.prototype.buscarCatalogoTitulos = function() {
	var _item = {};
	this.ajax("buscarCatTitulos", { } , function (ret)
						{
							_item = ret.catTitulos;
						}, function (ret)
						{
							showError(ret.error);
						});
	return _item;
};


TitulosService.prototype.buscarTitulosPorFiltro = function(item) {
	var _item = {};
	var categoValue;
	if(typeof item.categoria != 'undefined') {
		categoValue = item.categoria.value;
	}
	
	var catrelease;
	if(typeof item.release != 'undefined') {
		catrelease = item.release.value;
	}
	var catTipoTitulo;
	if(typeof item.tipoTitulo != 'undefined') {
		catTipoTitulo = item.tipoTitulo.value;
	}
	this.ajax("buscarPorFiltro", { 
		"titulo.idLista" 	: $("#idLista").val() ,
		"titulo.descTitulo" : item.descTitulo,
		"titulo.fechaInicio": item.fechaInicio,
		"titulo.categoria.value" : categoValue,
		"titulo.release.value" : catrelease,
		"titulo.tipoTitulo" : catTipoTitulo,
		"titulo.briefcase"	: item.briefcase,
		"titulo.hvrd"		: item.hvrd,
		"titulo.dto" 		: item.dto,
		"titulo.dtr" 		: item.dtr,
		"titulo.sd" 		: item.sd,
		"titulo.hd" 		: item.hd,
		"titulo.threed" 	: item.threed
		
	} , function (ret) {
			_item = ret.titulos;
	} , function (ret) {
		    showError(ret.error);
	});
	return _item;
};

TitulosService.prototype.descargarArchivo = function() {
	var url = contextPath + '/contrato/titulos/descArchivoTituloTXAjax.action?titulo.idLista=' + $("#idLista").val();
    window.location = url;
};


TitulosService.prototype.guardarTitulos = function(tipoCambio,item,indexes,func) {
	
	var categoValue= (typeof item.categoria != 'undefined') ?  item.categoria.value: "";
	var catrelease= (typeof item.release != 'undefined') ?  item.release.value: "";
	var catTipoTitulo= (typeof item.tipoTitulo != 'undefined') ?  item.tipoTitulo.value: "";
	
	this.ajax("guardarTitulos", { 
		"titulo.idLista" 	: item.idLista ,
		"titulo.idTituloCnt": item.idTituloCnt,
		"titulo.descTitulo" : item.descTitulo,
		"titulo.hvrd" 		: item.hvrd,
		"titulo.fechaInicio": item.fechaInicio,
		"titulo.fechaFin" 	: item.fechaFin,
		"titulo.categoria.value" : categoValue,
		"titulo.release.value" : catrelease,
		"titulo.tipoTitulo" : catTipoTitulo,
		"titulo.briefcase"	: item.briefcase,
		"titulo.dto" 		: item.dto,
		"titulo.dtr" 		: item.dtr,
		"titulo.sd" 		: item.sd,
		"titulo.hd" 		: item.hd,
		"titulo.threed" 	: item.threed,
		"idTitulos" 		: indexes,
		"tipoCambio" 		: tipoCambio
		
	} , function (ret)
						{
							func(ret);
						}, function (ret)
						{
							showError(ret.error);
						});
};

TitulosService.prototype.eliminarTitulos = function(item,func) {
	this.ajax("eliminarTitulo", { 
		"titulo.idLista" 		: item.idLista ,
		"titulo.idTituloCnt" 	: item.idTituloCnt
	} , function (ret)
						{
							func(ret);
						}, function (ret)
						{
							showError(ret.error);
						});
};


TitulosService.prototype.deepSet = function(obj,path, value) {
    
    var prop = path;
	if (typeof prop === "string")
		prop = prop.split(".");

	if (prop.length > 1) {
		var e = prop.shift();
		Object.assign(
				obj[e] = Object.prototype.toString.call(obj[e]) === "[object Object]" ? obj[e]
						: {}, prop, value);
	} else {
		obj[prop[0]] = value;
	}
}

TitulosService.prototype.ajax = function(method, data, success, error) {
	$.ajax({
		url : contextPath+ '/contrato/titulos/' + method + 'TitulosTXAjax.action',
		type : "post",
		data : data,
		async : false,
		success : function (ret)
		{
			if(ret.error == '' || ret.error == null)
			{
				success(ret);
			}
			else{
				error(ret);
			}
		},
		error : function ()
		{
			showError("Ocurrio un error");
		}
	});
};