/*
 Simple-Share.com uploader
 by Lucas Waye
 Copyright (c) 2007 Simple-Share.com
*/

var rpercent = 0;

function updateProgressBar() {
}

function cancelUpload() {
	if(frames['upload'].window.stop) {
		frames['upload'].window.stop();
	} else {
		frames['upload'].document.execCommand("Stop");
	}
	Modalbox.hide();
}

function validateForm() {
	var form = frames['upload'].document.upform;
	var splits = form.file.value.split("\\");
	var sp = splits[splits.length-1];
	if(splits.length == 1) {
		splits = form.file.value.split("/");
		sp = splits[splits.length-1];
	}
	if(form.file.value == "") {
		frames['upload'].show_error("Please select a file.");
		return false;
	}
	else if(sp.length > 45) {
		frames['upload'].show_error("The file name is too long. Please make it shorter.");
		return false;
	}
	else if(form.to.value == "") {
		frames['upload'].show_error("Please enter the recipient email address.");
		return false;
	}
	else if(form.from.value == "") {
		frames['upload'].show_error("Please enter your email address.");
		return false;
	}
	return true;
}

function getProgress(id){
	new Ajax.Request("getprogress.php?progress_key=" + id, { method: "post", 
		onComplete: function(transport) {
			var percent = new String(transport.responseText);
			if($('progressinner') == null) {
				setTimeout("getProgress('" + id + "')", 1000);
				return;
			}
			if(percent == "-2") {
					if(frames['upload'].window.stop) {
						frames['upload'].window.stop();
					} else {
						frames['upload'].document.execCommand("Stop");
					}
					Modalbox.hide({afterHide: function() { 
						frames['upload'].show_error("The file is too large (over 200MB) or there was an unknown error while uploding.");
													   }});
					return;
			}
			if(percent == "-1") {
				cancelUpload();
				frames['upload'].show_error("File is larger than 200MB.");
				return;
			}
			$("progressinner").style.width = percent+"%";
			$("working_progress").innerHTML = "Uploading File (" + Math.round(percent) + "% done)... <br /><a href='#' onClick='cancelUpload()'><strong>Cancel</strong></a>";
			
			if(percent != "100") {
				setTimeout("getProgress('" + id + "')", 1000);
			} else {
				new Effect.Fade('working_progress');
				new Effect.Fade('progressouter');
				window.setTimeout("Effect.Appear('done', {duration:.3})",1700);
				Effect.Appear(Modalbox.MBclose); 
	
			}
		}
	});
}


function beginUpload(id) {
	if(!validateForm())
		return false;
	
	Modalbox.show('Uploading...', 'progress.php?id=<?=$id?>', {width: 350, height: 80}); 
	Element.hide(Modalbox.MBclose); 
	Event.stopObserving(Modalbox.MBclose, 'click', Modalbox.hide ); 
	Event.stopObserving(Modalbox.MBoverlay, 'click', Modalbox.hide ); 
	Event.stopObserving(document, 'keypress', Modalbox.kbdHandler );
	frames['upload'].document.upform.submit(); 
	
    setTimeout("getProgress('" + id + "')", 1000);
	
	frames['upload'].document.getElementById('errorbar').style.display = "none";
	
	return true;
}