//verifica se o browser tem suporte a ajax
function Ajax(){
  try {
	 ajax = new ActiveXObject("Microsoft.XMLHTTP");
  } 
  catch(e) {
	 try {
		ajax = new ActiveXObject("Msxml2.XMLHTTP");
	 }
	 catch(ex) {
		try {
		   ajax = new XMLHttpRequest();
		}
		catch(exc) {
		   alert("Esse browser não tem recursos para uso do Ajax");
		   ajax = null;
		}
	 }
  }
  return ajax;
}

function get(id)
{
	return document.getElementById(id);
}

/*Oculta e mostra div*/
function mostra(nome){
	var i = 0;
	while(obj = document.getElementById(++i)){
		if(i != parseInt(nome)) obj.className = "hidden";
	}
   clicado = document.getElementById(nome);
   clicado.className = clicado.className == "show" ? "hidden" : "show";
}

function mostra2(nome1,nome2){
	mostra(nome1);
	mostra(nome2);
}


/* Trabalho de upload */

function remove(param){
	param.parentNode.removeChild(param);
}
function addEvent(obj, evType, fn){
    if (obj.addEventListener)
        obj.addEventListener(evType, fn, true)
    if (obj.attachEvent)
        obj.attachEvent("on"+evType, fn)
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, fn );
  }
  else {
    obj.removeEventListener( type, fn, false ); 
  }
} 

function verifica(Dados,Retorno,Form){
	if(Dados.substring(0,5) != 'Erro:'){
		get(Form).reset();
	}
	get(Retorno).innerHTML = Dados;
	
}
function Upload(form,Action,Retorno,CampoReset){
/*
* Parametros:
* form - o form a ser submetido ou seu ID
* Action - url pra onde deve ser submetido o form
* Retorno - id do elemento que irá receber a  informação de retorno
* CampoReset - Formulario enviado para ser resetado
*/
	var originalForm = form;
	form = document.forms[form];
	if(get(CampoReset).value != ""){
	
	 //testando se passou o ID ou o objeto mesmo
	 form = typeof(form)=="string"?get(form):form;
	 
	 var erro="";
	 if(form==null || typeof(form)=="undefined"){
		 erro += "O form passado no 1o parâmetro não existe na página.\n";
	 }
	 else if(form.nodeName!="FORM"){ 
	 	erro += "O form passado no 1o parâmetro da função não é um form.\n";
	 }
	 if(get(Retorno)==null){ 
	 	erro += "O elemento passado no 3o parâmetro não existe na página.\n";
	 }
	 if(erro.length>0) {
	   alert("Erro ao chamar ao fazer Upload:\n" + erro);
	   return;
	 }
	
	 //criando o iframe
	 var iframe = document.createElement("iframe");
	 iframe.setAttribute("id","upload-temp");
	 iframe.setAttribute("name","upload-temp");
	 iframe.setAttribute("width","0");
	 iframe.setAttribute("height","0");
	 iframe.setAttribute("border","0");
	 iframe.setAttribute("style","width: 0; height: 0; border: none;");
	
	 
	 //adicionando ao documento
	 form.parentNode.appendChild(iframe);
	 window.frames['upload-temp'].name="upload-temp"; //ie sucks
	 
	 //adicionando o evento ao carregar
	 var carregou = function() { 
		removeEvent( get('upload-temp'),"load", carregou);
		
		var cross = "javascript: ";
		
		//cross += "window.parent.get('" + Retorno + "').innerHTML = document.body.innerHTML; void(0);";
		cross += "window.parent.verifica(document.body.innerHTML,'"+Retorno+"','"+ CampoReset +"');";
		
		get('upload-temp').src = cross;//seta dados pro iframe
		//deleta o iframe
		form.setAttribute("target","");//remove target do form
		form.setAttribute("action","javascript: Upload('"+originalForm+"','"+Action+"','"+Retorno+"','"+CampoReset+"');");//remove action do form
		setTimeout(function(){ remove(get('upload-temp'))}, 250);
		//form.reset();
	  }
	 addEvent( get('upload-temp'),"load", carregou)
	 
	 //setando propriedades do form
	 form.setAttribute("target","upload-temp");
	 form.setAttribute("action",Action);
	 form.setAttribute("method","post");
	 form.setAttribute("enctype","multipart/form-data");
	 form.setAttribute("encoding","multipart/form-data");
	 //submetendo
	 form.submit();
	// get(CampoReset).value = "";
	 
	 //exibe mensagem de carregando enquanto envia
	  get(Retorno).innerHTML = "Enviando...";
	  
	    //var valor_retornado = document.body.innerHTML; void(0); 
	    //valor_retornado = valor_retornado.substring(0,3);
		//alert("uhm "+get(Retorno));
	}
}


// popup centralizado
function abrir(pagina,largura,altura) {
	//pega a resolução do visitante
	w = screen.width;
	h = screen.height;
	
	//divide a resolução por 2, obtendo o centro do monitor
	meio_w = w/2;
	meio_h = h/2;
	
	//diminui o valor da metade da resolução pelo tamanho da janela, fazendo com q ela fique centralizada
	altura2 = altura/2;
	largura2 = largura/2;
	meio1 = (meio_h - altura2);
	meio2 = (meio_w-largura2);
	
	//abre a nova janela, já com a sua devida posição
	window.open(pagina,'pop','height=' + altura + ', width=' + largura + ', top='+meio1+', left='+meio2+'');
}
