function uploadComplete(file_id) {
	var error_code = document.getElementById('upload_error').value;
	document.getElementById('upload_queue').value = file_id.id;
	if(error_code == "FALSE"){
		document.getElementById('upload_queue').options[document.getElementById('upload_queue').selectedIndex].text = "Completed: " + file_id.name;
		}
	else{
		document.getElementById('upload_queue').options[document.getElementById('upload_queue').selectedIndex].text = "Error Uploading: " + file_id.name + "  Error code: " + error_code;
		document.getElementById('upload_error').value = "FALSE";
		}
	
 	if (this.getStats().files_queued > 0 && document.getElementById('uploading').value == "true") {
		this.startUpload();
		document.getElementById('upload_info').innerHTML = 'Starting: ' + file_id.name;
		}
	else if (this.getStats().files_queued == 0 && document.getElementById('uploading').value == "true") {
		var complete_URL = "picture-upload.php?complete=true&id=" + document.getElementById('dir_id').value;		
		if(document.getElementById('upload_errors').value == "FALSE"){
			//disble all other buttons
			document.getElementById('start_upload').disabled = "true";
			document.getElementById('stop_upload').disabled = "true";
			document.getElementById('cancel_file').disabled = "true";
			document.getElementById('upload_info').innerHTML = "Upload complete. Re-directing page...please wait <br /> If the next page fails to load after 10 secs please <a href=\""+ complete_URL + "\">click here</a>";
			document.location = complete_URL;
			}
		else{
			document.getElementById('upload_info').innerHTML = "Upload complete, but errors were encountered. Some of the pictures may have completed but please email us on pictures(at)1stbookhamscouts.org.uk with any error details and we will see what we can do.";
			
			}
		}
	}

function stop_Upload(){
	document.getElementById('uploading').value = "false";
	document.getElementById('stop_upload').disabled = "true";
	document.getElementById('start_upload').disabled = "";
	swfu.stopUpload();
	document.getElementById('upload_info').innerHTML = 'Upload Stopping';
	}

function start_Upload(){
	if(document.getElementById('name').value != ''){
		if(document.getElementById('email').value != '' && (/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/.test(document.getElementById('email').value))){
			if(document.getElementById('agree').checked == true){
				document.getElementById('name').disabled = "true";
				document.getElementById('email').disabled = "true";
				document.getElementById('agree').disabled = "true";
				swfu.addPostParam('name',document.getElementById('name').value);
				swfu.addPostParam('email',document.getElementById('email').value);
				swfu.addPostParam('agree',document.getElementById('agree').value);
		
				document.getElementById('uploading').value = "true";
				document.getElementById('start_upload').disabled = "true";
				document.getElementById('stop_upload').disabled = "";
	
	
				swfu.startUpload();
				document.getElementById('upload_info').innerHTML = "Upload Starting";
				}
			else{
				alert('Please tick the box stating that you have permission to share these pictures');
				}
			}
		else{
			alert('Please enter a valid email address');
			}
		}
	else{
		alert('Please enter your name');
		
		}


	}

function fileQueued(file_id){
	document.getElementById('upload_queue').options[document.getElementById('upload_queue').options.length] = new Option("Queued: " + file_id.name, file_id.id, "",true);
	document.getElementById('upload_info').innerHTML = "Queuing: "+file_id.name;
	}

function fileDialogComplete(files_selected, files_queued, files_queue){
	var queue_error = "";
	not_queued = files_selected - files_queued;
	if(not_queued != 0){
		queue_error = "<br />" + not_queued + " files not added";
		}
	document.getElementById('upload_info').innerHTML = files_queued + " files added to queue" + queue_error;
	
	}
	
function fileDialogStart(){
	document.getElementById('upload_info').innerHTML = "File selection dialog open";
	}
	
function uploadSuccess(file_id){
	if(this.getStats().files_queued > 0 && document.getElementById('uploading').value == "false"){
		document.getElementById('upload_info').innerHTML = 'Upload Stopped';
		}
	else{
		document.getElementById('upload_info').innerHTML = 'Upload Complete';
		}
	}
	
