function start() {
	document.form1.day.value="2"
	document.form1.month.value="10"
	document.form1.year.value="2007"
	document.form1.age.value=""
	document.form1.months.value=""
	document.form1.weeks.value=""
	document.form1.answer.value=""
	document.form1.hours.value=""
	document.form1.min.value=""
	document.form1.sec.value=""
	document.form1.bday.value=""
	document.form1.milli.value=""
}

/*function TestRun(){
	alert('works!!!!!');
}*/

function leapyear(a) {
	if(((a%4==0)&&(a%100!=0))||(a%400==0)) return true
	else 
	return false
}

function go(StoredAge) {
	mm=parseInt(mm)
			dd=parseInt(dd)
			yy=parseInt(yy)
		
			if ((mm<1) || (mm>12) || (dd<1) || (dd>31) || (yy<1) ||(mm==" ") || (dd==" ") || (yy==" "))  main="Invalid" 
			else 
			if (((mm==4) || (mm==6) || (mm==9) || (mm==11)) && (dd>30)) main="Invalid"
			else if (mm==2) {
				if (dd>29)main="Invalid" 
				else if((dd>28) && (!lyear(yy)))   main="Invalid"
			}
			else main=main
		
			if(main=="valid") {
				var m
				if (mm==1) n=31+1
				if (mm==2)
				   { n=59+1}
				if (mm==3)  n=90+1//;  if (lyear(yy)) n=n+1; }
				if (mm==4)  n=120+1//  if (lyear(yy)) n=n+1; }
				if (mm==5)  n=151+1// ; if (lyear(yy)) n=n+1; }
				if (mm==6)  n=181+1//;  if (lyear(yy)) n=n+1; }
				if (mm==7)  n=212+1// ; if (lyear(yy)) n=n+1; }
				if (mm==8)  n=243+1//  ;if (lyear(yy)) n=n+1; }
				if (mm==9)  n=273+1//;  if (lyear(yy)) n=n+1; }
				if (mm==10)  n=304+1//;  if (lyear(yy)) n=n+1; }
				if (mm==11)  n=334+1//;  if (lyear(yy)) n=n+1; }
				if (mm==12)  n=365+1//;  if (lyear(yy)) n=n+1; }
		
				if((mm==1)||(mm==3)||(mm==5)||(mm==7)||(mm==8)||(mm==10)||(mm==12))
				n+=31+dd
				else if((mm==4)||(mm==6)||(mm==9)||(mm==11))
				n+=31+dd+1
				else if(mm==2) {
					if(lyear(yy)) n+=29+dd-3
					else if(!lyear(yy)) n+=28+dd-1
				}
			
				fours = yy/4
				hunds = yy/100
				fhunds = yy/400
				var day
				
				day=(yy + n + fours - hunds + fhunds) % 7;
				day=parseInt(day)
			

				switch(day)
				{
					case 1 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Sunday"
					break
					case 2 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Monday"
					break
					case 3 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Tuesday"
					break
					case 4 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Wednesday"
					break
					case 5 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Thursday"
					break
					case 6 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Friday"
					break
					case 7 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Saturday"
					break
					case 0 : document.form1.age.value = "You are " + StoredAge + " years old  and  you were born on a  Saturday"
					break
				}
			} else {
				document.form1.age.value +=main+" Date"
			}
}


function lyear(a) {
return leapyear(a); 
/*if(((a%4==0) && (a%100!=0)) || (a%400==0)) return true;
else return false;*/
}

