
      var daysInMonth03 = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
      var daysBuildUp03 = new Array(31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365);
      var daysInMonth04 = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
      var daysBuildUp04 = new Array(31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366);
      var daysInMonth05 = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
      var daysBuildUp05 = new Array(366, 394, 425, 455, 486, 516, 547, 578, 608, 639, 669, 700);
      var daysInMonth06 = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
      var daysBuildUp06 = new Array(732, 760, 791, 821, 852, 882, 913, 944, 974, 1005, 1035, 1066);

      var roverLandingShift_A = new Array(['Meridiani', 71.56999999999999], ['Gusev', 59.49], ['Isidis', 65.3]);
      var roverLandingShift_B = new Array(['Meridiani', 551.51], ['Isidis', 569.22], ['Elysium', 566.8200000000001]);
      var myUTCMatch;
      var myUTC;
      var myUTCMinutes;
      var getUTCMinutes;
      var myUTCMonth;
      var getUTCMonth;
      var myUTCDate;
      var getUTCDate;
      var myUTCHours;
      var getUTCHours;
      var myUTCYear;
      var getUTCFullYear;
      var myDayOfYear;
      var myTimeOfDay;
      var convertMyTimeOfDay;
      var secondsOnEarth;
      var secs1MarsHour;
      var driftPerDay;
      var roverA_mer;
      var roverLandingShift_A;
      var roverA_mer_sol;
      var dropFractions;
      var roverA_mer_hrs;
      var roverA_mer_mins; 
      var buildScreenText;
      var rTC_txt;
      
function getUTC() {
        myUTC = new Date();
        myUTCMinutes = myUTC.getUTCMinutes();
}

function extractUTCData() {
        myUTCMonth = myUTC.getUTCMonth();
        myUTCDate = myUTC.getUTCDate();
        myUTCHours = myUTC.getUTCHours();
        myUTCYear = myUTC.getUTCFullYear();
        myDayOfYear = convertMyDayOfYear();
        myTimeOfDay = Number(myUTCHours + '.' + convertMyTimeOfDay());
        secondsOnEarth = myDayOfYear * 24 * 3600 + myTimeOfDay * 3600;
        secs1MarsHour = 3693.4443;
        driftPerDay = 0.0354;
        roverA_mer = secondsOnEarth / secs1MarsHour - (driftPerDay * (myDayOfYear - 5) + roverLandingShift_A[1][1]);
        roverA_mer_sol = dropFractions(roverA_mer / 24);
        roverA_mer_hrs = dropFractions(roverA_mer - roverA_mer_sol * 24);
        roverA_mer_mins = dropFractions((roverA_mer - roverA_mer_sol * 24 - roverA_mer_hrs) * 60);
        buildScreenText();
        //document.write('my day of year: ' + myDayOfYear + ', ' + 'month: ' + myUTCMonth + ', ' + 'date: ' + myUTCDate + ', ' + 'hour: ' + myUTCHours + ', ' + 'minutes: ' + myUTCMinutes + ' ');
        //document.write('my time of day: ' + myTimeOfDay  + ' ');
        //document.write('seconds on earth: ' + secondsOnEarth  + ' ');
        //document.write('rover A Meridiani: ' + roverA_mer  + ' ');
        //document.write('rover A Meridiani SOL: ' + roverA_mer_sol  + ' ');
        //document.write('rover A Meridiani Hours: ' + roverA_mer_hrs  + ' ');
        //document.write('rover A Meridiani Minutes: ' + roverA_mer_mins  + ' ');
        hrsConv = Number(roverA_mer_hrs) * 10;
        //document.write('hours conversion: ' + hrsConv  + ' ');
        minsConv = dropFractions(Number(roverA_mer_mins) / 6);
        //document.write('minutes conversion: ' + minsConv  + ' ');
        roverTimeConversion = hrsConv + Number(minsConv);
        //document.write('rover conversion: ' + roverTimeConversion + ' ');
}

function convertMyDayOfYear() {
        if (myUTCMonth == 0) {
          return myUTCDate + daysBuildUp06[myUTCMonth];
        } else {
          if (myUTCYear == 2003) {
            return myUTCDate + daysBuildUp03[myUTCMonth - 1];
          } else if (myUTCYear == 2004) {
            return myUTCDate + daysBuildUp04[myUTCMonth - 1];
          } else if (myUTCYear == 2005) {
            return myUTCDate + daysBuildUp05[myUTCMonth - 1];
          } else {
		return myUTCDate + daysBuildUp06[myUTCMonth];
	    }
        }
}

