var MultiUpload=new Class({initialize:function(F,A,C,E,D){if(!(F.tagName=="INPUT"&&F.type=="file")){alert("Error: not a file input element");return }this.elements=[];this.uid_lookup={};this.uid=0;if($defined(A)){this.max=A}else{this.max=0}if($defined(C)){this.name_suffix_template=C}else{this.name_suffix_template="_{id}"}if($defined(E)){this.show_filename_only=E}else{this.show_filename_only=false}if($defined(D)){this.remove_empty_element=D}else{this.remove_empty_element=false}$(F);this.input_element=F;this.name=F.name;this.initializeElement(F);var B=new Element("div",{"class":"multiupload"});this.list=new Element("div",{"class":"list"});B.injectAfter(F);B.adopt(F);B.adopt(this.list)},addRow:function(){if(this.max==0||this.elements.length<=this.max){current_element=this.elements.getLast();var B=current_element.element.value;if(this.show_filename_only){if(B.contains("\\")){B=B.substring(B.lastIndexOf("\\")+1)}if(B.contains("//")){B=B.substring(B.lastIndexOf("//")+1)}}var D=new Element("span").set("text",B);var A=new Element("img",{src:"gfx/delete.gif",alt:"Delete",title:"Delete",events:{click:function(F){this.deleteRow(F)}.pass(current_element.uid,this)}});var C=new Element("div",{"class":"item"}).adopt(A).adopt(D);this.list.adopt(C);current_element.row=C;var E=new Element("input",{type:"file",disabled:(this.elements.length==this.max)?true:false});if(this.input_element.size){E.size=this.input_element.size}if(this.input_element.className){E.className=this.input_element.className}this.initializeElement(E);current_element.element.style.position="absolute";current_element.element.style.left="-1000px";E.injectAfter(current_element.element)}else{alert("You may not upload more than "+this.max+" files")}},deleteRow:function(B){deleted_row=this.elements[this.uid_lookup[B]];if(confirm("Are you sure you want to remove the item\r\n"+deleted_row.element.value+"\r\nfrom the upload queue?")){this.elements.getLast().element.disabled=false;deleted_row.element.dispose();deleted_row.row.dispose();delete (this.elements[this.uid_lookup[B]]);var C=[];this.uid_lookup={};for(var A=0;A<this.elements.length;A++){if($defined(this.elements[A])){this.elements[A].element.name=this.name+this.name_suffix_template.replace(/\{id\}/,C.length);this.uid_lookup[this.elements[A].uid]=C.length;C.push(this.elements[A])}}this.elements=C}},initializeElement:function(A){A.addEvent("change",function(){this.addRow()}.bind(this));A.name=this.name+this.name_suffix_template.replace(/\{id\}/,this.elements.length);this.uid_lookup[this.uid]=this.elements.length;this.elements.push({uid:this.uid,element:A});this.uid++}});
