var Upload = 
{
	run:function(callback)
	{
		if(!$F('uploadImageFile')) return;
		Effect.Fade('uploadError', {duration: 0.2});
		$('uploadSubmit').hide();	
		$('uploadProcess').show();
		$('uploadResult').contentWindow.document.body.innerHTML = "";
		$('uploadForm').submit();
		Upload.fileUploaded(callback);
	},
	
	fileUploaded: function(callback)
	{
		var iframe  = $('uploadResult');
		var content = null;
		
		if(iframe.contentWindow)
		{
			content = iframe.contentWindow.document.body.innerHTML;
		}
					
		if(content != null && !content.blank())
		{
			var data = content.evalJSON();
			if(data.result == 'ok')
			{
				callback(data);
			}
			else
			{
				$('uploadErrorContent').innerHTML = data.message;
				Effect.Appear('uploadError');
			}
			$('uploadProcess').hide();
			$('uploadSubmit').show();
			$('uploadForm').reset();
		}
		else
		{
			setTimeout(Upload.fileUploaded.bind(null, callback), 500);		
		}
	}
};