function convertMyTimeOfDay() {
        myPercent = String(myUTCMinutes / 6);
        myNum = dropFractions(myPercent);
        if (myNum == '' || myNum == 0 || myNum == '0' || myNum == undefined) {
          myPercent = '0' + myUTCMinutes / 6 / 0.0001;
          myNum = dropFractions(myPercent);
          //document.write('myNum: ' + myNum  + ' ');
          return myNum;
        }
        myPercent = '' + myUTCMinutes / 6 / 1.0e-05;
        myNum = dropFractions(myPercent);
        //document.write('myNum: ' + myNum  + ' ');
        return myNum;
}

function dropFractions(num) {
        //document.write('num to defrac: ' + num);
        thisNum = String(num);
        myArray = thisNum.split('.');
        //document.write('num defracted: ' + myArray[0]  + ' ');
        return myArray[0];
}

function buildScreenText() {
        myHrs = '' + roverA_mer_hrs;
        roverA_mer = secondsOnEarth / secs1MarsHour - (driftPerDay * (myDayOfYear - 5) + roverLandingShift_A[0][1]);
        myMins = '' + roverA_mer_mins;
        if (myHrs.length == 1) {
          myHrs = '0' + myHrs;
        }
        if (myMins.length == 1) {
          myMins = '0' + myMins;
        }
        rTC_txt = '<b>Spirit</b><br>Gusev site<br>Sol: ' + roverA_mer_sol + '   Time: ' + myHrs + ':' + myMins;
        document.write(rTC_txt  + ' ');
 }

function setNewDayPosition() {
        rTC = roverTimeConversion;
        if (rTC <= 54 || rTC >= 185) {
          //document.write('go to 1 ');
          //gotoandstop(1);
        } else {
          //document.write('go to rTC - 54 ');
          //gotoandstop(rTC - 54);
        }
}

function setMinMatchVariable() {
        if (myUTCMinutes == 59) {
          myUTCMatch = 0;
        } else {
          myUTCMatch = myUTCMinutes + 1;
        }
}

getUTC();
if (myUTCMatch == undefined || myUTCMatch == myUTCMinutes) {
        extractUTCData();
        setNewDayPosition();
        setMinMatchVariable();
} else {}
//gotoAndPlay(3);

// Begin Meridiani time

      var myUTCMatch1;
      var myUTC1;
      var myUTCMinutes1;
 //     var getUTCMinutes1;
      var myUTCMonth1;
 //     var getUTCMonth1;
      var myUTCDate1;
 //     var getUTCDate1;
      var myUTCHours1;
 //     var getUTCHours1;
      var myUTCYear1;
      var getUTCFullYear1;
      var myDayOfYear1;
      //convertMyDayOfYear;
      var myTimeOfDay1;
      var convertMyTimeOfDay1;
      var secondsOnEarth1;
      var secs1MarsHour1;
      var driftPerDay1;
      var roverA_mer1;
      var roverLandingShift_A1;
      var roverA_mer_sol1;
      var dropFractions1;
      var roverA_mer_hrs1;
      var roverA_mer_mins1; 
      var buildScreenText1;
      var rTC_txt1;
      
function getUTC1() {
        myUTC1 = new Date();
        myUTCMinutes1 = myUTC1.getUTCMinutes();
}

function extractUTCData1() {
        myUTCMonth1 = myUTC1.getUTCMonth();
        myUTCDate1 = myUTC1.getUTCDate();
        myUTCHours1 = myUTC1.getUTCHours();
        myUTCYear1 = myUTC1.getUTCFullYear();
        myDayOfYear1 = convertMyDayOfYear1();
        myTimeOfDay1 = Number(myUTCHours1 + '.' + convertMyTimeOfDay1());
        secondsOnEarth1 = myDayOfYear1 * 24 * 3600 + myTimeOfDay1 * 3600;
        secs1MarsHour1 = 3693.4443;
        driftPerDay1 = 0.0354;
        roverA_mer1 = secondsOnEarth1 / secs1MarsHour1 - (driftPerDay1 * (myDayOfYear1 - 5) + roverLandingShift_B[0][1]);
        roverA_mer_sol1 = dropFractions1(roverA_mer1 / 24);
        roverA_mer_hrs1 = dropFractions1(roverA_mer1 - roverA_mer_sol1 * 24);
        roverA_mer_mins1 = dropFractions1((roverA_mer1 - roverA_mer_sol1 * 24 - roverA_mer_hrs1) * 60);
        buildScreenText1();
        //document.write('my day of year: ' + myDayOfYear + ', ' + 'month: ' + myUTCMonth + ', ' + 'date: ' + myUTCDate + ', ' + 'hour: ' + myUTCHours + ', ' + 'minutes: ' + myUTCMinutes + ' ');
        //document.write('my time of day: ' + myTimeOfDay  + ' ');
        //document.write('seconds on earth: ' + secondsOnEarth  + ' ');
        //document.write('rover A Meridiani: ' + roverA_mer  + ' ');
        //document.write('rover A Meridiani SOL: ' + roverA_mer_sol  + ' ');
        //document.write('rover A Meridiani Hours: ' + roverA_mer_hrs  + ' ');
        //document.write('rover A Meridiani Minutes: ' + roverA_mer_mins  + ' ');
        hrsConv1 = Number(roverA_mer_hrs1) * 10;
        //document.write('hours conversion: ' + hrsConv  + ' ');
        minsConv1 = dropFractions1(Number(roverA_mer_mins1) / 6);
        //document.write('minutes conversion: ' + minsConv  + ' ');
        roverTimeConversion1 = hrsConv1 + Number(minsConv1);
        //document.write('rover conversion: ' + roverTimeConversion + ' ');
}

