ie = (document.all)? true:false;
// Compatibilizando o event.type para Mozilla
function MOZEventHandlers(_eventos){var i; for (i=0; i< _eventos.length; i++){document.addEventListener(_eventos[i], function(e){window.event = e;}, true);}}
if(!document.all){MOZEventHandlers(["click","mousedown","mouseup","mouseover","mouseout","mousemove","keyup","keydown","load","focus","blur","selectstart"]);}
//-->
/*
Parâmetros do divPopup:

- nome (texto | requerido): Corresponde ao ID do DIV. Não deve ser repetido;
- titulo (texto | requerido): Título do popup;
- tipo (URL ou HTML | Obrigatório): Deve ser definido se texto ou HTML (HTML) ou URL (um iframe é carregado) deve ser mostrado;
- conteudo (HTML, texto ou URL | Obrigatório): O tipo de conteúdo é definido em tipo; 
- largura (numérico | opcional): Definir largura do DIV. Caso não for preenchido ou o valor for inválido, um valor padrão será atribuído;
- altura (numérico | opcional): Definir altura do DIV. Caso não for preenchido ou o valor for inválido, um valor padrão será atribuído;
- top (Inutilizado, sempre centralizado.)
- left (Inutilizado, sempre centralizado.)
- minimizar (boolean | opcional): Preencher com false, true, 0 (para false) ou 1 (para true) para mostrar o botão minimizar. Valores errados ou o não preenchimento será considerado false;
- maximizar (boolean | opcional): Preencher com false, true, 0 (para false) ou 1 (para true) para mostrar o botão maximizar. Valores errados ou o não preenchimento será considerado false;
- fechar (boolean | opcional): Preencher com false, true, 0 (para false) ou 1 (para true) para mostrar o botão fechar. Valores errados ou o não preenchimento será considerado true;

divPopup versão 1.0 
Criado por Darlesson
darlesson@webaula.com.br
*/
var numDifIfr = (document.all)? 4:-2;
var numDifLarg = (document.all)? 12:8;
var numDifAlt = (document.all)? 34:30;
var marginLeftTop = 10;
var marginAllSide = 25;
var objBody = document.getElementsByTagName("body");
var strCaminhoPastaDivPopup = "/recursos/divpopup/";
var strNomeArquivoEstiloDivPopup = "lib_divPopup.css";
var ConteudoAnteriorPopUp = null;
var NomeObjetoPopUpOrigemConteudo = null;

function CalcularDimensoes(altura,largura){
    var numScrollTop = parseInt(document.getElementsByTagName("html")[0].scrollTop);
	var numScrollLeft = parseInt(document.getElementsByTagName("html")[0].scrollLeft);
	var numMaxHeight = 0;
	var numMaxWidth = 0;	
	var lngAlturaBase = 0; 
	var lngLarguraBase = 0; 
	var left = 0;
	var top = 0;
	
	//Verifica se o ScrollTop foi preenchido
	if(numScrollTop == 0){
	    numScrollTop = parseInt(document.getElementsByTagName("body")[0].scrollTop);
	}
	//Verifica se o ScrollLeft foi preenchido
	if(numScrollLeft == 0){
	    numScrollLeft = parseInt(document.getElementsByTagName("body")[0].scrollLeft);
	}			    
    //Busca a Altura da janela
    if(window.innerHeight){ lngAlturaBase = window.innerHeight;
    }else{  lngAlturaBase = document.body.offsetHeight; }
    
    //Busca a Largura da janela           
    if(window.innerWidth){ lngLarguraBase = window.innerWidth;
    }else{ lngLarguraBase = document.body.offsetWidth; }   
    
    // Verifica se a largura foi passada em percentual
    //  e faz a conversão para pixels
    if(typeof(largura) == 'string' && largura.indexOf("%") > 0){
        var lngPercentual = parseFloat(largura.replace('%',''));
        largura = parseInt((parseFloat(lngLarguraBase)/100)*lngPercentual);	            
        largura -= 18;	            
    }		
    
    // Verifica se a altura foi passada em percentual  
    //  e faz a conversão para pixels
    if(typeof(altura) == 'string' && altura.indexOf("%") > 0){
        var lngPercentual = parseFloat(altura.replace('%',''));					    			    
        altura = parseInt((parseFloat(lngAlturaBase)/100)*lngPercentual);				    	            
        altura -= 18;      	    	            
    }		
    
	numMaxWidth  = parseFloat(lngLarguraBase);
    numMaxHeight = parseFloat(lngAlturaBase);	      
    left         = parseInt((parseFloat(lngLarguraBase) - (largura+18))/2) + numScrollLeft;
    top          = parseInt((parseFloat(lngAlturaBase) - (altura+18))/2) + numScrollTop;   
    return [numScrollTop,numScrollLeft,numMaxHeight,numMaxWidth,largura,altura,left,top];
}

