/*******************************************************************
 * Copyright (C) 2006 Thiago Caetano
  ************************
  thiagocae @ gmail.com
********************************************************************/

var MyLib = Class.create();
MyLib.prototype = {
	initialize: function(){
	},
	// encode
	encode: function(str){
		if(!str) return "";
		var hex_chars = "0123456789ABCDEF";
		var noEncode = /^([a-zA-Z0-9\_\-\.])$/;
		var n, strCode, hex1, hex2, strEncode = "";
		for(n = 0; n < str.length; n++) {
			if (noEncode.test(str.charAt(n))) {
				strEncode += str.charAt(n);
			} else {
				strCode = str.charCodeAt(n);
				hex1 = hex_chars.charAt(Math.floor(strCode / 16));
				hex2 = hex_chars.charAt(strCode % 16);
				strEncode += "%" + (hex1 + hex2);
			}
		}
		return strEncode;
	},
	// decode
	decode: function(str){
		if(!str) return "";
		var n, strCode, strDecode = "";
		for (n = 0; n < str.length; n++){
			if (str.charAt(n) == "%"){
				strCode = str.charAt(n + 1) + str.charAt(n + 2);
				strDecode += String.fromCharCode(parseInt(strCode, 16));
				n += 2;
			} else {
				strDecode += str.charAt(n);
			}
		}
		return strDecode; 
	}
};
MyLib = new MyLib();

// Mostra e esconde o menu
// function Menu(){
/*	var nome = "menu_"+menu;
	if(modo) Element.hide(nome);
	else Element.show(nome);*/
// }
function Busca(modo){
	var form = document.busca;
	if(!modo){
		if(form.busca.value==form.busca.defaultValue) form.busca.value="";
	}else{
		if(!form.busca.value) form.busca.value=form.busca.defaultValue;
	}
}


/********************************************************
* Menu
********************************************************/
var Menu = Class.create();
Menu.prototype = {
	initialize: function(){
		this.base = "/novosite/imagens";
	},
	// Mostrar
	Mostra: function(id,img){
		Element.show('sub_'+id);
		if(!img){
			this.MostraImg(id);
			//if(navigator.userAgent.indexOf('Linux')!=-1) Element.hide("pub1f");
		}
	},
	// Esconder
	Esconde: function(id,img){
		Element.hide('sub_'+id);
		if(!img){
			this.EscondeImg(id);
			//if(navigator.userAgent.indexOf('Linux')!=-1) Element.show("pub1f");
		}
	},
	MostraImg: function(id){
		document[id].src=this.base+"/bt_"+id+"_o.gif";
	},
	EscondeImg: function(id){
		document[id].src=this.base+"/bt_"+id+".gif";
	},
	PreLoad:function(){
		var img = "";
		var lista = new Array('clube','contato','forum','fotos','futebol','historia','multimidia', 'noticias','opiniao','torcida');
		for(var i=0;i<lista.length;i++){
			img = new Image();
			img.src=this.base+"/bt_"+lista[i]+"_o.gif";
		}
	}
};
Menu = new Menu();



