areaLavoro a rigor di logica diventa globale,
comunque tu runtime fai ancora questo:
lunghezza = areaLavoro.getAttribute('width');
altezza = areaLavoro.getAttribute('height');
che come abbiamo detto sopra e' sbagliato

poi, occhio a IE che ha un DOM fatto a modo suo:
areaLavoro, solo con questo browser, puo' essere gia' un riferimento corretto all' elemento con id="areaLavoro", mentre per gli altri browser serve un document.getElementById('areaLavoro')

quello che sto suggerendo e' di non dare come nome della variabile che rappresenta un elemento lo stesso nome o id dell' elemento