var acao;
var alvo;
var contar = 0;
var total;
var callBack;

var imagens = function()
{
	
}

imagens.prototype.carregar = function(parans)
{
	$(function()
	{
		$(parans.alvo).swfupload
		(
			{
				upload_url: parans.url,
				file_post_name: parans.file,
				file_size_limit : parans.bytes,
				file_types : parans.type,
				file_types_description : parans.descricao,
				file_upload_limit : parans.limite,
				flash_url : host + "lib/swf/swfupload.swf",
				button_image_url : host + 'images/botao_upload.png',
				button_width : parans.width,
				button_height : parans.height,
				button_placeholder : $(parans.botao)[0],
				debug: parans.debug,
				post_params : {id_galeria:parans.id}
			}
		)
		.bind('fileQueued',imagens.prototype.fileQueued)
		.bind('fileQueueError', imagens.prototype.fileQueueError)
		.bind('fileDialogComplete', imagens.prototype.fileDialogComplete)
		.bind('uploadStart', imagens.prototype.uploadStart)
		.bind('uploadProgress', imagens.prototype.uploadProgress)
		.bind('uploadSuccess', imagens.prototype.uploadSuccess)
		.bind('uploadComplete', imagens.prototype.uploadComplete)
	});

	callBack = parans.callback;
	alvo = parans.alvo;
}

imagens.prototype.fileQueued = function(event, file)
{
	var math = Math.round(file.size / 1024);
	var listar='<ul>';
		listar+='<li id="'+file.id+'" style="float:left;">';
		listar+='<div class="nome">'+file.name+'</div> ('+math+' KB) <div class="progressvalue"></div>';
		listar+='<div class="progressbar"><div class="progress"></div></div>';
		listar+='<div class="status">Aguardando</div>';
		listar+='</li>';
	listar+='</ul>';
	$(alvo).append(listar);
	$('#upload_botao').show();
	acao = $(this);
}

imagens.prototype.fileQueueError = function(event, file, errorCode, message)
{
	alert('o arquivo ('+file.name+') excedeu o limite permitido!');
}

imagens.prototype.fileDialogComplete = function(event, numFilesSelected, numFilesQueued)
{
	total = numFilesQueued;
	$('#upload_botao').html('<button id="upload"></button>');
	$('#upload_botao').click
	(
		function()
		{
			$(acao).swfupload('startUpload');
		}
	);
}

imagens.prototype.uploadStart = function(event, file)
{
	$(alvo+' li#'+file.id).find('.status').text('enviado...');
	$(alvo+' li#'+file.id).find('.progressvalue').text('0%');
	$(alvo+' li#'+file.id).find('.cancel').hide();
}

imagens.prototype.uploadProgress = function(event, file, bytesLoaded)
{
	var percentage=Math.round((bytesLoaded/file.size)*100);
	$(alvo+' li#'+file.id).find('.progress').css('width', percentage+'%');
	$(alvo+' li#'+file.id).find('.progressvalue').text(percentage+'%');
}

imagens.prototype.uploadSuccess = function(event, file, serverData)
{
	var item=$(alvo+' li#'+file.id);
	item.find('.progress').css('width', '100%');
	item.find('.progressvalue').text('100%');
}

imagens.prototype.uploadComplete = function(event, file)
{
	$(acao).swfupload('startUpload');
	contar++;
	if(contar >= total)
	{
		$('#upload_botao').hide();
		$(alvo).empty();
		objAlertas.alerta('<div class="success">('+total+') Fotos enviadas com sucesso!</div>');
		callBack();
		contar = 0;
		total = 0;
		callBack();
	}
}

