var codSec = '85351'
var pathXML = "http://ultimosegundo.ig.com.br/olimpiada/agenda/images/"

var ie = document.all != null; //ie4 and above
var ie5 = document.getElementById && document.all;
var ie6 = document.getElementById && document.all&&(navigator.appVersion.indexOf("MSIE 6.")>=0);

var brt_Agenda = {
	buildCalendar:function(comm){
		if(comm == "pre") document.getElementById("brtCalMes").value = document.getElementById("brtCalMes").value-1
		if(comm == "pos") document.getElementById("brtCalMes").value = document.getElementById("brtCalMes").value+1
		brt_Calendario.setMes("7")
		brt_Calendario.setAno("2008")
		strMes = ((parseInt(brt_Calendario.getMes())+1)<10)? "0"+(parseInt(brt_Calendario.getMes())+1):(parseInt(brt_Calendario.getMes())+1);
		brt_Calendario.writeTituloMesAno()
		brt_Calendario.writeCalendario()
		brt_XMLRequest.request(pathXML, "brt_Agenda.parserMes()")
		brt_XMLRequest.request(pathXML + codSec + "_" + brt_Calendario.getAno() + strMes +".xml", "brt_Agenda.parserMes()")
		if (ie || ie5 || ie6)fixIE6hover();
	},

	parsedMes: {
		byCodigo: [],
		byDias: Array(32)
	},

	parserMes: function() {
		xmlObj = brt_XMLRequest.getXmlObj();
		subCategoria = xmlObj.getElementsByTagName("subCategoria");
		for (sb = 0; sb < subCategoria.length; sb++) {
			codigo = subCategoria[sb].getAttribute("codigo");
			dias = subCategoria[sb].getAttribute("dias").split(",");
			brt_Agenda.parsedMes.byCodigo[codigo] = dias;
			for (dia in dias) {
				if ((typeof(brt_Agenda.parsedMes.byDias[parseInt(dias[dia],10)])) == "undefined") brt_Agenda.parsedMes.byDias[parseInt(dias[dia],10)] = Array()
				brt_Agenda.parsedMes.byDias[parseInt(dias[dia],10)].push(codigo)
			}
		}
		brt_Agenda.addEventCal()
	}, 
	
	addEventCal: function() {
		for (dia in brt_Agenda.parsedMes.byDias) {
				if (document.getElementById("brtCalDia_"+dia)) {
					document.getElementById("brtCalDia_"+dia).href = "javascript: void(0);"
					if(dia<6 || dia>24) {
						document.getElementById("brtCalDia_"+dia).onclick = function(){void(0)
						document.getElementById("brtCalDia_"+dia).style.border = '1px #ffcc00 solid'
					}
				} else {
					document.getElementById("brtCalDia_"+dia).style.cursor = "pointer"
					document.getElementById("brtCalDia_"+dia).onclick = function() {
						dia = parseInt(this.id.split("_")[1],10);
						brt_Calendario.setDia(dia);
						brt_Agenda.buildEvents();
					}
				}
			}
		}
		brt_Agenda.buildEvents()
	},
	
	buildEvents: function() {
		strDia = ((parseInt(brt_Calendario.getDia()))<10)? "0"+(parseInt(brt_Calendario.getDia())):(parseInt(brt_Calendario.getDia()));
		strMes = ((parseInt(brt_Calendario.getMes())+1)<10)? "0"+(parseInt(brt_Calendario.getMes())+1):(parseInt(brt_Calendario.getMes())+1);
		brt_XMLRequest.request(pathXML + codSec + "_" + brt_Calendario.getAno() + strMes + strDia +".xml", "brt_Agenda.parserEventos()")
		document.getElementById("content").getElementsByTagName("cite")[0].innerHTML = strDia + " de " + brt_Calendario.meses.nome[brt_Calendario.getMes()] + " de " + brt_Calendario.getAno()
	}, 
	
	parserEventos: function() {
		filtros = document.getElementById("brt_Filtros").getElementsByTagName("input")
		strFiltros = ''
		for (fl=0; fl < filtros.length; fl++) {
			if (filtros[fl].getAttribute("type") == "checkbox") {
				if (filtros[fl].checked) {
					strFiltros += "f%" + filtros[fl].value.split("-")[1] + "% "
				}
			}
		}
		xmlObj = brt_XMLRequest.getXmlObj();
		subCategoria = xmlObj.getElementsByTagName("subcategoria");
		str = ''
		for (sb = 0; sb < subCategoria.length; sb++) {
			if ((strFiltros.indexOf(subCategoria[sb].getAttribute("codigo")) >= 0 ) || (strFiltros.length==0)) {
				str += '<div>'
				str += '<strong class="titledate">'+ subCategoria[sb].getAttribute("nome") +'</strong>'
				str += '</div>'
				evento = subCategoria[sb].getElementsByTagName("evento")
				for (ev = 0; ev < evento.length; ev++) {
					str += '<p class="resumodia">'
					str += '<span>'
					//str += (evento[ev].getAttribute("brtpcustomicone")) ? '<cite><img src="'+ evento[ev].getAttribute("brtpcustomicone") +'" /></cite>' : '';
					str += '<cite><strong>'+ evento[ev].getAttribute("dataInicio").split(" ")[1] +'</strong></cite> | '
					str += '<cite><strong>'+ evento[ev].getAttribute("brtptitulo") +'</strong></cite> - '
					str += '</span>'					
					if(evento[ev].getAttribute("brtpolho")!=null){str += evento[ev].getAttribute("brtpolho") + '<br />'}
					str += '<cite>'+ evento[ev].getAttribute("brtptexto") + '</cite>'
					str += '</p>'
				}
			}
		}
		document.getElementById("eventos").innerHTML = str;
	},
	
	navCalendar: function(passo) {
		switch (passo) {
			case "+1":
				mes = parseInt(document.getElementById("brtCalMes").value,10);
				ano = parseInt(document.getElementById("brtCalAno").value,10);
				mes++
				if (mes>11) {
					mes = 0
					ano++
				}
				document.getElementById("brtCalMes").value = mes
				document.getElementById("brtCalAno").value = ano
			break;
			case "-1":
				mes = parseInt(document.getElementById("brtCalMes").value,10);
				ano = parseInt(document.getElementById("brtCalAno").value,10);
				mes--
				if (mes<0) {
					mes = 11
					ano--
				}
				document.getElementById("brtCalMes").value = mes
				document.getElementById("brtCalAno").value = ano
				break;
			default:
				return
		}
		brt_Agenda.buildCalendar()
	}
	
}