/********************************************************
* Calendario
********************************************************/
var Calendario = Class.create();
Calendario.prototype = {
	initialize: function(){
		this.select_mes;
		this.select_ano;
		this.dias_mes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		this.meses = new Array("Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez");
		this.data_atual = new Date();
		this.mes_atual = this.data_atual.getMonth();
		this.ano_atual = this.data_atual.getFullYear();
		this.dia_atual = this.data_atual.getDate();
		this.img_ant = '/novosite/imagens/prev.gif';
		this.img_prox = '/novosite/imagens/next.gif';
		this.Inicio();
	},
	// descobre se o ano é bisexto
	BiSexto: function(ano,mes){
		this.dias_mes[1] = ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 !=0))) ? 29 : 28;
	},
	// Inicia o calendario
	Inicio: function(){
		var atual = Element.getStyle('calendario','display');
		if(atual=='none') return;
		this.atual = new Array(this.dia_atual,this.mes_atual,this.ano_atual);
		this.Calendario(this.atual[2],this.atual[1]);
	},
	// Novo calendario
	NovoCalendario: function(op){
		if(op==1){
			if(this.atual[1]>10){
				this.atual[2]++;
				this.atual[1]=0;
			}
			else this.atual[1]++;
		} else {
			if(this.atual[1]==0){
				this.atual[2]--;
				this.atual[1]=11;
			}
			else this.atual[1]--;
		}
		this.Calendario(this.atual[2],this.atual[1]);
		return false;
	},
	// Escreve o calendario
	Calendario: function(ano,mes){
		this.BiSexto(ano,mes);
		var init_data = new Date(ano, mes, 1);
		var init_dia = init_data.getDay() + 1;
		if (((this.dias_mes[mes]==31) && (init_dia>=6)) || ((this.dias_mes[mes]==30) && (init_dia==7))){
			var linhas = 6;
		}
		else if ((this.dias_mes[mes]==28) && (init_dia== 1)) {
			var linhas = 4;
		}
		else var linhas = 5;
		var valor = '\n<table>\n';
		valor += '\t<thead>\n';
		valor += '\t\t<tr><th id="bta"><a href="#" onmouseover="Calendario.OverOutBt(\'bta\',1)" onmouseout="Calendario.OverOutBt(\'bta\')" onclick="return Calendario.NovoCalendario()"><img src="'+this.img_ant+'" alt="&lt;" /></th>';
		valor += '<th colspan="5" id="btm" onclick="return Calendario.Inicio()" title="Mostrar data atual">'+this.meses[mes]+' / '+ano+'</a></th>';
		valor += '<th id="btp"><a href="#" onmouseover="Calendario.OverOutBt(\'btp\',1)" onmouseout="Calendario.OverOutBt(\'btp\')"  onclick="return Calendario.NovoCalendario(1)"><img src="'+this.img_prox+'" alt="&gt;" /></a></th></tr>\n';
		valor += '\t\t<tr><th>D</th><th>S</th><th>T</th><th>Q</th><th>Q</th><th>S</th><th>S</th></tr>\n';
		valor += '\t</thead>\n';
		valor += '\t<tbody>\n';
		var conta_dia = 1;
		var x = 1;
		var data_atual = this._Calcula(this.dia_atual,this.mes_atual,this.ano_atual);
		for (var j=1;j<=linhas;j++) {
			valor += '\t\t<tr>';
			for (var i=1; i<8; i++) {
				if ((x >= init_dia) && (conta_dia <= this.dias_mes[mes])){
					var atual = ((conta_dia==this.dia_atual) && (ano==this.ano_atual) && (mes==this.mes_atual)) ? 1 : 0;
					var anterior = (this._Calcula(conta_dia,mes,ano)<data_atual) ? 1 : 0;
					var id = 'calendar_'+conta_dia;
					var atr = 'id="'+id+'" ';
					if(atual) atr +='class="atual" ';
					if(anterior) atr += 'onmouseover="Calendario.LkOverOut(\''+id+'\')" onmouseout="Calendario.LkOverOut(\''+id+'\',1)"';
					if(atual || anterior) atr += ' onclick="Calendario.Click(\''+id+'\')"';
					valor += '<td '+atr+'>' +  conta_dia + '</td>';
					conta_dia++; 
				}
				else valor += '<td> </td>';
				x++;
			}
			valor += '</tr>\n';
		}
		valor += '\t</tbody>\n';
		valor += '</table>\n';
		$('calendario').innerHTML = valor;
	},
	// Over / Out
	LkOverOut: function(id,tp){
		var classe = (tp) ? 'cal_out' : 'cal_over';
		$(id).className=classe;
	},
	// Over botao
	OverOutBt: function(id,tp){
		if(!tp){
			$(id).style.border = '';
		}else{
			$(id).style.border = 'buttonhighlight 1px solid';
			$(id).style.borderTop = 'buttonhighlight 1px solid';
			$(id).style.borderBottom = 'buttonshadow 1px solid';
			$(id).style.borderRight = 'buttonshadow 1px solid';
		}
	},
	// calcula a data
	_Calcula: function(dia,mes,ano){
		if(mes<10) mes="0"+mes;
		if(dia<10) dia="0"+dia;
		return parseInt(ano+''+mes+''+dia);
	},
	// Click
	Click: function(id){
		var dia = id.replace(/\D/g,"");
		if(dia<10) dia = "0"+dia;
		var mes = this.atual[1]+1;
		if(mes<10) mes = "0"+mes;
		var ano = this.atual[2];
		var data = ano+"-"+mes+"-"+dia;
		Noticias(data);
		return false
	}
};

