
document.ondragstart=function(e){return false;}
document.onmousedown=function(e){if(e&&e.preventDefault){var t=e.target;var nName=t.nodeName.toLowerCase();if(nName=="img"){e.preventDefault();return false;}
while(t){if(t.nodeName=="a"){e.preventDefault();return false;}
t=t.parentNode;}}
return false;}
function initImgMouseClick(evnt){var p=new imgMousePos(evnt);var x=p.x,y=p.y,g=p.g;hideImgSelector();var isIn=false;var res=new getRevAitoffProjection(900.0,450.0,x,y);if(res.ra>=0||res.ra<=24)
isIn=true;if(isIn&&starImgs){var n=0;var ai=new Array();for(var j=0;j<starImgs.length;j++){if(isInside(starImgs[j],res.ra,res.de)){ai[n++]=starImgs[j].id;}}
if(n>0){hideddrivetip();if(n==1){document.location.href=("starImageView.jsp?image_id="+ai[0]);}else{var s="";for(var i=0;i<n;i++){s+=(i>0&&(i%6)==0?"</tr><tr>":"")+"<td><a href='starImageView.jsp?image_id="+ai[i]+"' onclick='hideImgSelector();return true;'><img width=100 height=100 border=0 src='"+imgThumbPath(ai[i])+"' onerror=\"if(!this.e1){this.src='"+imgThumbPath2(ai[i])+"';this.e1=1;}\"></a></td>";}
var d=document.getElementById('imgSelect');d.innerHTML="<table border=0 cellspacing=0 cellpadding=0 style='color:black;font-family:verdana'><tr><td>Select Image:</td><td align=right><img src='img/close3.gif' alt='Close' title='Close' width=11 height=11 border=0 style='cursor:pointer' onclick='hideImgSelector();return false'></td></tr><tr><td colspan=2><table border=0 cellspacing=2 cellpadding=0><tr>"+s+"</tr></table></td></tr></table>";d.style.left=x-50;d.style.top=y-50;}}}}
function hideImgSelector(){document.getElementById("imgSelect").style.left=-1000;}
function initImgMouseMove(evnt){var p=new imgMousePos(evnt);var x=p.x,y=p.y,g=p.g;var d=document.getElementById("dpos");var res;var isIn=false;if(d!=null){res=new getRevAitoffProjection(900.0,450.0,x,y);if(res.ra<0||res.ra>24){d.innerHTML="<font size=+1>(&infin;, &infin;)</font>";}else{d.innerHTML="("+formatRA(res.ra)+", "+formatDE(res.de)+")";isIn=true;}}
var b='';var ddw=0,ddh=0,ddcolor='yellow';if(isIn==true&&starImgs){var n=0;for(var i=0;i<starImgs.length;i++){if(isInside(starImgs[i],res.ra,res.de)){b+=(n>0&&(n%6)==0?"</tr><tr>":"")+"<td><img src='"+imgThumbPath(starImgs[i].id)+"' width=100 height=100 onerror=\"if(!this.e1){this.src='"+imgThumbPath2(starImgs[i].id)+"';this.e1=1;}\"></td>";n++;}}
if(n>0){b="<table border=0 cellspacing=2 cellpadding=0><tr>"+b+"</tr></table>";}}
if(b==''){hideddrivetip();g.style.cursor='crosshair';}else{ddrivetip(b,ddcolor,ddw,ddh);g.style.cursor='pointer';}}
function imgThumbPath(id){var s=""+id;while(s.length<6)s="0"+s;return"http://images.sky-map.org/star_img_thumb/"+s.substring(0,3)+"/"+s+".jpeg";}
function imgThumbPath2(id){var s=""+id;while(s.length<6)s="0"+s;return"http://images.sky-map.org/star_img_thumb/"+s+".jpeg";}
function imgMousePos(evnt){var ns6=(document.getElementById&&!document.all)?1:0;if(document.all)evnt=event;this.evnt=evnt;var g=(document.all)?em=event.srcElement:evnt.currentTarget;this.g=g;if(ns6==1)this.x=evnt.pageX-g.offsetLeft-g.offsetParent.offsetLeft;else this.x=evnt.offsetX;if(ns6==1)this.y=evnt.pageY-g.offsetTop-g.offsetParent.offsetTop;else this.y=evnt.offsetY;}
function getRevAitoffProjection(width,height,x,y){x=x-width/2;y=y-height/2;if(x==0&&y==0){this.ra=12;this.de=0;return;}
var V=0.0,S=0.0;var R1=-width/Math.PI;var R2=-height/Math.PI;V=y*y/R2/R2+x*x/R1/R1;S=x*x*R2*R2/(R1*R1*y*y+x*x*R2*R2);var T=0.0,Z=0.0;Z=Math.cos(Math.sqrt(V));T=S*(1-Z*Z)+Z*Z;var f=0.0,q=0.0;f=Math.acos(Math.sqrt(T));q=2*Math.acos(Z/Math.cos(f));var DE=0.0,RA=0.0;DE=(y<0?1:-1)*f*180.0/Math.PI;RA=(x<0?1:-1)*q*12/Math.PI+12;this.ra=RA;this.de=DE;}
function formatRA(ra){if(ra<0)ra+=24;else if(ra>=24)ra-=24;var hh=Math.floor(ra).toFixed(0);if(hh.length==1)hh="0"+hh;var mm=Math.floor(((ra-Math.floor(ra))*60)).toFixed(0);if(mm.length==1)mm="0"+mm;var ss=((ra*60-Math.floor(ra*60))*60).toFixed(2);if(ss.length==4)ss="0"+ss;return hh+"<sup>h</sup>"+mm+"<sup>m</sup>"+ss+"<sup>s</sup>";}
function formatDE(de){var deg=Math.floor(Math.abs(de)).toFixed(0);if(deg.length==1)deg="0"+deg;if(de<0)deg="-"+deg;else deg="+"+deg;var mm=Math.floor(Math.abs((Math.abs(de)-Math.floor(Math.abs(de)))*60)).toFixed(0);if(mm.length==1)mm="0"+mm;var ss=((Math.abs(de)*60-Math.floor(Math.abs(de*60)))*60).toFixed(1);if(ss.length==3)ss="0"+ss;return deg+"&deg;"+mm+"&prime;"+ss+"&Prime;";}
function AzimuthalProjection(ra,de,left,top,right,bottom,degPerPixel,angle){this.ra=ra;this.de=de;this.left=left;this.top=top;this.right=right;this.bottom=bottom;this.degPerPixel=degPerPixel;this.radPerPixel=degPerPixel*Math.PI/180.0;this.angle=angle;this.sin_fi1=Math.sin(de*Math.PI/180.0);this.cos_fi1=Math.cos(de*Math.PI/180.0);this.sin_rot=Math.sin(angle*Math.PI/180.0);this.cos_rot=Math.cos(angle*Math.PI/180.0);}
function getProjection(proj,RA,DE){var la=RA*Math.PI/12;var fi=DE*Math.PI/180;var sin_fi=Math.sin(fi);var cos_fi=Math.cos(fi);var la0=la-proj.ra*Math.PI/12;var sin_la_la0=Math.sin(la0);var cos_la_la0=Math.cos(la0);var c=Math.acos(proj.sin_fi1*sin_fi+proj.cos_fi1*cos_fi*cos_la_la0);var k=(c==0)?0:-c/Math.sin(c)/proj.radPerPixel;var x1=cos_fi*sin_la_la0;var y1=(proj.cos_fi1*sin_fi-proj.sin_fi1*cos_fi*cos_la_la0);var x=(x1*proj.cos_rot-y1*proj.sin_rot)*k+(proj.left+proj.right)/2.0;var y=(y1*proj.cos_rot+x1*proj.sin_rot)*k+(proj.top+proj.bottom)/2.0;var xi=Math.round(x);var yi=Math.round(y);this.x=xi;this.y=yi;}
function isInside(sImg,ra,de){var proj;if(sImg.proj){proj=sImg.proj;}else{proj=new AzimuthalProjection(sImg.ra,sImg.de,0,0,sImg.width,sImg.height,sImg.res,sImg.rot);sImg.proj=proj;}
var pd=new getProjection(proj,ra,de);if(pd.x<0||pd.x>=sImg.width||pd.y<0||pd.y>=sImg.height)return false;return true;}
