/*
Programming and DHTML graphics:
(c) Adrian R. Ashford.
Latest revision: January 22nd, 2009.
Used with permission by SkyandTelescope.com

Date & time validation scripts:
Sandeep Tamhankar
stamhankar@hotmail.com
http://javascript.internet.com

*/

function grab_UTC()
{
var nowdate = new Date();
var utc_day = nowdate.getUTCDate();
var utc_month = nowdate.getUTCMonth() + 1;
var utc_year = nowdate.getUTCFullYear();
zone = nowdate.getTimezoneOffset() / 1440;
document.uranus.timezone.value = -(zone * 24);
var utc_hours = nowdate.getUTCHours();
var utc_mins = nowdate.getUTCMinutes();
var utc_secs = nowdate.getUTCSeconds();
utc_mins += utc_secs / 60.0;
utc_mins = Math.floor((utc_mins + 0.5));
if (utc_mins < 10) utc_mins = "0" + utc_mins;
if (utc_mins > 59) utc_mins = 59;
if (utc_hours < 10) utc_hours = "0" + utc_hours;
if (utc_month < 10) utc_month = "0" + utc_month;
if (utc_day < 10) utc_day = "0" + utc_day;
document.uranus.date_txt.value = utc_month + "/" + utc_day + "/" + utc_year;
document.uranus.ut_h_m.value = utc_hours + ":" + utc_mins;
}

function setup()
{
grab_UTC();
view_type = "reflector";
reset_flag = 0;
uranus();
}

function reloaded()
{
grab_UTC();
uranus();
}

function proper_ang(big)
{
with (Math)
{
var tmp = 0;
if (big > 0)
{
tmp = big / 360.0;
tmp = (tmp - floor(tmp)) * 360.0;
}
else
{
tmp = ceil(abs(big / 360.0));
tmp = big + tmp * 360.0;
}
}
return tmp;
}

function round_10(num)
{
return Math.floor((num + 0.05) * 10) / 10;
}

function round_100(num)
{
return Math.floor((num + 0.005) * 100) / 100;
}

function isValidDate(dateStr)
{ 
if (IsValidTime(document.uranus.ut_h_m.value) == true)
{
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(datePat);
if (matchArray == null) { 
alert("Date is not in a valid format.") 
return false; 
} 
var month = matchArray[1];
var day = matchArray[3]; 
var year = matchArray[4];
/* 
if (year < 2007 || year > 2008) {
alert("Year must be 2007 or 2008."); 
return false; 
}
*/
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31."); 
return false; 
} 
if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
alert("Month " + month + " doesn't have 31 days!") 
return false 
} 
if (month == 2) {
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
if (day > 29 || (day == 29 && !isleap))
{ 
alert("February " + year + " doesn't have " + day + " days!"); 
return false; 
} 
} 
if (month < 10 && month.length == 1) month = "0" + month;
if (day < 10 && day.length == 1) day = "0" + day;
document.uranus.date_txt.value = month + "/" + day + "/" + year;
var dt_str = document.uranus.date_txt.value;
if ((dt_str.substring(2,3) != "/") || (dt_str.substring(5,6) != "/"))
{
alert ("Date is not in a valid format.");
return false;
}
var jd = julian_date();
if (jd < 2454801.5 || jd > 2455197.5)
{
alert ("Please choose a date between 1 December 2008 and 31 December 2009.");
return false;
}
uranus();
return true;
}
else
{
return false;
}
}

function IsValidTime(timeStr)
{
var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
var matchArray = timeStr.match(timePat);
if (matchArray == null)
{
alert("Time is not in a valid format.");
return false;
}
var hour = matchArray[1];
var minute = matchArray[2];
if (hour < 0 || hour > 23)
{
alert("Hour must be between 0 and 23.");
return false;
}
if (minute < 0 || minute > 59)
{
alert ("Minute must be between 0 and 59.");
return false;
}
if (hour < 10 && hour.length == 1) hour = "0" + hour;
if (minute < 10 && minute.length == 1) minute = "0" + minute;
document.uranus.ut_h_m.value = hour + ":" + minute;
var tm_str = document.uranus.ut_h_m.value;
if ((tm_str.substring(2,3) != ":") && (dt_str.length != 5))
{
alert ("Time is not in a valid format.");
return false;
}
return true;
}

