
		function ajaxPadrao(formulario, metodo, url, layer) {
			var objAjax = new AjaxObject(metodo, url);
			objAjax.addAllRequestObjects(document.forms[formulario]);
			objAjax.setLoadingFunction(loading);
			objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
			objAjax.load();
		}
		
		
		function ajaxPadraoFormUnique(valor, metodo, url, redireciona) {
			var objAjax = new AjaxObject(metodo, url);
			objAjax.addRequestValue('key',valor);
			objAjax.setCallBackFunction(callBackAlert, new Array());
			objAjax.setExceptionFunction(exceptionPadrao);
			objAjax.setCallBackFunction(callBackLocation, new Array(redireciona));
			objAjax.load();
		}                  
		
		function ajaxPadraoFormUnique2(valor, metodo, url) {
			var objAjax = new AjaxObject(metodo, url);
			
			//objAjax.addRequestValue('key',valor);
			
			if (valor instanceof Array) {
				for (var i = 0; i < valor.length; i += 2) {
					if (valor[i] != '') {
						objAjax.addRequestValue(valor[i], valor[i + 1]);
					}
				};
			} else {
				objAjax.addRequestValue('key', valor);
			}
			
			
			objAjax.setCallBackFunction(callBackAlert, new Array());
			objAjax.setExceptionFunction(exceptionPadrao);
			objAjax.load();
		}                  

		function ajaxPadraoUnique(valor, metodo, url,layer) {
			var objAjax = new AjaxObject(metodo, url);
			objAjax.addRequestValue('key',valor);
			objAjax.setCallBackFunction(callBackPadrao, new Array(layer));
			objAjax.setExceptionFunction(exceptionPadrao);
			objAjax.load();
		}
			
		
		
		function exceptionPadrao(cod, status) {
			alert(cod + ": " + status);
		}

		function callBackDetail(response, layerName, campo, botao) {
			document.getElementById(layerName).style.display = 'block';
			document.getElementById(layerName).innerHTML = response;
			var cal = new Zapatec.Calendar.setup({
			showsTime      : false,//mostrar hora ou não
			range          : [1900.01, 2999.12],//data inicial e final
			singleClick    : true,//selecionar data com um único click
			inputField     : campo,//nome do campo que irá receber a data
			button         : botao,//botão que irá chamar a função da data
			ifFormat       : "%d/%m/%Y"//formata que irá ser mostrado
			});
			
		}
		
		function callBackPadrao(response, layerName) {
			
			document.getElementById(layerName).innerHTML = '';

		   	var html = '';
		   	var scp = '';
		   	var scriptObj ;
		   
		    html = response;
		   	i = html.search(/<script/i); 
			if ( i >= 0 ) {
		   		while ( i >= 0 ) {
			   		htmlPart1 = html.substring(0, i);
					j = html.search(/<\/script>/i); 
					scpPart = html.substring(i + 8, j);
					htmlPart2 = html.substring(j + 9, html.length + 1);
				
					html = htmlPart1 + htmlPart2;
					i = html.search(/<script/i); 
					
		   			scriptObj = document.createElement('script');

		   			// Define parâmetro language=javascript para o objeto de script 
		   			scriptObj.setAttribute('language', 'javascript');

		   			// Atribui o código-fonte do script ao obj de script
		   			scriptObj.text = scpPart;

		   			// Executar o script
		   			document.getElementsByTagName("body")[0].appendChild(scriptObj);			
		   		}
			}
			document.getElementById(layerName).innerHTML = html;
			
		}


		// Função padrao de ajax para formularios
		function ajaxPadraoForm(formulario, metodo, url) {
			var objAjax = new AjaxObject(metodo, url);
			objAjax.addAllRequestObjects(document.forms[formulario]);
			objAjax.setCallBackFunction(callBackAlert, new Array());
			objAjax.load();
		}
		function loading(){
				layerName = this.callBackArguments[0];
				document.getElementById(layerName).innerHTML = "<font face=verdana size=3><div align=center><br><br><img src='../template/imagens/load.gif'></div></font>";	
		}

