function createAttach(list,button,item){
	/**
	 * Uploader instance
	 */
	var up = new FancyUploadPincho.Attach(list, button, {
		path: 'js/Swiff.Uploader.swf',
		url: 'upload-files.do.php',
		fileSizeMax: 500 * 1024 * 1024,
		fileListMax: 2,
		
		verbose: true,
		
		onSelectFail: function(files) {
			files.each(function(file) {
				new Element('li', {
					'class': 'file-invalid',
					events: {
						click: function() {
							this.destroy();
						}
					}
				}).adopt(
					new Element('span', {html: file.validationErrorMessage || file.validationError})
				).inject(this.list, 'bottom');
			}, this);	
		},
		
		onFileSuccess: function(file,response) {
	
		    var hash=  JSON.decode(response, true).name;
        	new Element('input', {type: 'hidden', 'checked': true ,"id":"item_"+item,"name":"name_"+item,"value":hash }).inject(file.ui.element, 'top');
			file.ui.element.highlight('#e6efc2');	
            
            file.ui.cancel.set('html', 'Remove').removeEvents().addEvent('click', function() {
				if (confirm("Remove this file?")){
                    removeFile(hash)
    				file.remove();
    				return false;
    			}
			});

                        
            		
		},
		
		onFileError: function(file) {
			file.ui.cancel.set('html', 'Retry').removeEvents().addEvent('click', function() {
				file.requeue();
				return false;
			});
			
			new Element('span', {
				html: file.errorMessage,
				'class': 'file-error'
			}).inject(file.ui.cancel, 'after');
		},
		
		onFileRequeue: function(file) {
			file.ui.element.getElement('.file-error').destroy();
			
			file.ui.cancel.set('html', 'Cancel').removeEvents().addEvent('click', function() {
				file.remove();
				return false;
			});
			
			this.start();
		}
		
	});

}


/**
 *  Carga un nuevo item de upload
 *
 **/  

function loadItem(item){


 var myRequest = new Request({
         method: 'get',
         url:'item-upload.php',
         onRequest: function() { ;},
         onSuccess: function(responseText, responseXML){
                                                               
                            new Element('div', {'html': responseText}).inject($('items_container')); 
                            createAttach("attach-list-"+item,"attach-"+item,item); 
                            var item_actual  = parseInt($('actual_item').value);
                            $('actual_item').set("value",item_actual+1);
                    },
         onFailure: function(){alert('Error');}
      }).send("item="+item);

}

/**
 *  Elimina un archivo subido previamente
 *
 **/  

function removeFile(hash){


 var myRequest = new Request({
         method: 'get',
         url:'remove-files.do.php',
         /*onRequest: function() { ;},
         onSuccess: function(responseText, responseXML){
                                                               
                         
                    },*/
         onFailure: function(){alert('Error');}
      }).send("hash="+hash);

}


/**
 *  Envia el formulario
 *
 **/  
function sendForm(){
    
    var items = $("actual_item").value.toInt();
    
    var nFiles = 0;
    
    //recorro para todos los items que se agregaron si exite el archivo
    //valido el contenido.
    for(var i = 0; i < items; i++){
        
        if ($("item_"+i) && $("item_"+i).value != "" ){
            
            if ($("quantity_"+i).value == ""  || $("comments_"+i).value == "" ){
                alert("La cantidad y descripcion del archivo "+i+" son requeridas");
                return false;
            }
            
            if ($("quantity_"+i).value.toInt == 0){
                alert("La cantidad debe ser un numero mayor que cero");
                return false;
            }
            
            nFiles++;
            
        }
    
    }
    
    if (nFiles == 0){
        alert("No se han subido archivos");
        return false;    
    }
    
    if ($("name").value == ""){        
        alert("Debe ingresar su nombre");
        return false;
    }
    
    if ($("company").value == ""){        
        alert("Debe ingresar su compaņia");
        return false;
    }    
    
    if ($("email").value == ""){        
        alert("Debe ingresar su email");
        return false;
    }      
    
    if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($("email").value)){
        alert("El email no es valido");
        return false;
    }  

    if ($("phone").value == ""){        
        alert("Debe ingresar su telefono");
        return false;
    }  

    
    return true;  
    
      

}


window.addEvent('domready', function() {
	
	$('f_upload').addEvent('submit', function(e) {		
		e.stop();		
		this.set('send', {onComplete: function(response) { 
    		$("img_confirm").setStyle('display', 'inline');
    		$("img_loading").setStyle('display', 'none');		      
            if (response == "ok"){
                alert("Se han enviado correctamente los archivos");
                window.location.reload();
            }else{
                if (response == "no_products"){
                    alert("No se han subido ficheros");
                }else{
                    alert("Error: Intentelo en unos instentes por favor");
                }
            }
            
            return false;
		}});
		//Send the form.
		if (sendForm()){
        	$("img_confirm").setStyle('display', 'none');
        	$("img_loading").setStyle('display', 'inline');		
    		this.send();
        }  
	});
});