function time_change(tmp)
{
if (isValidDate(document.uranus.date_txt.value) == true)
{
var jd_temp, zz, ff, alpha, aa, bb, cc, dd, ee;
var calendar_day, calendar_month, calendar_year;
var int_day, hours, minutes;

var tm_as_str, ut_hrs, ut_mns, frac_day;

var jd = julian_date();

tm_as_str = document.uranus.ut_h_m.value;
ut_hrs = eval(tm_as_str.substring(0,2));
ut_mns = eval(tm_as_str.substring(3,5));
frac_day = ut_hrs / 24.0 + ut_mns / 1440.0;

with (Math) {

jd_temp = jd + frac_day + tmp / 24.0 + 0.5;

zz = floor(jd_temp);
ff = jd_temp - zz;
alpha = floor((zz - 1867216.25) / 36524.25);
aa = zz + 1 + alpha - floor(alpha / 4);
bb = aa + 1524;
cc = floor((bb - 122.1) / 365.25);
dd = floor(365.25 * cc);
ee = floor((bb - dd) / 30.6001);
calendar_day = bb - dd - floor(30.6001 * ee) + ff;
calendar_month = ee;
if (ee < 13.5) calendar_month = ee - 1;
if (ee > 13.5) calendar_month = ee - 13;
calendar_year = cc;
if (calendar_month > 2.5) calendar_year = cc - 4716;
if (calendar_month < 2.5) calendar_year = cc - 4715;
int_day = floor(calendar_day);
hours = (calendar_day - int_day) * 24;
minutes = floor((hours - floor(hours)) * 60 + 0.5);
hours = floor(hours);
if (minutes > 59)
{minutes = 0; hours = hours + 1;}
if (calendar_month < 10) calendar_month = "0" + calendar_month;
if (int_day < 10) int_day = "0" + int_day;
if (hours < 10) hours = "0" + floor(hours);
if (minutes < 10) minutes = "0" + minutes;
}
document.uranus.date_txt.value = calendar_month + "/" + int_day + "/" + calendar_year;
document.uranus.ut_h_m.value = hours + ":" + minutes;
uranus();
return true;
}
else
{
return false;
}
}

function julian_date()
{
var dt_as_str, mm, dd, yy;
var yyy, mmm, a, b;

dt_as_str = document.uranus.date_txt.value;
mm = eval(dt_as_str.substring(0,2));
dd = eval(dt_as_str.substring(3,5));
yy = eval(dt_as_str.substring(6,10));

with (Math) {
var yyy=yy;
var mmm=mm;
if (mm < 3)
{
yyy = yy - 1;
mmm = mm + 12;
}
a = floor(yyy/100);
b = 2 - a + floor(a/4);

return floor(365.25*yyy) + floor(30.6001*(mmm+1)) + dd + 1720994.5 + b;
}
}

function isReflector()
{
if (isValidDate(document.uranus.date_txt.value) == true)
{
view_type = "reflector";
reset_flag = 1;
if (document.all)
{
document.all.direct.style.zIndex = 1;
document.all.inverted.style.zIndex = 20;
document.all.mirrored.style.zIndex = 1;
}
else
{
if (document.layers)
{
document.layers["direct"].zIndex = 1;
document.layers["inverted"].zIndex = 20;
document.layers["mirrored"].zIndex = 1;
}
else
{
if (document.getElementById)
{
document.getElementById("direct").style.zIndex = 1;
document.getElementById("inverted").style.zIndex = 20;
document.getElementById("mirrored").style.zIndex = 1;
}
}
}
uranus();
return true;
}
else
{
return false;
}
}

