var shown=0;
var total_size=0;
var uploaded=0;
var upload_errors=0;

function fileQueued(file) {
	var s='<table border="0" cellpadding="0" cellspacing="0" id="upload_tbl_'+file.index+'"><tr><td><div style="position:relative;" id="upload_tbl_cancel_div_'+file.index+'"><a href="#" onclick="swfu.cancelUpload(\''+file.id+'\'); return false;" class="cancel_upload_link" title="Не загружать этот файл"><i></i></a></div><div class="input_upload">'+file.name+'</div></td><td id="upload_tbl_pers_'+file.index+'"></td></tr></table>';
	document.getElementById('flashupload_files').innerHTML+=s;
	total_size+=file.size;
}

function beautiful_file_size(p) {
	var pp;
	if (p>1048576) { pp=(Math.round(p/1048576*100)/100)+'&nbsp;МБ'; }
	else if (p>1024) { pp=Math.round(p/1024)+'&nbsp;КБ'; }
	else if (p>0) { pp=p+'&nbsp;Б'; }
	return pp.replace('.',',');
}

function fileQueueError(file, errorCode, message) {
	if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)
		alert('Вы пытаетесь загрузить слишком много файлов. Допускается загрузка не более 10 файлов.');
	else if (errorCode === SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT)
		alert('Загружаемый файл слишком большого размера. Допускается загрузка не более 10 файлов общим объёмом не более 10 МБ.');
	else if (errorCode === SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE)
		alert('Файлы с размером в 0 байт загружать нельзя.');
	else if (errorCode === SWFUpload.QUEUE_ERROR.INVALID_FILETYPE)
		alert('Вы пытаетесь загрузить неподдерживаемый тип файла. Поддерживаются только форматы: JPG, JPEG, GIF, PNG, BMP.');
	else
		alert('Неизвестная ошибка. Файл загрузить невозможно.');
}

function fileDialogComplete(numFilesSelected, numFilesQueued, numTotalFilesQueued) {
	shown=numTotalFilesQueued;
	if (shown>0) {
		if (document.getElementById('flashupload_files').style.display=='none') document.getElementById('flashupload_files').style.display='block';
		if (shown==10) swfu.setButtonDisabled(1);
	}
}

function uploadError(file, errorCode, message) {
	if (errorCode === SWFUpload.UPLOAD_ERROR.HTTP_ERROR) {
		if (message=='400') alert('Необходимо указать файл с фотографией для загрузки.');
		else if (message=='403') alert('Загружаемый файл не является изображением в формате JPG, GIF, PNG или BMP! Файл должен быть обязательно с раширением jpg, gif, png или bmp.');
		else if (message=='404') alert('Размер загружаемого файла больше 10 МБ. Размер файла с изображением должен быть не более 10 МБ!');
		else if (message=='409') alert('Добавление изображений, содержащих вирус, невозможно!');
		else alert('Upload Error: ' + message);
		var percent2=Math.ceil((uploaded/total_size)*100);
		document.getElementById('upload_process').innerHTML='<div style="padding:0; margin:0; width:'+percent2+'%; background:#CCC;">&nbsp;</div>';
		document.getElementById('upload_tbl_cancel_div_'+file.index).style.display='block';
		document.getElementById('upload_tbl_cancel_div_'+file.index).innerHTML='<div class="upload_error"><i></i></div>';
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED) {
		alert('Загрузка прошла неудачно.');
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.IO_ERROR) {
		alert('Файл не загрузился, т.к. возникли проблемы соединения с сервером.');
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.SECURITY_ERROR) {
		alert('Security Error.');
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED) {
		alert('Upload limit exceeded.');
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED) {
		alert('Failed Validation.  Upload skipped.');
		upload_errors=1;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.FILE_CANCELLED) {
		document.getElementById('upload_tbl_'+file.index).style.display='none';
		shown--;
		if (shown==0) {
			document.getElementById('flashupload_files').innerHTML='';
			document.getElementById('flashupload_files').style.display='none';
		}
		else if (shown<10) swfu.setButtonDisabled(0);
		total_size-=file.size;
	}
	else if (errorCode === SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
		alert('Загрузка остановлена.');
		upload_errors=1;
	}
	else {
		alert('Неизвестная ошибка: '+errorCode+'; '+message);
		upload_errors=1;
	}
}

function uploadStart(file) {
	swfu.setButtonDisabled(1);
	document.getElementById('upload_tbl_cancel_div_'+file.index).style.display='none';
}

function uploadProgress(file, bytesLoaded, bytesTotal) {
	var percent=Math.ceil((bytesLoaded/bytesTotal)*100);
	document.getElementById('upload_tbl_pers_'+file.index).innerHTML=percent+'%';
	var percent2=Math.ceil(((uploaded+bytesLoaded)/total_size)*100);
	document.getElementById('upload_process').innerHTML='<div style="padding:0; margin:0; width:'+percent2+'%; background:#CCC;">&nbsp;</div>';
}

function uploadSuccess(file, serverData) {
	uploaded+=file.size;
	document.getElementById('upload_tbl_cancel_div_'+file.index).style.display='block';
	document.getElementById('upload_tbl_cancel_div_'+file.index).innerHTML='<div class="upload_success"><i></i></div>';
}

function uploadComplete(file) {
	if (this.getStats().files_queued === 0) {
		if (upload_errors==0) {
			document.main_upl_form.sa.value='upload_flash2';
			document.main_upl_form.submit();
		}
		else {
			alert('При загрузке изображений возникли ошибки. Пожалуйста исправьте их и загрузите изображения заново.');
			location.reload();
		}
	}
	else this.startUpload();
}

