var ldr;
var map;
var smg;
var sp;
var usrc=mms_mod_url+"gfx/ufo.png";
var ussrc=mms_mod_url+"gfx/ufo-shadow.png";
var ufo;
var ccspr=[];
function MMS_Ufo(){
var _1=smg.createSprite(ussrc,sp);
map.addOverlay(_1);
var _2=smg.createSprite(usrc,sp);
map.addOverlay(_2);
var _3=sp;
var _4=0;
this.fix=false;
this.show=function(){
_2.show();
_1.show();
};
this.hide=function(){
_2.hide();
_1.hide();
};
this.setOpacity=function(_5){
_2.setOpacity(_5);
_1.setOpacity(_5);
};
this.getPoint=function(){
return _3;
};
this.getHeight=function(){
return _4;
};
this.setScale=function(s,_7){
_2.setScale(s,_7);
_1.setScale(s,_7);
};
this.setPointHeight=function(p,h){
_3=p;
_4=h;
var pu;
if(this.fix){
pu=p;
}else{
pu=new GLatLng(p.lat()-mms_unit*h/2,p.lng()-mms_unit*h);
}
var ps=new GLatLng(p.lat()+mms_unit*h/2,p.lng()+mms_unit*h);
_2.setPoint(pu);
_1.setPoint(ps);
};
}
function MMS_onResize(_c){
MMS_onResizeMap();
}
function MMS_onUnload(){
GUnload();
}
var ticks=0;
var udst=0;
var dt=75;
var tbc=4500;
function MMS_anim(){
ticks+=dt;
var _d=40;
var _e=false;
if(udst==10){
ufo.fix=true;
var sc=1+ticks/1000;
if(sc>1.4){
ccspr[9].setOpacity(_d);
}
ufo.setScale(sc,false);
var op=130-ticks/10;
if(op<0){
op=0;
_e=true;
}
ufo.setPointHeight(ufo.getPoint(),ticks/6);
ufo.setOpacity(op);
}else{
var up=ufo.getPoint();
var cs=ccspr[udst];
var cp=cs.getPoint();
if(ticks>tbc){
udst++;
tbc=1500;
if(udst!=10){
cs.setOpacity(_d);
}
ticks=0;
}else{
var dla=cp.lat()-up.lat();
var dln=cp.lng()-up.lng();
var p=new GLatLng(up.lat()+dla*ticks/tbc,up.lng()+dln*ticks/tbc);
var dh=5;
if((udst%3)==0){
dh=15;
}
var h=5+dh*(1+Math.cos(-Math.PI+Math.PI*2*ticks/tbc));
ufo.setPointHeight(p,h);
}
}
if(!_e){
setTimeout(MMS_anim,dt);
}
}
function MMS_imagesLoaded(src,all){
if(all){
var px=map.fromLatLngToDivPixel(sp);
for(var i=0;i<mms_ccp.length;i++){
var mcp=mms_ccp[i];
var spx=new GPoint(px.x+mcp[0],px.y+mcp[1]);
var cp=map.fromDivPixelToLatLng(spx);
var s=smg.createSprite(mcp[2],cp);
map.addOverlay(s);
s.setOpacity(0);
s.show();
ccspr[i]=s;
}
ufo=new MMS_Ufo();
var _21=map.getBounds();
var _22=_21.getNorthEast();
ufo.setPointHeight(_22,0);
ufo.show();
MMS_anim();
}
}
function MMS_onLoad(){
DSXCaps_init();
if(GBrowserIsCompatible()){
map=new GMap2(document.getElementById("map"),{mapTypes:[G_SATELLITE_MAP]});
map.addControl(new GSmallZoomControl());
sp=new GLatLng(mms_lat,mms_lng);
map.setCenter(sp,mms_zoom);
smg=new MMSSpriteManager(map);
ldr=new DSXImageLoader();
for(var i=0;i<mms_ccp.length;i++){
var mcp=mms_ccp[i];
ldr.addImage(mcp[2]);
}
ldr.addImage(ussrc);
ldr.addImage(usrc);
ldr.loadAll(MMS_imagesLoaded);
}
}