function isRefractor()
{
if (isValidDate(document.uranus.date_txt.value) == true)
{
view_type = "refractor";
reset_flag = 1;
if (document.all)
{
document.all.direct.style.zIndex = 1;
document.all.inverted.style.zIndex = 1;
document.all.mirrored.style.zIndex = 20;
}
else
{
if (document.layers)
{
document.layers["direct"].zIndex = 1;
document.layers["inverted"].zIndex = 1;
document.layers["mirrored"].zIndex = 20;
}
else
{
if (document.getElementById)
{
document.getElementById("direct").style.zIndex = 1;
document.getElementById("inverted").style.zIndex = 1;
document.getElementById("mirrored").style.zIndex = 20;
}
}
}
uranus();
return true;
}
else
{
return false;
}
}

function isBinocular()
{
if (isValidDate(document.uranus.date_txt.value) == true)
{
view_type = "binocular";
reset_flag = 1;
if (document.all)
{
document.all.direct.style.zIndex = 20;
document.all.inverted.style.zIndex = 1;
document.all.mirrored.style.zIndex = 1;
}
else
{
if (document.layers)
{
document.layers["direct"].zIndex = 20;
document.layers["inverted"].zIndex = 1;
document.layers["mirrored"].zIndex = 1;
}
else
{
if (document.getElementById)
{
document.getElementById("direct").style.zIndex = 20;
document.getElementById("inverted").style.zIndex = 1;
document.getElementById("mirrored").style.zIndex = 1;
}
}
}
uranus();
return true;
}
else
{
return false;
}
}

