Скрипт сочетает в себе пять основных взаимосвязанных между собой алгоритмов (масштабирование, изменение размера зоны выделения, перетаскивание зоны выделения, формирование данных для загрузки/сохранения и подгонка миниатюры изображения). JavaScript + jQuery.