	/**************************************************************************
	**_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_**
	**_- Classe GoldenExtenso _- por Fernando Arroyo _- GoldenLight _-_-_-_-_**
	**_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_**
	**************************************************************************/
	
	var GoldenExtenso = function(){
		/*_- + Configurar Números e Datas por Extenso -_*/
			this.Config={
				Tipo:"",
				ValorInicial:"",
				FormatoResposta:"",
				ValorFinal:"",
				TamanhoPeriodo:1
			}
		/*_- - Configurar Números e Datas por Extenso -_*/
		
		/*_- + Definir Valores -_*/
			this.DefinirTipo=function(tipo){
				this.Config.Tipo=tipo;
			}
			this.DefinirValorInicial=function(ValorInicial){
				this.Config.ValorInicial=ValorInicial;
			}
			this.DefinirValorFinal=function(ValorFinal){
				this.Config.ValorFinal=ValorFinal;
			}
			this.DefinirFormatoResposta=function(FormatoResposta){
				this.Config.FormatoResposta=FormatoResposta;
			}
		/*_- - Definir Valores -_*/
		
		/*_- + Parametrização -_*/
			this.Parametrizacao=function(){
				ParametrosGoldenExtenso=new GoldenParametros;
				ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoTipo",this.Config.Tipo);
				ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoValorInicial",this.Config.ValorInicial);
				ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoValorFinal",this.Config.ValorFinal);
				ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoFormatoResposta",this.Config.FormatoResposta);
			}
		/*_- - Parametrização -_*/
		
		/*_- + Controles de Data -_*/
			this.AvancarDia=function(){
				DataOrigem=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
				DataOrigem.setDate(DataOrigem.getDate()+1);
				this.DefinirValorFinal(DataOrigem.getDate()+'.'+(DataOrigem.getMonth()+1)+'.'+DataOrigem.getFullYear());
				this.DefinirValorInicial(DataOrigem.getFullYear().toString()+'/'+(DataOrigem.getMonth()+1).toString()+'/'+DataOrigem.getDate().toString());
				return this.Escrever();
			}
			this.RecuarDia=function(){
				DataOrigem=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
				DataOrigem.setDate(DataOrigem.getDate()-1);
				this.DefinirValorFinal(DataOrigem.getDate()+'.'+(DataOrigem.getMonth()+1)+'.'+DataOrigem.getFullYear());
				this.DefinirValorInicial(DataOrigem.getFullYear().toString()+'/'+(DataOrigem.getMonth()+1).toString()+'/'+DataOrigem.getDate().toString());
				return this.Escrever();
			}
			this.AvancarMes=function(){
				DataOrigem=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
				DataOrigem.setMonth(DataOrigem.getMonth()+1);
				this.DefinirValorFinal(DataOrigem.getDate()+'.'+(DataOrigem.getMonth()+1)+'.'+DataOrigem.getFullYear());
				this.DefinirValorInicial(DataOrigem.getFullYear().toString()+'/'+(DataOrigem.getMonth()+1).toString()+'/'+DataOrigem.getDate().toString());
				return this.Escrever();
			}
			this.RecuarMes=function(){
				DataOrigem=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
				DataOrigem.setMonth(DataOrigem.getMonth()-1);
				this.DefinirValorFinal(DataOrigem.getDate()+'.'+(DataOrigem.getMonth()+1)+'.'+DataOrigem.getFullYear());
				this.DefinirValorInicial(DataOrigem.getFullYear().toString()+'/'+(DataOrigem.getMonth()+1).toString()+'/'+DataOrigem.getDate().toString());
				return this.Escrever();
			}
			this.RetornarSemana=function(){
				InicioSemana=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
				DiasSemana=new Array();
				if(InicioSemana.getDay()>0){
					InicioSemana.setDate(InicioSemana.getDate()-InicioSemana.getDay());
				}
				for(IndSemana=0;IndSemana<7;IndSemana++){
					DiasSemana[IndSemana]=InicioSemana.getDate().toString()+"."+(InicioSemana.getMonth()+1).toString()+"."+InicioSemana.getFullYear().toString();
					InicioSemana.setDate(InicioSemana.getDate()+1);
				}
				return DiasSemana;
			}
			this.RetornarMes=function(){
				InicioSemana=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial").toString().split("/")[0]+"/"+ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial").toString().split("/")[1]+"/1");				
			}
			
		/*_- - Controles de Data -_*/
		
		/*_- + Escrever Resultados -_*/
			this.Escrever=function(){
				this.Parametrizacao();
				switch(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoTipo")){
					
					/*_- + Datas Por Extenso -_*/
						case "Data":
							DataOrigem=new Date(ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoValorInicial"));
							this.DefinirValorFinal(DataOrigem.getDate()+'.'+(DataOrigem.getMonth()+1)+'.'+DataOrigem.getFullYear());
							if((DataOrigem.getFullYear()%4)==0){
								DiasFev = 29;
							}
							else{
								DiasFev = 28;
							}
							ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoMeses",new Array(
								new Array("janeiro"		,31),
								new Array("fevereiro"	,DiasFev),
								new Array("março"		,31),
								new Array("abril"		,30),
								new Array("maio"		,31),
								new Array("junho"		,30),
								new Array("julho"		,31),
								new Array("agosto"		,31),
								new Array("setembro"	,30),
								new Array("outubro"		,31),
								new Array("novembro"	,30),
								new Array("dezembro"	,31)
							));
							ParametrosGoldenExtenso.DefinirParametro("GoldenExtensoSemana",new Array(
								"domingo",
								"segunda-feira",
								"terça-feira",
								"quarta-feira",
								"quinta-feira",
								"sexta-feira",
								"sábado"
							));
							TextoExtenso=ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoFormatoResposta").toString();
							TextoExtenso=TextoExtenso.replace("##DIA_SEMANA##",ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoSemana")[DataOrigem.getDay()]);
							TextoExtenso=TextoExtenso.replace("##DIA_NUMERO##",1);
							TextoExtenso=TextoExtenso.replace("##MES_EXTENSO##",ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoMeses")[DataOrigem.getMonth()][1]);
							TextoExtenso=TextoExtenso.replace("##MES_EXTENSO2##",ParametrosGoldenExtenso.AcessarParametro("GoldenExtensoMeses")[DataOrigem.getMonth()][0]);
							TextoExtenso=TextoExtenso.replace("##ANO_NUMERO##",DataOrigem.getFullYear());
							return TextoExtenso;
						break;
					/*_- - Datas Por Extenso -_*/
					
					/*_- + Números Por Extenso -_*/
						case "Número":
						
						break;
					/*_- - Números Por Extenso -_*/
				}
			}
		/*_- - Escrever Resultados -_*/
	}