function uranus()
{

with (Math)
{
var dt = 65;
var p2 = 2 * PI;
var RAD = 180 / PI;

var jd = julian_date();

var tm_as_str = document.uranus.ut_h_m.value;
var ut_hrs = eval(tm_as_str.substring(0,2));
var ut_mns = eval(tm_as_str.substring(3,5));
var frac_day = ut_hrs / 24.0 + ut_mns / 1440.0;

var day_start = jd - 2451545.0 + dt / 86400;

var days = day_start + frac_day;

var d = days;

var de = -1.5;
var pa = 254.6;
var ad = 3.7;
var scal_fac = 12.2;

if (jd > 2454801.5 && jd <= 2454832.5)
{
de = -1.1;
/*
Values for December 2008
*/
}

if (jd > 2454832.5 && jd <= 2454863.5)
{
de = -1.9;
/*
Values for January 2009
*/
}

if (jd > 2454863.5 && jd <= 2454891.5)
{
de = -3.3;
/*
Values for February 2009
*/
}

if (jd > 2454891.5 && jd <= 2454922.5)
{
de = -4.9;
/*
Values for March 2009
*/
}

if (jd > 2454922.5 && jd <= 2454952.5)
{
de = -6.6;
/*
Values for April 2009
*/
}

if (jd > 2454952.5 && jd <= 2454983.5)
{
de = -7.9;
/*
Values for May 2009
*/
}

if (jd > 2454983.5 && jd <= 2455013.5)
{
de = -8.6;
/*
Values for June 2009
*/
}

if (jd > 2455013.5 && jd <= 2455044.5)
{
de = -8.7;
/*
Values for July 2009
*/
}

if (jd > 2455044.5 && jd <= 2455075.5)
{
de = -8.0;
/*
Values for August 2009
*/
}

if (jd > 2455075.5 && jd <= 2455105.5)
{
de = -6.9;
/*
Values for September 2009
*/
}

if (jd > 2455105.5 && jd <= 2455136.5)
{
de = -5.8;
/*
Values for October 2009
*/
}

if (jd > 2455136.5 && jd <= 2455166.5)
{
de = -5.0;
/*
Values for November 2009
*/
}

if (jd > 2455166.5 && jd <= 2455197.5)
{
de = -4.9;
/*
Values for December 2009
*/
}

var miranda_sep = 9.4;
var miranda_elong = 2455076.482;
var ariel_sep = 13.9;
var ariel_elong = 2455077.921;
var umbriel_sep = 18.5;
var umbriel_elong = 2455078.29;
var titania_sep = 31.5;
var titania_elong = 2455083.875;
var oberon_sep = 42.2;
var oberon_elong = 2455076.287;

var miranda_rad = miranda_sep / ad * scal_fac;
var ariel_rad = ariel_sep / ad * scal_fac;
var umbriel_rad = umbriel_sep / ad * scal_fac;
var titania_rad = titania_sep / ad * scal_fac;
var oberon_rad = oberon_sep / ad * scal_fac;

var temp = jd + frac_day + dt / 86400;

var miranda_ang = proper_ang((temp - miranda_elong) / 1.4135 * 360.0 - 90) / RAD;
var ariel_ang = proper_ang((temp - ariel_elong) / 2.5204 * 360.0 - 90) / RAD;
var umbriel_ang = proper_ang((temp - umbriel_elong) / 4.1442 * 360.0 - 90) / RAD;
var titania_ang = proper_ang((temp - titania_elong) / 8.7059 * 360.0 - 90) / RAD;
var oberon_ang = proper_ang((temp - oberon_elong) / 13.4632 * 360.0 - 90) / RAD;

var x_miranda = miranda_rad * sin(miranda_ang);
var y_miranda = miranda_rad * cos(miranda_ang) * sin(de / RAD);
var x_ariel = ariel_rad * sin(ariel_ang);
var y_ariel = ariel_rad * cos(ariel_ang) * sin(de / RAD);
var x_umbriel = umbriel_rad * sin(umbriel_ang);
var y_umbriel = umbriel_rad * cos(umbriel_ang) * sin(de / RAD);
var x_titania = titania_rad * sin(titania_ang);
var y_titania = titania_rad * cos(titania_ang) * sin(de / RAD);
var x_oberon = oberon_rad * sin(oberon_ang);
var y_oberon = oberon_rad * cos(oberon_ang) * sin(de / RAD);

var miranda_layer = 9;
var ariel_layer = 9;
var umbriel_layer = 9;
var titania_layer = 9;
var oberon_layer = 9;
if (1.571 < miranda_ang && miranda_ang < 4.712) miranda_layer = 10;
if (1.571 < ariel_ang && ariel_ang < 4.712) ariel_layer = 10;
if (1.571 < umbriel_ang && umbriel_ang < 4.712) umbriel_layer = 10;
if (1.571 < titania_ang && titania_ang < 4.712) titania_layer = 10;
if (1.571 < oberon_ang && oberon_ang < 4.712) oberon_layer = 10;

var miranda_dist = sqrt(pow(x_miranda,2) + pow(y_miranda,2));
var ariel_dist = sqrt(pow(x_ariel,2) + pow(y_ariel,2));
var umbriel_dist = sqrt(pow(x_umbriel,2) + pow(y_umbriel,2));
var titania_dist = sqrt(pow(x_titania,2) + pow(y_titania,2));
var oberon_dist = sqrt(pow(x_oberon,2) + pow(y_oberon,2));

var miranda_pos_ang = proper_ang(atan2(x_miranda,y_miranda) * RAD + pa - 180);
var ariel_pos_ang = proper_ang(atan2(x_ariel,y_ariel) * RAD + pa - 180);
var umbriel_pos_ang = proper_ang(atan2(x_umbriel,y_umbriel) * RAD + pa - 180);
var titania_pos_ang = proper_ang(atan2(x_titania,y_titania) * RAD + pa - 180);
var oberon_pos_ang = proper_ang(atan2(x_oberon,y_oberon) * RAD + pa - 180);

var miranda_dist_arcsec = (miranda_dist - 6.225) / scal_fac * ad;
var ariel_dist_arcsec = (ariel_dist - 6.225) / scal_fac * ad;
var umbriel_dist_arcsec = (umbriel_dist - 6.225) / scal_fac * ad;
var titania_dist_arcsec = (titania_dist - 6.225) / scal_fac * ad;
var oberon_dist_arcsec = (oberon_dist - 6.225) / scal_fac * ad;

x_miranda = miranda_dist * sin((miranda_pos_ang - 180) / RAD);
y_miranda = miranda_dist * cos((miranda_pos_ang - 180) / RAD);
x_ariel = ariel_dist * sin((ariel_pos_ang - 180) / RAD);
y_ariel = ariel_dist * cos((ariel_pos_ang - 180) / RAD);
x_umbriel = umbriel_dist * sin((umbriel_pos_ang - 180) / RAD);
y_umbriel = umbriel_dist * cos((umbriel_pos_ang - 180) / RAD);
x_titania = titania_dist * sin((titania_pos_ang - 180) / RAD);
y_titania = titania_dist * cos((titania_pos_ang - 180) / RAD);
x_oberon = oberon_dist * sin((oberon_pos_ang - 180) / RAD);
y_oberon = oberon_dist * cos((oberon_pos_ang - 180) / RAD);

/*
document.uranus.magnitude.value = round_10(m4);
document.uranus.miranda_mag.value = round_10(m4 + 13.32);
document.uranus.ariel_mag.value = round_10(m4 + 14.41);
document.uranus.angular_diameter.value = round_10(ad);
document.uranus.miranda_sep.value = floor(miranda_dist_arcsec + 0.5);
document.uranus.miranda_pa.value = floor(miranda_pos_ang + 0.5);
document.uranus.ariel_sep.value = floor(ariel_dist_arcsec + 0.5);
document.uranus.ariel_pa.value = floor(ariel_pos_ang + 0.5);
*/

if (reset_flag == 0)
{
if (document.all)
{
document.all.chooseit.style.zIndex = 21;
}
else
{
if (document.layers)
{
document.layers["chooseit"].zIndex = 21;
}
else
{
if (document.getElementById)
{
document.getElementById("chooseit").style.zIndex = 21;
}
}
}
}
else
{
if (document.all)
{
document.all.chooseit.style.zIndex = 1;
}
else
{
if (document.layers)
{
document.layers["chooseit"].zIndex = 1;
}
else
{
if (document.getElementById)
{
document.getElementById("chooseit").style.zIndex = 1;
}
}
}
}

if (view_type == "reflector")
{
x_miranda = 408 - x_miranda - 3;
y_miranda = 151 - y_miranda - 1;
x_ariel = 408 - x_ariel - 3;
y_ariel = 151 - y_ariel - 1;
x_umbriel = 408 - x_umbriel - 3;
y_umbriel = 151 - y_umbriel - 1;
x_titania = 408 - x_titania - 3;
y_titania = 151 - y_titania - 1;
x_oberon = 408 - x_oberon - 3;
y_oberon = 151 - y_oberon - 1;

if (document.all)
{
document.all.moonmiranda.style.pixelLeft = x_miranda;
document.all.moonmiranda.style.pixelTop = y_miranda;
document.all.moonmiranda.style.zIndex = miranda_layer;
document.all.moonariel.style.pixelLeft = x_ariel;
document.all.moonariel.style.pixelTop = y_ariel;
document.all.moonariel.style.zIndex = ariel_layer;
document.all.moonumbriel.style.pixelLeft = x_umbriel;
document.all.moonumbriel.style.pixelTop = y_umbriel;
document.all.moonumbriel.style.zIndex = umbriel_layer;
document.all.moontitania.style.pixelLeft = x_titania;
document.all.moontitania.style.pixelTop = y_titania;
document.all.moontitania.style.zIndex = titania_layer;
document.all.moonoberon.style.pixelLeft = x_oberon;
document.all.moonoberon.style.pixelTop = y_oberon;
document.all.moonoberon.style.zIndex = oberon_layer;
}
else
{
if (document.layers)
{
document.layers["moonmiranda"].left = x_miranda;
document.layers["moonmiranda"].top = y_miranda;
document.layers["moonmiranda"].zIndex = miranda_layer;
document.layers["moonariel"].left = x_ariel;
document.layers["moonariel"].top = y_ariel;
document.layers["moonariel"].zIndex = ariel_layer;
document.layers["moonumbriel"].left = x_umbriel;
document.layers["moonumbriel"].top = y_umbriel;
document.layers["moonumbriel"].zIndex = umbriel_layer;
document.layers["moontitania"].left = x_titania;
document.layers["moontitania"].top = y_titania;
document.layers["moontitania"].zIndex = titania_layer;
document.layers["moonoberon"].left = x_oberon;
document.layers["moonoberon"].top = y_oberon;
document.layers["moonoberon"].zIndex = oberon_layer;
}
else
{
if (document.getElementById)
{
document.getElementById("moonmiranda").style.left = x_miranda;
document.getElementById("moonmiranda").style.top = y_miranda;
document.getElementById("moonmiranda").style.zIndex = miranda_layer;
document.getElementById("moonariel").style.left = x_ariel;
document.getElementById("moonariel").style.top = y_ariel;
document.getElementById("moonariel").style.zIndex = ariel_layer;
document.getElementById("moonumbriel").style.left = x_umbriel;
document.getElementById("moonumbriel").style.top = y_umbriel;
document.getElementById("moonumbriel").style.zIndex = umbriel_layer;
document.getElementById("moontitania").style.left = x_titania;
document.getElementById("moontitania").style.top = y_titania;
document.getElementById("moontitania").style.zIndex = titania_layer;
document.getElementById("moonoberon").style.left = x_oberon;
document.getElementById("moonoberon").style.top = y_oberon;
document.getElementById("moonoberon").style.zIndex = oberon_layer;
}
}
}
}

if (view_type == "refractor")
{
x_miranda = 408 - x_miranda - 3;
y_miranda = 151 + y_miranda - 1;
x_ariel = 408 - x_ariel - 3;
y_ariel = 151 + y_ariel - 1;
x_umbriel = 408 - x_umbriel - 3;
y_umbriel = 151 + y_umbriel - 1;
x_titania = 408 - x_titania - 3;
y_titania = 151 + y_titania - 1;
x_oberon = 408 - x_oberon - 3;
y_oberon = 151 + y_oberon - 1;

if (document.all)
{
document.all.moonmiranda.style.pixelLeft = x_miranda;
document.all.moonmiranda.style.pixelTop = y_miranda;
document.all.moonmiranda.style.zIndex = miranda_layer;
document.all.moonariel.style.pixelLeft = x_ariel;
document.all.moonariel.style.pixelTop = y_ariel;
document.all.moonariel.style.zIndex = ariel_layer;
document.all.moonumbriel.style.pixelLeft = x_umbriel;
document.all.moonumbriel.style.pixelTop = y_umbriel;
document.all.moonumbriel.style.zIndex = umbriel_layer;
document.all.moontitania.style.pixelLeft = x_titania;
document.all.moontitania.style.pixelTop = y_titania;
document.all.moontitania.style.zIndex = titania_layer;
document.all.moonoberon.style.pixelLeft = x_oberon;
document.all.moonoberon.style.pixelTop = y_oberon;
document.all.moonoberon.style.zIndex = oberon_layer;
}
else
{
if (document.layers)
{
document.layers["moonmiranda"].left = x_miranda;
document.layers["moonmiranda"].top = y_miranda;
document.layers["moonmiranda"].zIndex = miranda_layer;
document.layers["moonariel"].left = x_ariel;
document.layers["moonariel"].top = y_ariel;
document.layers["moonariel"].zIndex = ariel_layer;
document.layers["moonumbriel"].left = x_umbriel;
document.layers["moonumbriel"].top = y_umbriel;
document.layers["moonumbriel"].zIndex = umbriel_layer;
document.layers["moontitania"].left = x_titania;
document.layers["moontitania"].top = y_titania;
document.layers["moontitania"].zIndex = titania_layer;
document.layers["moonoberon"].left = x_oberon;
document.layers["moonoberon"].top = y_oberon;
document.layers["moonoberon"].zIndex = oberon_layer;
}
else
{
if (document.getElementById)
{
document.getElementById("moonmiranda").style.left = x_miranda;
document.getElementById("moonmiranda").style.top = y_miranda;
document.getElementById("moonmiranda").style.zIndex = miranda_layer;
document.getElementById("moonariel").style.left = x_ariel;
document.getElementById("moonariel").style.top = y_ariel;
document.getElementById("moonariel").style.zIndex = ariel_layer;
document.getElementById("moonumbriel").style.left = x_umbriel;
document.getElementById("moonumbriel").style.top = y_umbriel;
document.getElementById("moonumbriel").style.zIndex = umbriel_layer;
document.getElementById("moontitania").style.left = x_titania;
document.getElementById("moontitania").style.top = y_titania;
document.getElementById("moontitania").style.zIndex = titania_layer;
document.getElementById("moonoberon").style.left = x_oberon;
document.getElementById("moonoberon").style.top = y_oberon;
document.getElementById("moonoberon").style.zIndex = oberon_layer;
}
}
}
}

if (view_type == "binocular")
{
x_miranda = 408 + x_miranda - 3;
y_miranda = 151 + y_miranda - 1;
x_ariel = 408 + x_ariel - 3;
y_ariel = 151 + y_ariel - 1;
x_umbriel = 408 + x_umbriel - 3;
y_umbriel = 151 + y_umbriel - 1;
x_titania = 408 + x_titania - 3;
y_titania = 151 + y_titania - 1;
x_oberon = 408 + x_oberon - 3;
y_oberon = 151 + y_oberon - 1;

if (document.all)
{
document.all.moonmiranda.style.pixelLeft = x_miranda;
document.all.moonmiranda.style.pixelTop = y_miranda;
document.all.moonmiranda.style.zIndex = miranda_layer;
document.all.moonariel.style.pixelLeft = x_ariel;
document.all.moonariel.style.pixelTop = y_ariel;
document.all.moonariel.style.zIndex = ariel_layer;
document.all.moonumbriel.style.pixelLeft = x_umbriel;
document.all.moonumbriel.style.pixelTop = y_umbriel;
document.all.moonumbriel.style.zIndex = umbriel_layer;
document.all.moontitania.style.pixelLeft = x_titania;
document.all.moontitania.style.pixelTop = y_titania;
document.all.moontitania.style.zIndex = titania_layer;
document.all.moonoberon.style.pixelLeft = x_oberon;
document.all.moonoberon.style.pixelTop = y_oberon;
document.all.moonoberon.style.zIndex = oberon_layer;
}
else
{
if (document.layers)
{
document.layers["moonmiranda"].left = x_miranda;
document.layers["moonmiranda"].top = y_miranda;
document.layers["moonmiranda"].zIndex = miranda_layer;
document.layers["moonariel"].left = x_ariel;
document.layers["moonariel"].top = y_ariel;
document.layers["moonariel"].zIndex = ariel_layer;
document.layers["moonumbriel"].left = x_umbriel;
document.layers["moonumbriel"].top = y_umbriel;
document.layers["moonumbriel"].zIndex = umbriel_layer;
document.layers["moontitania"].left = x_titania;
document.layers["moontitania"].top = y_titania;
document.layers["moontitania"].zIndex = titania_layer;
document.layers["moonoberon"].left = x_oberon;
document.layers["moonoberon"].top = y_oberon;
document.layers["moonoberon"].zIndex = oberon_layer;
}
else
{
if (document.getElementById)
{
document.getElementById("moonmiranda").style.left = x_miranda;
document.getElementById("moonmiranda").style.top = y_miranda;
document.getElementById("moonmiranda").style.zIndex = miranda_layer;
document.getElementById("moonariel").style.left = x_ariel;
document.getElementById("moonariel").style.top = y_ariel;
document.getElementById("moonariel").style.zIndex = ariel_layer;
document.getElementById("moonumbriel").style.left = x_umbriel;
document.getElementById("moonumbriel").style.top = y_umbriel;
document.getElementById("moonumbriel").style.zIndex = umbriel_layer;
document.getElementById("moontitania").style.left = x_titania;
document.getElementById("moontitania").style.top = y_titania;
document.getElementById("moontitania").style.zIndex = titania_layer;
document.getElementById("moonoberon").style.left = x_oberon;
document.getElementById("moonoberon").style.top = y_oberon;
document.getElementById("moonoberon").style.zIndex = oberon_layer;
}
}
}
}

}
}
