//JavaScript modification T. Dacre 1999
//based on a BASIC program MOON EFFECTS by Bradley E. Schaefer
// His article appeared in Sky & Telescope for
//   April 1994, page 86.
 
function MP(day){

day2=new Date();
day2=day; Date.UTC(day);
var Y=day2.getFullYear();
var M=day2.getMonth()+1;
var D=day2.getDate();
var YY,MM,K1,K2,K3,J,V,IP,AG;

YY=Y-Math.floor((12-M)/10);
MM=M+9;
if (MM>=12) {MM=MM-12};
K1=Math.floor(365.25*(YY+4712));
K2=Math.floor(30.6*MM+.5);
K3=Math.floor(Math.floor((YY/100)+49)*.75)-38;
J=K1+K2+D+59;  
if (J>2299160) {J=J-K3};  
V=(J-2451550.1)/29.530588853;
V=V-Math.floor(V);
if (V<0) {V=V+1};
IP=V;
AG=IP*29.53; 
IP=IP*Math.PI*2  
return IP;
}

var temp,dayoffset,days,i,j,monthnames,todayday,daynames;
today=new Date();
today.setHours(11);
monthnames=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
daynames=["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sabado"];
document.write('<CENTER><TABLE><TR><TD width="120" ALIGN="CENTER" bgcolor="black"><img src="lunas/moon',Math.floor(MP(today)*29/2/Math.PI)+1,'.gif" width="50" height="50" alt="Fase actual de la Luna, ',daynames[today.getDay()],' ',today.getDate(),' ',monthnames[today.getMonth()],' ',today.getFullYear(),'" border="0"></TD></TR><TR>');

var edad=Math.floor(MP(today)*29/2/Math.PI)+1
var exacta =(MP(today)*29/2/Math.PI)+1
var mes = 29.530588853

document.write("<TD>","<font color=#FF8040 size=1>",daynames[today.getDay()],' ',today.getDate(),' de ',monthnames[today.getMonth()],' de ',today.getFullYear(), "<br>");


document.write("Edad de la Luna: " ,edad, " días<br>");
if (exacta < mes/2) {
document.write("Próxima luna llena: ",int_zero((mes/2-exacta)*10)/10," días<br>");
} else {
if (exacta < mes){
document.write("Próxima luna llena: ",int_zero((1.5*mes-exacta)*10)/10," días<br>");
}
}
document.write("Próxima luna nueva: ",int_zero((mes-exacta)*10)/10," días<br></TD></TR></TABLE></CENTER>");
document.write("</font>");
function int_zero(x)
{
	if ( x < 0 )
		return 0 ;
	else
		return parseInt( x ,10 );
}