
app.controller('filtroDistinteCtrl',
	
function ($scope, ProvenienzaDisposizioni, $mdDialog, utilsSvc, locals) {
	
	$scope.locals = locals;
	$scope.filter = locals.filter;
	
	$scope.getTipologiaById=function(id){
		for (var i=0;i<$scope.filtriTipologie.length;i++)
			if ($scope.filtriTipologie[i].id==id)
				return $scope.filtriTipologie[i].id;
		return null;
	}
	
	
	$scope.provenienza=['Findomest'];
		
	$scope.tipologieSelezionate=[];
	
	$scope.filtriTipologie=[
		{id:'sdd', label:"SDD"},
		{id:'sdd_esteri', label:"SDD Esteri"},
		{id:'seda', label:"SEDA"},
		{id:'sct', label:"SCT"},
		{id:'dom', label:"DOM"},
		{id:'sct_int', label:"SCT INT"},
		{id:'sct_inps', label:"SCT INPS"},
		{id:'sct_esteri', label:"SCT Esteri"},
		{id:'intesa', label:"Assegni Intesa"}
		
	]
	
	if ($scope.filter.sdd)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sdd'));
	if ($scope.filter.sdd_esteri)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sdd_esteri'));
	if ($scope.filter.seda)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('seda'));
	if ($scope.filter.sct)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sct'));
	if ($scope.filter.dom)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('dom'));
	if ($scope.filter.sct_int)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sct_int'));
	if ($scope.filter.sct_inps)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sct_inps'));
	if ($scope.filter.sct_esteri)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('sct_esteri'));
	if ($scope.filter.intesa)
		$scope.tipologieSelezionate.push($scope.getTipologiaById('intesa'));

	$scope.onlyDigit=function(event, len){
		if (event.key=="Backspace" || event.key=="ArrowLeft" || event.key=="ArrowRight" || event.key=="Tab")
			return;
		if ("0123456789".indexOf(event.key)==-1 || event.target.value.length>=len)
			event.preventDefault();
	}
	
	$scope.resetFilter = function(){
		$scope.tipologieSelezionate=[];
		$scope.filter={
				provenienza: '',
				vistaGenerale: false,
				sdd: false,
				sdd_esteri: false,
				seda: false,
				sct: false,
				dom: false,
				sct_int: false,
				sct_inps:false,
				sct_esteri:false,
				assegni: false,
				orderField:null,
				flagAbilitaDaDataCreazione: false,
				flagAbilitaADataCreazione: false,
				daDataCreazione:null,
				aDataCreazione: null,
				flagAbilitaDaDataValuta: false,
				flagAbilitaADataValuta: false,
				daDataValuta:null,
				aDataValuta: null,
				daImporto:null,
				aImporto:null,
				daDistinta:null,
				aDistinta:null,
				nomeSupportoCBI:'',
				contoOrdinante:''
				
			};
			
	}
		
	
	$scope.checkDigit=function(event, len){
		if (event.key=="Backspace" || event.key=="ArrowLeft" || event.key=="ArrowRight" || event.key=="Tab")
			return;
		if ("0123456789,.".indexOf(event.key)==-1 || event.target.value.length>=len)
			event.preventDefault();
	}
	
	$scope.onlyDigit=function(event, len){
		if (event.key=="Backspace" || event.key=="ArrowLeft" || event.key=="ArrowRight" || event.key=="Tab")
			return;
		if ("0123456789".indexOf(event.key)==-1 || event.target.value.length>=len)
			event.preventDefault();
	}
	
	$scope.checkImporto = function($event) {	
		var dataField = $event.target;
		var fieldName = dataField.getAttribute("ng-model");
		fieldName = fieldName.substring(fieldName.indexOf(".") + 1);
		
		var importo = $scope.$eval( dataField.getAttribute("ng-model"));
		if (importo==null) {
			$event.target.value ='';
			 return;
		} else {
			$event.target.value =  importo.toCurrency().formatAsCurrency(); 
		}
			
	}
	
	$scope.eseguiRicerca=function(){
		$scope.aggiornaFiltro();
		$mdDialog.hide($scope.filter);
	}
	
	$scope.cancelDialog=function(){
		$mdDialog.cancel();
	}
	
	$scope.aggiornaFiltro=function(){
		$scope.filter.sdd=$scope.tipologieSelezionate.indexOf('sdd')>=0;
		$scope.filter.sdd_esteri=$scope.tipologieSelezionate.indexOf('sdd_esteri')>=0;
		$scope.filter.seda=$scope.tipologieSelezionate.indexOf('seda')>=0;
		$scope.filter.sct=$scope.tipologieSelezionate.indexOf('sct')>=0;
		$scope.filter.dom=$scope.tipologieSelezionate.indexOf('dom')>=0;
		$scope.filter.sct_int=$scope.tipologieSelezionate.indexOf('sct_int')>=0;
		$scope.filter.sct_inps=$scope.tipologieSelezionate.indexOf('sct_inps')>=0;
		$scope.filter.sct_esteri=$scope.tipologieSelezionate.indexOf('sct_esteri')>=0;
		$scope.filter.assegni=$scope.tipologieSelezionate.indexOf('intesa')>=0;
	}	
	
	$scope.getStatiDistinta=function(){
		const statiDistinta=[];
		if ($scope.filter.vistaGenerale)
			statiDistinta.push('Annullata');
		statiDistinta.push('Autorizzata');
		statiDistinta.push('Disposta');
		statiDistinta.push('In Generazione');
		if ($scope.filter.vistaGenerale)
			statiDistinta.push('Inviata');
		statiDistinta.push('Predisposta');
		statiDistinta.push('Validata');
		
		return statiDistinta;
	}
	
});
