function validateForm(form){
	var valid = new Validation(form, {useTitles:true, stopOnFirst:false, immediate:true});

	if(valid.validate())
	{
		return valid;
	}

	return false;
}

function load(classe, metodo){
	var url = "ServiceAjax.php";
	var param = "classe="+classe+"&metodo="+metodo;

	new Ajax.Request(
		url, {
			method: 'post', 
			postBody: param, 
            onSuccess: function(transport) {
                  var response = transport.responseText || "Erro desconhecido";
                  $("conteudo_admin").innerHTML = response;
            },
            onFailure: function() {
                  alert("Falha.");
            }
		}
	);
}

function onList(classe, metodo) {
	//onSearch(classe, 1);
	load(classe, metodo);
}

function onEdit(classe, metodo, id) {
	var url = "ServiceAjax.php";
	var param = "classe="+classe+"&metodo="+metodo+"&id="+id;

	new Ajax.Request(
		url, {
			method: 'post', 
			postBody: param, 
            onSuccess: function(transport) {
                  var response = transport.responseText || "Erro desconhecido";
                  $("conteudo_admin").innerHTML = response;
            },
            onFailure: function() {
                  alert("Falha.");
            }

		}
	);
}

function onDelete(classe, metodo, id) {
	var url = "ServiceAjax.php";
	var param = "classe="+classe+"&metodo="+metodo+"&id="+id;

	new Ajax.Request(
		url, {
			method: 'get', 
			parameters: param, 
            onSuccess: function(transport) {
                var response = transport.responseText || "Erro desconhecido";
                //alert(response);
				onList(classe, 'onList');
            },
            onFailure: function() {
                  alert("Falha.");
            }

		}
	);
}

function iframe() {
	var ifr = document.getElementsByTagName("iframe")[0];
	
	if(ifr.contentWindow){
		ifr = ifr.contentWindow.document;
	}
	else {
		ifr = ifr.contentDocument
	}

	return ifr.body.innerHTML;
}

function onSave(classe, metodo, form) {
	$(form).submit();
	
	var tentativas = 0;
	var response = iframe();
	var is_ok = false;		
	var intervalo = setInterval(function(){
		tentativas += 1;
		response = iframe();	
		is_ok = (response == 'OK' || response == 'NOT') ? true : false;	
		if (is_ok) {
			clearInterval(intervalo);

			var msg = '';
			if(response == "OK") {
				msg = "Informações de "+classe+" salvo com sucesso!";
			}
			else {
				msg = "Não foi possível salvar as informações de "+classe;
			}

			if(confirm(msg+"\nDeseja inserir novo registro?")) {
				onEdit(classe, 'onEdit', '0');
			}
			else {
				onList(classe, 'onList');
			}
		}
	}, 1000);
	
	/*
	var url = "ServiceAjax.php";
	var param = "&classe="+classe+"&metodo="+metodo;

	new Ajax.Request(
		url, {
			method: 'post', 
			postBody: $(form).serialize()+param,
            onSuccess: function(transport) {
				var response = transport.responseText || "Erro desconhecido";
				
				if(response == "OK") {
					formUpload(classe, form);
					alert("Informações de "+classe+" salvo com sucesso!");
				}
				else {
					alert("Não foi possível salvar as informações de "+classe);
				}
				
				if(confirm("Deseja inserir novo registro?")) {
					onEdit(classe, 'onEdit', '0');
				}
				else {
					onList(classe, 'onList');
				}
            },
            onFailure: function() {
            	alert("Falha.");
            }
		}
	);
	*/
}

function onSearch(classe, p_atual) {
	var url = "ServiceAjax.php";
	var param = "&classe="+classe+"&metodo=onSearch&p_atual="+p_atual;

	new Ajax.Request(
		url, {
			method: 'post', 
			postBody: $('frm_filtro').serialize()+param,
            onSuccess: function(transport) {
                  var response = transport.responseText || "Erro desconhecido";
                  $("conteudo_admin").innerHTML = response;
				  setTimeout('maskSearch()',2000);
            },
            onFailure: function() {
            	alert("Falha.");
            }
		}
	);
}

function maskSearch() {
	MaskInput($("s_data_cadastro_ini"), "99/99/9999");
	MaskInput($("s_data_cadastro_fim"), "99/99/9999");
}