function chkVazio(campo)
{
	if (campo) {
		if (campo.value.length == 0)
			return true
		else
			return false;
	} else {
		alert("JS:chkVazio » O campo não foi encontrado no formulário.")
		return false;
	}
}

function chkString(campo, mensagem)
{
	if (chkVazio) {
		showErro(campo, mensagem)
		return false;
	} else return true;
}

//	Verifica se o campo de data foi preenchido corretamente (dd/mm/aaaa)
function chkData(data) {
	var AData = data.split("/")
	var dia = AData[0]
	var mes = AData[1]
	var ano = AData[2]
	var bs = false

	//	Verifica se é data
	if (AData.length !=3) return false;

	//	Verifica se tudo é numero
	if ( isNaN(dia) || isNaN(mes) || isNaN(ano) ) return false;

	// Verifica se todos são positivos
	if ( (dia < 1) || (mes < 1) || (ano < 1800) ) return false;

	if (mes>12) return false;

	//	Verifica os meses com 30 dias
	if ( (mes==4) && (mes==6) && (mes==9) && (mes==11) )
		if (dia > 30) return false;

	//	Verifica os meses com 31 dias
	if ( (mes==1) && (mes==3) && (mes==5) && (mes==7) && (mes==8) && (mes==10) && (mes==12) )
		if (dia > 31)  return false;

	//	verifica o mes de fevereiro
	if (mes == 2) {
		if (ano % 4 == 0) {
			if (dia > 29) return false;
		} else {
			if (dia > 28) return false;
		}
	}

	return true;
}

function showErro() {
	//recupera os campos
	if (arguments.length < 2) {
		if (window.console) console.log("Número argumentos inválido em showErro")
		return false;
	}

	var campo = arguments[0];
	var texto = arguments[1];
	var oDivMsg = (arguments.length >= 3) ? arguments[2] : null;
	var icon = (arguments.length >= 4) ? arguments[3] : null;

	var msgErro;
	if (jQuery && oDivMsg) {
		oDivMsg = $(oDivMsg);
		if (window.console) console.log("tem oDivMsg" + oDivMsg.length)
		if (oDivMsg.length == 0 ) {
			if (window.console) console.log("id [" + oDivMsg + "] não localizado.");
			return false;
		}
		if (window.console) console.log("tem divErro" + oDivMsg)
		oDivMsg.css("display","none")
		oDivMsg.html('');
		if (texto) texto = texto.replace("\n","<br>")
	} else {
		if (window.console) console.log("não tem oDivMsg " + oDivMsg)
	}

	if (campo) {
		if (oDivMsg) {
			if (texto != "") {
				if (icon) {
					if (isDefined(icon)) {
						texto = eval(icon) + " " + texto;
					} else {
						texto = icon + " " + texto;
					}
				}
				oDivMsg.html(texto);
			}
			oDivMsg.css("display","block");
		} else {
			alert(texto);
		}

		campo.focus();
	} else {
		if (texto == "") {
			msgErro = "JS:erro » O campo  não foi encontrado no formulário."
		} else {
			msgErro = "JS:erro » O campo ["+texto+"] não foi encontrado no formulário.";
		}

		if (oDivMsg) {
			oDivMsg.hmtl(msgErro);
		} else {
			alert(msgErro);
		}
	}

	return false;
}


function setURL(oDiv, url) {
	var oDojo = dojo.byId(oDiv)
	dojo.xhrGet({
		url: url,
		timeout: 5000,
		preventCache: true,
		load: function(response, ioArgs) {
			if (window.console) console.log(response);
			handleResponse(response, oDojo, oDiv);
		},
		error: function(response, ioArgs) {
			if (window.console) console.log("Error Occured");
		}
	});
}

function handleResponse(response, oDojo, oDiv) {
	oDojo.innerHTML = response;
	dojo.style(oDiv,"display","block");
}


function isDefined(v, obj) {
	if (!obj) obj = window

	return (typeof(obj[v]) == 'undefined')? false : true;
}

function toggleBlock() {
	var o
	for (i=0;i<arguments.length;i++) {
		o = arguments[i];
		if (jQuery) {
			$("#"+o).slideToggle("fast");
		} else {
			obj = document.getElementById(o);
			if (obj) {
				if (obj.style.display == "block") obj.style.display = "none"
					else obj.style.display = "block";
			} else alert("Bloco «" + o + "» não foi encontrado.");

			obj = document.getElementById(o+"Link");
			if (obj) {
				if (obj.style.visibility == "visible") obj.style.visibility = "hidden"
				else obj.style.visibility = "visible";
			}
		}
	}
}