// JavaScript Document
//Autor					:Rogério Ferreira dos Santos
//Data  				:02/01/2008
//Versao				:01.01
//Ultima Atualização	:06/06/2008

DOM=function(){
	this.AdicionarEvento=onAdicionarEvento;
	this.AddLinhaDeTexto=OnAddLinhaDeTexto;
	this.AddOption=onAddOption;
	this.ChekRadio=OnChekRadio;
	this.Clear=onClear;
	this.CriaBotao=onCriaBotao;
	this.CriaInputHidden=onCriaInputHidden;
	this.CriaCheckBox=onCriaCheckBox;
	this.CriaDiv=onCriaDiv;
	this.CriaLabel=onCriaLabel;
	this.CriaLink=onCriaLink;
	this.CriaRadio=onCriaRadio;
	this.CriaSelect=onCriaSelect;
	this.CriaText=onCriaText;
	this.Copiar=onCopiar;
	this.CopiarPara=onCopiarPara;
	this.EqualizarAltura=OnEqualizarAltura;
	this.GetID=onGetID;
	this.Habilita=onHabilita;
	this.InserirLinha=onInserirLinha;
	this.LimparTabela=onLimparTabela;
	this.Remover=onRemover;
	this.VerificaForm=OnVerificaForm;
	this.Visible=onVisible;
	this.SetStyleSize=onSetStyleSize;
	this.SetFom=onSetFom;
	this.SetMensagem=OnSetMensagem;
	
	function onAddOption(prObj,prLabel,prValue,prSelect)
	{
		var INPUTOPTION = document.createElement("OPTION");
			INPUTOPTION.appendChild(document.createTextNode(prLabel));
			if (prValue)
			{
				INPUTOPTION.setAttribute("value",prValue);
				}
			else
			{
				INPUTOPTION.setAttribute("value",prLabel);
			}

		if (prSelect)
			{
				INPUTOPTION.setAttribute("selected","selected");
			}
		prObj.appendChild(INPUTOPTION);
	}
	

	function onGetID(prObj)
	{
		return document.getElementById(prObj)
	}
	
	
	function onSetStyleSize(prObj,prSize)
	{
		var lobj=onGetID(prObj);
		lobj.style.width=prSize+'px';
		}

	function onSetFom()
	{
		onSetObrigatorio();
		}

	function onSetObrigatorio()
	{
		var x=document.getElementById("FormDefault");
		for (var i=0;i<x.length;i++)
			{
  				if (x.elements[i].required)
				{
					if (x.elements[i].required=="true")
					{
						x.elements[i].onchange=function (){CtrChance(this)}
						x.elements[i].Mudou="false";
					}
			   }
			}
	}
	

	function OnVerificaForm()
	{
		return !onGetMudou();
		}


	function onGetMudou()
	{
		var x=document.getElementById("FormDefault");
		for (var i=0;i<x.length;i++)
			{
				if (x.elements[i].Mudou)
				{
					if (x.elements[i].Mudou=="true")
					{
						return true
					}
			   }
			}
			return false;
	}

	function OnSetMensagem(prLabel,prMensagem,prApagar)
	{
		var lLabel=onGetID(prLabel);
		
		if (lLabel)
		{
		
			while (lLabel.firstChild)
			{
				lLabel.removeChild(lLabel.firstChild);
			}
			lLabel.appendChild(document.createTextNode(prMensagem))
			if (prApagar)
			{
				window.setTimeout(function (){OnSetMensagem(prLabel,' ')}, 10000);
			}

		}
	}
	
	
	function onClear(prLabel)
	{
		var lLabel=onGetID(prLabel);
		if (lLabel)
		{
			while (lLabel.firstChild)
			{
				lLabel.removeChild(lLabel.firstChild);
			}
		}
	}
	
	function OnAddLinhaDeTexto(prLabel,prMensagem)
	{
		var lLabel=onGetID(prLabel);
		
		if (lLabel)
		{
			lLabel.appendChild(document.createTextNode(prMensagem))
			lLabel.appendChild(document.createElement("BR"));
		}
	}


	function OnChekRadio(prRadio,prValor)
	{
		var x=document.getElementById("FormDefault");
		for(i=0; i<x.elements.length; i++)
		{
			if(x.elements[i].type=="radio")
			{
				if (x.elements[i].name==prRadio)
				{
					if (x.elements[i].value==prValor)
					{
						x.elements[i].checked="true";
					}
					else
					{
						x.elements[i].checked=null;
					}
				}
			}
		}

	}


	function onCriaInputHidden(prNome,prValor)
	{
		var INPUTTEXT = document.createElement("INPUT");
			INPUTTEXT.setAttribute("type","hidden");
			INPUTTEXT.setAttribute("name",prNome);
			INPUTTEXT.setAttribute("id",prNome);
			INPUTTEXT.setAttribute("value",prValor);
		return INPUTTEXT;
	}

	function onCriaLabel(prNome,prValor)
	{
		var INPUTTEXT = document.createElement("LABEL");
			INPUTTEXT.setAttribute("name",prNome);
			INPUTTEXT.setAttribute("id",prNome);
			INPUTTEXT.appendChild(document.createTextNode(prValor))
			return INPUTTEXT;
	}

	function onCriaBotao(prValor,prFuncao)
	{
		var btnBotao = document.createElement("INPUT");
		btnBotao.setAttribute("type","button");
		btnBotao.setAttribute("value",prValor);
		btnBotao.className='button';
		btnBotao.style.marginleft='0px';
		if (prFuncao)
			{
				btnBotao.onclick=function(){prFuncao}
			}
		return btnBotao;
	}

	function onRemover(prObj)
	{
		if (prObj)
		{
			if (prObj.parentNode)
			{
				var lpai=prObj.parentNode;
				lpai.removeChild(prObj);
			}
		}
	}
	
	function CtrChance(prObj)
	{
		prObj.Mudou="true"
		}

	function onCriaCheckBox(prID,prValue,prCheck)
	{
		var objcheck = document.createElement("INPUT");

		objcheck.setAttribute("type","checkbox");
		objcheck.setAttribute("id",prID);
		objcheck.setAttribute("name",prID);
		objcheck.setAttribute("value",prValue);
		if (prCheck=="true")
		{
			objcheck.checked=true;
		};
		return objcheck;
	}

	function onCriaSelect(prID,prOption,prDefaul)
	{
		var obj = document.createElement("SELECT");
		obj.setAttribute("id",prID);
		obj.setAttribute("name",prID);
		for (i=0;i<prOption.length;i++)
		{
			onAddOption(obj,prOption[i][1],prOption[i][0],(prDefaul==prOption[i][0]));
		}
		return obj;
	}

	function onCriaRadio(prID,prValue,prCheck)
	{
		var objcheck = document.createElement("INPUT");
		objcheck.setAttribute("type","radio");
		objcheck.setAttribute("id",prID);
		objcheck.setAttribute("name",prID);
		objcheck.setAttribute("value",prValue);
		objcheck.onclick=function(){meMarcar(this)};
		if (prCheck)
		{
			objcheck.setAttribute("checked",true);
		};
		return objcheck;
	}
	
	function onCriaText(prID,prValue,prSize,prMax)
	{
		var obj = document.createElement("INPUT");
		obj.setAttribute("type","text");
		obj.setAttribute("id",prID);
		obj.setAttribute("name",prID);
		if (prValue) {
			obj.setAttribute("value", prValue);
		}

		if (prSize) {
			obj.setAttribute("size", prSize);
		}
	
		if (prMax) {
			obj.setAttribute("maxlength", prMax);
		}
	return obj;
	}
	
	function onCopiar(prNome)
	{
		return onGetID(prNome).cloneNode(true);
	};
	
	function onCopiarPara(prOrigem,prDestino)
	{
		onGetID(prDestino).appendChild(onCopiar(prOrigem));
	};
	
	function onAdicionarEvento(objeto, TipoEvento, funcao)
	{
		if(objeto.addEventListener)
		{ // todos navegadores menos IE
			objeto.addEventListener(TipoEvento, funcao, false); 
			return true;
		} else if (objeto.attachEvent)
		{ // IE	
			var r = objeto.attachEvent('on'+TipoEvento, funcao);
			return r;
		} else 
		{
			return false;
		}
	 }
	 
	 
	 function onInserirLinha(prTabela,prValores,prSplit){
		var proxLinha = prTabela.rows.length; 
		var linha = prTabela.insertRow(proxLinha); 
		var ArrayValor=prValores;
		var i=0;
		for (i = 0; i < ArrayValor.length; i++) {
			var coluna = linha.insertCell(i); 
			if (typeof(ArrayValor[i])=="string")
			{
				coluna.appendChild(document.createTextNode(ArrayValor[i]))
			}
			else
			{
				coluna.appendChild(ArrayValor[i])
			};
		}
	};


	 function onLimparTabela(prTabela){
		var proxLinha = prTabela.rows.length; 
		var i=0;
		for (i = proxLinha-1; i >=0; i--) {
			prTabela.deleteRow(i); 
			}
	};

	function onVisible(prID,prVer)
	{
		var obj=onGetID(prID);
		if (prVer)
		{
			obj.style.display='';
			}
		else
		{
			obj.style.display='none';
			}
	}
	
	function onCriaDiv(prNome){
		var div = document.createElement("DIV");
		div.setAttribute("name",prNome);
		div.setAttribute("id",prNome);
		return div;
	}
	
	
	function onCriaLink(prLabel,prSrc)
	{
		var objlink = document.createElement("A");
		if (prSrc)
		{
			objlink.setAttribute("href",prSrc);
			}
		else
		{
			objlink.setAttribute("href","#");
			};
		objlink.appendChild(document.createTextNode(prLabel));
		return objlink;
	}
	
	function onHabilita(prNome,prValor){
		var obj=onGetID(prNome);
		if (obj){
			if (prValor){
				obj.disabled=!prValor;
			}
			else
			{	obj.disabled=true;
				}
		}
	}
	
   function OnEqualizarAltura(prDivs){
        var contDivs,maxHeight,divHeight,d;
  		var divs=new Array();
		if (prDivs){
 		      for(var i=0;i<prDivs.length;i++){
			  	divs[i]=document.getElementById(prDivs[i]);
			  }
	    maxHeight=0;
		var contDivs=new Array();
		i=0;
	   for(var i=0;i<divs.length;i++){
    		d=divs[i];
	       	if (d) {
            	contDivs[contDivs.length]=d;
                if(d.offsetHeight){
                   	divHeight=d.offsetHeight;
                }
                else if(d.style.pixelHeight){
                   	divHeight=d.style.pixelHeight;
               	}
                maxHeight=Math.max(maxHeight,divHeight);
           	}
				 
	       for(var j=0;j<contDivs.length;j++){
    	        contDivs[j].style.height=maxHeight+"px";
	       		}
	    }
		}
	}	

}


function meMarcar(prRadio)
{
	var MDOM=new DOM;
	MDOM.ChekRadio(prRadio.name,prRadio.value);
	}