$(function() {
  $('select[name=cidades]').change(function() {
	  var city = $('select[name=cidades] option:selected').val();
	  if(city!='null')
	  {
		  var coords = city.split('|');
		  $('input:text[name=LongH]').val(coords[0]);
		  $('input:text[name=LongM]').val(coords[1]);
		  $('select[name=Longi]').val('West');
		  $('select[name=Zona]').val(coords[3]+' W');
	  }
	  else
	  {
		  alert('Selecione uma cidade');
	  }
  });
});


var infoUtil = function(time)
{
	var util = {
		'Ano'   : parseInt($('input:text[name=Ano]').val()),
		'Mes'   : parseInt($('select[name=Mes] option:selected').val()),
		'Dia'   : parseInt($('input:text[name=Dia]').val()),
		'Hora'  : parseInt($('input:text[name=Hora]').val()),
		'Min'   : parseInt($('input:text[name=Minuto]').val()),
		'LongH' : parseInt($('input:text[name=LongH]').val()),
		'LongM' : parseInt($('input:text[name=LongM]').val()),
		'Longi' : $('select[name=Longi] option:selected').val(),
		'Zona'  : $('select[name=Zona] option:selected').val()
	}
	
	if(time=='Nasc')
	{
		return new Date(util['Ano'], util['Mes'], util['Dia'], util['Hora'], util['Min']); 
	}
	else
	{
		return util[time];
	}
}

semana=new Array(7)
	semana[0]="Domingo";
	semana[1]="Segunda-feira";
	semana[2]="Terça-feira";
	semana[3]="Quarta-feira";
	semana[4]="Quinta-feira";
	semana[5]="Sexta-feira";
	semana[6]="Sábado";

signo=new Array(13)
	signo[1]="Capricórnio";
	signo[2]="Aquário";
	signo[3]="Peixes";
	signo[4]="Aries";
	signo[5]="Touro";
	signo[6]="Gemeos";
	signo[7]="Câncer";
	signo[8]="Leão";
	signo[9]="Virgem";
	signo[10]="Libra";
	signo[11]="Escorpião";
	signo[12]="Sagitário";


function confere()
{
	flag=0;
	bissexto=0;

	if(isNaN(infoUtil('Dia')) || isNaN(infoUtil('Ano')) || isNaN(infoUtil('Hora')) || isNaN(infoUtil('Min')))
	{
		flag=1;
	}
	
	if(infoUtil('Dia')<1 || infoUtil('Dia')>31 || !infoUtil('Dia'))
	{
		flag=1;
	}
	if((infoUtil('Mes')==4 || infoUtil('Mes')==6 || infoUtil('Mes')==9 || infoUtil('Mes')==11) && infoUtil('Dia')>30)
	{
		flag=1;
	}
	bissexto=infoUtil('Ano')%4;

	if(infoUtil('Mes')==2 && bissexto>0 && infoUtil('Dia')>28)
	{
		flag=1;
	}
	if(infoUtil('Mes')==2 && bissexto==0 && infoUtil('Dia')>29)
	{
		flag=1;
	}
	if(infoUtil('Hora')<0 || infoUtil('Hora')>23)
	{
		flag=2;
	}
	if(infoUtil('Min')<0 || infoUtil('Min')>59)
	{
		flag=2;
	}
	if(infoUtil('LongH')>180 || infoUtil('LongH')<0)
	{
		flag=3;
	}
	if(infoUtil('LongM')>59 || infoUtil('LongM')<0)
	{
		flag=3;
	}
	// if (LatH.value>80 || LatH.value<0) flag=3;
	// if (LatM.value>59 || LatM.value<0) flag=3;

	 if (flag==1) alert("Data Invalida !")
		else if (flag==2) alert("Horas(s) ou Minuto(s) Invalido(s) !");
		else if (flag==3) alert("Coordenada(s) Invalida(s) !");
		else if (flag==0) {
			nasc = infoUtil('Nasc');
			semNasc = nasc.getDay();
			$('input:text[name=Week]').val(semana[semNasc]);
			calcula();
		}
}

function calcula()
{
  nasc     = infoUtil('Nasc');
  tempo    = nasc.getTime();
  a        = tempo/(24*60*60*1000);
  a        = a/1461;
  inta     = Math.floor(a);
  resto    = (a-inta)*1461;
  restoint = Math.floor(resto);
  
  if (restoint>=1096) restoint=restoint-1096;
  	else if (restoint>=730) restoint=restoint-730;
  	else if (restoint>=365) restoint=restoint-365;
  $('input:text[name=Fim]').val(restoint+1);
  
  sidHora=restoint*3.9344+1122.8368;
  if (sidHora>=1440) sidHora=sidHora-1440;
  res=sidHora/60;
  resint=Math.floor(res);
  minsid=Math.floor((res-resint)*60);
  if (resint<10) resint="0"+ resint;
  if (minsid<10) minsid="0"+minsid;
  $('input:text[name=Sid]').val(resint+ ":"+minsid);
  
  // horaLocal()
  
  wMin     = infoUtil('LongH') * infoUtil('Longi') * 60 + infoUtil('LongM') * infoUtil('Longi');
  hOficial = infoUtil('Hora') * 60 + infoUtil('Min') * 1;
  zOficial = infoUtil('Zona') * 1;
  hLocal   = hOficial + zOficial * 60 - (wMin/15);
  if (hLocal>=1440) hLocal=hLocal-1440;
  hLocalFra=hLocal/60;
  hLocalint=Math.floor(hLocalFra);
  mLocal=(hLocalFra-hLocalint)*60;
  mLocalint=Math.floor(mLocal);
  if (hLocalint<10) hLocalint="0"+hLocalint;
  if (mLocalint<10) mLocalint="0"+mLocalint;
  $('input:text[name=hCorr]').val(hLocalint+":"+mLocalint);
  
  // horaTotal
  
  hTotal= sidHora + hLocal;
  if (hTotal>=1440) hTotal=hTotal-1440;
  hSigno = hTotal;
  hTotal=hTotal/60;
  hTotalint=Math.floor(hTotal);
  mTotal=(hTotal-hTotalint)*60;
  mTotalint=Math.floor(mTotal);
  if (hTotalint<10) hTotalint="0"+hTotalint;
  if (mTotalint<10) mTotalint="0"+mTotalint;
  $('input:text[name=localTime]').val(hTotalint+":"+mTotalint);
  
  // Signo
  
  sig = Math.floor(hSigno/120)+1;
  $('input:text[name=seuAsc]').val(signo[sig]);

}

//function verAsc()
//{
	//window.location.	href = "asc_"+sig+".htm";
//}

