In realtà la vecchia funzione è questa:
codice:
var elements = [];
var element = {
	/*
	        Metodo: cache
	        Mette nella cache un elemento DOM (metodo privato)
	        Argomenti:
	            - [string] id : l'id dell'elemento desiderato
	*/
	cache: function(id) {
		//if (typeof element == 'string') {
			if(!elements[id]) {
				//elements[id] = document.getElementById(id);
				if (document.getElementById) {	// 	Mozilla + IE6/7
					elements[id] = document.getElementById(id);
				} else if (document.all) {	//	IE4
					elements[id] = document.all[id];
				} else if (document.layers) {	// 	Netscape 4
					elements[id] = document.layers[id];
				}
			}
		//}
    return elements[id];
    },	//	cache()
	
	/*
	        Metodo: get
	        Restituisce un elemento DOM basandosi sull'id dello stesso
	        Argomenti:
	            - [string] id : l'id dell'elemento desiderato
				
			Esempio d'uso: var valore = element.get('pippo').value;
	*/
	get: function(id) {
	return element.cache(id);
	}	//	get()	
}
che funziona benissimo ma non è prototipata, ovvero tutti gli altri metodi (che non metto per semplicità) sono costruiti dentro l'oggetto element, a me andava di renderla modulare in modo da caricare a run time solo gli oggetti che usavo davvero e di farlo appunto con prototype, ma mi da quello strano errore, mentre in questa che ho messo qui funziona benissimo.