app.controller('dettaglioDisposizioneSctCtrl', 
function ($scope,$mdDialog,UserManager, ComboManager,DisposizioniBonifici, DistinteBanca,utilsSvc, userService, formChangeLoggerSvc, LogModifiche, locals) {
	
	$scope.disposizione = locals.disposizione;
	//$scope.disposizione.importo = $scope.disposizione.importoDbgrid.formatAsCurrency();
	$scope.disposizioneOriginale = angular.copy($scope.disposizione);
	$scope.appVariables = locals.appVariables;
	$scope.label = locals.label;	
	
	if ($scope.disposizioneOriginale.dataUltimoEsitoAcquisito==null)
		$scope.dataUltimoEsitoAcquisito = "";
	else
		$scope.dataUltimoEsitoAcquisito = $scope.disposizioneOriginale.dataUltimoEsitoAcquisito.formatAsDateTime();
	
	if ($scope.disposizioneOriginale.dataUltimoEsitoAcquisito==null)
		$scope.dataUltimoEsitoAcquisito = "";
	else
		$scope.dataUltimoEsitoAcquisito = $scope.disposizioneOriginale.dataUltimoEsitoAcquisito.formatAsDateTime();
	
	$scope.filter = userService.getFiltroIncassiSDD();

	$scope.getFontSize=function(){
		if (utilsSvc.smallScreen()){
			return {"font-size": "10px"};
		}
	}

	formChangeLoggerSvc.init();
	
	$scope.largeScreen = function(){
		return utilsSvc.largeScreen();
	}
	
	$scope.abilitaStampaContabile = function(){
		return (($scope.label=='Dettaglio disposizione SCT') ||  ($scope.label=='Dettaglio disposizione SCT Esteri')) &&
		 ($scope.disposizione.statoDisposizione=='Disposta' || $scope.disposizione.statoDisposizione=='Inviata' ||
		 $scope.disposizione.statoDisposizione=='Esitata')
	}
	
	$scope.initVisibilita = function() {
		$scope.frameAnnotazioniLibere = true;
		$scope.frameBancaAddebito = true;
		$scope.frameBancaBeneficiario = true;
		$scope.frameBeneficiario = true;
		$scope.frameDate = true;
		$scope.frameDatiContabili = true;
		$scope.frameDatiDispositivi = true;
		$scope.frameDatiRendicontazione = true;
		$scope.frameImporti = true;
		$scope.frameOrdinante = true;
		$scope.framePagamento = true;
		$scope.frameRiconciliazione = true;
		
		$scope.btnConferma = true;
		$scope.btnLogStati = true;
		$scope.btnLogVariazioni = true;
		$scope.btnAssegnaContoAccredito = true;
		$scope.disableCausalePagamento = false;
		
		$scope.valorizzaImportoDbGrid(); 
	}
	
	$scope.stampaContabileBonifico=function(){
		DisposizioniBonifici.StampaContabile({id: $scope.disposizione.id}).$promise.then(function(data) {
						utilsSvc.downloadFile('application/pdf',
								data.response,
								'StampaContabile.pdf');
						utilsSvc.cancelMessage();
					}).catch(function(err){
						if (err.status==404) {
							utilsSvc.cancelMessage();
							utilsSvc.showMessage('Nessuna disposizione estratta');
						} else 
							utilsSvc.handleHttpError(err);
					});		
		
	}
	
	$scope.stampaRichiamo = function(){
		$mdDialog.show({
            templateUrl: 'templates/opzioniRichiamo.html',
            controller: 'opzioniRichiamoCtrl',
            locals: {disposizione: $scope.disposizione, tipo:'SCT'},
            multiple: true
        }).then(function(options){
			DisposizioniBonifici.StampaRichiamo({id: $scope.disposizione.id},options).$promise.then(function(data) {
						utilsSvc.downloadFile('application/pdf',
								data.response,
								'RichiamoDisposizione.pdf');
						utilsSvc.cancelMessage();
					}).catch(function(err){
						if (err.status==404) {
							utilsSvc.cancelMessage();
							utilsSvc.showMessage('Nessuna disposizione estratta');
						} else 
							utilsSvc.handleHttpError(err);
					});		
	
		})	
	}
	
	$scope.confirmDialog = function() {
		if ($scope.disposizione.statoDisposizione=='Inserita'|| $scope.disposizione.statoDisposizione=='Approvata') {
			if ($scope.disposizione.dataValutaDestinatario!=null) {
				if ($scope.disposizione.causale!='34000' &&
						$scope.disposizione.causale!='34001' &&
						$scope.disposizione.causale!='79000' &&
						$scope.disposizione.causale!='79001') {
					if ($scope.disposizione.importoDbGrid>500000.01) {
						var data=new Date();
						data = addDays(data, 5);
						if ($scope.disposizione.dataValutaDestinatario > data) {
							utilsSvc.showConfirm('Attenzione',"La data valuta inserita è successiva di più 5 giorni lavorativi rispetto alla data odierna, confermi l'inserimento")
							.then(
								function() {
									$scope.confirmSave();
								},
								function() {
									
								}
							)	
						}
						
					} else {
						// 19/07/2010 Controllo impostato a 2 giorni fissi ( richiesta di Enrica Grante )
						var data=new Date();
						data = addDays(data, 2);
						
						if ($scope.disposizione.dataValutaDestinatario < data) {
							utilsSvc.show("La data valuta non può essere precedente ai +2 giorni lavorativi rispetto alla data odierna.");
							return;
						}
						
					}
				}
			}
			if ($scope.disposizione.coordinateIbanbeneficiario=='' &&
					$scope.disposizione.circuitoPagamento=='0' &&
					(($scope.disposizione.modalitaPagamento=="") || $scope.disposizione.modalitaPagamento=="1"))
				utilsSvc.showMessage("Non sono state inserite le coordinate IBAN del beneficiario, la disposizione potrebbe essere soggetta a penali.");
		}

		$scope.confirmSave();
		
	}
	
	$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.checkImporto = function($event) {		
		var importo = $scope.disposizione.importo.toCurrency();
		if (importo==null) {
			utilsSvc.showMessage('Importo non valido');
			 $scope.disposizione.importo='';
			 $scope.disposizione.importoDbgrid = 0;
			 return;
		} else {
			$scope.disposizione.importoDbgrid = importo;
			$scope.disposizione.importo =  importo.formatAsCurrency(); 
		}
			
		$scope.exitField($event);
	}
	
	
	$scope.statoCambiato = function() {
		if ($scope.disposizione.statoConvalida==-1 || $scope.disposizione.statoConvalida==2 ||
			$scope.disposizione.statoDisposizione=='Cancellata' ||
			($scope.disposizione.statoDisposizione=='Approvata' && ($scope.appVariables.profiloLocale=='TO' || $scope.appVariables.profiloLocale=='TR'))) {
			
			if ($scope.disposizione.statoDisposizione != $scope.disposizioneOriginale.statoDisposizione) {
				if ($scope.disposizione.statoDisposizione=='In Richiamo' && $scope.disposizioneOriginale.causale=='01002') {
					utilsSvc.showConfirm('Conferma',"Confermi la richiesta di richiamo del Bonifico Postale Domiciliato?")
					.then(
							function(){
								DisposizioniBonifici.GeneraRichiamo({idDistinta:$scope.disposizione.iddistintaBanca, idDisposizione:$scope.disposizione.iddisposizione}).$promise
									.then(function(data){
										if (data.value == -1) {
											utilsSvc.show("La disposizione di trova in uno stato non congruente con l'attività di richiamo");
											$scope.disposizione.statoDisposizione = $scope.disposizioneOriginale.statoDisposizione;
										} else if (data.value == -99) {
											utilsSvc.show("Si è verificato un errore durante la richiesta: codice -99");
											$scope.disposizione.statoDisposizione = $scope.disposizioneOriginale.statoDisposizione;
										} else {
											utilsSvc.showMessage("Richiesta richiamo effettuata");
											DisposizioniBonifici.Get({
												id : $scope.disposizione.id
											}).$promise
													.then(
															function(res) {
																$scope.disposizione = res;
																$mdDialog.hide($scope.disposizione);
															}
														);
										}
									},
									function(res){
										utilsSvc.handleHttpError(error);
									});
							}
							,function() {
								$scope.disposizione.statoDisposizione = $scope.disposizioneOriginale.statoDisposizione;
							}
					);
					
				}
			}
		} else {
			utilsSvc.showMessage('Disposizione non valida, modifica stato non effettuabile');
		}
			
	}
	
	$scope.confirmSave = function() {		
		if (!$scope.form.$valid && $scope.disposizione.statoDisposizione!='Cancellata') {
			utilsSvc.showMessage('Alcuni campi contengono dati non validi');
		} else {
			$scope.disposizione.importoDbgrid = $scope.disposizione.importo.toCurrency();
			DisposizioniBonifici.save ($scope.disposizione)
				.$promise.then(function(res) {
					
					
					// get and log changes
					var changes = formChangeLoggerSvc.getChanges();
					if (changes.length>0)
						LogModifiche.save({idDisposizione: $scope.disposizione.iddisposizione},changes)
						.$promise.then(
							function(data){
								
							},
							function (httpError){
								
							}
						)
					
					utilsSvc.showMessage('Salvataggio modifiche effettuato');
					$mdDialog.hide($scope.disposizione);
				}, function(error){
					if (error.data=='4') {
						utilsSvc.show('I dati della disposizione sono stati modificati o cancellati da un altro utente');
						$mdDialog.hide();
					}else if (error.data=='1') {
						utilsSvc.show('La disposizione è stata cancellata da un altro utente');
						$mdDialog.hide();
					}
					else
						utilsSvc.handleHttpError(error);
				})
		}
	} 
	$scope.cancelDialog = function() {
    	$mdDialog.cancel();
    }
	
	$scope.enterField = function(event) {
		formChangeLoggerSvc.onFocus($scope, event);
	}
	
	$scope.exitField = function(event) {
		formChangeLoggerSvc.onBlur($scope, event);
	}
	
	$scope.enterCompoundField = function(field) {
		var event=document.getElementById(field);
		formChangeLoggerSvc.onFocus($scope, event);
	}
	
	$scope.exitCompoundField = function(field) {
		var event=document.getElementById(field);
		formChangeLoggerSvc.onBlur($scope, event);
	}
	
	
	$scope.valorizzaImportoDbGrid = function(){
		$scope.disposizione.importoDbgrid =parseFloat($scope.disposizione.importo).toFixed(2).toString();
		
	}
	
	$scope.getStatiDisposizione = function() {
		$scope.checkAutorizzazioniUtente();
		var items = [];
		// per sct inps (causale 27010) non permettere cambio stato
		if ($scope.disposizioneOriginale.causale!='27010') {
			if ($scope.appVariables.profiloLocale!="VI") {
				if ($scope.disposizioneOriginale.statoDisposizione=='Disposta') {
					items.push('Disposta');
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Esitata') { 
					items.push('Esitata');
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Cancellata') {
					items.push('Cancellata');
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Archiviata') {
					items.push('Archiviata');
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Approvata') {
					if ($scope.disposizioneOriginale.tipoFlussoInput ='') {
						items.push('Approvata');
						items.push('Confermata');
						items.push('Cancellata');
					} else {
						items.push('Confermata');
						items.push('Cancellata');
					}
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Confermata') {
					if ($scope.disposizioneOriginale.tipoFlussoInput ='') {
						items.push('Approvata');
						items.push('Confermata');
						items.push('Cancellata');
					} else {
						items.push('Confermata');
						items.push('Cancellata');
					}
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Predisposta') {
						items.push('Predisposta');
						items.push('Confermata');
						items.push('Cancellata');				
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Validata') {
					items.push('Validata');
					if ($scope.appVariables.profiloLocale=='DF')
						items.push('Cancellata');
		
				} else if ($scope.disposizioneOriginale.statoDisposizione=='Inviata') {
					items.push('Inviata');
					if ($scope.disposizioneOriginale.causale=='01002')
						items.push('In Richiamo');
				}
			}
		}
		
		if (items.indexOf($scope.disposizioneOriginale.statoDisposizione)<0)
			items.push($scope.disposizioneOriginale.statoDisposizione);

		return items;
	}
	
	$scope.checkAutorizzazioniUtente = function() {
		$scope.initVisibilita();
		
		var disabilitaFrame = false;
		if ($scope.disposizioneOriginale.statoDisposizione=='Disposta'){
			$scope.btnConferma = false;
			disabilitaFrame = true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Esitata') { 
			$scope.btnConferma = false;
			 disabilitaFrame = true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Cancellata') {
			$scope.btnConferma = false;
			disabilitaFrame = true;	
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Archiviata') {
			$scope.btnConferma = false;
			disabilitaFrame = true;	
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Approvata') {
			disabilitaFrame = false;	
			$scope.frameBancaAddebito = true;
			$scope.frameNoteDisposizione = true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Confermata') {
			disabilitaFrame = false;	
			$scope.frameBancaAddebito = true;
			$scope.frameNoteDisposizione = true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Predisposta') {
			$scope.bloccaConvalidaDisposizione = true;
			disabilitaFrame = true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Validata') {
			$scope.btnConferma = false;
			disabilitaFrame= true;
		} else if ($scope.disposizioneOriginale.statoDisposizione=='Inviata') {
			if ($scope.disposizioneOriginale.causale=='01002') {
				$scope.btnConferma = false;
				disabilitaFrame= true;
			}

		}
		
		$scope.btnConferma = true;
		
		if ($scope.appVariables.profiloLocale=="VI") {
			disabilitaFrame = true;
			$scope.btnConferma = false;
		}
		
		$scope.frameAnnotazioniLibere = $scope.appVariables.profiloLocale=="TO" || $scope.appVariables.profiloLocale=="TR";
		
		// Forzo la disabilitazione dell'editing
		disabilitaFrame=true;
		
		if (disabilitaFrame) {
			$scope.frameDatiDispositivi = false;
			$scope.frameDatiContabili = false;
			$scope.frameBeneficiario = false;
			$scope.frameBancaBeneficiario = false;
			$scope.frameOrdinante = false;
			$scope.frameDatiRendicontazione = false;
			$scope.frameDate = false;
			$scope.frameRiconciliazione = false;
			$scope.frameImporti = false;
			$scope.frameBancaAddebito = false;
		}
		
		
		$scope.btnAssegnaContoAccredito = ($scope.disposizione.causale=='34000' || $scope.disposizione.causale=='34001'||
			$scope.disposizione.causale=='79000' || $scope.disposizione.causale=='79001');
			
		if ($scope.filter.tipoChiamata=='FiltroDisposizioniReadOnly' ||  $scope.appVariables.bloccoModificaDisposizioni) {
			$scope.btnConferma = false;

			if ($scope.appVariables.profiloLocale!="VI") {
				$scope.btnLogStati = false;
				$scope.btnLogVariazioni = false;
			}	
			
			$scope.frameDatiDispositivi = false;
			$scope.frameDatiContabili = false;
			$scope.frameBeneficiario = false;
			$scope.frameBancaBeneficiario = false;
			$scope.frameOrdinante = false;
			$scope.frameDatiRendicontazione = false;
			$scope.frameDate = false;
			$scope.frameRiconciliazione = false;
			$scope.frameImporti = false;
			$scope.frameBancaAddebito = false;
			
		}
		
		if ($scope.filter.tipoChiamata == "ListaDisposizioni" || 
			$scope.filter.tipoChiamata == "ListaDisposizioniSinistri" || 
			$scope.filter.tipoChiamata =="ListaDisposizioniVita") {
			
			$scope.hideTipoEsito = ($scope.appVariables.profiloLocale=='UO' || $scope.appVariables.profiloLocale=='UR');
			$scope.disableCausalePagamento = $scope.appVariables.abilitaCausale;
		}
		
		
		if ($scope.filter.tipoChiamata ==  "FiltroDisposizioni" || 
			$scope.filter.tipoChiamata == "FiltroDisposizioniReadOnly") {
			
			$scope.hideTipoEsito = (["UO", "UR", "DF", "VI"].indexOf($scope.appVariables.profiloLocale)>=0);
			
		}
	}
	
	$scope.getColor = function(field) {
		if (field)
			if ($scope.disposizione.statoConvalida==2)
				return 'field-warn';
			else
				return 'field-ko';
	}
	
	$scope.errors = function(tab) {
		return ($('#'+tab + ' .field-ko').length>0);
		
		if ($('#'+tab + ' .field-ko').length>0)
			return "field-ko";
		if ($('#'+tab + ' .field-warn').length>0)
			return "field-warn";
			
	}
    
    $scope.mostraLogStati = function(){
    	DisposizioniBonifici.LogStati({id: $scope.disposizione.iddisposizione})
		.$promise.then(function(data){
			if (data.length==0) {
				utilsSvc.showMessage("Nessuno stato presente");
			} else {
				$scope.showLog(data, "Log stati disposizione " + $scope.disposizione.iddisposizione);
			}
		})
    }
    
    $scope.delegaSEDA = function(){
    	$mdDialog.show({
            templateUrl: 'templates/delegheSeda.html',
            controller: 'delegheSedaCtrl',
            locals: {disposizione: $scope.disposizione, tipo:'SCT'},
            multiple: true
        })	
    }
    
    $scope.piazzatura = function(ev) {
    	$mdDialog.show({
    		targetEvent: ev,
            templateUrl: 'templates/ricercaFiliali.html',
            controller: 'ricercaFilialiCtrl',
            locals: {abi: $scope.disposizione.codiceAbiDestinatario,  cab:$scope.disposizione.cabDestinatario,
            		istituto:$scope.disposizione.bancaSportelloDomic},
            multiple: true
        }).then(function(filiale){
        	// non cambiare le info
        })	
    }
    

    
    $scope.assegnaConto = function(ev) {
    	var options={};
    	if ($scope.appVariables.profiloLocale=="TO"||$scope.appVariables.profiloLocale=="TR"){
    		options.inFunzioneOrdinante = "TUTTICONTI";
    		options.inBancaAllineamento = true;
    		options.inEstrattoreDistinteBanca = false;
    		options.inOnlyContiCassa = false;
    		options.inOnlyContiBancoPosta = false;
    	} else {
    		options.inFunzioneOrdinante = $scope.disposizione.funzioneOrdinante;
    		options.inBancaAllineamento = true;
    		options.inEstrattoreDistinteBanca = false;
    	}
    	$mdDialog.show({
    		targetEvent:ev,
            templateUrl: 'templates/ricercaConti.html',
            controller: 'ricercaContiCtrl',
            locals: options,
            multiple: true
        }).then(function(conto){
        	// aggiorna i campi
        	$scope.disposizione.codiceAbiOrdinante = conto.abi;
        	$scope.disposizione.cabOrdinante = conto.cab;
        	$scope.disposizione.contoOrdinante = conto.conto;
        	$scope.disposizione.divisaContoOrdinante = conto.divisa;
        	$scope.disposizione.coordinateIbanordinante = conto.coordinateIban//.replace(/ /g, '');
        	$scope.disposizione.descrizioneConto = conto.descrizioneConto;
        	$scope.disposizione.contoPerCassa = conto.contoPerCassa;
        	
        })		
    }
    
    $scope.mostraLogVariazioni = function(){
    	DisposizioniBonifici.LogVariazioni({id: $scope.disposizione.iddisposizione})
		.$promise.then(function(data){
			if (data.length==0) {
				utilsSvc.showMessage("Nessuna variazione effettuata");
			} else {
				$scope.showLogVariazioni(data, (utilsSvc.largeScreen()?"Log variazioni disposizione ": " Variazioni disp.") + $scope.disposizione.iddisposizione);
			}
		})
    }
	
    $scope.showLog = function(log, title) {
		$mdDialog.show({
            templateUrl: 'templates/logStati.html',
            controller: 'logStatiCtrl',
            locals: {log:log, dialogTitle: title},
            multiple: true
        })

    }
    
	
    $scope.showLogVariazioni = function(log, title) {
		$mdDialog.show({
            templateUrl: 'templates/logVariazioni.html',
            controller: 'logStatiCtrl',
            locals: {log:log, dialogTitle: title},
            multiple: true
        })

    }
	
	$scope.cercaDenominazione = function() {
	}
	
	$scope.init = function(){
		
		$scope.initVisibilita();
		
		UserManager.AppVariables().$promise.then(function(data) {
			$scope.appVariables = data;
			$scope.checkAutorizzazioniUtente();
		});
		
		ComboManager.List({type: 'CircuitoPagamento', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.circuiti = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'Causale', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.causali = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'ModalitaPagamento', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.modalitaPagamento = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'TipoCodice', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.tipoCodice = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'RichiestaEsito', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.richiesteEsito = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'Esito', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.esiti = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'TipoCodiceRiferimento', tipologia:'BONIFICI'})
		.$promise.then(
			function(data){
			    $scope.tipoCodiceRiferimento = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		ComboManager.List({type: 'CodiceStornoSEPA', tipologia:'RID'})
		.$promise.then(
			function(data){
			    $scope.codiceStornoSEPA = data;
			},
			function(error) {
				//utilsSvc.handleHttpError(error);
			}
		);
		
		$scope.checkAutorizzazioniUtente();
		$scope.getStatiDisposizione();
		$scope.checkAutorizzazioniUtente();	

	}
    
	$scope.init();
	
	
	// combo filters
	$scope.filterCausaliBanche = function(causale){
		if ($scope.disposizioneOriginale.circuitoPagamento=='0') // banche
	     return causale.codice > '10000' || causale.codice == null;
	     else  ($scope.disposizioneOriginale.circuitoPagamento=='0')
	     return (causale.codice > '01000' & causale.codice < '02000')  || causale.codice == null
	}
	
	$scope.filterCausaliPoste = function(causale){
	     return (causale.codice > '01000' & causale.codice < '02000')  || causale.codice == null
	}
	$scope.filterCausaliCasse = function(causale){
	     return (causale.codice > '02000' & causale.codice < '03000') || causale.codice == null
	}
	$scope.filterModalitaPagamentoBanche = function(item){
		if ($scope.disposizioneOriginale.circuitoPagamento=='0') // banche
			return item.codice <= '9' || item.codice == null;
		else
			return (item.codice >= 'M' & item.codice <= 'Z')  || item.codice == null;
	}	
	$scope.filterModalitaPagamentoPoste = function(item){
	     return (item.codice >= 'M' & item.codice <= 'Z')  || item.codice == null
	}
	$scope.filterModalitaPagamentoCasse = function(item){
	     return (item.codice > 'A' & item.codice < 'L') || item.codice == null
	}
	
});


app.controller('opzioniRichiamoCtrl', 
function ($scope,$mdDialog, utilsSvc) {
	
	$scope.motivazioneRichiamo={
		idMotivazione: 0,
		altraMotivazione:'',
		luogo:'',
		data:new Date()
	};
	
	$scope.confirm=function(){
		$mdDialog.hide($scope.motivazioneRichiamo);
	}
	
	$scope.cancelDialog=function(){
		$mdDialog.cancel();
	}
});
