function xml() {
	var self = this;

	this.file   = null;
	this.ret = null;
	this.xml    = '';
	this.xmlDoc = null;
	this.transf = 'GET';
	this.debug = false;
	this.returnType = 'xml';

	var xmlhttp = null;

	this.load = _load;

	function _load() {
		if (self.file && self.ret) {
			try {
				self.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e1) {
				try {
					self.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) {
					if (!self.xmlhttp && typeof XMLHttpRequest!='undefined') {
						self.xmlhttp = new XMLHttpRequest();
					}
				}
			}
			if (self.xmlhttp != null) {
				self.xmlhttp.onreadystatechange = _testReadyStateSend;
				self.xmlhttp.open(self.transf,self.file,true);
				if (this.transf == 'POST'){
					self.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				}
				self.xmlhttp.send(self.xml);
			}
		} else {
			return false;
		}
	};

	function _testReadyStateSend() {
		if (self.xmlhttp.readyState == 4) {
			if (self.xmlhttp.status == '200') {
				_evalInternalGet();
			} else {
				alert("Pagina nao encontrada");
				return false;
			}
		}
	};

	function _evalReturn() {
		var retFunc = '';
		if (typeof(self.ret) == 'function') {
			eval('new self.ret');
		}
	};

	function _evalInternalGet() {
		self.xmlDoc = (self.returnType == 'xml' ? self.xmlhttp.responseXML : self.xmlhttp.responseText);
		if (self.debug){
			var container = document.getElementsByTagName("BODY");
			if (container.length > 0){
				var newDiv = document.createElement("DIV");
				newDiv.setAttribute("style", "position:absolute; width:640; left:150; top:300; background: #FFFFFF; border: 2px solid #000000");
				var txt = document.createTextNode(self.xmlhttp.responseText);
				newDiv.appendChild(txt);
				container[0].appendChild(newDiv);
			}
		}
		_evalReturn();
	};
};

var caminho = null;

function montarComboBairros( cidade ) {
	
	var selectCidade = document.getElementById("cd_bairro");
	selectCidade.innerHTML = "";
	
	var objXML = new xml();
	objXML.file = caminho + "xml/xml_bairros.php?cidade="+cidade;
	objXML.ret = function () {
		var pagina = objXML.xmlDoc.getElementsByTagName('dados');		
		for(i=0; i < pagina[0].getElementsByTagName('bairro').length; i++) {
			var codigo = pagina[0].getElementsByTagName('bairro')[i].getAttribute("codigo");
			var nome   = pagina[0].getElementsByTagName('bairro')[i].getAttribute("nome");
			
			var op = document.createElement("option");
			op.innerHTML = nome;
			op.setAttribute("value", codigo);
			selectCidade.appendChild(op);				
		}			
	}		
	objXML.load();
}

function addEventLis(obj, evType, fn){
    if (obj.addEventListener)
		obj.addEventListener(evType, fn, true);
	if (obj.attachEvent)
		obj.attachEvent("on"+evType, fn);
}

addEventLis( window, "load", function(e){
	var cmbCidade = document.getElementById("cd_cidade");
	if(cmbCidade != null) {
		addEventLis( cmbCidade, "change", function(e){
			montarComboBairros( cmbCidade.value );
		})
		addEventLis( cmbCidade, "keyup", function(e){
			montarComboBairros( cmbCidade.value );
		})
	}
	
	var voltar = document.getElementById("voltar");
	if(voltar != null) {
		voltar.style.cursor = "pointer";
		addEventLis( voltar, "click", function(e){
			history.back();
		})
	}
	
	var inputs = document.getElementsByTagName("input");
	for( var i=0; i < inputs.length; i++ ){
		switch( inputs[i].type ){
			case "radio":
			case "checkbox":
				inputs[i].style.border = "none 0px";
			break;
			case "text":
				if( inputs[i].name.indexOf( "dt_" ) == 0 )
					mskData( inputs[i] );
				if( inputs[i].name.indexOf( "telefone" ) == 0 || inputs[i].name.indexOf( "celular" ) == 0)
					mskTelefone( inputs[i] );
			break;
		}		
	}
})