var FileList = {
	
	registerEvents: function(){
		this.fileInputAnchor = YAHOO.util.Dom.get('input-list');
		var addLink  = YAHOO.util.Dom.get('add-file-link');
		var addLinkList = YAHOO.util.Dom.getElementsByClassName('add-file-links');
		
		YAHOO.util.Event.addListener(addLink, "click", this.addNewFileInput, {}, this);
		
		for(var i = 0; i < addLinkList.length; i++){
			YAHOO.util.Event.addListener(addLinkList[i], "click", this.addNewFileInput, {}, this);	
		}
		
		var form = document.forms[0];
		
		YAHOO.util.Event.on(form, 'submit', function(evt){
			
			//Check to see if there are file fields in the form.
			var inputs = YAHOO.util.Dom.getElementsByClassName('file-list-inputs', 'input');
			
			if(inputs.length > 0){
				for(var i = 0; i < inputs.length; i++){
					var input = inputs[i];
					
					if(input.value.length < 1){
						var agree = confirm("You have selected to add a file(s), but you have not selected the file for one of more of them.");
						if (agree){
							return true ;
						} else {
							YAHOO.util.Event.stopEvent(evt);
						}
					}
				}
			}
			
			
			
		});
		
	},
	
	addNewFileInput: function(evt, obj){
		YAHOO.util.Event.stopEvent(evt);
		var listElem = this.getFileInputListElement();
		this.fileInputAnchor.appendChild(listElem);
	},
	
	removeFileInput: function(evt, obj){
		this.fileInputAnchor.removeChild(obj.listElement);
	},
	
	getFileInputListElement: function(){
		var listElement = document.createElement('li');
		
		var removeImg = document.createElement('img');
		removeImg.src = "/images/icons/delete.png";
		removeImg.height = 16;
		removeImg.width = 16;
		
		listElement.appendChild(removeImg);
		
		YAHOO.util.Event.on(removeImg, 'click', this.removeFileInput, {listElement: listElement}, this);
		
		try{
			var fileInput = document.createElement("<INPUT TYPE='file' class='file-list-inputs' NAME='uploadfiles[]' VALUE=''>")
		}
		catch(e){
			var fileInput = document.createElement('input');
			fileInput.type = "file";
			fileInput.name = "uploadfiles[]";
			fileInput.value = "";
			fileInput.className = 'file-list-inputs';
		}
		
		listElement.appendChild(fileInput);
		
		return listElement;
	}
};