// Função padrão de Callback
		
		function callBackAlert(response) {
			eval(response);
		}


function carregarCalendario(mes, ano) { 
    req = null; 
	url = 'carregarCalendario.php?mes=' + mes + '&ano=' + ano;
    document.getElementById('calendario').innerHTML = calendarioCarregando();
 
    // Procura por um objeto nativo (Mozilla) 
    if (window.XMLHttpRequest) { 
        req = new XMLHttpRequest(); 
        req.onreadystatechange = processReqChange; 
        req.open("GET", url, true); 
        req.send(null); 
    // Procura por uma versão ActiveX (IE) 
    } else if (window.ActiveXObject) { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
        if (req) { 
            req.onreadystatechange = processReqChange; 
            req.open("GET", url, true); 
            req.send(); 
        } 
    } 
} 

function processReqChange() { 
    // apenas quando o estado for "completado" 
    if (req.readyState == 4) { 
        // apenas se o servidor retornar "OK" 
        if (req.status == 200) { 
            // procura pela div id="calendario" e insere o conteudo 
            // retornado nela, como texto HTML 
            document.getElementById('calendario').innerHTML = req.responseText; 
        } else { 
            alert("Problemas para carregar o calendário!\nTente novamente mais tarde."); 
        } 
    } 
} 

function carregarCalendarioMesAno() {
	document.getElementById('calendario_mes_ano').innerHTML = ' ' + meses[mes] + ' ' + ano + ' '; 
}

function iniciarCalendario(iDia, iMes, iAno) {
	meses = new Array('', 'Janeiro',  'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho',
					  'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');
	dia = iDia;
	mes = iMes;
	ano = iAno;
	carregarCalendarioMesAno(mes, ano);
	carregarCalendario(mes, ano);
}
function trocarCalendario(valor) {
	// se o novo mes até 12 (jan = 1, dez = 12)
	if ((mes + valor) <= 12) {
		if (mes + valor > 0) {
			mes += valor;
		// se o novo mês for menor que zero
		} else {
			mes = 12;
			ano -= 1;
		}
	// se o novo mês passar de 12 (1 a 12)
	} else {
		mes = 1;
		ano += 1;
	}
	carregarCalendario(mes, ano);
	carregarCalendarioMesAno(mes, ano);
}
var meses, data, mes, ano;

function calendarioCarregando() {
	return '<table border="0"><tr><td width="168" align="center" valign="middle" height="115">\n'+
'	 <table width="150"  border="0" cellspacing="0" cellpadding="0">\n' +
'	  <tr>\n' +
'		<td colspan="3" align="right" background="imagens/topo_div_bg.gif"><table width="100%" cellpadding="0" cellspacing="0">\n' +
'			<tr><td><img src="imagens/topo_div_canto.gif"></td><td><img src="imagens/topo_div_resto.gif"></td></tr></table></td>\n' +
'	  </tr>\n' +
'	  <tr>\n' +
'		<td bgcolor=cccccc width="1"></td>\n' +
'		<td background="imagens/bg_div.jpg" height="18" align="right" nowrap class="texto_destaque">\n' +
'			<b> Carregando ... &nbsp; </b></td>\n' +
'		<td bgcolor="#cccccc" width="1"></td>\n' +
'	  </tr>\n' +
'	 </table></td></tr></table>\n';
}

function move(s1, s2) {
     i = s1.selectedIndex;
     if ( i != -1 ) {
       if ( s1.options[i].selected ) {
           for ( j = 0; j < s2.options.length; j++ ) {
             if ( s2.options[j].value == s1.options[i].value ) break;
             if ( s2.options[j].text > s1.options[i].text ) {
               for ( z = s2.options.length; z > j ; z-- ) {
                 s2.options[z] = new Option(s2.options[z-1].text, s2.options[z-1].value, false, false);
               }
               break;
             }
           }
           s2.options[j] = new Option(s1.options[i].text, s1.options[i].value, false, true);
           s1.options[i] = null;
       }
     }
   }

function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) {
        selectObject.options[i].selected = do_check;
    } // end for
    document.forms[the_form].submit();
    return true;
}	





