Number.prototype.zeroFormat = function(n, f, r)
{
    return n = new Array((++n, f ? (f = (this + "").length) < n ? n - f : 0 : n)).join(0), r ? this + n : n + this;
}

String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function alteraCidade()
{
	var cidade = document.getElementById('listCidades');
	window.location = 'agendamentoReceita200906.php?cidade=' + cidade.value;
}

function leituraCPF(objeto)
{
	var cpf = document.getElementById('cpf');
	showHideLayers('tabelaHorarios','','hidden')
	if (cpf.value == '')
		alert('CPF não pode estar em branco.');
	else {
		try {
			ajax = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(e) {
			try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(ex) {
				try {
					ajax = new XMLHttpRequest();
				}
		        catch(exc) {
       		       alert("Esse browser não permite a exclusão dos dados (Ajax).");
           		   ajax = null;
				}
			}
		}	
		if(ajax) {
			ajax.open("POST", "leituraRegistro.php", true);
			ajax.onreadystatechange = function() {
   		        if(ajax.readyState == 4 )
				   if(ajax.responseXML)
					      processaXMLajaxRegistro(ajax.responseXML);
			}
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			var params = "cpf="+cpf.value;
			ajax.send(params);
		}
	}
}

function processaXMLajaxRegistro(response)
{
	var nome = response.getElementsByTagName('nome');
	var email = response.getElementsByTagName('email');
	var situacao = response.getElementsByTagName('situacao');
	var _situacao = '';
	var msg = '';
	var fClasseInscricao = document.getElementById('classeInscricao');
	if (situacao[0].firstChild == null)
		fClasseInscricao.value = 2;
	else {
		fClasseInscricao.value = -1;
		_situacao = situacao[0].firstChild.nodeValue;
	}
	if (fClasseInscricao.value != -1)
		msg += 'Agendamento permitido apenas para contabilistas.\n';
	if (nome[0].firstChild != null)
		if (_situacao != 'REGULAR')
			msg += 'Agendamento permitido apenas para contabilistas em situação REGULAR.\n';
	var fPermitido = document.getElementById('fPermitido');
	if (msg == '')
		fPermitido.value = "true";
	else {
		fPermitido.value = "false";
		alert(msg);
	}
	mostraTabelaHorarios();
}

function mostraTabelaHorarios()
{
	var fPermitido = document.getElementById('fPermitido');
	if (fPermitido.value == "false") {
		showHideLayers('sBotaoConfirma','','show')
		showHideLayers('tabelaHorarios','','hidden')
	}
	else {
		showHideLayers('sBotaoConfirma','','hidden')
		showHideLayers('tabelaHorarios','','show')
	}
}

function leituraHorarios()
{
	showHideLayers('tabelaHorarios','','hidden')
	showHideLayers('sBotaoConfirma','','show')
	try {
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	catch(e) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex) {
			try {
				ajax = new XMLHttpRequest();
			}
	        catch(exc) {
       	       alert("Esse browser não permite a exclusão dos dados (Ajax).");
           	   ajax = null;
			}
		}
	}
	if(ajax) {
		ajax.open("POST", "leituraHorarios.php", true);
		ajax.onreadystatechange = function() {
	        if(ajax.readyState == 4 )
			   if(ajax.responseXML)
				      processaXMLleituraHorarios(ajax.responseXML);
		}
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		var campo = document.getElementById('listCidades');
		if (campo.selectedIndex != 0) {
			var params = "cidade="+campo.value;
			ajax.send(params);
		}
	}
}

