messier -- ¸Þ½Ã¿¡ °üÃøÁ¤º¸(¿À´ÃÀüü)
... Loading ...
[close]
°üÃøÁö ¼³Á¤/º¯°æÇϱâ
¼Ò½º´Ý±â | 24Àý±â °è»ê | À½¾ç·Âº¯È, º°ÀÚ¸®, ÀÏ¿ù½Ä °è»ê | ¸Þ½Ã¿¡ °üÃøÁ¤º¸(½Ç½Ã°£) | ¸Þ½Ã¿¡ °üÃøÁ¤º¸(¿À´ÃÀüü) | deltaT °è»ê | ºÎÈ°Àý ³¯Â¥ °è»ê
<?php
##
## same as calendar::hms2h()
##
function hm2h($hm)
{
list($h,$m) = explode(':',$hm);
return ($h+$m/60);
}
function mrskey($rs, $sunrt, $sunst, $twrt, $twst)
{
if($rs > 12) $k = ($rs < $sunst) ? 0 : (($rs < $twst) ? 2 : 4);
else $k = ($rs < $twrt) ? 6 : (($rs < $sunrt) ? 8 : 10);
return $k;
}
//if(preg_match('/gzip/',$_SERVER['HTTP_ACCEPT_ENCODING']) && !headers_sent()) @ini_set('zlib.output_compression','On');
require_once '_lib/class.calendar.php'; // new class
require_once '_lib/class.solar.php'; // new class
require_once '_lib/class.lunar.php'; // new class
require_once 'class.stellar.php'; // new class
require_once 'class.moonrise.php'; // new class
$_js_utils_php = 1;
$_js_jquery_min_php = 1;
$_js_jquery_tablesorter_min_php = 1;
$_js_jquery_metadata_php = 1;
$_uri = $_SERVER['REQUEST_URI'];
$_self = basename($_SERVER['SCRIPT_NAME']);
$_baseurl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/';
$_tablewidth = 740; // px
if($_SERVER['PATH_INFO'])
{
$_datetime = str_replace('/','',$_SERVER['PATH_INFO']);
list($_date,$_time) = explode('.',$_datetime);
$_d = substr($_date,-2);
$_m = substr($_date,-4,2);
$_y = preg_replace("/${_m}${_d}$/",'',$_date);
$_h = substr($_time,0,2);
$_i = substr($_time,2,2);
}
$title = 'messier -- ¸Þ½Ã¿¡ °üÃøÁ¤º¸(¿À´ÃÀüü)';
## locations
##
$_locs = calendar::location_kr(NULL);
unset($_locs[1],$_locs[2],$_locs[3]);
$_locs = array_values($_locs);
$seluloc = $seldloc = $loc = array();
$uidx = $didx = 0;
if($uloc = $_COOKIE['uloc'])
{
list($uidx,$uloc) = explode('|',trim(urldecode($uloc)));
if($uidx == 0)
{
$didx = $uloc;
$loc = $_locs[$uloc];
} else
{
list($ulon,$ulat) = explode(',',$uloc);
$loc[0] = $ulondeg = calendar::dms2deg($ulon,2);
$loc[1] = $ulatdeg = calendar::dms2deg($ulat,2);
$loc[2] = '»ç¿ëÀÚÀÔ·Â';
}
}
else $loc = $_locs[0];
$seluloc[$uidx] = 'CHECKED';
$seldloc[$didx] = 'SELECTED';
## set location
##
list($lon,$lat) = $loc;
$_locsp = '';
foreach($_locs AS $k=>$arr)
{
$_locsp .= "<option value='$k' $seldloc[$k]>$arr[0], $arr[1] ($arr[2])</option>\n";
}
$html = stellar::today($loc,TRUE);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE><?=$title?></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<base href="<?=$_baseurl?>" />
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript">
<!--
var starttime = (new Date()).getTime();
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
* { font-family:NanumGothic,'³ª´®°íµñ','Malgun Gothic',Dotum,'µ¸¿ò',Gulim,'±¼¸²',Helvetica,Apple-Gothic; }
body { font-size:10pt; /* background: url(/images/_N8D20.jpg) no-repeat 100% 0% fixed; */ }
.ttcl, .tbcl, .tim { font-size:8pt; text-align:center; border-collapse:collapse; width:<?=$_tablewidth?>px; }
.tbcl td, .tbclt td { border:1px solid #cccccc; vertical-align:middle; height:30px; }
.thcl { font-weight:bold; height:40px; /* background-color:#cccccc; */ }
.tbclt { font-size:8pt; text-align:center; border-collapse:collapse; width:<?=$_tablewidth?>px; }
.ttcl td, .tim td { border:1px solid #cccccc; vertical-align:middle; height:20px; }
.warn { border: 1px solid #ff0000; }
.smallfont { font-size:8pt; }
.vtfcolor { color:#333366; }
.grey { background-color:#cccccc; }
.dark, .good { background-color:#000000; color:#cccccc; }
.better { background-color:#330000; color:#cccccc; }
.some { background-color:#993300; }
.bad { color:#ffffff; background-color:#990099; }
th.header { background-image: url(/images/sort.default4.gif);
background-repeat:no-repeat;
background-position:100% 50%;
cursor:pointer;
border:1px solid #cccccc;
padding-left:2px; /* 1px */
padding-right:2px; } /* 5px */
th.headerSortUp { background-image: url(/images/sort.desc4.gif);
background-repeat:no-repeat; color:#ff00ff; }
th.headerSortDown { background-image: url(/images/sort.asc4.gif);
background-repeat:no-repeat; color:#ff00ff; }
.tohide { color:#ffffff; font-size:0em; }
.comment { color:#666699; font-size:11px; font-weight:normal; padding-left:0.1em; }
.pointer { cursor:pointer; }
input, select { font-size:9pt;
font-weight:normal;
background-color:#ffffff;
/* border-color:336699; */
/* border:solid 2px #4f7292; */
border:solid 1px #4f7292;
padding:0px;
/* color:#1f476a; */
/* text-align:baseline; */
ime-mode:disabled; }
#setto, #reset, #currto { width:119px; } /* button */
/*
.margenta { color:#ff00ff; }
.markwarn { color:#ffffff; background-color:#990099; }
*/
.easy { font-weight:bold; } /* background-color:#ffcc00 */
.normal { font-weight:bold; } /* background-color:#006600 */
.difficult { font-weight:bold; color:#999999; } /* background-color:#cc0000 */
.challenge { font-weight:bold; color:#999999; } /* background-color:#990099 */
.notfind, .notview { font-weight:bold; color:#999999; } /* background-color:#000000 */
.pagewait { position:absolute; text-align:center; vertical-align:middle;
width:400; height:200; border:0; background-color:transparent;
left:200; top:185; color:#0000ff; }
#box { position:absolute;
width:350px; height:250px; text-align:center; vertical-align:middle;
margin:0px; padding:0px;
left:200; top:100;
border:1px solid #4f7292; font-family:Tahoma; font-size:11px; background-color:#ffffff; }
#box td { font-size:11px; }
span#box:hover { text-decoration:underline; }
#boxclose { cursor:pointer; text-align:right; padding-right:15px; padding-top:8px; color:#0000ff; }
#setloc, .totop, .showhide { cursor:pointer; font-size:11px; color:#0000ff; text-decoration:underline; }
.tbloc { font-size:8pt; border-collapse:collapse; }
.tbloc td { border:1px solid #cccccc; vertical-align:middle; height:50px; }
.radio { border:0; vertical-align:middle; }
.toactive { cursor:pointer; }
#errmsg { color:#ff0000; }
.viewlimg { cursor:pointer; }
#viewlimg { position:absolute; text-align:center; vertical-align:middle;
left:150; width:750; height:800; border:0; }
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript" SRC='/_lib/js.utils.php'></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript" SRC='/_lib/js.jquery.min.php'></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript" SRC='/_lib/js.jquery.tablesorter.min.php'></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript" SRC='/_lib/js.jquery.metadata.php'></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" type="text/JavaScript">
<!--
function enable_sortable(tid)
{
var trnum = $('#'+tid+' tbody > tr').length;
if(trnum < 2) return;
$("#"+tid).tablesorter
({
headers:
{
0: { sorter: "toint" }, //
1: { sorter: "text" }, //
2: { sorter: "numberic" }, //
3: { sorter: "text" }, //
4: { sorter: "text" }, //
5: { sorter: "numberic" }, //
6: { sorter: "text" }, //
7: { sorter: "text" }, //
8: { sorter: "text" }, //
9: { sorter: "text" }, //
10: { sorter: "text" }, //
11: { sorter: "text" }, //
12: { sorter: "text" } //
},
sortMultiSortKey: 'altKey'
});
return;
}
function echo(s)
{
document.write(s);
}
function mkjd(y, m, d, h, i, s)
{
var a, b, jc, JD;
if(m < 3) { m += 12; y -= 1; }
jc = (y*10000.0) + (m*100.0) + d;
d = d + (h/24.0) + (i/1440.0) + (s/86400.0);
a = Math.floor(y/100);
b = (jc < 15821015) ? 0 : (2.0 - a + Math.floor(a/4.0));
JD = Math.floor(365.25*(y+4716.0)) + Math.floor(30.6001*(m+1.0)) + d + b - 1524.5; // error
return JD;
}
function days_in_month(y, m)
{
var n;
var months = new Array(31,0,31,30,31,30,31,31,30,31,30,31);
//if(y+''+m == 158210) return 21; // 1582-10-01 ~ 31 == 21 days
n = months[(m-1)];
n = n ? n : (isleap(y) ? 29 : 28);
return n; // integer
}
function isleap(y)
{
if(y < 1582) return (y%4) ? false : true; // for julian calendar
// for gregorian calendar
if(y % 4) return false;
else if(y % 100) return true;
else if(y % 400) return false;
return true; // else 400*Y
}
function dms2deg(dms)
{
dms = dms.replace(/[^\d.+-]+/g,' ',dms);
dms = dms.replace(/^\s+/,'').replace(/\s+$/,''); // trim()
var d = dms.split(' '); // Array
if(!d[0]) d[0] = 0;
if(!d[1]) d[1] = 0;
if(!d[2]) d[2] = 0;
if(d[0].match(/^-/)) var deg = Number(d[0]) - Number(d[1]/60) - Number(d[2]/3600);
else var deg = Number(d[0]) + Number(d[1]/60) + Number(d[2]/3600);
deg = Math.round(deg*100) / 100;
return deg;
}
function days_back()
{
var n;
var y = Number($('#_y').val());
var m = Number($('#_m').val());
var d = Number($('#_d').val());
d--;
if(d < 1)
{
m--;
if(m < 1)
{
m = 12;
y--;
$('#_y').val(y);
}
if(m < 10) m = '0' + m;
$('#_m').val(m);
d = days_in_month(y,m);
}
if(d < 10) d = '0' + d;
$('#_d').val(d);
return;
}
function days_forward()
{
var n;
var y = Number($('#_y').val());
var m = Number($('#_m').val());
var d = Number($('#_d').val());
d++;
n = days_in_month(y,m);
if(d > n) // next month
{
d = 1;
m++;
if(m > 12)
{
m = 1;
y++;
$('#_y').val(y);
}
if(m < 10) m = '0' + m;
$('#_m').val(m);
}
if(d < 10) d = '0' + d;
$('#_d').val(d);
return;
}
function hours_back()
{
var h = Number($('#_h').val());
h--;
if(h < 0)
{
h = 23;
days_back();
}
if(h < 10) h = '0' + h;
$('#_h').val(h);
return;
}
function hours_forward()
{
var h = Number($('#_h').val());
h++;
if(h > 23)
{
h = 0;
days_forward();
}
if(h < 10) h = '0' + h;
$('#_h').val(h);
return;
}
function focus2end(id)
{
$(id).focus();
$(id).val($(id).val()+''); // focus end
return;
}
$(window).bind('load',function()
{
$('img').each(function()
{
if((typeof this.naturalWidth != "undefined" && this.naturalWidth == 0 ) || this.readyState == 'uninitialized')
{
//$(this).attr('src', '/images/n.gif');
this.src = '/images/n.gif';
this.border = 1;
this.width = 28;
this.height = 30;
this.alt = 'no image';
}
});
});
$(document).ready(function()
{
$.tablesorter.addParser
({
id: "toint",
is: function(s)
{
return true;
},
format: function(s)
{
s = s.replace(/[^\d]+/,'');
if(s == '') s = 100;
return s;
},
type: "numeric"
});
enable_sortable('tsortNW');
enable_sortable('tsortW');
enable_sortable('tsortSW');
enable_sortable('tsortS');
enable_sortable('tsortSE');
enable_sortable('tsortE');
enable_sortable('tsortNE');
enable_sortable('tsortN');
enable_sortable('tsortyet');
$('#setto').click(function()
{
var date = $('#_y').val() + $('#_m').val() + $('#_d').val();
var time = $('#_h').val() + $('#_i').val();
var datetime = date + '.' + time;
var ruri = location.href.replace(/\.php.+$/,'.php');
location.href = ruri + '/' + datetime;
//window.location = ruri + '/' + datetime;
return false;
});
$('#currto').click(function()
{
location.href = location.href.replace(/\.php.+$/,'.php');
return false;
});
var boxshow = 0;
$('#setloc, #boxclose').click(function()
{
if(boxshow) $('#box').hide();
else $('#box').show();
boxshow ^= 1;
return;
});
$('#dback').click(function()
{
days_back();
return;
});
$('#dforward').click(function()
{
days_forward();
return;
});
$('#hback').click(function()
{
hours_back();
return;
});
$('#hforward').click(function()
{
hours_forward();
return;
});
var showhides = new Array();
$('.showhide').click(function()
{
var tid = this.id.replace(/close$/,'');
if(!showhides[tid])
{
$('#'+tid).hide();
$('#'+tid+'close').html('«º¸±â');
} else
{
$('#'+tid).show();
$('#'+tid+'close').html('«´Ý±â');
}
showhides[tid] ^= 1;
return;
});
$('.totop').click(function()
{
window.scrollTo(0,0);
return;
});
$('#saveuloc').click(function()
{
var loc = v = p = '';
var t = $(':input:radio[name=radiouloc]:checked').val();
if(t == 1)
{
var warnclass = $('#ulon').attr('class') + $('#ulat').attr('class');
if(warnclass.match(/warn/)) return false;
var lon = $('#ulon').val();
var lat = $('#ulat').val();
v = 1 + '|' + lon + ',' + lat;
p = dms2deg(lon) + ', ' + dms2deg(lat) + ' (»ç¿ëÀÚÀÔ·Â)';
} else
{
v = 0 + '|' + $('#ploc').val();
p = $('#ploc').text();
}
$('#loc').text(p);
//setcookie('uloc',encodeURI(v)); // save cookie
setcookie('uloc',encodeURI(v),365); // save cookie
//$('#errmsg').html('<font color=blue>OK</font>');
$('#box').hide();
boxshow = 0;
return;
});
$('.toactive, .radio').click(function()
{
var tofocus = 0;
var v = '';
var idn = this.id.replace(/(to|uloc)/,'');
//$(':input:radio[name=radiouloc]').filter('input[value='+idn+']').attr("checked", "checked"); // ok
$('#uloc'+idn).attr("checked", "checked");
if(idn > 0)
{
v = $('#ulon').val();
if(v.length>0 && v.match(/^[\d\s+-.'"dms]+$/))
{
$('#ulon').removeClass('warn');
$('#ulondeg').text(dms2deg(v));
} else
{
$('#ulon').addClass('warn');
focus2end('#ulon');
tofocus = 1;
}
v = $('#ulat').val();
if(v.length>0 && v.match(/^[\d\s+-.'"dms]+$/))
{
$('#ulat').removeClass('warn');
$('#ulatdeg').text(dms2deg(v));
} else
{
$('#ulat').addClass('warn');
if(!tofocus) focus2end('#ulat');
}
} else
{
$('#ulon, #ulat').removeClass('warn');
$('#errmsg').text('');
}
return;
});
$('#ulon, #ulat').bind("keydown keyup click focus blur",function(e)
{
var errmsg = '';
$('#uloc1').attr("checked", "checked");
var v = $('#ulon').val();
if(v.length>0 && v.match(/^[\d\s+-.'"dms]+$/))
{
$('#ulon').removeClass('warn');
if(this.id == 'ulon') $('#ulondeg').text(dms2deg(v));
} else
{
$('#ulon').addClass('warn');
if(v.length > 0) errmsg = '°æµµ';
}
var v = $('#ulat').val();
if(v.length && v.match(/^[\d\s+-.'"dms]+$/))
{
$('#ulat').removeClass('warn');
if(this.id == 'ulat') $('#ulatdeg').text(dms2deg(v));
} else
{
$('#ulat').addClass('warn');
if(v.length > 0) errmsg += ' À§µµ';
}
if(errmsg) errmsg = errmsg.replace(/^\s+/,'') + ' ÀÔ·Â ¿¡·¯';
$('#errmsg').text(errmsg);
return;
});
$('#viewlimg').click(function()
{
$('#viewlimg').hide();
//alert(this.src);
});
$('.viewlimg').click(function()
{
var imgsrc = $(this).attr('SRC').replace(/-s\.gif/,'.jpg');
if(imgsrc.match(/n\.gif$/)) return false;
if(imgsrc.match(/G[\d]+\.jpg$/))
{
imgsrc = imgsrc.replace(/G([\d]+\.jpg)/,"NGC$1");
//alert(imgsrc);
}
var cpos = $(window).scrollTop() + 10; // current scroll position
$('#viewlimg').css('top',cpos);
$('#viewlimg').html('<img src='+imgsrc+' border=0 alt="click to close">');
$('#viewlimg').fadeIn(1500);
});
$('#pagewait').hide(); // last
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<H2><?=$title?></H2>
<div id='pagewait' class='pagewait'><H1>... Loading ...</H1></div>
<div id='box' style='display:none'>
<div align=right id=boxclose>[close]</div>
<br>
°üÃøÁö ¼³Á¤/º¯°æÇϱâ
<table width=97% class=tbloc>
<form name=ploc>
<tr><td valign=middle width=80><input type=radio name=radiouloc class=radio id=uloc0 value=0 <?=$seluloc[0]?>>
<span class=toactive id=to0>±âº»°ª</span></td>
<td><select id=ploc><?=$_locsp?></select></td></tr>
<tr><td valign=middle>
<input type=radio name=radiouloc class=radio value=1 id=uloc1 <?=$seluloc[1]?>>
<span class=toactive id=to1>Á÷Á¢ÀÔ·Â</span>
</td><td>
<input type=text value='<?=$ulon?>' id=ulon> °æµµ <span id=ulondeg><?=$ulondeg?></span><br>
<input type=text value='<?=$ulat?>' id=ulat> À§µµ <span id=ulatdeg><?=$ulatdeg?></span>
</td></tr>
<tr><td colspan=2 align=center><input type=button id=saveuloc value=' ÀúÀå(Cookie) '><br><span id=errmsg></span></td></tr>
</form>
</table>
</div>
<div id='viewlimg' style='display:none'></div>
<?php
$_menuindex = array
(
'solar.php' => '24Àý±â °è»ê',
'lunar.php' => 'À½¾ç·Âº¯È, º°ÀÚ¸®, ÀÏ¿ù½Ä °è»ê',
'messier.php'=> '¸Þ½Ã¿¡ °üÃøÁ¤º¸(½Ç½Ã°£)',
'messier.today.php'=>'¸Þ½Ã¿¡ °üÃøÁ¤º¸(¿À´ÃÀüü)',
'deltat.php' => 'deltaT °è»ê',
'easter.php' => 'ºÎÈ°Àý ³¯Â¥ °è»ê'
);
$menu = '';
foreach($_menuindex AS $k=>$v) $menu .= " | <A HREF='$k'>$v</A>";
if($_GET['view'])
{
echo '<A HREF="'.$_self.'">¼Ò½º´Ý±â</A>'.$menu.'<HR>'."\n";
highlight_file(basename($_self));
return;
}
echo '<A HREF="'.$_self.'?view=1">¼Ò½ºº¸±â</A>'.$menu.'<HR>'."\n";
echo "<H2>ÄÚµùÁßÀÔ´Ï´Ù. ¤Ð¤Ð.</H2>\n";
print_r($html);
exit;
## date time and location
##
if($_datetime) list($JD) = calendar::_getjd($_y,$_m,$_d,$_h,$_i,0); // JD or input UTC time
else list($JD) = calendar::_getjd(NULL); // current UTC time
list($_y,$_m,$_d,$_h,$_i) = calendar::_todate($JD);
$_i = floor($_i/5) * 5; // rewrite
## sun rise/set/tw
##
$sun = solar::sunrise_sunset($_y,$_m,$_d,$loc,3);
list($sunr,$suns) = $sun[0];
list($twr,$tws) = $sun[3]; // today TWR/TWS
## moon rise/set
##
$mrst = moonrise::riseset($_y,$_m,$_d,$loc,1);
$mrise = $mrst[1] ? $mrst[1] : $mrst[4];
$mset = $mrst[0] ? $mrst[0] : $mrst[3];
$mcul = $mrst[2]."($mrst[5])";
if($_h < 7)
{
$bdate = '0½Ã ±âÁØ';
$addday = -1;
$mrsy = moonrise::riseset($_y,$_m,$_d-1,$loc,1);
$mry = $mrsy[1] ? $mrsy[1] : $mrsy[4];
$msy = $mrsy[0] ? $mrsy[0] : $mrsy[3];
if(preg_match('/=/',$mcul)) $mcul = '-'.$mrsy[2]."($mrsy[5])";
if($mry && hm2h($mry)>12) { $mrp = '-'; $mrise = $mry; } // chane
if($mry && hm2h($msy)>12) { $msp = '-'; $mset = $msy; } // change
$sun = solar::sunrise_sunset($_y,$_m,$_d-1,$loc,3);
list(,$suns) = $sun[0];
list(,$tws) = $sun[3];
}
else
{
$bdate = '´ÙÀ½³¯ 0½Ã ±âÁØ';
$addday = 1;
$mrsm = moonrise::riseset($_y,$_m,$_d+1,$loc,1);
$mrm = $mrsm[1] ? $mrsm[1] : $mrsm[4];
$msm = $mrsm[0] ? $mrsm[0] : $mrsm[3];
if(preg_match('/=/',$mcul)) $mcul = '+'.$mrsm[2]."($mrsm[5])";
if($mrm && hm2h($mrm)<12) { $mrp = '+'; $mrise = $mrm; } // chane
if($msm && hm2h($msm)<12) { $msp = '+'; $mset = $msm; } // change
$sun = solar::sunrise_sunset($_y,$_m,$_d+1,$loc,3);
list($sunr) = $sun[0];
list($twr) = $sun[3];
}
$lunar = lunar::tolunar($_y,$_m,$_d+$addday);
$moonage = calendar::mkjd(0,0,0,$_m,$_d+$addday,$_y) - calendar::_utime2jd($lunar[2][2]);
$moonage = ($moonage<0) ? 30.0 : sprintf('%.1f',$moonage);
$moonagep = (int)$moonage;
## convert hm 2 h
##
$mriset = hm2h($mrise);
$msett = hm2h($mset);
$twrt = hm2h($twr);
$twst = hm2h($tws);
$sunrt = hm2h($sunr);
$sunst = hm2h($suns);
$dark = (24 - $twst) + $twrt; // total dark time
$darkh = calendar::h2hm($dark);
$mdark = 0;
## initial of group sun/moon rise/set
##
$vt[1] = array($suns,'Àϸô');
$vt[3] = array($tws,'õ¹®¹Ú¸í');
$vt[5] = array('00:00','ÀÚÁ¤');
$vt[7] = array($twr,'õ¹®¹Ú¸í');
$vt[9] = array($sunr,'ÀÏÃâ');
$mrkey = mrskey($mriset, $sunrt, $sunst, $twrt, $twst);
$mskey = mrskey($msett, $sunrt, $sunst, $twrt, $twst);
$cc = array();
$mdark = 0;
for($i=3; $i<=7; $i++) $cc[$i] = 'class=dark';
if($mriset > 12.0) // ¿ÀÈÄ~ÀÚÁ¤ »çÀÌ¿¡ ¿ùÃâÀÎ °æ¿ì
{
for($i=($mrkey+1); $i<$mskey; $i++) $cc[$i] = 'class=grey';
$mdark = ($mrkey == 4) ? ($mriset-$twst) : 0;
$mdark += ($mskey == 6) ? ($twrt-$msett) : 0;
}
else // ÀÚÁ¤~¿ÀÀü »çÀÌ¿¡ ¿ùÃâÀÎ °æ¿ì
{
if($mrkey < $mskey)
{
for($i=($mrkey+1); $i<$mskey; $i++) $cc[$i] = 'class=grey';
$mdark = ($mrkey == 6) ? $mriset : $twrt;
$mdark += 24.0 - $twst;
} else // ¿ù¸ô ~ ¿ùÃâ
{
for($i=($mrkey+1); $i<=7; $i++) $cc[$i] = 'class=grey';
for($j=1; $j<$mskey; $j++) $cc[$j] = 'class=grey';
$mdark = ($mskey == 6) ? ($twrt - $msett) : (24.0 - max($msett,$twst) + min($mriset,$twrt));
}
}
// override
$cc[0] = $cc[10] = ''; // white
$cc[1] = $cc[2] = $cc[8] = $cc[9] = 'class=grey';
$vt[$mrkey] = array($mrise);
$vt[$mskey] = array($mset);
$vtm[$mrkey] = '¿ùÃâ';
$vtm[$mskey] = '¿ù¸ô';
$vtm[5] = '¿ù·É';
$vta[5] = $moonage;
$mdarkh = calendar::h2hm($mdark);
$mdarkp = sprintf('%d',($mdark*100)/$dark);
$mdarkpclass = array('bad','some','better','good');
$mdarkpclass = $mdarkpclass[floor($mdarkp/25)-1];
## moon current pos
##
list($malt,$mpos) = moonrise::moon_pos($JD,$lon,$lat);
if($malt < (8/60)) $mpos = '-'; // yet rise, 8/60 == moon_zenith
else $maltp .= round($malt);
$addmore = array('ufind','uview','tele');
$r = stellar::messier_current_pos($JD,$loc,'messier/%s-s.gif',$addmore);
$mooninfo = array
(
'Moon', // messier
"<img src=moonage/moonage-$moonagep.gif>",
0, // marathon
'-', // º°ÀÚ¸®
'À§¼º', // type
'-', // ¹à±â
$mpos.$maltp, // ÇöÀç À§Ä¡/°íµµ
$mrp.$mrise.'(E00)', // rise
$mcul, // ³²Áß
$msp.$mset.'(W00)', // set
'',
'',
);
$r['pos'][$mpos] = array_merge(array($mooninfo),$r['pos'][$mpos]); // add to first
list($poss,$s) = stellar::messier_current_pos2simple($r,1);
$vpos = "$loc[0], $loc[1] ($loc[2])";
$vtime = $r['loc'][1];
$selm[(int)$_m] = $seld[(int)$_d] = $selh[(int)$_h] = $seli[(int)$_i] = 'SELECTED';
echo "- °üÃø À§Ä¡: <span id=loc>$vpos</span> <span id=setloc>[«º¯°æÇϱâ] <img src=/images/acc1.gif border=0 align=middle></span><BR>\n";
echo "- °üÃø ½Ã°¢: $vtime\n";
echo "<FORM METHOD=get>- ½Ã°¢ ¼³Á¤: ";
echo "<INPUT TYPE=text NAME='_y' id=_y VALUE='$_y' SIZE=5 MAXLENGTH=5>³â\n";
echo "<SELECT NAME='_m' id=_m>\n";
for($i=1; $i<=12; $i++) printf("<OPTION VALUE=%02d $selm[$i]>%02d</OPTION>",$i,$i);
echo "</SELECT>¿ù <SELECT NAME='_d' id=_d>\n";
for($i=1; $i<=31; $i++) printf("<OPTION VALUE=%02d $seld[$i]>%02d</OPTION>",$i,$i);
echo "</SELECT>ÀÏ <SELECT NAME='_h' id=_h>\n";
for($i=0; $i<=23; $i++) printf("<OPTION VALUE=%02d $selh[$i]>%02d</OPTION>",$i,$i);
echo "</SELECT>½Ã <SELECT NAME='_i' id=_i>\n";
for($i=0; $i<=55; $i+=5) printf("<OPTION VALUE=%02d $seli[$i]>%02d</OPTION>",$i,$i);
echo "</SELECT>ºÐ\n";
echo "<INPUT TYPE=button id=setto class=pointer VALUE='ÀÌ ½Ã°¢À¸·Î °è»ê'> ";
echo "<INPUT TYPE=reset id=reset class=pointer VALUE='ÃʱâÈ(Reset)'> ";
echo "<INPUT TYPE=button id=currto class=pointer VALUE='ÇöÀç ½Ã°¢À¸·Î °è»ê'><BR>\n";
?>
- ¹Ì¼¼ ¼³Á¤: <img id='dback' class=pointer src=/images/control_back.png border=0 align=middle
>ÀÏ<img id='dforward' class=pointer src=/images/control_forward.png border=0 align=middle>
<img id='hback' class=pointer src=/images/control_back.png border=0 align=middle
>½Ã°£<img id='hforward' class=pointer src=/images/control_forward.png border=0 align=middle><BR>
</FORM>
<?php
echo "<P>- ÀÏÃâ¸ô/¹Ú¸í/¿ùÃâ¸ô½Ã°¢($bdate)<BR>\n";
echo "<TABLE BORDER=1 class=tim>\n";
echo "<TR class=smallfont>\n";
for($i=0; $i<=10; $i++) echo '<TD width=44>'.$vt[$i][1].'</TD>';
echo "<TD width=100> </TD>";
echo "</TR>\n";
echo "<TR class=vtfcolor>\n";
for($i=0; $i<=10; $i++) echo '<TD width=44 '.$cc[$i].'>'.$vt[$i][0].'</TD>';
echo "<TD>dark time: $mdarkh</TD>";
echo "</TR>\n";
echo "<TR class=smallfont>\n";
for($i=0; $i<=10; $i++) echo '<TD width=44>'.$vtm[$i].'</TD>';
echo "<TD class=$mdarkpclass>{$mdarkp}% (dark)</TD>";
echo "</TR>\n";
echo "<TR class=smallfont>\n";
for($i=0; $i<=10; $i++) echo '<TD width=44>'.$vta[$i].'</TD>';
echo "<TD><img src=moonage/moonage-$moonagep.gif width=20 height=20 alt='¿ù·É $moonage'></TD>";
echo "</TR>\n";
echo "</TABLE><P>\n";
$possp = array();
foreach($poss AS $v)
{
if($v == '-') $v = 'yet';
$possp[] = "<A HREF='{$_uri}#tsort{$v}'>$v</A>";
}
$tdw = floor($_tablewidth/sizeof($possp));
echo '[ÇÏ´Ã Àüü -- '.$vtime."] <span id=allskyclose class=showhide>«´Ý±â</span><BR>\n";
echo "<TABLE BORDER=1 WIDTH=$_tablewidth class=ttcl id=allsky>\n";
echo "<TR class=thcl><TD width=${tdw}>".implode("</TD><TD width=${tdw}>",$possp)."</TD></TR>\n";
foreach($s AS $arr) echo '<TR><TD>'.implode("</TD><TD>",$arr)."</TD></TR>\n";
echo "</TABLE>\n";
echo "<P>\n";
?>
¹æÇ⺰ ¸Þ½Ã¿¡ ¸ñ·Ï
<ul class=comment>
<li> *ÁÖ) <span id=cmtclose class=showhide>«´Ý±â</span>
<span id=cmt>
<li> Object: Mxx(¸Þ½Ã¿¡ ¸ñ·Ï), Gxxxx(NGC ¸ñ·Ï)
<li> ufind: µµ½Ã¿¡¼ 6x50 ÆÄÀδõ·Î ãÀ» °æ¿ì
<li> uview: µµ½Ã¿¡¼ 8" ¹Ý»ç¸Á¿ø°æÀÇ 36¹èÀ²·Î º¼ °æ¿ì
<li> tele: "Atlas of Messier Objects-Highlights of the deep sky" ±âÁØ
<li> *½Ã°¢: ÁöÆò¼± À§¿¡ Ç×»ó ¶° ÀÖ´Â °æ¿ì
<li> +½Ã°¢: ´ÙÀ½³¯ ½Ã°¢
<li> -½Ã°¢: ÀÌÀü³¯ ½Ã°¢
</span>
</ul>
<P>
<?php
$tsize = sizeof($r['pos_header']);
$bsize = $tsize - sizeof($addmore);
$thw = floor($_tablewidth/$tsize);
$posh = "<TR class=thcl><TH width=${thw}>".implode("</TH><TH width=${thw}>",$r['pos_header'])."</TH></TR>\n";
$nfinds = array
(
0 => array('<span class=tohide>0</span>½¬¿ò','easy'),
1 => array('<span class=tohide>1</span>º¸Åë','normal'),
2 => array('<span class=tohide>2</span>¾î·Á¿ò','difficult'),
3 => array('<span class=tohide>3</span>µµÀü','challenge'),
4 => array('<span class=tohide>4</span>¸øãÀ½','notfind'),
'' => array('<span class=tohide>99</span>-','notfind')
);
$nviews = array
(
0 => array('<span class=tohide>0</span>Àߺ¸ÀÓ','easy'),
1 => array('<span class=tohide>1</span>º¸Åë','normal'),
2 => array('<span class=tohide>2</span>ÇüŸ¸','difficult'),
3 => array('<span class=tohide>3</span>¾Èº¸ÀÓ','notview'),
'' => array('<span class=tohide>99</span>-','notview')
);
foreach($r['pos'] AS $pos=>$arr)
{
if($pos == '-')
{
$tid = 'tsortyet';
$ptext = '[ÀÌ¹Ì Áö°Å³ª ¾ÆÁ÷ ¾È¶ä]';
} else
{
$tid = 'tsort'.$pos;
$ptext = "[$pos ¹æÇâ] ¸Þ½Ã¿¡ ¸ñ·Ï";
}
echo "\n<a name=$tid>$ptext</a> ";
echo "<span id='{$tid}close' class=showhide>«´Ý±â</span> <span class=totop>[top]</span><BR>\n";
echo "<TABLE BORDER=1 class=tbcl id='$tid'>\n";
echo "<THEAD>$posh</THEAD>\n<TBODY>";
//foreach($arr AS $v) echo '<TR><TD>'.implode("</TD><TD nowrap>",$v)."</TD></TR>\n";
foreach($arr AS $posv)
{
echo "<TR>";
for($i=0; $i<$bsize; $i++) echo "<TD nowrap>$posv[$i]</TD>";
foreach($addmore AS $name) // addmore
{
$k = $posv[$i];
list($v,$class) = ($name == 'ufind') ? $nfinds[$k] : $nviews[$k];
echo "<TD class='$class' nowrap>$v</TD>";
$i++;
}
echo "</TR>\n";
}
echo "</TBODY>\n</TABLE>\n";
echo "<P>\n";
}
echo "\n</BODY>\n</HTML>";
return;
?>
Page loading: 0.11(server) + (network) + (browser) seconds