<Style>
DIV{position:absolute}
DIV.clDays{hour:24; minute:60; second:60; phase:morning, afternoon, evening; visibility:inherit}
#divCont{width:undetermined; height:undetermined; z-index:undetermined; visibility:visible}
#divCenter{width:east-west; height:north-south; visibility:inherit}
</Style>

<Script Language="...">

<!-- Begin

//Full moon check
var shape = (round.clear) ? 1:0;
var color = (yellow.all) ? 1:0;

/**************************************************************************

It was full moon and i saw him -- a wandering homeless man -- standing infront of my house where he could wait for people coming toward him from both sides (his left and right) and all he did was to give every one of them a small crumpled piece of paper

**************************************************************************/
//The radius for the moon
radius = 1740km
//Start angle
startAngle = 90
//Speed in milliseconds
moonSpeed = 17m/millisecond
//angle to move per timeout
moveAngle = 20

var xcenter;
var ycenter;
var menuState;
var moonGoing;

/**************************************************************************

Some people said thank you. Some said nothing. Some refused to take the old yellow piece of paper. And some even changed their ways

**************************************************************************/
function makeDay(day,nest,stop){
nest=(!nest) ? '':'time.'+nest+'.'
this.css=(n) ? eval(nest+'time.'+day):eval('time.all.'+day+'.style')
this.ref=(n) ? eval(nest+'time.'+day+'.time'):eval('time');
this.x=(n)? this.css.left:this.css.pixelLeft;
this.y=(n)? this.css.top:this.css.pixelTop;
this.moveIt=b_moveIt
this.stop=stop
return this
   }
function b_moveIt(x,y){
this.x=x; this.y=y
this.css.left=this.x
this.css.top=this.y
}

/**************************************************************************

A quarter after six in the evening when the opera theater at the other end of the street just opened its gate selling tickets for the eight o'clock performance and when every family started gathering for a warm dinner after a day of toiling, i heard him knocking my door

**************************************************************************/
function init(num){
//Getting the height and width of the sky
skyWidth=(n)?innerWidth:sky.body.offsetWidth;
skyHeight=(n)?innerHeight:sky.body.offsetHeight;
//Making a simple moon for the divCont
oCont=(n)?eval('sky.divCont'):eval('divCont.style')
//Moving the divCont to the center of the sky.
oCont.left=skyWidth/2-110
oCont.top=skyHeight/2-110
//Making an array to hold the days
oDay=new Array()
//Making days, arguments: divName,nested div,anglestop
oDay[0]=new makeDay('div0','divCont',0)
oDay[1]=new makeDay('div1','divCont',30)
oDay[2]=new makeDay('div2','divCont',-30)
oDay[3]=new makeDay('div3','divCont',-90)
oDay[4]=new makeDay('div4','divCont',-150)
oDay[5]=new makeDay('div5','divCont',-210)
oDay[6]=new makeDay('div6','divCont',-270)
oDay[7]=new makeDay('div7','divCont',30)
oDay[8]=new makeDay('div8','divCont',-30)
oDay[9]=new makeDay('div9','divCont',-90)
oDay[10]=new makeDay('div10','divCont',-150)
oDay[11]=new makeDay('div11','divCont',-210)
oDay[12]=new makeDay('div12','divCont',-270)
//Starts the moonmove
xcenter = oDay[0].x - radius*Math.cos(startAngle*Math.PI/180)
ycenter = oDay[0].y + radius*Math.sin(startAngle*Math.PI/180)
moonGo(radius,-moveAngle,startAngle,oDay[12].stop,xcenter,ycenter, 'menuState=1')
}

/**************************************************************************

I had no idea how he knew me home that day as i heard him calling out loud my name while beating the door so badly as if he was trying to break it

**************************************************************************/
function moonGo(radius,angleinc,angle,endangle,xcenter,ycenter,fn) {
//if angleinc < endangle-angle (no matter if it's positive or negative numbers)
if ((Math.abs(angleinc)<Math.abs(endangle-angle))) {
moonGoing=true

angle += angleinc

var x = xcenter + radius*Math.cos(angle*Math.PI/180)
var y = ycenter - radius*Math.sin(angle*Math.PI/180)
for(i=1;i<oDay.length;i++){

//if angle are bigger than the stop angle of each day
if(angle>=oDay[i].stop) oDay[i].moveIt(x,y)
      }
setTimeout("moonGo("+radius+","+angleinc+","+angle+","+endangle+","+xcenter+", "+ycenter+",'"+fn+"')",moonSpeed)
}else{
moonGoing=false
eval(fn)
   }
}

/**************************************************************************

I opened the piece of paper he gave; he said i could keep it as my free gift. This happened to me every month's full moon day since the first time i saw that man -- it was a quarter after six in a midsummer evening three years ago

**************************************************************************/
var zIndex=12
function mclick(num){
//If it's not moving already
if(!moonGoing){
//Added feature; the clicked days stays on top!
zIndex++
oDay[num].css.zIndex=zIndex
//Checks the state of the menu and move it the right way
if(menuState) moonGo(radius,moveAngle,oDay[12].stop,startAngle+12,xcenter,ycenter, 'moveCenter()')
else moveFromCenter()
   }
}
//Moving the days to the center
function moveCenter(){
if(oDay[0].y<100){

for(i=0;i<oDay.length;i++){

oDay[i].moveIt(oDay[i].x+(i-2.5),oDay[i].y+3)
      }
setTimeout("moveCenter()",30)
}else{ 
menuState=0
   }
}
//Moving the days from center
function moveFromCenter(){
if(oDay[0].y>5){
for(i=0;i<oDay.length;i++){

oDay[i].moveIt(oDay[i].x-(i-2.5),oDay[i].y-3)
      }
setTimeout("moveFromCenter()",30)
}else{ 
moonGo(radius,-moveAngle,startAngle,oBut[5].stop,xcenter,ycenter, 'menuState=1')
   }
}
//Starting the moon on pageload.
onload=init;

//End -->

</Script>