/***************************************************************************
 * upload.js
 *     :
 ***************************************************************************/

//***************************************************************************
// class ModuleUpload
//***************************************************************************
function ModuleUpload()
{
// Ensure this function is only called as a constructor.
	if (!(this instanceof ModuleUpload))
	{	return new ModuleUpload();	}
	return this;
}

// Inherit from class Object.
ModuleUpload.prototype = new Object();

// Class members:
ModuleUpload.prototype.m_progressMonitorURL = null;

//***************************************************************************
// ModuleUpload::StartProgressMonitor
//***************************************************************************
ModuleUpload.prototype.ProgressMonitorStart =
function(channel)
{
// Gather information.
	var statusNode       = document.getElementById('upload_status0');
	var fieldNode        = document.getElementById('upload_field0');
	var progressNode     = document.getElementById('upload_progress0');
	var progressTextNode = document.getElementById('upload_progress_text0');

// Prepare the upload process.
	fieldNode.style.display    = 'none';
	progressNode.style.display = 'block';
	progressNode.style.width   = '0';
	progressTextNode.innerHTML = '';

// Create a channel.
	var channelNode = document.createElement('iframe');
	var bodyNode    = document.getElementsByTagName('body').item(0);
		bodyNode.appendChild(channelNode);

//	channelNode.style.display = 'none';
	channelNode.id            = channel;
	channelNode.name          = 'upload_progress';
	channelNode.src           = ModuleUpload.prototype.m_progressMonitorURL;
}

ModuleUpload.prototype.ProgressMonitorStop =
function(channel)
{
// Gather information.
	var statusNode   = document.getElementById('upload_status0');
	var fieldNode    = document.getElementById('upload_field0');
	var progressNode = document.getElementById('upload_progress0');
	var channelNode  = document.getElementById(channel);

// Stop the channel.
	channelNode.parentNode.removeChild(channelNode);

// Reset the upload form.
	statusNode.innerHTML       = 'Upload complete!';
	fieldNode.value            = '';
	fieldNode.style.display    = '';
	progressNode.style.display = 'none';
}

