function Uploader()
{
	var filepath = '';
	var iframeObj = '';
	var iframeDocument = '';
	var iframeBody = '';
}

Uploader.prototype.start = function(fileObj, formId, finishFunction, uploaderId)
{
	this.result = "";
	$("#uploadStatus").html("Loading...");
	
	this.oForm = document.getElementById(formId);
	
	this.startFrame();
	this.loadFrameDocument();
	this.loadBody();
	this.oForm.setAttribute('target', 'uploaderFrame');
	
	var start = new Date();
	$("#"+uploaderId).val(start.getTime());
	
	this.oForm.submit();
	
	eval(finishFunction);
}

Uploader.prototype.startFrame = function()
{
	if(!document.getElementById('uploaderFrame'))
	{
		//IE6 hack
		var iframeObj;
		try {
		  iframeObj = document.createElement('<iframe name="uploaderFrame">');
		} catch (ex) {
		  iframeObj = document.createElement('iframe');
		}
		
		iframeObj.setAttribute('width', '0');
		iframeObj.setAttribute('height', '0');
		iframeObj.setAttribute('frameborder', '0');
		iframeObj.setAttribute('name', 'uploaderFrame');
		iframeObj.setAttribute('id', 'uploaderFrame');
		iframeObj.setAttribute('src', 'about:blank');
		this.iframeObj = iframeObj;
		document.getElementsByTagName('body')[0].appendChild(iframeObj);
	}
}

Uploader.prototype.loadFrameDocument = function()
{
	if(oBrowser.isIE())
	{
		this.iframeDocument = this.iframeObj.document
	}
	else
	{
		this.iframeDocument = this.iframeObj.contentDocument
	}
}

Uploader.prototype.loadBody = function()
{
	this.iframeBody = this.iframeDocument.getElementsByTagName('body')[0];
}

var oUploader = new Uploader();