function uploader_fileSelected(file)
{
	// Hide the file control
	// Create a new file control
	// Add a visual display of the selected file

	file.style.display = 'none';

	var newFile = file.cloneNode(false);
	var idx = uploader_getIdx(file);
	newFile.id = 'uploader_' + (idx + 1);
	file.parentNode.insertBefore(newFile, file);
	newFile.value = '';
	newFile.style.display = '';

	uploader_createNewDetails(idx);

	$('uploader_details_' + idx).style.display = '';
	$('uploader_label_' +idx).innerHTML = file.value;
	var path = 'file://' + $('uploader_' + idx).value;
	var i = path.lastIndexOf('.');
	{
		var ext = path.substr(i + 1).toLowerCase();
		var iconExts = ['pdf', 'gif', 'jpg', 'png'];
		var iconName = (iconExts.indexOf(ext) != -1) ? ext : 'default';
		$('uploader_icon_' + idx).src = '/images/icons/files/' + iconName + '.jpg';
		var imgExts = ['jpg', 'jpeg', 'gif', 'png'];
		if (imgExts.indexOf(ext) != -1)
		{
			$('uploader_preview_' + idx).src = path;
		}
	}
}

function uploader_remove(a)
{
	var idx = uploader_getIdx(a);
	$('uploader_details_' + idx).style.height = '0px';
	$('uploader_details_' + idx).style.display = 'none';
	uploader_removeNode($('uploader_' + idx));
	uploader_removeNode($('uploader_details_' + idx));
}

function uploader_removeNode(node)
{
	node.parentNode.removeChild(node);
}

function uploader_onLoad(preview)
{
	var idx = uploader_getIdx(preview);
	$('uploader_icon_' + idx).style.display = 'none';
	var scale = 80 / ((preview.width > preview.height) ? preview.width : preview.height);
	preview.height = preview.height * scale;
	preview.left = '0px';
	var previewContainer = preview.parentNode;
	previewContainer.style.width = 'auto';
	previewContainer.style.height = 'auto';
	var size = $('uploader_size_' + idx);
	size.innerHTML = 'Size: ' + parseInt((preview.fileSize/1024)) + ' KB';
}

function uploader_getIdx(element)
{
	var idx = parseInt(element.id.slice(element.id.lastIndexOf('_') + 1));
	return idx;
}

function uploader_createNewDetails(idx)
{
	var details = $('uploader_details_' + idx);
	var icon = $('uploader_icon_' + idx);
	var preview = $('uploader_preview_' + idx);
	var size = $('uploader_size_' + idx);
	var label = $('uploader_label_' + idx);
	var remove = $('uploader_remove_' + idx);

	var newDetails = details.cloneNode(true);

	details.id = 'uploader_details_' + (idx + 1);
	icon.id = 'uploader_icon_' + (idx + 1);
	preview.id = 'uploader_preview_' + (idx + 1);
	size.id = 'uploader_size_' + (idx + 1);
	label.id = 'uploader_label_' + (idx + 1);
	remove.id = 'uploader_remove_' + (idx + 1);

	details.parentNode.appendChild(newDetails);
}
