var ajaxManager=$.AjaxManager();
ajaxManager.Create('basic');

{//Employees---------------------------------------------------------------------------------------------------------------------------------------------------
	var aEmployees=[];
	var ajaxData_Employees=$.AjaxDB("SELECT Codigo,Nombre,Apellidos FROM EMPLEADOS{c} ORDER BY Codigo");
	ajaxData_Employees.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				if($.Utils.IsInEmployees(item.Codigo)){
					var item=this.json.row[i];
					aEmployees[item.Codigo]={};
					aEmployees[item.Codigo].Text=item.Codigo+" - "+item.Nombre+" "+item.Apellidos;
					aEmployees[item.Codigo].Codigo=item.Codigo;
					aEmployees[item.Codigo].Nombre=item.Nombre;
					aEmployees[item.Codigo].Apellidos=item.Apellidos;
				}
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Departments-------------------------------------------------------------------------------------------------------------------------------------------------
	var aDepartments=[];
	var ajaxData_Departments=$.AjaxDB("SELECT Codigo,Descripcion FROM UBICACIONES{c} ORDER BY Codigo");
	ajaxData_Departments.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item = this.json.row[i];
				aDepartments[item.Codigo]={};
				aDepartments[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aDepartments[item.Codigo].Codigo=item.Codigo;
				aDepartments[item.Codigo].Descripcion=item.Descripcion;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Centers-----------------------------------------------------------------------------------------------------------------------------------------------------
	var aCenters=[];
	var ajaxData_Centers=$.AjaxDB("SELECT Codigo,Descripcion FROM CENTROS{c} ORDER BY Codigo");
	ajaxData_Centers.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item = this.json.row[i];
				aCenters[item.Codigo]={};
				aCenters[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aCenters[item.Codigo].Codigo=item.Codigo;
				aCenters[item.Codigo].Descripcion=item.Descripcion;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Acruals-----------------------------------------------------------------------------------------------------------------------------------------------------
	var aAccruals=[];
	var ajaxData_Accruals=$.AjaxDB("SELECT Codigo,Descripcion FROM ACUMULADORES{c} ORDER BY Codigo");
	ajaxData_Accruals.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				aAccruals[item.Codigo]={};
				aAccruals[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aAccruals[item.Codigo].Codigo=item.Codigo;
				aAccruals[item.Codigo].Descripcion=item.Descripcion;
				aAccruals[item.Codigo].show=true;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Balance-----------------------------------------------------------------------------------------------------------------------------------------------------
	var aBalances=[];
	var ajaxData_Balances=$.AjaxDB("SELECT DISTINCT p.IdAcumulador, a.Descripcion, p.Periodo FROM PERFILES_SALDOS{c} p INNER JOIN ACUMULADORES{c} a on a.Codigo = p.IdAcumulador ORDER BY IdAcumulador");
	ajaxData_Balances.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var db=this.json.row[i];
				var k=db.IdAcumulador+';'+db.Periodo;
				
				var item = {
					Codigo: k,
					Descripcion: db.Descripcion,
					Acumulador: db.IdAcumulador,
					Periodo: db.Periodo, 
					Text: $.Strings.Format($.lng("accrual_balance_"+db.Periodo), db.IdAcumulador+' - '+db.Descripcion),
					show: true
				};
				
				aBalances[k] = item;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Payrolls----------------------------------------------------------------------------------------------------------------------------------------------------
	var aPayrolls=[];
	var ajaxData_Payrolls=$.AjaxDB("SELECT Codigo,Descripcion FROM COSTES_CONCEPTOS{c} ORDER BY Codigo");
	ajaxData_Payrolls.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				aPayrolls[item.Codigo]={};
				aPayrolls[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aPayrolls[item.Codigo].Codigo=item.Codigo;
				aPayrolls[item.Codigo].Descripcion=item.Descripcion;
				aPayrolls[item.Codigo].show=true;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Events------------------------------------------------------------------------------------------------------------------------------------------------------
	var aEvents=[];
	var ajaxData_Events=$.AjaxDB("SELECT Codigo,Descripcion FROM INCIDENCIAS{c} ORDER BY Codigo");
	ajaxData_Events.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				aEvents[item.Codigo]={};
				aEvents[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aEvents[item.Codigo].Codigo=item.Codigo;
				aEvents[item.Codigo].Descripcion=item.Descripcion;
			}
		}
		else{ $.Debug.Add(this.text); }
		
	}
}
{//Terminals---------------------------------------------------------------------------------------------------------------------------------------------------
	var aTerminals=[];
	var ajaxData_Terminals=$.AjaxDB("SELECT Codigo,Descripcion FROM TERMINALES{c} ORDER BY Codigo");
	aTerminals['###']={Text: $.lng('manual_punch')};
	ajaxData_Terminals.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				aTerminals[item.Codigo]={};
				aTerminals[item.Codigo].Text=item.Codigo+' - '+item.Descripcion;
				aTerminals[item.Codigo].Codigo=item.Codigo;
				aTerminals[item.Codigo].Descripcion=item.Descripcion;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
{//Formulas---------------------------------------------------------------------------------------------------------------------------------------------------
	var aFormulas=[];
	var query="SELECT * FROM LISTADOS_FOR{c}";
	
	var query=$.Strings.Format("SELECT * FROM LISTADOS_FOR{c} WHERE Tipo='Arithmetic' AND (IdUsuario={0} OR Id IN "+
	"(SELECT IdConfiguracion FROM FORMULAS_VISIBILIDAD{c} WHERE IdUsuario={0}))", USER.id);
	
	var ajaxData_Formulas=$.AjaxDB(query);
	ajaxData_Formulas.oncomplete=function(){
		if(!this.json.error){
			for(var i=0,iLen=this.json.row.length;i<iLen;i++){
				var item=this.json.row[i];
				aFormulas[item.Id]={};
				aFormulas[item.Id].Codigo=item.Id;
				aFormulas[item.Id].Value=item.Valor;
				aFormulas[item.Id].Text=item.Nombre;
			}
		}
		else{ $.Debug.Add(this.text); }
	}
}
