function ExtMapTypeControl(A){this.options=A||{}
}ExtMapTypeControl.prototype=new GControl();
ExtMapTypeControl.prototype.initialize=function(B){var C=document.createElement("div");
var F=this;
var I=B.getMapTypes();
var J=F.addMapTypeButtons_(B);
GEvent.addListener(B,"addmaptype",function(){var L=B.getMapTypes();
var K=L.pop();
var M=F.createButton_(K.getName());
I.push(K);
J.push(M);
F.resetButtonEvents_(B,J);
C.appendChild(M)
});
GEvent.addListener(B,"removemaptype",function(){for(var K=0;
K<J.length;
K++){GEvent.clearListeners(J[K],"click");
C.removeChild(J[K])
}J=F.addMapTypeButtons_(B);
F.resetButtonEvents_(B,J);
for(var K=0;
K<J.length;
K++){C.appendChild(J[K])
}});
if(F.options.showTraffic){var D=F.createButton_("Traffic");
D.style.marginRight="8px";
D.style.visibility="hidden";
D.firstChild.style.cssFloat="left";
D.firstChild.style.styleFloat="left";
F.trafficInfo=new GTrafficOverlay(false);
F.trafficInfo.hidden=false;
GEvent.addListener(F.trafficInfo,"changed",function(K){if(K){D.style.visibility="visible"
}else{D.style.visibility="hidden"
}});
B.addOverlay(F.trafficInfo);
GEvent.addDomListener(D.firstChild,"click",function(){if(F.trafficInfo.hidden){F.trafficInfo.hidden=false;
F.trafficInfo.show()
}else{F.trafficInfo.hidden=true;
F.trafficInfo.hide()
}F.toggleButton_(D.firstChild,!F.trafficInfo.hidden)
});
if(F.options.showTrafficKey){keyDiv=document.createElement("div");
keyDiv.style.cssFloat="left";
keyDiv.style.styleFloat="left";
keyDiv.innerHTML="&nbsp;?&nbsp;";
var H=document.createElement("div");
H.style.clear="both";
H.style.padding="2px";
H.setAttribute("id","traffic");
var A=[{color:"#30ac3e",text:"&gt; 50 MPH"},{color:"#ffcf00",text:"25-50 MPH"},{color:"#ff0000",text:"&lt; 25 MPH"},{color:"#c0c0c0",text:"No data"}];
for(var E=0;
E<A.length;
E++){H.innerHTML+="<div style='text-align: left'><span style='background-color: "+A[E].color+"'>&nbsp;&nbsp</span><span style='color: "+A[E].color+"'> "+A[E].text+" </span></div>"
}H.style.display="none";
F.keyExpanded=true;
GEvent.addDomListener(keyDiv,"click",function(){if(F.keyExpanded){F.keyExpanded=false;
H.style.display="none"
}else{F.keyExpanded=true;
H.style.display="block"
}F.toggleButton_(keyDiv,F.keyExpanded)
});
F.toggleButton_(keyDiv,F.keyExpanded)
}var G=document.createElement("div");
G.style.clear="both";
if(F.options.showTrafficKey){D.appendChild(keyDiv)
}D.appendChild(G);
if(F.options.showTrafficKey){D.appendChild(H)
}F.toggleButton_(D.firstChild,false);
C.appendChild(D)
}for(var E=0;
E<J.length;
E++){C.appendChild(J[E])
}B.getContainer().appendChild(C);
return C
};
ExtMapTypeControl.prototype.addMapTypeButtons_=function(E){var C=this;
var A=E.getMapTypes();
var D=new Array();
for(var B=0;
B<A.length;
B++){D[B]=C.createButton_(A[B].getName())
}C.resetButtonEvents_(E,D);
return D
};
ExtMapTypeControl.prototype.resetButtonEvents_=function(G,F){var E=this;
var A=G.getMapTypes();
for(var D=0;
D<F.length;
D++){var C=new Array;
for(var B=0;
B<A.length;
B++){if(B!=D){C.push(F[B])
}}E.assignButtonEvent_(F[D],G,A[D],C)
}GEvent.addListener(G,"maptypechanged",function(){var J=0;
var I=G.getCurrentMapType();
for(var H=0;
H<A.length;
H++){if(A[H]==I){J=H
}}GEvent.trigger(F[J],"click")
})
};
ExtMapTypeControl.prototype.createButton_=function(C){var B=document.createElement("div");
this.setButtonStyle_(B);
B.style.cssFloat="left";
B.style.styleFloat="left";
var A=document.createElement("div");
A.appendChild(document.createTextNode(C));
A.style.width="6em";
B.appendChild(A);
return B
};
ExtMapTypeControl.prototype.assignButtonEvent_=function(E,D,C,A){var B=this;
GEvent.addDomListener(E,"click",function(){for(var F=0;
F<A.length;
F++){B.toggleButton_(A[F].firstChild,false)
}B.toggleButton_(E.firstChild,true);
D.setMapType(C)
})
};
ExtMapTypeControl.prototype.toggleButton_=function(D,C){D.style.fontWeight=C?"bold":"";
D.style.border="1px solid white";
var B=C?["Top","Left"]:["Bottom","Right"];
for(var A=0;
A<B.length;
A++){D.style["border"+B[A]]="1px solid #b0b0b0"
}};
ExtMapTypeControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,7))
};
ExtMapTypeControl.prototype.setButtonStyle_=function(A){A.style.color="#000000";
A.style.backgroundColor="white";
A.style.font="small Arial";
A.style.border="1px solid black";
A.style.padding="0px";
A.style.margin="0px";
A.style.textAlign="center";
A.style.fontSize="12px";
A.style.cursor="pointer"
};