function convertMyDayOfYear1() {
        if (myUTCMonth1 == 0) {
          return myUTCDate1 + daysBuildUp06[myUTCMonth1];
        } else {
          if (myUTCYear1 == 2003) {
            return myUTCDate1 + daysBuildUp03[myUTCMonth1 - 1];
          } else if (myUTCYear1 == 2004){
            return myUTCDate1 + daysBuildUp04[myUTCMonth1 - 1];
          } else if (myUTCYear1 == 2005){
            return myUTCDate1 + daysBuildUp05[myUTCMonth1 - 1];
          } else {
		return myUTCDate1 + daysBuildUp06[myUTCMonth1];
	    }
        }
}

function convertMyTimeOfDay1() {
        myPercent1 = String(myUTCMinutes1 / 6);
        myNum1 = dropFractions1(myPercent1);
        if (myNum1 == '' || myNum1 == 0 || myNum1 == '0' || myNum1 == undefined) {
          myPercent1 = '0' + myUTCMinutes1 / 6 / 0.0001;
          myNum1 = dropFractions1(myPercent1);
          //document.write('myNum: ' + myNum  + ' ');
          return myNum1;
        }
        myPercent1 = '' + myUTCMinutes1 / 6 / 1.0e-05;
        myNum1 = dropFractions1(myPercent1);
        //document.write('myNum: ' + myNum  + ' ');
        return myNum1;
}

function dropFractions1(num) {
        //document.write('num to defrac: ' + num);
        thisNum1 = String(num);
        myArray1 = thisNum1.split('.');
        //document.write('num defracted: ' + myArray[0]  + ' ');
        return myArray1[0];
}

function buildScreenText1() {
        myHrs1 = '' + roverA_mer_hrs1;
        roverA_mer1 = secondsOnEarth1 / secs1MarsHour1 - (driftPerDay1 * (myDayOfYear1 - 5) + roverLandingShift_A[0][1]);
        myMins1 = '' + roverA_mer_mins1;
        if (myHrs1.length == 1) {
          myHrs1 = '0' + myHrs1;
        }
        if (myMins1.length == 1) {
          myMins1 = '0' + myMins1;
        }
	rTC_txt1 = '<br><b>Opportunity</b><br>Meridiani site<br>Sol: ' + roverA_mer_sol1 + '   Time: ' + myHrs1 + ':' + myMins1;
        //rTC_txt1 = 'SOL: ' + roverA_mer_sol1 + '   Time: ' + myHrs1 + ':' + myMins1;
        document.write(rTC_txt1  + ' ');
 }

function setNewDayPosition1() {
        rTC1 = roverTimeConversion1;
        if (rTC1 <= 54 || rTC1 >= 185) {
          //document.write('go to 1 ');
          //gotoandstop(1);
        } else {
          //document.write('go to rTC - 54 ');
          //gotoandstop(rTC - 54);
        }
}

function setMinMatchVariable1() {
        if (myUTCMinutes1 == 59) {
          myUTCMatch1 = 0;
        } else {
          myUTCMatch1 = myUTCMinutes1 + 1;
        }
}

getUTC1();
if (myUTCMatch1 == undefined || myUTCMatch1 == myUTCMinutes1) {
        //document.write('------------------------------------------');
        //document.write('------------------------------------------');
        extractUTCData1();
        setNewDayPosition1();
        setMinMatchVariable1();
} else {}
//gotoAndPlay(3);

document.write("<br><a href=http://www.astrobio.net/news/article721.html>Living on Mars Time</a>");
