window.addEvent('domready',function(){
	$('upload-method').addEvent('change',uploadMethod);
	$('upload-form').addEvent('submit',uploadSubmit);
	$('upload-progress').slide('hide').show();
	uploadMethod();
});

var uploadMethod = function(){
	var val = $('upload-method').get('value');
	if(val == 'local'){
		$('upload-location').empty().adopt(new Element('input',{'type':'file','name':'file','size':40,'id':'upload-file'}));
	} else {
		$('upload-location').empty().adopt(new Element('input',{'type':'text','name':'file','size':60,'id':'upload-file','value':'Enter URL Here, eg: http://example.com/file.txt'}).addEvent('focus',function(e){e.target.value='';}));
	}
}

var uploadSubmit = function(e){
	//create the file handle
	$('upload-options').slide('out');
	$('upload-progress').slide('in');
	$('progress-complete-info').slide('hide');
	$('progress-upload-complete').slide('hide');
	setTimeout(uploadCheck,'1000');
}

var uploadCheck = function(){
	var hash = $('upload-hash').get('value');
	new Request.XML({
			noCache: true,
			method: 'get',
			url: '/ajax.php',
			data: {'act':'file_progress','hash':hash},
			onSuccess: function(xml){
				var el = xml;
				if(el.getElement('message') && el.getElement('message').get('text') == 'nofile'){
					uploadComplete();
					return true;
				}
				complete_pct = parseInt(el.getElement('complete_pct').get('text'));
				$('progress-filename').set('text',el.getElement('filename').get('text'));
				$('progress-complete-bar').setStyle('width',complete_pct+'%');
				$('progress-bytes-uploaded').set('text',el.getElement('bytes_uploaded').get('text'));
				$('progress-bytes-total').set('text',el.getElement('bytes_total').get('text'));
				$('progress-rate').set('text',el.getElement('speed_avg').get('text'));
				$('progress-time-remaining').set('text',el.getElement('time_remaining').get('text'));
				setTimeout(uploadCheck,'500');
			}
	}).send();
}

var uploadComplete = function(){
	$('progress-complete-bar').setStyle('width','99%');
	$('progress-bytes-uploaded').set('text',$('progress-bytes-total').get('text'));
	$('progress-time-remaining').set('text','upload complete');
	$('progress-upload-complete').slide('in');
	var hash = $('upload-hash').get('value');
	new Request.XML({
			noCache: true,
			method: 'get',
			url: '/ajax.php',
			data: {'act':'file_info','hash':hash},
			onSuccess: function(xml){
				var el = xml;
				var url = base_url+'/file/'+hash;
				$('file-url').set('href',url).set('text',url);
				$('progress-complete-info').slide('in');
			}
	}).send();
}
