// Initialise
function initialise() {document.msq.day.focus()}
//General Array Function
function MakeArray(n) {this.length=n;for (var i=1;i<=n;i++) {this[i]=0;}}
//Initialize Days of Week Array
dayNames=new MakeArray(7);dayNames[0]="Saturday";dayNames[1]="Sunday";dayNames[2]="Monday";dayNames[3]="Tuesday";dayNames[4]="Wednesday";dayNames[5]="Thursday";dayNames[6]="Friday";
//Initialize Months Array
monthNames=new MakeArray(12);monthNames[1]="January";monthNames[2]="February";monthNames[3]="March";monthNames[4]="April";monthNames[5]="May";monthNames[6]="June";monthNames[7]="July";monthNames[8]="August";monthNames[9]="September";monthNames[10]="October";monthNames[11]="November";monthNames[12]="December";
//Day of Week Function
function compute(form) {
document.msq.dobmessage.value=" ";document.msq.result1.value=" ";document.msq.result2.value=" ";document.msq.result3.value=" ";document.msq.result4.value=" ";document.msq.result5.value=" ";document.msq.result6.value=" ";document.msq.result7.value=" ";document.msq.result8.value=" ";document.msq.result9.value=" ";document.msq.result10.value=" ";document.msq.result11.value=" ";document.msq.result12.value=" ";document.msq.result13.value=" ";document.msq.result14.value=" ";document.msq.result15.value=" ";document.msq.result16.value=" ";
document.msq.totals.value=" ";var val1=parseInt(form.day.value, 10);
if ((val1<1)||(val1>31)) {alert("No month has less than one day or more than 31 days!")
document.msq.day.focus();return true;}
else if ((val1 >=1)&&(val1<=31)) {
} else {alert("Please enter a value for the Day of the Month!")
document.msq.day.focus();return true;}
var val2 = parseInt(form.month.value, 10)
if ((val2<1)||(val2>12)) {alert("The month must be greater than zero and less than thirteen!")
document.msq.month.focus();return true;}
else if ((val2>=1)&&(val2<=12)) {
}else {alert("Please enter a value for the Month!")
document.msq.month.focus();return true;}
if ((val1>30)&&((val2==04)||(val2==06)||(val2==09)||(val2==11))) {
alert(monthNames[val2] + " does not have that many days!")
return true;}  
if ((val1>29)&&(val2==2)) {alert("February does not have that many days!")
return true;}  
var val2x=parseInt(form.month.value, 10)
var val3=parseInt(form.year.value, 10)
var val3x=parseInt(form.year.value, 10)
if (val3<1900) {
if (val3>999) {alert("Are you sure you were born as long ago as " + val3 + "?")
// return true ;
} else {alert("Are you sure you were born as long ago as " + val3 + "?  You might have forgotten to input the century.")
// return true ;
}} else if (val3>1899){
} else {alert("Please enter a value for the Year!")
document.msq.year.focus();return true;}
var leap1=parseInt((val3 / 4), 10); var leap2=(val3 / 4);
if ((val1>28)&&(val2==2)&&(leap1 != leap2)) {
alert("February does not have more than 28 days in that year!")
return true;}  
var today=new Date()
var currentYear=(today.getYear()+1900)
if (val3==currentYear) {alert("Aren't you a little young to be using a computer?")}
if (val3 > currentYear) {alert("You're not even born yet!")
return true;}
var workyy=val3;
if (val2==1) {val2x=13;val3=val3-1}
if (val2==2) {val2x=14;val3=val3-1}
var val4=parseInt(((val2x+1)*3)/5, 10)
var val5=parseInt(val3/4, 10)
var val6=parseInt(val3/100, 10)
var val7=parseInt(val3/400, 10)
var val8=val1+(val2x*2)+val4+val3+val5-val6+val7+2
var val9=parseInt(val8/7, 10)
var val0=val8-(val9*7)
if (val3x > currentYear)
{form.dobmessage.value = form.day.value + " " + monthNames[val2] + " " + form.year.value + " will be a " + dayNames[val0]}
else {form.dobmessage.value = form.day.value + " " + monthNames[val2] + " " + form.year.value + " was a " + dayNames[val0]}
//Initialize Basic Magic Square Array
ms4=new MakeArray(16);
ms4[0]=parseInt(9,10)
ms4[1]=parseInt(6,10)
ms4[2]=parseInt(3,10)
ms4[3]=parseInt(16,10)
ms4[4]=parseInt(4,10)
ms4[5]=parseInt(15,10)
ms4[6]=parseInt(10,10)
ms4[7]=parseInt(5,10)
ms4[8]=parseInt(14,10)
ms4[9]=parseInt(1,10)
ms4[10]=parseInt(8,10)
ms4[11]=parseInt(11,10)
ms4[12]=parseInt(7,10)
ms4[13]=parseInt(12,10)
ms4[14]=parseInt(13,10)
ms4[15]=parseInt(2,10)
var work1=parseInt(workyy/100,10);var work2=workyy - (work1 * 100);var work3a=val1 - ms4[0];var work3b=val2 - ms4[1];var work3c=work1 - ms4[2];var work3d=work2 - ms4[3];document.msq.result1.value=parseInt((val1),10);document.msq.result2.value=parseInt((val2),10);document.msq.result3.value=parseInt((work1),10);document.msq.result4.value=parseInt((work2),10);document.msq.result5.value=parseInt((ms4[4] + work3c),10);document.msq.result6.value=parseInt((ms4[5] + work3d),10);document.msq.result7.value=parseInt((ms4[6] + work3a),10);document.msq.result8.value=parseInt((ms4[7] + work3b),10);document.msq.result9.value=parseInt((ms4[8] + work3d),10);document.msq.result10.value=parseInt((ms4[9] + work3c),10);document.msq.result11.value=parseInt((ms4[10] + work3b),10);document.msq.result12.value=parseInt((ms4[11] + work3a),10);document.msq.result13.value=parseInt((ms4[12] + work3b),10);document.msq.result14.value=parseInt((ms4[13] + work3a),10);document.msq.result15.value=parseInt((ms4[14] + work3d),10);document.msq.result16.value= parseInt((ms4[15] + work3c),10);
var pos1 =val1 + val2 + work1 + work2;
document.msq.totals.value = "This Magic Square has a Magic Total of " + pos1;
if (is_mac) {
}else {if (val1<10) {val1lz="0" + val1;}
else {val1lz=val1;}
text='Click <A HREF="http://www.taliscope.com/' + monthNames[val2].substring(0,3).toLowerCase() + '.html#' + val1lz + '" >here</A> to visit Taliscope or Talisman-Horoscope ' + form.day.value + " " + monthNames[val2] + "." ;
changeContent(famous,text);}
location.href = "#square" ;return true ;}   
function changeContent(what,text){if (document.all) {what.innerHTML = text;}
else if (document.layers) {what.document.open();what.document.write(text);what.document.close();}}
function resetForm() {if (is_mac) {
}else {changeContent(famous,'Click <A HREF=\'http://www.taliscope.com/\'>here</A> to visit Taliscope or Talisman-Horoscope.');}
document.msq.day.focus() ;}
