function construirArray(qtdElementos){
	this.length = qtdElementos
}

    var	arrayDia = new construirArray(7);
	arrayDia[0] = "Domingo";
	arrayDia[1] = "Segunda-Feira";
	arrayDia[2] = "Ter&ccedil;a-Feira";
	arrayDia[3] = "Quarta-Feira";
	arrayDia[4] = "Quinta-Feira";
	arrayDia[5] = "Sexta-Feira";
	arrayDia[6] = "S&aacute;bado";

	var arrayMes = new construirArray(12);
	arrayMes[0] = "Janeiro";
	arrayMes[1] = "Fevereiro";
	arrayMes[2] = "Mar&ccedil;o";		
	arrayMes[3] = "Abril";
	arrayMes[4] = "Maio";
	arrayMes[5] = "Junho";
	arrayMes[6] = "Julho";
	arrayMes[7] = "Agosto";
	arrayMes[8] = "Setembro";
	arrayMes[9] = "Outubro";
	arrayMes[10] = "Novembro";
	arrayMes[11] = "Dezembro";

function formatarRetornoDataHora(diaSemana, dia, mes, ano, hora, minuto, segundo, formato, idioma){
	retorno = "";
	//Crie outras condi��es por idioma e, dentro de cada idioma trate os formatos.
	if(idioma=="pt_BR"){
		if (formato==0){
			retorno += "&nbsp; "+ hora + ":" + minuto + ":" + segundo + " ";
		} else if (formato==1){
			retorno += "&nbsp;&nbsp;" + diaSemana + ", " + dia + " de " + mes + " de " + ano;
		}
	}
	return retorno;
}

function getMesExtenso(mes){
	return this.arrayMes[mes];
}


function getDiaExtenso(dia){
	return this.arrayDia[dia];
}


// Este � o m�todo que deve ser chamado. Com um exemplo html abaixo onde a data � obtida no carregamento 
// da p�gina e depois a cada 1000 milisegundos.
// <body onload='atualizarDataHora("datahora", 1000)'> 
//	 <div id="datahora"></div>
// </body>
// Outro exemplo:
// <p class="data" id="idDataHora"><script type="text/javascript"> atualizarDataHora("idDataHora", 1000, false); </script></p>
function atualizarDataHora(id, tempo, formato, idioma, flag_retorno){
	dataAtual = new Date();
	dia = dataAtual.getDate();
	diaSemana = getDiaExtenso(dataAtual.getDay());
	mes = getMesExtenso(dataAtual.getMonth());
	ano = dataAtual.getFullYear();
    hora = dataAtual.getHours();
    minuto = dataAtual.getMinutes();
    segundo = dataAtual.getSeconds();

    retorno = formatarRetornoDataHora(diaSemana, dia, mes, ano, hora, minuto, segundo, formato, idioma);
    
	//Aqui � impresso a data e hora no ID passado como parametro
    if (id!=null){
    	document.getElementById(id).innerHTML = retorno;
    }
    
    //Ou retorna ou chama novamente por tempo
    if (flag_retorno){
    	return retorno;
    }else {
    	setTimeout('atualizarDataHora("'+id+'",'+tempo+','+formato+',"'+idioma+'",'+flag_retorno+')', tempo);
    }
} 

