upload_img = function(name,main_url){ if ( !o.$(name) ) { alert(''); return false; } this.prnt = o.$(name); this.max_size=0; this.server = main_url+'/?p_name=admin_images'; this.max_files = 1; this.main_url = main_url; //this.files=0; // содержит массив объектов изображений this.elements = new Array(); this.FLAG_CROP = false; this.image = false; this.path = false; this.base = false; // имя контейнера, внутри которого будет происходить работа скрипта this.output = false; } upload_img.prototype.set_max_width = function(w){ this.FLAG_RESIZE = true; this.max_w = w; } upload_img.prototype.set_max_height = function(h){ this.FLAG_RESIZE = true; this.max_h = h; } // нужно обрезать изображение до размеров w,d upload_img.prototype.set_crop = function(w,h){ this.FLAG_CROP = true; this.w = w; this.h = h; } // ссылка на изображение предлагающее загрузить изображение upload_img.prototype.set_id = function(s){ this.image= o.$(s); } // открываем новое окно для загрузки изображения upload_img.prototype.load_image = function(){ // ставим обратную ссылку, чтобы скрипт потом мог вернуть результаты работы window.upload_img_class = this; window.open( this.server+"&act=load_form&max_size="+this.max_size+ "&path="+this.path+'&crop_width='+this.w+'&crop_height='+this.h+'&max_width='+this.max_w+'&max_height='+this.max_h ,500,570) ; } // отображаем уже загруженный файл upload_img.prototype.set_file = function(url){ // создаём изображение control = o.create_element('IMG',{ 'title':'Закрыть', 'back_func':this, 'id':'upl_img_'+ this.elements.length, 'src':this.base+'/'+url+'?resize=2&width=100', 'url_name':url, 'onclick':function(e){ this.back_func.del(this)}, } ); control.style.cursor='pointer'; control.style.display='block'; this.elements[ this.elements.length ] = control; // для быстрого удаления снабдим изображение порядковым номером в нашем массиве control._number = this.elements.length-1; } // удаляем изображение o upload_img.prototype.del = function(o){ this.elements[o._number] = false; // перепишем список изображений this.show(); } // управляем изображением для загрузки изображений upload_img.prototype.show = function(){ value = new Array(); // очищаем контейнер для вывода изображений this.prnt.innerHTML = ''; // перебираем список изображений for( e in this.elements){ // отсееваем удалённые if ( this.elements[e]==false ){ continue; } // файлов больше, чем разрешено if ( value.length==this.max_files ){ continue; } // заносим файл в массив value[value.length]=this.elements[e].url_name; // выводим изображение в контейнере this.prnt.appendChild(this.elements[e]); } // обновляем контрол хранящий результаты загрузки отправляемые на сервер output = o.create_element('input',{ 'type':'hidden', 'name':this.output } ); this.prnt.appendChild(output); output.value = value.join('|'); // если загружать ещё можно, то выводим контрол загрузки новых изображений if ( value.length