не особо вникал в ваш код и его проблемы, но проблема предпросмотра изображений перед загрузкой давно решена с помощью FileReader api (работает не во всех браузерах)
developer.mozilla.org/en-US/docs/Web/API/FileReader -- здесь есть пример
и возможно с помощью flash (но во flash я не разбираюсь, ничего посоветовать не могу)