function divPopup(nome,titulo,tipo,conteudo,largura,altura,top,left,minimizar,maximizar,fechar){

    //Chama a função que realiza o include da folha de estilo do recurso na página em que ele é chamado
    includeEstiloDivPopup();    
	if(document.getElementsByTagName("body").length >= 1 && document.getElementsByTagName("html").length >= 1){
		if(document.getElementById(nome) == null){
			var objBody         = document.getElementsByTagName("body");
		    var topoBase        = 0;
			var esquerdaBase    = 0;
			var objConteudo     = "";
			var conteudoRPC     = "";	            	
            var arrDimensoes    = CalcularDimensoes(altura,largura);
            var numScrollTop    = arrDimensoes[0];
            var numScrollLeft   = arrDimensoes[1];
            var numMaxHeight    = arrDimensoes[2];
            var numMaxWidth     = arrDimensoes[3];
            largura             = arrDimensoes[4];
            altura              = arrDimensoes[5];
            left                = arrDimensoes[6];
            top                 = arrDimensoes[7];
            
			var blnRPC = false;
			var blnConteudoDefinido = false;
			
			//Verificando se o conteúdo é um objeto
			if( ! blnConteudoDefinido ) {
			    try{
			        if( conteudo.length <= 100 && conteudo.indexOf("'") == -1 ){
			            if(document.getElementById(conteudo)){
			                NomeObjetoPopUpOrigemConteudo = conteudo;
				            objConteudo = document.getElementById(conteudo);
				            conteudo = objConteudo.innerHTML;
				            objConteudo.innerHTML = "";
                            blnConteudoDefinido = true;
			                tipo = "HTML";
			            }
			        }
			    }catch(e){ }
            }			    

			//Verificando se o conteúdo é uma função
			if( ! blnConteudoDefinido ){
			    try{
			        conteudo = eval(conteudo);
			        blnConteudoDefinido = true;
			        blnRPC = true;
			        tipo = "HTML";
			    }catch(e){
			        blnRPC = false;
			    }
			}
			
			//Verificando se o conteúdo é texto e está codificado
		    if( conteudo.indexOf("&#") > -1 || conteudo.indexOf("&nbsp;") > -1 ) {
                try{
                    conteudo = RPCDecode(conteudo);
                }catch(e){
		            conteudo = unescape( conteudo );
                }
		    }else if ( conteudo.indexOf("%") > -1 ){
		        conteudo = unescape( conteudo );
		    }
			
		    ConteudoAnteriorPopUp = conteudo;

			if(tipo.toUpperCase() == "URL"){
				conteudo = "<iframe id='ifrconteudo_"+nome+"' src='"+conteudo+"' width='"+(largura-numDifLarg+numDifIfr)+"' height='"+(altura-numDifAlt+numDifIfr)+"' border='0' frameborder='0' class='divPopup_ifrConteudo'></iframe>";
			}else{
				if(blnRPC){
					conteudoRPC = conteudo;
					conteudo = "";
				}
				conteudo = "<div id='ifrconteudo_"+nome+"' style='width:"+(largura-numDifLarg+numDifIfr)+"px; height:"+(altura-numDifAlt+numDifIfr)+"px; overflow-y:scroll;' class='divPopup_ifrConteudo'>"+conteudo+"</div>";
			}		
			if(minimizar == true || minimizar == 1){
				//minimizar = "<div class='divPopup_tituloBotoes'><img src='"+strCaminhoPastaDivPopup+"imagens/bt_minimizar.gif' title='Minimizar' /></div>";
				minimizar = "";
			}
			if(maximizar == true || maximizar == 1){
				maximizar = "<div id='maximizar_"+nome+"' Maximizado='N' class='divPopup_tituloBotoes' identificador='"+nome+"' onclick=maximizarDivPopup('"+nome+"',this.id);><img id='imgmaximizar_"+nome+"' src='"+strCaminhoPastaDivPopup+"imagens/bt_maximizar.gif' title='Maximizar' /></div>";
			}else{
				maximizar = "";
			}
			if(fechar != false || fechar != 0){
				fechar = "<div class='divPopup_tituloBotoes' identificador='"+nome+"' onclick=\"AtribuirHTMLDivPopup();fecharDivPopup('"+nome+"')\"><img src='"+strCaminhoPastaDivPopup+"imagens/bt_fechar.gif' title='Fechar' /></div>";
			}else{
				fechar = "";
			}
						
			var objHTMLPopup = "<div id='"+nome+"' conteudo='"+tipo+"' topo='"+top+"' topoBase='"+topoBase+"' esquerda='"+left+"' esquerdaBase='"+esquerdaBase+"' largura='"+largura+"' altura='"+altura+"' style='position:absolute; width:"+largura+"px; height:"+altura+"px; top:"+top+"px;left:"+left+"px; z-index:1000;' class='divPopup_borda'><div class='divPopup_borda2'><div id='titulo_"+nome+"' class='divPopup_titulo' onselectstart='return false;' onmouseover='setarTituloDivPopup(this.id);'><div class='divPopup_tituloTexto'>"+titulo+"</div>"+fechar+maximizar+minimizar+"</div><div class='divPopup_conteudo'>"+conteudo+"</div></div></div>"
			var objDivPopup = document.createElement("div");
			var objIfrBackground = "<iframe id='ifrbackground_"+nome+"' style='position:absolute; width:"+(largura)+"px; height:"+(altura+numDifIfr)+"px; top:"+top+"px;left:"+left+"px; z-index:1000;'></iframe>";
			objDivPopup.setAttribute("id","recebe_"+nome);
			objDivPopup.innerHTML =  objIfrBackground + objHTMLPopup;
			objBody[0].appendChild(objDivPopup);
			if(blnRPC){
				divPopupRPC(conteudoRPC,"ifrconteudo_"+nome);
			}
		}else{
			// Mudar foco (z-index)
		}
	}else{
		alert("Favor escrever a tag <body></body> corretamente.");
	}
}
function divPopupRPC(conteudoRPC,id){
	var objConteudo = document.getElementById(id);
	objConteudo.innerHTML = conteudoRPC;
}
function AtribuirHTMLDivPopup(){
	var id = NomeObjetoPopUpOrigemConteudo;
	if(id != "" && document.getElementById(id)){
	    document.getElementById(id).innerHTML = ConteudoAnteriorPopUp;
	    ConteudoAnteriorPopUp = null;
	    NomeObjetoPopUpOrigemConteudo = null;
	}
}
function maximizarDivPopup(identificador){
	var objDivPopup         = document.getElementById(identificador);
	var objIfrBackground    = document.getElementById("ifrbackground_"+identificador);
	var objImgMaximizar     = document.getElementById("imgmaximizar_"+identificador);
	var objIfrConteudo      = document.getElementById("ifrconteudo_"+identificador);	
	var lngDivAltura        = parseInt(objDivPopup.getAttribute("altura"));
	var lngDivLargura       = parseInt(objDivPopup.getAttribute("largura"));
	var strCaminhoMaximizar = strCaminhoPastaDivPopup;
	var strTextoMaximizar   = '';
	
	// Verifica a ação que deve ser executada
	if(objImgMaximizar.getAttribute("Maximizado") == "N"){
	    // Maximizar
	    strCaminhoMaximizar += "imagens/bt_restaurar.gif";
	    lngDivAltura = "99%";
	    lngDivLargura = "99%";
	    strTextoMaximizar = "Restaurar";
	    objImgMaximizar.setAttribute("Maximizado","S");
    }else{
        // Restaurar
        strCaminhoMaximizar += "imagens/bt_maximizar.gif";
        strTextoMaximizar = "Maximizar";
        objImgMaximizar.setAttribute("Maximizado","N");
    }
    
    var arrDimensoes        = CalcularDimensoes(lngDivAltura,lngDivLargura);
    var lngScrollTop        = arrDimensoes[0];
    var lngScrollLeft       = arrDimensoes[1];
    var lngMaxHeight        = arrDimensoes[2];
    var lngMaxWidth         = arrDimensoes[3];
    var lngLargura          = arrDimensoes[4];
    var lngAltura           = arrDimensoes[5];
    var lngLeft             = arrDimensoes[6];
    var lngTop              = arrDimensoes[7];
    
    //Altera as dimensões e o posicionamento da DivPopUp
    objDivPopup.style.top = lngTop+"px";
    objDivPopup.style.left = lngLeft+"px";
    objDivPopup.style.height = (lngAltura)+"px";
    objDivPopup.style.width = lngLargura+"px";
	
    //Altera as dimensões e o posicionamento do iFrame de Fundo
    objIfrBackground.style.top = lngTop+"px";		
    objIfrBackground.style.left = lngLeft+"px";
    objIfrBackground.style.height = (lngAltura)+"px";
    objIfrBackground.style.width = lngLargura+"px";
	
    //Altera as dimensões do iFrame do Conteudo
    objIfrConteudo.style.height = (lngAltura-numDifAlt+numDifIfr)+"px";
    objIfrConteudo.style.width = (lngLargura-numDifLarg+numDifIfr)+"px";
	
    //Altera a ação e o texto do botão de Maximizar
    objImgMaximizar.setAttribute("src",strCaminhoMaximizar);
    objImgMaximizar.setAttribute("title",strTextoMaximizar);		
}
function fecharDivPopup(identificador){
    AtribuirHTMLDivPopup();
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("recebe_"+identificador));
}

