// Libreria Javascript globale di MrNewtone


// Costanti
var KEY_DOWN  = 40;
var KEY_UP    = 38;
var KEY_ENTER = 13;



/* Callback per gestire la pressione di tasti sui controlli della UI
 	event : l'oggetto evento propagato dal browser
    keys : un intero (unico tasto controllato) o un array di interi (più tasti controllati) 
	       contenenti i codici dei tasti potenzialmente premuti ai quali far rispondere 
	       l'azione contenuta in 'axiom'
	axiom : l'azione da intraprendere se si riscontra l'avvenuta pressione di un tasto contenuto in 'keys'
 */
function customKeyPressHandler(event, keys, axiom) {
	if (!event) 
		event = window.event; 

	if (keys instanceof Array) {
		var out = true;
		for (key in keys) {
			if (out = (key == event.keyCode)) 
				eval(axiom);
			
			else
				return true;
		}
		return out == false;
	}
	else
		if (keys == event.keyCode) 
			eval(axiom);
}

/*
 Funzione: normalizeUri()
 Utilizzata per normalizzare ad es. il testo immesso come ricerca
 */
function normalizeUri($uri) {
	return $uri.toLowerCase().replace('\'', '-', 'g').replace('à', 'a', 'g').replace('è', 'e', 'g').replace('é', 'e', 'g').replace('ì', 'i', 'g').replace('ò', 'o', 'g').replace('ù', 'u', 'g').replace(':', '-', 'g').replace(';', '-', 'g').replace('.', '-', 'g').replace(', ', '-', 'g').replace(',', '-', 'g').replace('.', '-', 'g').replace('_', '-', 'g').replace('/', '-', 'g').replace('\\', '-', 'g').replace('(', '-', 'g').replace(')', '-', 'g').replace(' ', '-', 'g').replace('--', '-', 'g').replace('--', '-', 'g');
}