var brt_Calendario = { 
	meses: {nome: Array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro")},
	diasDaSemana: {nome:Array("Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado")},
	
	setDia: function(dia) {this.dia = dia},
	getDia: function() {return this.dia},
	setMes: function(mes) {this.mes = mes},
	getMes: function() {return this.mes},
	setAno: function(ano) {this.ano = ano},
	getAno: function() {return this.ano},
	
	// Necessario tratar a string data e setar os valor em dia mes ano
	setData: function(data) {this.mes = mes},
	// Necessario pegari dia mes e ano e concatenar retornando uma strng formatada
	getData: function() {return this.mes},
	
	getUltimoDiaDoMes: function() {
		dt = new Date(),
		dt.setDate(1),
		dt.setMonth(parseInt(brt_Calendario.getMes(),10)+1),
		dt.setFullYear(brt_Calendario.getAno()),
		dt.setDate(parseInt(dt.getDate(),10)-1)
		return dt.getDate()
	},
	
	getPrimeiroDiaSemana: function() {
		dt = new Date(),
		dt.setDate(1),
		dt.setMonth(brt_Calendario.getMes()),
		dt.setFullYear(brt_Calendario.getAno())
		return dt.getDay()
	},
	
	writeSelectMes: function (mes) {
		str = '<select id="brtCalMes" onchange="brt_Agenda.buildCalendar()">';
		for (m in brt_Calendario.meses.nome) {str += (m==mes-1)?'<option value="'+ m +'" selected="selected" >'+ brt_Calendario.meses.nome[m] +'</option>':'<option value="'+ m +'" >'+ brt_Calendario.meses.nome[m] +'</option>'}
		str += '</select>';
		document.write(str)
	},
	
	writeSelectAno: function (ano) {
		str = '<select id="brtCalAno" onchange="brt_Agenda.buildCalendar()">';
		for (a = 2000; a <= 2100; a++) {str += (a==ano)?'<option value="'+ a +'" selected="selected">'+ a +'</option>':'<option value="'+ a +'">'+ a +'</option>'}
		str += '</select>';
		document.write(str)
	},
	
	writeTituloMesAno: function () {
		document.getElementById("brtMesAno").innerHTML = brt_Calendario.meses.nome[brt_Calendario.getMes()] +' <b>'+ brt_Calendario.getAno() +'</b>'
	},
	
	writeCalendario: function () {
		diaDaSemana = 0
		str = ''
		for (i = 1-brt_Calendario.getPrimeiroDiaSemana(); i <= brt_Calendario.getUltimoDiaDoMes(); i++) {
			if (diaDaSemana==0){
				str +='<p>'
				str += (i>0)? '<a class="verde" id="brtCalDia_'+ i +'">'+ i +'</a>': '<a class="verde"></a>'
			} else {
				str += (i<=0)? '<a><!-- // --></a>' : '<a id="brtCalDia_'+ i +'">'+ i +'</a>'
			}
			if (diaDaSemana >= 6) str +='</p>'
			
			diaDaSemana = (diaDaSemana <= 5)? diaDaSemana+1: 0;
		}
		document.getElementById("brtCalendario").innerHTML = str;
	}
}

var brt_XMLRequest = { 
	xmlObj: {},
	getHTTPObject: function() {if(window.XMLHttpRequest){return new XMLHttpRequest();} else if (window.ActiveXObject){ var prefs = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];for(var i = 0; i < prefs.length; i++){try{return new ActiveXObject(prefs[i] + ".XMLHTTP");} catch(e){}}}},
	setXmlObj: function(xmlObj) {brt_XMLRequest.xmlObj = xmlObj},
	getXmlObj: function() {return this.xmlObj},
	request: function(url, call) {
		_obj = new this.getHTTPObject();
		_obj.open("GET",url + "?" + Math.random(), true);
		_obj.onreadystatechange = function() {
			if ((_obj.readyState == 4 || _obj.readyState == "complete") && (_obj.status == '200')) {
				try {
					brt_XMLRequest.setXmlObj(_obj.responseXML);
					if(call) eval(call);
				}catch(err){}
			}
		};
		_obj.send(null);
	}
}

