dojo.provide("mq.ambmap");
dojo.require("mq.util");
dojo.declare("mq.ambmap",null,{map:null,poiNum:null,enableSTO:null,constructor:function(){
this.addRolloverEvent();
},showAmbMap:function(_1,_2,_3){
var _4=$d("ambMap");
MQA.ZoomControl.prototype.eventmonitor=function(_5){
if(MQA._prEvent.element(_5)==this.zoomin){
eventId="in";
}
if(MQA._prEvent.element(_5)==this.zoomout){
eventId="out";
}
switch(_5.type){
case "click":
switch(eventId){
case "in":
if(this.map.getZoomLevel()<16){
ua.a(":MQ08AmbMapZoomIn");
this.map.zoomIn();
}
break;
case "out":
ua.a(":MQ08AmbMapZoomOut");
this.map.zoomOut();
break;
default:
this.map.setZoomLevel(eventId);
break;
}
break;
case "mouseover":
switch(eventId){
case "in":
case "out":
MQA._prEvent.element(_5).className="o";
break;
default:
MQA._prEvent.element(_5).src="http://img.mqcdn.com/mqmaptiled/z-on.png";
}
break;
case "mouseout":
switch(eventId){
case "in":
case "out":
MQA._prEvent.element(_5).className="";
break;
default:
if(parseFloat(eventId)!=this.map.getZoomLevel()){
MQA._prEvent.element(_5).src="http://img.mqcdn.com/mqmaptiled/z-"+eventId+".png";
}
}
break;
}
};
var _6=this.getAmbPois(_1,_2,_3);
var _7={};
_7.bestFitRect=_6.getBoundingRect();
this.map=new MQA.TileMap(_4,null,new MQLatLng(_1[0].latitude,_1[0].longitude),"map",_7);
this.map.addShapeCollection(_6);
var _8=new MQA.ZoomControl();
this.map.addControl(_8,new MQA.MapCornerPlacement(MQA.MapCorner.TOP_LEFT,new MQA.Size(5,15)));
MQA.EventManager.addListener(this.map,"dragend",dojo.hitch(this,"dragAmbMap"));
},getAmbPois:function(_9,_a,_b){
var _c=new MQA.ShapeCollection();
if(_9!=null&&_9.length>0){
for(var i=0;i<_9.length;i++){
var l=_9[i];
var _f="mapPin-purple-"+(i+1)+".png";
_c.add(this.createAmbPoi(l,1,(i+1),_f,_a,_b));
}
}
return _c;
},createAmbPoi:function(loc,_11,ind,_13,_14,_15){
var _16=new MQA.Icon(mqPrefix+"/cdn/dotcom/images/icons/"+_13,26,27,false,false);
var _17=new MQA.Icon(mqPrefix+"/cdn/dotcom/images/icons/"+_13.replace("-","_coll-"),25,22,false,false);
var _18=new MQA.LatLng(loc.latitude,loc.longitude);
var pt=new MQA.Poi(_18);
MQA.EventManager.addListener(pt,"rolloveropen",dojo.hitch(this,"openRolloverWindow"));
MQA.EventManager.addListener(pt,"rolloverclose",dojo.hitch(this,"closeRolloverWindow"));
MQA.EventManager.addListener(pt,"infowindowopen",dojo.hitch(this,"openInfoWindow"));
MQA.EventManager.addListener(pt,"infowindowclose",dojo.hitch(this,"closeInfoWindow"));
pt.setValue("iconOffset",new MQA.Point(-3,-27));
pt.setValue("shadowOffset",new MQA.Point(0,-5));
pt.setValue("declutterShadowOffset",new MQA.Point(0,2));
pt.setKey("pois-"+ind);
pt.setIcon(_16);
pt.setValue("declutterIcon",_17);
var _1a=mq.util.getMiniPopupContent(loc);
pt.setRolloverContent(m2.util.Bubble.formatRolloverContent(loc));
pt.setInfoTitleHTML(_1a);
var _1b="";
_1b+=this.getAmbPopupContent(loc,true,_14,_15);
pt.setInfoContentHTML(_1b);
return pt;
},getAmbPopupContent:function(loc,_1d,_1e,_1f){
var _20=new dojox.string.Builder();
var _21=(!loc.country||(loc.country.toUpperCase()!="US"&&loc.country.toUpperCase()!="CA"))?true:false;
_20.append("<table><tr><td valign=\"top\">");
if(_1e=="dirForm"){
_20.append("<a href=\"javascript:dirForm.populateAddrFromAmbigGeo(null, '"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+loc.country+"','"+((loc.postalCode)?loc.postalCode:"")+"',"+loc.latitude+","+loc.longitude+",'"+loc.geocodeQuality+"','"+_1f+"', ':MQ08BUBAmbGo');\">");
}
_20.append(loc.city);
if(loc.state){
_20.append(", "+loc.state);
}
if(loc.postalCode){
if(_21&&loc.country&&loc.country!=""&&(loc.city||loc.state)){
_20.append(",");
}
_20.append(" "+loc.postalCode);
}
if(_1e=="dirForm"){
_20.append("</a>");
}
if(loc.geocodeQuality=="CITY"){
if(loc.county){
_20.append("<br />"+loc.county);
}
}
if(_21&&loc.country&&loc.country!=""){
if(!(loc.city&&loc.state&&!loc.postalCode)){
_20.append("<br />");
}else{
_20.append(", ");
}
if(loc.countryLong&&loc.countryLong!=""){
_20.append(loc.countryLong);
}else{
_20.append(loc.country);
}
}
_20.append("</td></tr></table>");
if(_1d&&_1e!="dirForm"&&!loc.query){
var _22="lastli";
if(this.enableSTO){
_22="";
}
if(_21){
_22="firstli lastli";
}
_20.append("<ul class=\"bLinks\">");
var _1e=(mqPageContext=="mapsForm"||mqPageContext=="intlForm")?"mapsForm":((mqPageContext=="dirForm"||mqPageContext=="intlDirForm")?"dirForm":null);
var _23="";
var _24=true;
if(_21){
var _25=m2.widget.Countries.lookupCountryNameInDirs(loc.country,"europe");
if(typeof (_25)=="undefined"||_25==null){
_23=" lastli";
_24=false;
}
}
_20.append("<li class=\"firstli"+_23+"\"><a onclick=\""+_1e+".populateAddrFromAmbigGeo(null, '"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+loc.country+"','"+((loc.postalCode)?loc.postalCode:"")+"',"+loc.latitude+","+loc.longitude+",'"+loc.geocodeQuality+"', true, ':MQ08BUBMap'); return false;\">Map</a></li>");
if(_24){
_20.append("<li><a onclick=\"mq.directionsTo('','"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+((loc.postalCode)?loc.postalCode:"")+"','"+((loc.country)?loc.country:"")+"',"+loc.latitude+","+loc.longitude+", 'AMBIGUITY'); return false;\">Directions To</a></li>");
_20.append("<li class=\"lastli\"><a onclick=\"mq.directionsFrom('','"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+((loc.postalCode)?loc.postalCode:"")+"','"+((loc.country)?loc.country:"")+"',"+loc.latitude+","+loc.longitude+", 'AMBIGUITY'); return false;\">Directions From</a></li>");
}
_20.append("</ul>");
_20.append("<ul class=\"gLinks\">");
if(!_21){
_20.append("<li class=\"firstli\"><a onclick=\""+_1e+".searchNearbyLocHandler(this, '"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+((loc.postalCode)?loc.postalCode:"")+"',"+loc.latitude+","+loc.longitude+");return false;\">Search Nearby</a></li>");
}
_20.append("<li class=\""+_22+"\"><a onclick=\"javascript:mq.handleSTCLoc('"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+((loc.postalCode)?loc.postalCode:"")+"',"+loc.latitude+","+loc.longitude+",'"+loc.geocodeQuality+"', ':MQ08BUBS2C');return false;\">Send to Cell</a></li>");
_20.append((this.enableSTO&&!_21)?"<li class=\"lastli\"><a onClick=\"mq.dynamicRequire('mq.STO.onstar', function() {mq.STO.onstar.handleSTOAmb('"+((loc.addressLine1)?loc.addressLine1:"")+"','"+loc.city.replace("'","\\'")+"','"+loc.state+"','"+loc.country+"','"+((loc.postalCode)?loc.postalCode:"")+"',"+loc.latitude+","+loc.longitude+",'"+loc.geocodeQuality+"', 'INFOPOPUP');});\">Send to OnStar</a></li>":"");
_20.append("</ul>");
}
return _20;
},openInfoWindow:function(evt){
debug("Amb Map Info Window Open");
ua.a(":MQ08BUBLocDetails");
},closeInfoWindow:function(evt){
debug("Amb info window close");
if(this.poiNum){
var _28=$d("ambLoc"+this.poiNum);
dojo.style(_28,"backgroundColor","#FFFFFF");
this.poiNum=null;
}
},dragAmbMap:function(evt){
debug("Amb Map Drag");
ua.a(":MQ08AmbMapDrag");
},openRolloverWindow:function(evt){
var _2b=evt.srcObject;
var _2c=_2b.key;
this.poiNum=_2c.replace("pois-","");
var _2d=$d("ambLoc"+this.poiNum);
if(_2d){
dojo.style(_2d,"backgroundColor","#e2eef9");
}
},closeRolloverWindow:function(evt){
var poi=evt.srcObject;
var _30=poi.key.replace("pois-","");
var _31=$d("ambLoc"+_30);
dojo.style(_31,"backgroundColor","#FFFFFF");
this.poiNum=null;
},getRolloverOpener:function(){
var _32=this.map.getRolloverWindow();
if(_32&&_32.opener){
return _32.opener;
}
return null;
},getInfoWindowOpener:function(){
var _33=this.map.getInfoWindow();
if(_33&&_33.opener){
return _33.opener;
}
return null;
},ambSummaryFade:function(_34){
if(_34){
var _35=[];
var _36={node:_34,duration:200,properties:{backgroundColor:{start:"#e2eef9",end:"#FFFFFF"}}};
_35.push(dojo.animateProperty(_36));
var _37=dojo.fx.chain(_35);
_37.play();
}
},addRolloverEvent:function(){
for(var i=0;i<10;i++){
var _39=$d("ambLoc"+(i+1));
if(_39){
dojo.connect(_39,"mouseover",dojo.hitch(this,"toggleHighlightRollover",_39,"show"));
dojo.connect(_39,"mouseout",dojo.hitch(this,"toggleHighlightRollover",_39,"hide"));
}
}
},toggleHighlightRollover:function(_3a,_3b){
if(_3a){
var id=_3a.id;
var _3d=id.replace("ambLoc","");
var _3e=this.map.getShapeCollection("");
if(_3e){
var poi=_3e.getAt(parseInt(_3d)-1);
if(poi){
if(_3b=="show"){
this.map.windowManager.onPoiMouseOver(poi,true);
}else{
if(_3b=="hide"){
this.map.windowManager.onPoiMouseOver(poi,false);
}
}
}
}
}
}});