function uploadError(file_id, error_code, message) {
	var fileName = 'Multiple Files';
	if(file_id != null){
		fileName = file_id.name;
		}
	var error_title = "";
	try {
		switch(error_code) {
			case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
				error_title = "Error: Upload Stopped";
			case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
				error_title = "Error: Upload Limit Exceeded";
			break;
			case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
				error_title = "File Removed";
			break;
			case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
				error_title = "Error: Server Returned error code";
				//with http errors update queue
				document.getElementById('upload_errors').value = "TRUE";
				document.getElementById('upload_error').value = message;
				
			break;
			case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
				error_title = "Error: Upload was stopped";
			break;
		}
	if(error_title != ""){
		document.getElementById('upload_info').innerHTML = error_title + "<br />Error message: " + message + "<br />Affecting: " + fileName;
		}
	else{
		document.getElementById('upload_info').innerHTML = "Unknown Error(" + error_code + ")<br />Error message: " + message + "<br />Affecting: " + fileName;
		}
	} catch (ex) {
		 this.debug(ex);
		 }
	}	
	
function fileQueueError(file_id, error_code, message) {
	var fileName = 'Multiple Files';
	if(file_id != null){
		fileName = file_id.name;
		}
	try {
		var error_title="";
		switch(error_code) {
			case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
				error_title = "Error: You have attempted to queue too many files.";
				error_msg_text = "Max Files allowed: ";
			break;
			case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
				error_title = "Error: File is not valid (zero bytes in size)";
				error_msg_text = "Error message: ";
			break;
			case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
				error_title = "Error: File too big";
				error_msg_text = "Error message: ";
			break;
			case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
				error_title = "Error: Invalid File Type";
				error_msg_text = "Error message: ";
			break;
		}
	if(error_title != ""){
		document.getElementById('upload_info').innerHTML = error_title + "<br />" + error_msg_text + message + "<br />Affecting: " + fileName;
		}
	else{
		document.getElementById('upload_info').innerHTML = "Unknown Queue Error(" + error_code + ")<br />Error message: " + message + "<br />Affecting: " + fileName;
		}
	} catch (ex) { this.debug(ex); }

	}

function uploadProgress(file_id, bytesLoaded) {

	try {
		var percent = Math.ceil((bytesLoaded / file_id.size) * 100)

		if (percent === 100) {
			document.getElementById('upload_info').innerHTML = "Uploaded: " + file_id.name;
		} else {
			document.getElementById('upload_info').innerHTML = "Uploading: " + file_id.name + " (" + percent + "%)...";
		}
	} catch (ex) { this.debug(ex); }
}

function cancelFile(){
	if(document.getElementById('upload_queue').selectedIndex >= 0){
		var file_id = document.getElementById('upload_queue').value;
		swfu.cancelUpload(file_id);
		document.getElementById('upload_queue').value = file_id.id;
		file_name = document.getElementById('upload_queue').options[document.getElementById('upload_queue').selectedIndex].text.substr(8);
		document.getElementById('upload_queue').options[document.getElementById('upload_queue').selectedIndex].text = "Cancelled: " + file_name;
		}
	else{
		alert("Please Select a file");
		}
	}
	
//SWFObject handles
function swfUploadPreLoad() {
	var self = this;
	var loading = function () {
		//document.getElementById("divSWFUploadUI").style.display = "none";
		document.getElementById("divLoadingContent").style.display = "";

		var longLoad = function () {
			document.getElementById("divLoadingContent").style.display = "none";
			document.getElementById("divLongLoading").style.display = "";
		};
		this.customSettings.loadingTimeout = setTimeout(function () {
				longLoad.call(self)
			},
			15 * 1000
		);
	};
	
	this.customSettings.loadingTimeout = setTimeout(function () {
			loading.call(self);
		},
		1*1000
	);
}
function swfUploadLoaded() {
	var self = this;
	clearTimeout(this.customSettings.loadingTimeout);
	//document.getElementById("divSWFUploadUI").style.visibility = "visible";
	document.getElementById("divSWFUploadUI").style.display = "";
	document.getElementById("divLoadingContent").style.display = "none";
	document.getElementById("divLongLoading").style.display = "none";
	document.getElementById("divAlternateContent").style.display = "none";
	
	//document.getElementById("btnBrowse").onclick = function () { self.selectFiles(); };
	//document.getElementById("btnCancel").onclick = function () { self.cancelQueue(); };
}
   
function swfUploadLoadFailed() {
	clearTimeout(this.customSettings.loadingTimeout);
	document.getElementById("divSWFUploadUI").style.display = "none";
	document.getElementById("divLoadingContent").style.display = "none";
	document.getElementById("divLongLoading").style.display = "none";
	document.getElementById("divAlternateContent").style.display = "";
}
