// Multiple file selector by Stickman -- http://www.the-stickman.com 
// with thanks to: [for Safari fixes] Luis Torrefranca -- http://www.law.pitt.edu and Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com [for duplicate name bug] 'neal'
function MultiSelector(target,max){this.target=target;this.count=0;this.id=0;this.max=max?max:-1;this.addElement=function(element){if(element.tagName=='INPUT'&&element.type=='file'){element.name='attach_file['+(this.id++)+']';element.multi_selector=this;element.onchange=function(){var new_element=document.createElement('input');new_element.type='file';this.parentNode.insertBefore(new_element,this);this.multi_selector.addElement(new_element);this.multi_selector.addListRow(this);this.style.position='absolute';this.style.left='-1000px';};if(this.max!=-1&&this.count>=this.max){element.disabled=true;};this.count++;this.current_element=element;}else{alert('Error: not a file input element');};};this.addListRow=function(element){var new_row=document.createElement('div');var new_row_button=document.createElement('button');new_row_button.appendChild(document.createTextNode('Delete'));new_row.element=element;new_row_button.onclick=function(){this.parentNode.element.parentNode.removeChild(this.parentNode.element);this.parentNode.parentNode.removeChild(this.parentNode);this.parentNode.element.multi_selector.count--;this.parentNode.element.multi_selector.current_element.disabled=false;return false;};new_row.appendChild(document.createTextNode(element.value.replace(/^.*(\\|\/)(.*)$/,'$2')));new_row.appendChild(new_row_button);this.target.appendChild(new_row);};};