var objTituloDivPopup;
var objDivPopupMover;
var numDivMover = 0;
function setarTituloDivPopup(id){
	objTituloDivPopup = id;
	objDivPopupMover = id.substring(id.indexOf("_")+1,id.length);
}
function moverDivPopup(){
	if(ie){
		try{
			objBodyHTML = (ie)? "HTML":"HTML";
			objDivPopup = document.getElementById(objDivPopupMover);
			objDivTitulo = (ie)? event.srcElement:event.target;
			//if(document.getElementById("recebePosicoes")){
				//document.getElementById("recebePosicoes").innerHTML = event.srcElement.tagName +", "+ event.srcElement.id +", "+ objDivTitulo.parentElement.id;
			//}
			while((objDivTitulo.id != objTituloDivPopup && objDivTitulo.parentElement.id != objTituloDivPopup) && objDivTitulo.tagName != objBodyHTML && numDivMover < 5){
				objDivTitulo = (ie)? objDivTitulo.parentElement:objDivTitulo.parentNode;
				numDivMover++;
			}
			if(objDivTitulo.id == objTituloDivPopup){
				offsetX = (ie)? event.clientX:event.clientX;
				offsetY = (ie)? event.clientY:event.clientY;
				esquerdaBase = parseInt(objDivPopup.style.left);
				topoBase = parseInt(objDivPopup.style.top);
				habilitar = true;
				(ie)? document.attachEvent("onmousemove",posicaoDivPopup):document.addEventListener("mousemove",posicaoDivPopup,true);
			}
		}catch(e){
			//window.status = "Falha em Function moverDivPopup(){}"
		}
	}
}
function posicaoDivPopup(){
	try{
		if(!habilitar){
			return;
		}
		objDivPopup.style.left = (ie)? esquerdaBase+event.clientX-offsetX:esquerdaBase+event.clientX-offsetX; 
		objDivPopup.style.top = (ie)? topoBase+event.clientY-offsetY:topoBase+event.clientY-offsetY;
		document.getElementById("ifrbackground_"+objDivPopupMover).style.left = ((ie)? esquerdaBase+event.clientX-offsetX:esquerdaBase+event.clientX-offsetX)+"px"; 
		document.getElementById("ifrbackground_"+objDivPopupMover).style.top = ((ie)? topoBase+event.clientY-offsetY:topoBase+event.clientY-offsetY)+"px"; 
		return false;
	}catch(e){
		window.status = "Falha em Function posicaoDivPopup(){}"
	}
}

function includeEstiloDivPopup() {
    var objEstiloDivPopup = document.createElement("link");
	objEstiloDivPopup.setAttribute("rel","stylesheet");
	objEstiloDivPopup.setAttribute("type","text/css");
	objEstiloDivPopup.setAttribute("href", strCaminhoPastaDivPopup + strNomeArquivoEstiloDivPopup);
	try {
	    document.getElementsByTagName("head")[0].appendChild(objEstiloDivPopup);
	}
	catch(strErro) {
		try {
			    document.getElementsByTagName("body")[0].appendChild(objEstiloDivPopup);
	  	}
	  	catch(strErro) {
	  	}
	}
}

document.onmousedown = moverDivPopup;
document.onmouseup = Function("habilitar = false");numDivMover=0;(ie)? document.detachEvent("onmousemove",posicaoDivPopup):document.removeEventListener("mousemove",posicaoDivPopup,false);
/*
Desenvolvido por Darlesson
www.darlesson.com.br
*/