// JavaScript Document

function showHide(id, v) {
	var obj = document.getElementById(id);
	if (obj) obj.style.display = v;
}

function getAjaxObject() {
	var obj;
	try {
		obj = new XMLHttpRequest();
	} catch(e1) {
		try {
			obj = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e2) {
			try {
				obj = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e3) {
				obj = false;
			}
		}
	}
	return obj;
}
var xmlhttp = null;
var requestTimer = null;
function sendDados(url,formData,result) {
	if (xmlhttp != null) {
		return;
	}
	xmlhttp = getAjaxObject();
	showHide('carregando','block');
	
	xmlhttp.open("POST", url, true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.onreadystatechange = function() {
		try {
			if (xmlhttp.readyState!=4) return;
			clearTimeout(requestTimer);
			var msg, root;

			if (xmlhttp.status==200) {
				//alert(xmlhttp.responseText);
				document.getElementById(result).innerHTML = xmlhttp.responseText.replace(/\&CCEDIL\;/g,"Ç").replace(/\&ccedil\;/g,"ç");
			} else {
				alert("ERRO: " + xmlhttp.statusText);
			}
			showHide('carregando','none');
			xmlhttp = null;
		} catch (e) {
			xmlhttp.abort();
			xmlhttp = null;
			showHide('carregando','none');
		}
	};
	xmlhttp.send(formData);

	requestTimer = setTimeout(function() {
		xmlhttp.abort();
		xmlhttp = null;
		alert("Ocorreu um erro na sua conexão!");
		showHide('carregando','none');
     }, 30000);
}

function formatForm(form) {
	var nulos = form.nulos.value.toLowerCase() + ",nulos,";
	var radios = "-";
	var checkbox = "-";
	for (var i=0; i<form.elements.length; i++) {
		var field = form.elements[i];
		var fieldName = field.name.toLowerCase();
		var vazio = false;
		if (nulos.indexOf(fieldName+",") < 0) {
			if (field.value == '') {
				vazio = true;
			} else if ((field.type.toUpperCase() == "RADIO" || field.type.toUpperCase() == "CHECKBOX") && (radios.indexOf("-" + field.name.toLowerCase() + "-") < 0)) {
				radios += field.name + "-";
				var opcoes = eval("form." + field.name + ""); //field.parentNode;
				vazio = true;
				if (typeof(opcoes.length) == 'undefined') {
					if (opcoes.checked) vazio = false;
				} else {
					for (var j=0;j<opcoes.length;j++) {
						if (opcoes[j].checked) {
							vazio = false;
							break;
						}
					}
				}
			}
		}
		if (vazio) {
			alert("Campo(s) obrigatório(s) não preenchido!"); field.focus(); return false;
		} else if (field.value != "") {
			if (fieldName == "data_fundacao" && !isDate(field.value)) {
				alert("Data inválido!"); field.focus(); return false;
			} else if (fieldName.substring(fieldName.length-5) == "email" && !isMail(field.value)) {
				alert("E-mail inválida!"); field.focus(); return false;
			} else if (fieldName == "cep" && !isCep(field.value)) {
				alert("Cep inválido!"); field.focus(); return false;
			} else if ((fieldName == "telefone" || fieldName == "fax" || fieldName.substring(fieldName.length-4) == "_tel") && !isTelefone(field.value)) {
				alert("Telefone inválido!"); field.focus(); return false;
			} else if (fieldName == "cnpj" && !verifyCNPJ(field.value)) {
				alert("CNPJ inválido!"); field.focus(); return false;
			} else if (fieldName == "faturamento" && !isNumeric(field.value)) {
				alert("Faturamento inválido!"); field.focus(); return false;
			}
		}
	}
	form.submit();
	return false;
}

function isInteger(text) {
	var chr = "0123456789";
	return verify(text, chr);
}

function isNumeric(text) {
	var chr = "0123456789.,";
	return verify(text, chr);
}

function isTelefone(text) {
	var chr = "0123456789-() ";
	return verify(text, chr);
}
function isCep(text) {
	if (text.length == 9 && isInteger(text.substring(0,5)) && text.substring(5,6) == "-" && isInteger(text.substring(6,9))) {
		return true;
	} else {
		return false;
	}
}
function isDate(text) {
	if (text.length == 10 && isInteger(text.substring(0,2)) && text.substring(2,3) == "/" && isInteger(text.substring(3,5)) && text.substring(5,6) == "/" && isInteger(text.substring(6,10))) {
		return true;
	} else {
		return false;
	}
}

function verify(text, chr) {
	for (var i=0; i<text.length;i++) {
		if (chr.indexOf(text.charAt(i)) == -1) 
			return false;
	}
	return true;
}
function isMail(text) {
	if (text.indexOf('@')<1 || text.indexOf('@')>=(text.length-5) || text.length < 8)
		return false;
	return true;
}

function verifyCNPJ(cnpj) {
	if (cnpj.length != 18) return false;

	while (cnpj != (cnpj=cnpj.replace(".","").replace("/","").replace("-","")));
	
	if (!isInteger(cnpj)) return false;
	if (cnpj.length != 14) return false;

	var ver1 = parseInt(cnpj.charAt(12));
	var ver2 = parseInt(cnpj.charAt(13));
	cnpj = cnpj.substring(0,12);
	var soma = 0;
	var k = 5;
	for (var j=0;j<cnpj.length;j++) {
		soma += parseInt(cnpj.charAt(j)) * k;
		k--;
		if (k < 2) k = 9;
	}
	var resto = soma%11;
	
	var verTemp = 0;
	if (resto >= 2) verTemp = 11 - resto;

	if (verTemp != ver1)
		return false;
	else {
		soma = 0;
		k = 6;
		cnpj += ver1;
		for (var j=0;j<cnpj.length;j++) {
			soma += parseInt(cnpj.charAt(j)) * k;
			k--;
			if (k < 2) k = 9;
		}
		resto = soma%11;
		verTemp = 0;
		if (resto >= 2) verTemp = 11 - resto;
		if (verTemp != ver2) return false;
	}
	return true;
}

function openAlbum(id) {
	window.open("album.asp?id=" + id,"","width=702, height=360");
}

function enviarParaAmigo(pagina, id) {
	window.open("enviar_amigo.asp?pag=" + pagina + "&id=" + id,"","width=400, height=230");
}