var swfu;
var uploadMaxSize = 5000;
var fileUploadLimit = 10;
setupSWFUpload();

function setupSWFUpload() {
	swfu = new SWFUpload({
		debug: false,
		upload_url: "/main/doupload2",
		post_params: {"PHPSESSID": PHPSESSID},
		//flash_url: FlashDetect.majorAtLeast(9)?"/static/swf/swfupload_f9.swf":"/static/swf/swfupload_f8.swf",
		flash_url: "/static/swf/swfupload_f10-hand.swf",
		button_placeholder_id : "browse_button",
		button_image_url : "/images/choosefile-f10.gif",
		button_width: "261",
		button_height: "100",
		file_post_name: 'Filedata', /* only flash 9 supports other-than-default 'Filedata', so we're sticking with default */
		file_upload_limit: fileUploadLimit,
		file_size_limit: uploadMaxSize+'KB',
		file_types: '*.jpg;*.gif;*.jpeg;*.png',
		file_types_description: "Images", 
		file_queued_handler: fileQueued,
		file_queue_error_handler : fileQueueError,
		upload_progress_handler : fileUploadProgress,
		upload_success_handler : uploadSuccess 
	});
	
	if ($('browse_button')) {
		$('browse_button').addEvent('click', function() {
			swfu.selectFile();
		});
	}

}

function fileQueueError(fileObj,errCode,message) {
	$('uploadError').setStyle('display','block'); 
	if (errCode == -110) {
		$('uploadErrorMessage').setText('The image you are uploading is too large.');
	} else if (errCode == -100) {
		$('uploadErrorMessage').setText('Are you having trouble uploading? Please refresh this page and try again or check our FAQ for help.');
	} else {
		$('uploadErrorMessage').setText('An unknown error occurred ('+message+') - please let us know about this');
	}
}

function fileUploadProgress(fileObj,sent,total) {
	if ($('upload_percent'))
	$('upload_percent').setText(Math.round(100*sent/total)+'% complete');
}

function fileQueued(fileObj) {
	if ($('browse_button'))
		$('browse_button').removeEvents('click').addEvent('click', function() {  } ).removeClass('browse_button').addClass('load_button');
	if ($('percentOverlay'))	
		$('percentOverlay').setStyle('display','block');
	if ($('uploadError'))
		$('uploadError').setStyle('display','none');

	swfu.startUpload();
}


function uploadSuccess(fileObj, data) {
	
	if (!FlashDetect.majorAtLeast(9)) {
		// welp, sometimes people with upload errors will be sent off to /creation. :(
		window.location.href='/creation';
		return;
	}
		
	data = String.trim(data);
	
	if (data.substring(0, 1) != '+') {
		$('uploadError').setStyle('display','block'); 
		$('uploadErrorMessage').setText('An error occurred ('+data.substring(1,data.length)+') - please let us know about this');
	} else {
		var f = data.split('~');
		
		goToCreation(f[1]);

		//$('browse_button').removeEvents('click').addEvent('click', function() { window.location.href='/creation'; } ).removeClass('browse_button').addClass('mag_button');
		//window.location.href='/creation'; 
	}
}