function  fixIE6hover(){//para funcionar propriedade:hover no IE6-
	lisDias =($('brtCalendario').getElementsByTagName('a'));
	for (x=0;x<lisDias.length;x++){
        lisDias[x].href='javascript:void(0)';
        lisDias[x].style.cursor='default';
	}
}

/*-------- INICIO - FUNÇÂO PARA RODAR SCRIPTS APÓS O CARREGAMENTO DA PÁGINA --------*/
function init() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;	
	dataAtual = (document.getElementById("brt_DataExt").getElementsByTagName("h4")[0].innerHTML).split("/")
	if(dataAtual[1]!="08"){dataAtual[0]="06";dataAtual[1]="08"}
	if(dataAtual[0]>"24"){dataAtual[0]="24"}
	brt_Calendario.setDia(parseInt(dataAtual[0],10))
	document.getElementById("brtCalMes").value = parseInt(dataAtual[1],10)-1
	document.getElementById("brtCalAno").value = parseInt(dataAtual[2],10)
	brt_Agenda.buildCalendar()
	filtros = document.getElementById("brt_Filtros").getElementsByTagName("input")
	for (fl=0; fl < filtros.length; fl++) {
		if (filtros[fl].getAttribute("type") == "checkbox") {
			filtros[fl].onclick= function() {brt_Agenda.parserEventos()}
		}
	}
	
	divAlvo = document.getElementById('brt_Filtros').getElementsByTagName('div');
	for(int=0; int<divAlvo.length; int++)
	{
		if(divAlvo[int].getElementsByTagName('b')[0].innerHTML != 'Modalidades'){ divAlvo[int].style.display = 'none' }
	}
	
	document.getElementById('brt_Filtros').style.visibility = 'visible';
	
	for(xis=1; xis<6; xis++)
	{
		document.getElementById("brtCalDia_"+xis).style.visibility = 'hidden';
	}
	for(xis=25; xis<32; xis++)
	{
		document.getElementById("brtCalDia_"+xis).style.visibility = 'hidden';
	}
};

/* Mozilla */
if (document.addEventListener) {
   document.addEventListener("DOMContentLoaded", init, false);
}

/* Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
   document.write("<script defer src=http://images.ig.com.br/componentes/ie_onload.js><"+"/script>");
/*@end @*/

/* Outros browsers */
window.onload = init;
/*-------- FIM - FUNÇÂO PARA RODAR SCRIPTS APÓS O CARREGAMENTO DA PÁGINA --------*/