	var validado;
	var nfrm;
	var lstcamp = "";
	
	function startCallback() {
		// make something useful before submit (onStart)
		return true;
	}

	function injectBreaks(cnt)
	{
		var cnttmp = cnt.split('\\n');
		var nstr = "";
		
		if(cnttmp.length > 0)
		{
			for(i=0; i < cnttmp.length; i++)
			{
				nstr += cnttmp[i] + "\n";
			}
		}else{
			nstr = cnt;
		}
		return nstr;
	}
	
	function completeCallback(response) {
		alert(injectBreaks(nfrm.hid_formmessage.value));
		limpaForm(nfrm);
	}

	function marcaForm(frm)
	{
		var frstelement = 0;
		obj = frm.elements;
		nfrm = frm;
		for(i=0; i < obj.length; i++)
		{
			if(obj[i].getAttribute("reg") != undefined && obj[i].getAttribute("reg") == "true")
			{
				if(frstelement == 0){
					obj[i].focus();
					frstelement = 1;
				}

				var Pai = "";
				var Filho = "";
				var novoFilho = document.createElement("span");
				novoFilho.innerHTML = "*";
				novoFilho.style.color = "red";

				Filho = obj[i];
				Pai = Filho.parentNode;			
				Pai.appendChild(novoFilho);
	
				//Pai.insertAfter(novoFilho,Filho);
			}
		}
		injetaEventos(frm);
	}	

	function setJump(obj)
	{
		var nxtobj, actindex, jmp, currval;
		actindex = (obj.tabIndex - 10);
		actindex++;		
		
		jmp = obj.getAttribute("jump");
		currval = obj.value.length; 

		if(currval >= jmp){
			nxtobj = nfrm.elements[actindex];
			nxtobj.focus();
		}
	}

	function injetaEventos(frm)
	{
		nfrm = frm;		
		obj = frm.elements;
		
		for(b=0; b < obj.length; b++)
		{
			obj[b].setAttribute("tabIndex",(b + 10));

			if(obj[b].getAttribute("jump") != undefined && obj[b].getAttribute("jump") != "")
			{
				currobj = obj[b];
				obj[b].onkeyup = function(){setJump(this);};	
			}

			if(obj[b].getAttribute("type") == "radio" || obj[b].getAttribute("type") == "checkbox"){
				obj[b].className = "fundorad";
			}
			
			if(obj[b].getAttribute("value") == "Enviar")
			{
				currobj = obj[b];
				obj[b].onclick = function(){validaForm(document.forms[0]);};	
				
				obj[b].className = "estilo1";
				obj[b].onmouseover = function(){this.className = "estilo2"};
				obj[b].onmouseout = function(){this.className = "estilo1"};				
			}

			if(obj[b].getAttribute("value") == "Limpar")
			{
				currobj = obj[b];
				obj[b].onclick = function(){limpaForm(document.forms[0]);};	
				
				obj[b].className = "estilo1";
				obj[b].onmouseover = function(){this.className = "estilo2"};
				obj[b].onmouseout = function(){this.className = "estilo1"};
				
			}

		}
	}	

	function golink(id,nome)
	{
		switch(id)
		{
			case 45:
				parent.retMenuPrin(156);
			break;
			case 46:
				parent.retMenuPrinSTP(6);
			break;							
			case 47:
				parent.retMenuPrinSTP(7);
			break;							
			case 48:
				parent.retMenuPrin(9);
			break;	
			case 49:
				parent.retMenuPrinSTP(13);
			break;
			case 44:
				parent.retMenuPrin(15);
			break;			
			case 50:
				parent.retMenuPrinSTP(19);
			break;				
			case 51:
				parent.retMenuPrinSTP(20);
			break;	
			case 52:
				parent.retMenuPrinSTP(21);
			break;									
			case 53:
				parent.retMenuPrin(23);
			break;	
			case 54:
				parent.retMenuPrinSTP(27);
			break;	
			case 55:			
				parent.retMenuPrin(29);
			break;
			case 56:
				parent.retMenuPrinSTP(33);
			break;	
			case 57:
				parent.retMenuPrinSTP(35);
			break;				
			case 58:
				parent.retMenuPrinSTP(34);
			break;						
			case 98:
				parent.retMenuPrinSTP(36);
			break;		
			case 43://Savassi 2
				parent.retMenuPrin(144);
				parent.retMenuInfSTP(1);
			break;
			case 40://Barro preto 3
				parent.retMenuPrin(144);			
				parent.retMenuInfSTP(2);
			break;			
			case 42://Funcionarios 4
				parent.retMenuPrin(144);			
				parent.retMenuInfSTP(3);
			break;
			case 41://Centro 5	
				parent.retMenuPrin(144);			
				parent.retMenuInfSTP(4);
			break;			
		}
		parent.setPage(id,nome);
	}
	
	function limpaForm(frm)
	{	
		obj = frm.elements;
		for(i=0; i < obj.length; i++)
		{
				switch (obj[i].type)
					{
					case "text":
						obj[i].value = "";
					break;
					case "password":
						obj[i].value = "";
					break;
					case "textarea":
						obj[i].value = "";
					break;
					case "file":
						obj[i].value = "";
					break;
					default:
					break;
				}
			}
		}

		
	function validaFormSimples(frm)
	{
		lstcamp = "";		
		nfrm = frm;
		validado = true;
		var lastfalseid = 0;
		var txterro = "Os campos com * são de preenchimento obrigatório.\nOs campos abaixo não foram preenchidos:\n\n";
		obj = frm.elements;
		for(i=0; i < obj.length; i++)
		{
			if(obj[i].getAttribute("reg") != undefined && obj[i].getAttribute("reg") == "true")
			{
				switch (obj[i].type) {
					case "text":
						txterro += texto(obj[i]);
					break;
					case "password":
						txterro += texto(obj[i]);
					break;
					case "textarea":
						txterro += texto(obj[i]);
					break;
					case "radio":
						txterro += radio(obj[i]);
					break;
					case "checkbox":
						txterro += radio(obj[i]);
					break;					
					case "file":
						txterro += texto(obj[i]);
					break;
					case "select-one":
						txterro += selectone(obj[i]);
					break;		
					case "select-multiple":
						txterro += selectmultiple(obj[i]);
					break;							
					default:
					break;
				}
			}
		}
		
		if(!validado){
			alert(txterro);
		}else{
			frm.submit();			
		}		
	}
		
	function validaForm(frm)
	{	
		lstcamp = "";		
		nfrm = frm;
		validado = true;
		var lastfalseid = 0;
		var txterro = "Os campos com * são de preenchimento obrigatório.\nOs campos abaixo não foram preenchidos:\n\n";
		obj = frm.elements;
		for(i=0; i < obj.length; i++)
		{
			if(obj[i].getAttribute("reg") != undefined && obj[i].getAttribute("reg") == "true")
			{
				switch (obj[i].type) {
					case "text":
						txterro += texto(obj[i]);
					break;
					case "password":
						txterro += texto(obj[i]);
					break;
					case "textarea":
						txterro += texto(obj[i]);
					break;
					case "radio":
						txterro += radio(obj[i]);
					break;
					case "checkbox":
						txterro += radio(obj[i]);
					break;					
					case "file":
						txterro += texto(obj[i]);
					break;
					case "select-one":
						txterro += selectone(obj[i]);
					break;		
					case "select-multiple":
						txterro += selectmultiple(obj[i]);
					break;							
					default:
					break;
				}
			}
		}
		
		if(!validado){
			alert(txterro);
		}else{
			if(AIM.submit(frm, {'onStart' : startCallback, 'onComplete' : completeCallback}))
			{
				frm.submit();
			}
		}
	}

	function retError(objval)
	{
		validado = false;		
		if(objval != lstcamp){
			lstcamp = objval;			
			return "\t- " + objval + "\n";				
		}else{
			return "";				
		}
	}
	
	function radio(obj)
	{
		var val = false;

		for(a = 0; a < nfrm[obj.getAttribute("name")].length; a++)
		{
			if(nfrm[obj.getAttribute("name")][a].checked == true)
			{
				val = true;
				break;
			}
		}

		if(val){
			return "";
		}else{
			return retError(obj.getAttribute("extname"));
		}
	}
	
	function selectone(obj)
	{
		if(obj.options[obj.selectedIndex].value=="-1")
		{
			return retError(obj.getAttribute("extname"));			
		}else
		{
			return "";			
		}
	}
	

	function selectmultiple(obj)
	{
		var sele = false;
		var tam = obj.options.length;
		for(e = 0; e < tam; e++)
		{
			if(obj.options[e].selected == true)
			{
				sele = true;
				break;
			}
		}
		
		if(sele)
		{
			return "";					
		}else
		{
			return retError(obj.getAttribute("extname"));						
		}
	}

	function texto(obj)
	{
		if(obj.value.length == 0)
		{
			return retError(obj.getAttribute("extname"));						
		}else{
			return "";
		}
	}