function run() {

	var ap;
	dd=document.form1.day.value
	mm=document.form1.month.value
	yy=document.form1.year.value
	
	with(document.form1) {
		ap=parseInt(ampm.selectedIndex);
		hr=parseInt(hrs.value);
		if(hr<=0 && hr>=13){
			ap=null;alert("asdf")
		}
	}

	main="valid"

	if ((mm<1) || (mm>12) || (dd<1) || (dd>31) || (yy<1) ||(mm=="") || (dd=="") || (yy==""))  main="Invalid" 
	else 
	if (((mm==4) || (mm==6) || (mm==9) || (mm==11)) && (dd>30)) main="Invalid"
	else if (mm==2) {
		if (dd>29)main="Invalid" 
		else if((dd>28) && (!lyear(yy)))   main="Invalid"
	}
	else if((yy>9999)||(yy<0)) main="Invalid"
	else main=main

	if(main=="valid") {
	
		days = new Date()
		gdate = days.getDate()
		gmonth = days.getMonth()
		gyear = days.getFullYear()

		if (gyear < yy) {main = "Invalid"; alert('You have either entered a future date or your system date is wrong'); return;}
		if (gyear==yy && gmonth+1 < mm) {main = "Invalid";alert('You have either entered a future date or your system date is wrong'); return;}
		if (gyear==yy && gmonth+1 == mm && gdate < dd) {main = "Invalid";alert('You have either entered a future date or your system date is wrong'); return;}

		//alert(gyear);
		age=gyear-yy;


		if((mm==(gmonth+1))&&(dd<=parseInt(gdate))) {
			age=age 
		} 
		else {
			if(mm<=(gmonth)) {
				age=age
			} else {
				age=age-1 
			} 
		}
		
		if(age==0)	age=age
		{
			storeAge=age;
			//document.form1.age.value="  You are " + age+ " years old   &  "
		}
		
		if(mm<=(gmonth+1))
			age=age-1
		if((mm==(gmonth+1))&&(dd>parseInt(gdate))) 
			age=age+1
	
		var m=0;
		var n=0;
		
		if (mm==12) { n=31-dd; }
		if (mm==11) { n=61-dd;}   
		if (mm==10) { n=92-dd; }  
		if (mm==9) { n=122-dd;  } 
		if (mm==8) { n=153-dd;}   
		if (mm==7) { n=184-dd;}   
		if (mm==6) { n=214-dd; }  
		if (mm==5) { n=245-dd;  } 
		if (mm==4) { n=275-dd;  } 
		if (mm==3) { n=306-dd;  }
		if (mm==2) { n=334-dd; if(leapyear(yy)) n=n+1 }
		if (mm==1) { n=365-dd;  if (leapyear(yy)) n=n+1 }
		
		
	
		if (gmonth==1) m=31
		if (gmonth==2)
		{ 
			m=59
			if (leapyear(gyear)) m=m+1;  
		}
		if (gmonth==3) { m=90;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==4) { m=120;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==5) { m=151 ; if (leapyear(gyear)) m=m+1; }
		if (gmonth==6) { m=181;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==7) { m=212 ; if (leapyear(gyear)) m=m+1; }
		if (gmonth==8) { m=243  ;if (leapyear(gyear)) m=m+1; }
		if (gmonth==9) { m=273;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==10) { m=304;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==11) { m=334;  if (leapyear(gyear)) m=m+1; }
		if (gmonth==12) { m=365;  if (leapyear(gyear)) m=m+1; }
		
		totdays=(parseInt(age)*365)
		totdays+=age/4;
		totdays=parseInt(totdays)+gdate+m+n;
		document.form1.answer.value="" + totdays +" days ";
	
		// month
		gmonth = gmonth +1;	
		months=storeAge*12
//			months+=12-parseInt(mm);
//			months+=gmonth;
		//alert(gmonth)
		if (parseInt(mm) > gmonth)
		{
		//alert('a')
			months+=12-parseInt(mm);
			months+=gmonth;
		}
		else if (parseInt(mm) != gmonth)
		{
			months += gmonth - parseInt(mm);
			//alert(gmonth - parseInt(mm));
			if (dd > gdate && months >0)
				{months = months - 1;}
				
		}
		
		/*if (dd <= gdate){
		//alert('dd = ' + dd + '  days = ' +  gdate) 
			months = months+1;
		}*/
		
		//alert('age*12 = ' + age*12 + ' |  parseInt(mm) =  ' + mm + '  | gmonth=  ' + gmonth + '    | Total Months = ' + months);
		document.form1.months.value=months+" Months"
		gmonth = gmonth -1;
		var p=0;
		//weeks
		if (gmonth==1) p=31+gdate
		if (gmonth==2)
		   { p=59+gdate
			 if (leapyear(gyear)) m=m+1;  }
		if (gmonth==3) { p=90+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==4) { p=120+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==5) { p=151+gdate ; if (leapyear(gyear)) p=p+1; }
		if (gmonth==6) { p=181+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==7) { p=212+gdate ; if (leapyear(gyear)) p=p+1; }
		if (gmonth==8) { p=243+gdate  ;if (leapyear(gyear)) p=p+1; }
		if (gmonth==9) { p=273+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==10) { p=304+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==11) { p=334+gdate;  if (leapyear(gyear)) p=p+1; }
		if (gmonth==12) { p=365+gdate;  if (leapyear(gyear)) p=p+1; }
		/*
		weeks=(age*365)+n+p
		weeks=weeks/7
		etcdays=parseFloat(weeks)-parseInt(weeks)
		etcdays=Math.round(etcdays*7)
		weeks=parseInt(weeks)
		etcdays+=parseInt(age/4)
		if(etcdays>7)
		weeks+=parseInt(etcdays/7)
		*/
		weeks=totdays/7
		weeks+=" weeks"
		weeks=parseInt(weeks);
		document.form1.weeks.value=weeks+" Weeks"
		
		// hours
		var time=new Date()
		ghour=time.getHours()
		gmin=time.getMinutes()
		gsec=time.getSeconds()  
		
		hour=((age*365)+n+p)*24
		hour+=(parseInt(age/4)*24)
		if(ap==0){hour=hour-hr}else{if(ap==1){hour=hour-(11+hr)}}
		
		document.form1.hours.value=hour+" Hours"
		
		var min
		//minutes
		min=(hour*60)+gmin
		document.form1.min.value=min+" Minutes"
		sec=(min*60)+gsec
		document.form1.sec.value=sec+" Seconds"
		var millisec;
		var gmil;
		gmil = days.getMilliseconds();
		millisec=(sec*1000)+gmil;
		document.form1.milli.value=millisec+" Milliseconds";
		mm=mm-1
		var r
		if(mm==0) r=1
		if (mm==1) r=31
		if (mm==2)
		   { r=59
			 if (leapyear(gyear)) m=m+1;  }
		if (mm==3) { r=90;  if (leapyear(gyear)) r=r+1; }
		if (mm==4) { r=120;  if (leapyear(gyear)) r=r+1; }
		if (mm==5) { r=151 ; if (leapyear(gyear)) r=r+1; }
		if (mm==6) { r=181;  if (leapyear(gyear)) r=r+1; }
		if (mm==7) { r=212 ; if (leapyear(gyear)) r=r+1; }
		if (mm==8) { r=243  ;if (leapyear(gyear)) r=r+1; }
		if (mm==9) { r=273;  if (leapyear(gyear)) r=r+1; }
		if (mm==10) { r=304;  if (leapyear(gyear)) r=r+1; }
		if (mm==11) { r=334;  if (leapyear(gyear)) r=r+1; }
		if (mm==12) { r=365;  if (leapyear(gyear)) r=r+1; }
		mm=mm+1;
		r=parseInt(r)+parseInt(dd);
		
		if(mm>(gmonth+1)){
			bday=r-m-gdate
		} else {
			if(mm==(gmonth+1)&&(gdate<dd)){
				bday=(r-m-gdate) 
			} else {
				if((leapyear(gyear))&&((mm>2)&&(dd<29))) {
					a=366
				} else {
					a=365 
				}
			bday=a+(r-m-gdate)
			}
		}
	
		nhour=24-parseInt(ghour)
		nmin=60-parseInt(gmin)
		nsec=60-parseInt(gsec)
	
		go(storeAge);
	
		if(((bday==366)&&(leapyear(yy)))||((bday==365)&&(!leapyear(yy)))) {
			document.form1.bday.value="today is your birthday"
			alert("Happy Birthday")
		} else {
			document.form1.bday.value=bday+" days "+ nhour+" hours "+nmin+" minutes "+nsec+" seconds" 
			//alert('works!!!!!');
			setTimeout("run()",150)
		}
	
	
	
	} else {
		document.form1.age.value=main+" Date"
		document.form1.months.value=""
		document.form1.weeks.value=""
		document.form1.answer.value=""
		document.form1.hours.value=""
		document.form1.min.value=""
		document.form1.sec.value=""
		document.form1.bday.value=""
		document.form1.milli.value=""
	}
}

function bornon() {

}