function cal(){
	Calendario = new Calendario();
}

// abre as noticias do modo ajax
function Noticias(dia,pag,mais){
	var alt = Element.getHeight('plantao_nots');
	if(!mais) alt = alt-28;
	$('plantao_nots').innerHTML="<div style='height:"+alt+"px' class='aguarde'><br />Aguarde, carregando...</div>";
	if(dia) var valor = "&data="+dia;
	else var valor = "&pag="+pag;
	if(mais) valor += "&nots=1";
	var opt = {
		parameters: "ajax=1"+valor,
		method: 'get',
		onSuccess: function(t){
			var texto = MyLib.decode(t.responseText);
			$('plantao_nots').innerHTML=texto;
		}
	}
	new Ajax.Request('/noticias/noticias.php', opt);
	return false;
}

// envia o voto
function Enquete(){
	var campo = "";
	var voto = "";
	var form = document.enquete;
	for(var i=0;form.elements.length;i++){
		campo = form.elements[i];
		if(campo.name=="action") break;
		if(campo.type!="radio") continue;
		if(campo.checked) voto = campo.value;
	}
	var opt = {
		postBody: "&in=1&ajax=1&action="+$F('action')+"&poll_id="+$F('poll_id')+"&vote_for="+voto,
		method: 'post',
		onSuccess: function(t){
			var texto = MyLib.decode(t.responseText);
			$('enquete_val').innerHTML=texto;
		}
	}
	new Ajax.Request('/pesquisa/booth2.php', opt);
	return false;
}

// Recomendar
function Recomendar(){
	var url = "/recomendar.php?loc="+MyLib.encode(window.location.href);
	window.open(url,"","height=280,width=310,top=150,left=200,toolbar=no,menubar=no,location=no,status=no,resizable=1");
}

// Avisar erro
function Erro(){
	var url = "/contato/faleconosco.php?erro="+MyLib.encode(window.location.href);
	location.href=url;
}


/********************************************************
* Banner Randonico
********************************************************/
var Banner = Class.create();
Banner.prototype = {
	initialize: function(){
		this.atual = 0;
		this.imagens = new Array(
			'/novosite/imagens/chamada_mobile.gif',
			'/novosite/imagens/chamada_garota.gif',
			'/novosite/imagens/chamada_ondeassistir.gif',
			'/novosite/imagens/chamada_podcast.gif',
			'/novosite/imagens/chamada_estatisticas.gif',
			'/novosite/imagens/chamada_fotos.gif',
			'/novosite/imagens/chamada_elenco.gif'
		);
		this.llinks = new Array(
			'http://m.furacao.com',
			'/garota/',
			'/ondeassistir/',
			'http://feeds.feedburner.com/furacao',
			'/futebol/estatisticas/2010.php',
			'/scripts/photogallery/',
			'/futebol/elenco/index.php'
		);
		this.ativo = false;
		this.tempo = 10000;
	},
	Banner: function(cod){
		if(this.ativo){
			this.Loop(cod);
			return;
		}
		var foto = "<a href=\""+this.llinks[cod]+"\"><img src=\""+this.imagens[cod]+"\" alt=\"\" height=\"80\" /></a>";
		$('randonico').innerHTML=foto;
		cod++;
		if(cod>=this.imagens.length) cod = 0;
		this.atual = cod;
		this.Loop(this.atual);
	},
	Loop: function(cod){
		setTimeout('Banner.Banner('+cod+')',this.tempo);
	},
	On: function(){
		this.ativo = true;
	},
	Off: function(){
		this.ativo = false;
	}
};
Banner = new Banner();

function BBanner(){
	Banner.Banner(0);
}
/////////////////////////////////////////

onload=Menu.PreLoad();


