var ldr;
var smg;
var scr;
var do_scr=false;
var char_map={"*":"heart","#":"smile","%":"cloud",".":"dot",",":"comma",":":"colon","!":"excl","?":"que","/":"sla","'":"apos","\"":"quot"};
var movingMarkers;
var markers=[];
var map;
var map_center;
var map_dragging=false;
var map_dragged=false;
var scroller_chars="abcdefghijklmnopqrstuvwxyz0123456789*#%.-?/:,!'\"";
function MMS_charToSrc(ch){
if(scroller_chars.indexOf(ch)<0){
ch=ch.toLowerCase();
if(scroller_chars.indexOf(ch)<0){
return null;
}
}
var _2=mms_mod_url+"gfx/";
var _3=".png";
if(char_map[ch]){
ch=char_map[ch];
}
return _2+ch+_3;
}
function MMSScroller(m,_5,o){
var _7=1000;
var _8=7000;
var _9=2000;
var _a=4000;
var _b=4000;
var _c=m;
var _d=_5;
var _e=new Array();
var _f=new Array();
var _10=o;
var _11=0;
var _12=_7;
var _13=0;
var txt=mms_msg+"   ";
var _15=0;
var _16=null;
this.init=function(){
_16=_5.createSprite(MMS_charToSrc("%"),_10);
_16.setOpacity(100);
_c.addOverlay(_16);
_16.show();
};
var _17=function(){
var t=((_11+0.3*_7)%_7);
if(t<0){
t+=_7;
}
var f=1*t/_7;
var _1a=200-200*Math.sin((Math.PI/2)*f);
var px=-500*mms_unit*f;
var py=200*mms_unit*f;
var p=new GLatLng(py+_10.lat(),px+_10.lng());
_16.setScale(1.2*f,false);
_16.setOpacity(_1a);
_16.setPoint(p);
};
var _1e=function(){
var ch=txt.charAt(_15);
_15=(_15+1)%txt.length;
var src=MMS_charToSrc(ch);
if(src==null){
return null;
}
var spr;
if(_f.length>0){
spr=_f.pop();
spr.setSrc(src);
}else{
spr=_d.createSprite(src,new GLatLng(0,0));
_c.addOverlay(spr);
}
spr.show();
spr.ticks=0;
spr.setPoint(_10);
_e.push(spr);
return spr;
};
var _22=function(spr,_24){
var _25=mms_unit;
spr.ticks+=_24;
var x=-2*_25*spr.ticks;
var da=Math.PI*mms_ticks/5000;
var y=_25*(spr.ticks/5)*Math.sin(da+Math.PI*spr.ticks/4000);
var a=-Math.PI/9;
var px=Math.cos(a)*x+Math.sin(a)*y;
var py=Math.sin(a)*x-Math.cos(a)*y;
var p=new GLatLng(py+_10.lat(),px+_10.lng());
var ok=true;
var opa=100;
if(spr.ticks>_8){
opa=100-(100*(spr.ticks-_8)/_9);
if(opa<0){
ok=false;
}
}else{
opa=100;
if(opa>100){
opa=100;
}
}
spr.setOpacity(opa);
var _2f=1;
if(spr.ticks>_a){
_2f=(1+Math.sin(Math.PI*(_a-1000)/1500)*0.25+1*(spr.ticks-_a)/_b);
}else{
_2f=spr.ticks/1000;
if(_2f>1){
_2f=1;
_2f=1+Math.sin(Math.PI*(spr.ticks-1000)/1500)*0.25;
}
}
spr.setScale(_2f,false);
spr.setPoint(p);
if(!ok){
spr.hide();
_f.push(spr);
}
return ok;
};
this.animate=function(_30){
_11+=_30;
if(_11>_7){
_11-=_7;
if(do_scr){
_1e();
}
}
var _31=_c.getBounds();
var _32=_31.getSouthWest();
var _33=_31.getNorthEast();
var s=new Array();
for(var i=0;i<_e.length;i++){
var spr=_e[i];
if(_22(spr,_30,_33,_32)){
s.push(spr);
}
}
_e=s;
_30+=_30;
_17();
};
}
var mms_ticks=0;
function MMS_anim(){
var _37=mms_unit*400;
mms_ticks++;
if(!map_dragging){
map.panTo(new GLatLng(map_center.lat()+Math.sin(13*mms_ticks/180)*_37,map_center.lng()+Math.sin(7*mms_ticks/180)*_37));
}
scr.animate(120);
setTimeout(MMS_anim,100);
}
function MMS_imagesLoaded(src,all){
if(src==MMS_charToSrc("%")){
scr.init();
MMS_anim();
}
if(all){
do_scr=true;
}
}
function MMS_onResize(_3a){
MMS_onResizeMap();
if(_3a){
return;
}
var _3b=map.getBounds();
var _3c=_3b.getSouthWest();
var _3d=_3b.getNorthEast();
var _3e=_3d.lng()-_3c.lng();
var _3f=_3d.lat()-_3c.lat();
var cf=0.8;
map_center=new GLatLng(mms_lat-(0.5-cf)*_3f,mms_lng+(0.5-cf)*_3e);
if(!map_dragged){
map.setCenter(map_center,mms_zoom);
}
}
function MMS_onUnload(){
GUnload();
}
function MMS_onLoad(){
DSXCaps_init();
if(GBrowserIsCompatible()){
map=new GMap2(document.getElementById("map"),{mapTypes:[G_SATELLITE_MAP]});
map.addControl(new GSmallZoomControl());
GEvent.addListener(map,"dragstart",function(){
map_dragged=true;
map_dragging=true;
});
GEvent.addListener(map,"dragend",function(){
map_center=map.getCenter();
map_dragging=false;
});
var sp=new GLatLng(mms_lat,mms_lng);
map.setCenter(sp,mms_zoom);
MMS_onResize();
ldr=new DSXImageLoader();
ldr.addImage(MMS_charToSrc("%"));
for(var i=0;i<mms_msg.length;i++){
var ch=mms_msg.charAt(i);
var _44=MMS_charToSrc(ch);
if(_44!=null){
ldr.addImage(_44);
}
}
smg=new MMSSpriteManager(map);
scr=new MMSScroller(map,smg,sp);
ldr.loadAll(MMS_imagesLoaded);
}
}

