var uploader    = null;
var arquivo     = null;
var enviando    = false;
var campoResult = null;
var tipos       = "";
var descTipos   = "";
function uploaderPronto(){
	uploader = document.getElementById(arquivo);
	uploader.addListener('onSelected', 'onSelect');
	uploader.addListener('onProgress', 'onProgress');
	uploader.addListener('onComplete', 'onComplete');
	uploader.addListener('onCompleteData', 'onCompleteData');
	uploader.url(url);
	if(tipos==""){
		uploader.setaTiposPermitidos([
      		{desc: "Imagens JPG, GIF ou PNG", ext: "*.jpg;*.jpeg;*.gif;*.png"}
      	]);		
	}else{
		uploader.setaTiposPermitidos([
    		{desc: descTipos, ext: tipos}
    	]);				
	}
}
function onSelect(e){
	if(document.getElementById("arquivo_")){
		document.getElementById("lista_arquivos").removeChild(document.getElementById("arquivo_"));
	}
	arquivo = e.arquivo;
	adicionaArquivo();
	$("#arquivos").show();
	$("#enviar").show();
	calculaTotais();
}
 
function adicionaArquivo(){
	$('<div class="arquivo" id="arquivo_"><div class="c30p">'+arquivo.nome
		 +'</div><div class="c100 ac">'+tamanho(arquivo.tamanho)
		 +'</div><div class="c30p progresso">&nbsp;</div><div class="sep" /></div>').appendTo("#lista_arquivos")
		.find(".progresso").append($('<span id="upload_" />').progressBar({ barImage: 'img/barraUpload.gif' }));		
}
 
function enviarArquivos(){
	if (!enviando){
		if(descTipos=="Curriculo"){
			url=url+"&idCategoria="+document.getElementById('categorias').value;
			uploader.url(url);			
		}
		$("#enviar").hide();
		enviando = true;
		uploader.iniciaUpload();
	}		
}

function onProgress(e){
	var valor = Math.ceil(Number(e.bytesLoaded / e.bytesTotal * 100));
	$("#upload_").progressBar(valor);
}
 
function onComplete(e){}
 
function onCompleteData(e){
	$("#upload_").html("Enviado.");
	document.getElementById("resultData").value = e.dados.trim();
	if(tipos==""){
		$("#arquivoUpload").html('<img src="'+document.getElementById("resultData").value+'" border="0"/>');
	}else{
		$("#arquivoUpload").html('<a href="'+document.getElementById("resultData").value+'" target="_blank">Ver Arquivo</a>');
	}
	$("#totais_arquivos").hide();
	$("#arquivos").hide();
	$("#enviar").hide();
	enviando = false;
	if(document.getElementById("formUpload")!=null){
		document.getElementById("formUpload").submit();		
	}
}
 
function calculaTotais(){
	if (arquivo){
		$("#total_tamanho").text(tamanho(arquivo.tamanho));
		$("#totais_arquivos").show();
		$("#enviar").show();
	}else{
		$("#totais_arquivos").hide();
		$("#arquivos").hide();
		$("#enviar").hide();
	}
}
 
function tamanho(val){
	var kb = Number(Number(val)/1024).toFixed(1);
	return kb >= 1000 ? Number(kb/1024).toFixed(1) + " MB" : kb + " KB";
}

String.prototype.trim = function(){
	return this.replace(/^\s*/,"").replace(/\s*$/,"").replace("(","").replace(")","");
}