function processaXMLleituraHorarios(response)
{
	var cpf = response.getElementsByTagName('cpf');
	var dataHoraReserva = response.getElementsByTagName('dataHoraReserva');
	var campoT, campoCB, total, data, dia, hora, i, j = 0;
	var cidade = document.getElementById('listCidades');
	var i;
	if (cidade.value != 5781) {
		var mes = "06";
		for(i = 25; i <= 26; i++) {
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0840');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0840');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0900');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0900');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0920');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0920');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0940');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0940');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1000');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1000');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1020');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1020');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1040');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1040');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1100');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1100');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1120');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1120');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1140');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1140');
			campoT.value = 0;
			campoCB.checked = false;
		}
	}
	if (cidade.value == 5781) {
		mes = "07";
		for(i = 3; i <= 3; i++) {
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0840');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0840');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0900');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0900');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0920');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0920');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_0940');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_0940');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1000');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1000');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1020');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1020');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1040');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1040');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1100');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1100');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1120');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1120');
			campoT.value = 0;
			campoCB.checked = false;
			campoCB = document.getElementById('_' + i.zeroFormat(2, true) + mes + '_1140');
			campoT = document.getElementById('t_' + i.zeroFormat(2, true) + mes + '_1140');
			campoT.value = 0;
			campoCB.checked = false;
		}
	}
	if(cpf.length > 0) {
		for(i = 0; i < cpf.length; i++) {
			data = dataHoraReserva[i].firstChild.nodeValue;
			dia = data.substr(8, 2);
			mes = data.substr(5, 2);
			hora = data.substr(11, 2) + data.substr(14, 2);
			campoT = document.getElementById('t_' + dia + mes + '_' + hora);
			total = campoT.value;
			total++;
			campoT.value = total;
			var cidade = document.getElementById('listCidades');
			if (cidade.value == 5755)
				atendimentoaCada20min = 4;
			else
				atendimentoaCada20min = 1;
			if (total >= atendimentoaCada20min) {
				campoCB = document.getElementById('_' + dia + mes + '_' + hora);
				campoCB.checked = true;
			}
		}
	}
}

function selecionaHorario(objeto)
{
	var email = document.getElementById('email');
	var mes = objeto.name.substr(3, 2);
	if (email.value.trim() == '') {
		if (objeto.checked)
			objeto.checked = false;
		else
			objeto.checked = true;
		alert('Digite um e-mail valido para receber seu número de atendimento e selecione novamente.');
	} else {
		if (objeto.checked) {
			objeto.checked = false;
			var dia = objeto.name.substr(1, 2);
			var hora = objeto.name.substr(6, 2) + "h:" + objeto.name.substr(8, 2) + "min";
			var dataHora = "2009-" + mes + "-" + dia + " " + objeto.name.substr(6, 2) + ":" + objeto.name.substr(8, 2) + ":00";;
			var fPermitido = document.getElementById('fPermitido');
			if (fPermitido.value == "false")
				alert('Por favor, digite um CPF de contabilista em situação REGULAR válido para agendamento.');
			else {
				if (confirm("Confirmar agendamento para dia " + dia + "/" + mes + " às " + hora + " ?")) {
					try {
						ajax = new ActiveXObject("Microsoft.XMLHTTP");
					} 
					catch(e) {
						try {
							ajax = new ActiveXObject("Msxml2.XMLHTTP");
						}
						catch(ex) {
							try {
								ajax = new XMLHttpRequest();
							}
				    	    catch(exc) {
    		    	    	   alert("Esse browser não permite a exclusão dos dados (Ajax).");
	        		    	   ajax = null;
							}
						}
					}
					if(ajax) {
						ajax.open("POST", "gravaSelecao.php", true);
						ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
						var cidade = document.getElementById("listCidades");
						var cpf = document.getElementById("cpf");
						var params = "cidade="+cidade.value+"&cpf="+cpf.value+"&dataHora="+dataHora+"&email="+email.value;
						ajax.send(params);
						alert('Horário agendado. Enviado e-mail de confirmação para ' + email.value);
						window.location='agendamentoReceita200906.php';
					}
				}
			}
		}
		else {
			objeto.checked = true;
			alert('Horário já possui agendamentos.');
		}
	}
}

function cancelarAgendamento()
{
	habilita('cpf');
	habilita('nome');
	habilita('email');
	document.getElementById("formCancelamentoAgendamento").submit();
}