﻿/**
 * @author Rafael Bandeira
 */
function initContatoForm(){
	var frmContato = document.getElementById("frmContato");
	if(frmContato) {
		addEvent(frmContato, "submit", chkContato);	
	}
}
addEvent(window, "load", initContatoForm);

function chkContato(e) {
	var w3DOM = window.addEventListener;
	var nmPerson = document.getElementById("nmPerson");
	var nmCompany = document.getElementById("nmCompany");
	var nmJobTitle = document.getElementById("nmJobTitle");
	var dsEmail = document.getElementById("dsEmail");
	var cdState = document.getElementById("cdState");
	var dsCity = document.getElementById("dsCity");
	var nbAreaCode = document.getElementById("nbAreaCode");
	var nbTelephone = document.getElementById("nbTelephone");
	var dsSubject = document.getElementById("dsSubject");
	var dsMessage = document.getElementById("dsMessage");

	var msgError = '';

	if(trim(nmPerson.value) == '') {
		msgError += "- Preencha o campo \"Nome\"\n";
	}
	
	if(trim(dsEmail.value) == '') {
		msgError += "- Preencha o campo \"E-mail\"\n";
	}
	else if(!dsEmail.value.isEmail()) {
		msgError += "- \"E-mail\" informado é inválido\n";
	}
	
	if(trim(cdState.value) == '0') {
		msgError += "- Selecione um \"Estado\"\n";
	}

	if(trim(dsSubject.value) == '') {
		msgError += "- Preencha o campo \"Assunto\"\n";
	}
	
	if(trim(dsMessage.value) == '') {
		msgError += "- A área de mensagens deve ser preenchida\n";
	}

	if(msgError != "") {
		alert(msgError);
		if(w3DOM) {
			e.preventDefault();
		}
		else {
			return false;
		}
	}
}

function addSelCity() {
	var cdState = document.getElementById("cdState");
	if(cdState) {
		addEvent(cdState, "change", selCity);
	}
}
addEvent(window, "load", addSelCity);

function selCity(e) {
	var w3DOM = window.addEventListener;
	if(w3DOM){
		var obj = e.currentTarget;
	}
	else {
		var obj = e.srcElement;
	}

	var dsCity = document.getElementById("dsCity");
	dsCity.options[0].text = "[selecionar]";
	dsCity.options[0].value = "0";
	dsCity.options[0].selected = true;
	dsCity.disabled = true;

	if(obj.value != "0" && trim(obj.value) != "") {
		dsCity.options[0].text = "Carregando...";
		var xhr = xmlHttpRequest();
		xhr.connect("index.cfm", "flagnet=_status.loadCidades&iduf=" + obj.value, "get", loadCidades);
	}
}

function loadCidades(xmlHttp) {
	var response = xmlHttp.responseXML.documentElement;
	response = response.getElementsByTagName("cidade");

	var dsCity = document.getElementById("dsCity");
	for (var i=(dsCity.options.length - 1); i >= 1; i--) {
		dsCity.options[i] = null;
	}

	for(var i = 0; i < response.length; i++) {
		var val = i + 1;
		var responseItem = response[i];
		dsCity.options[val] = new Option(responseItem.firstChild.nodeValue, responseItem.firstChild.nodeValue, false, false);
		if(responseItem.attributes.getNamedItem("capital").nodeValue == "true") {
			dsCity.options[val].selected = "true";
			getAreaCode();
		}
	}
	dsCity.options[0].text = "[Selecionar]";
	dsCity.options[0].value = "0";
	dsCity.disabled = false;
}

function addGetAreaCode() {
	var dsCity = document.getElementById("dsCity");
	if(dsCity) {
		addEvent(dsCity, "change", getAreaCode);
	}
}
addEvent(window, "load", addGetAreaCode);

function getAreaCode() {
	var dsCity = document.getElementById("dsCity");
	var cdState = document.getElementById("cdState");
	var nbAreaCode = document.getElementById("nbAreaCode");
	if((cdState.value != "0" && trim(cdState.value) != "") && (dsCity.value != "0" && trim(dsCity.value) != "")) {
		nbAreaCode.disabled = true;
		var xhr = xmlHttpRequest();
		xhr.connect("index.cfm", "flagnet=_status.loadAreaCode&cdState=" + cdState.value + "&dsCity=" + dsCity.value, "get", loadAreaCode);
	}
}

function loadAreaCode(xmlHttp) {
	var response = xmlHttp.responseXML.documentElement;
	response = response.getElementsByTagName("ddd");
	var nbAreaCode = document.getElementById("nbAreaCode");
	nbAreaCode.value = response[0].firstChild.nodeValue;
	nbAreaCode.disabled = false;
}