function EStyle(stemImage, stemSize, boxClass, boxOffset) {
this.stemImage = stemImage;
this.stemSize = stemSize;
this.boxClass = boxClass;
this.boxOffset = boxOffset;
var agent = navigator.userAgent.toLowerCase();
var fudge = 5; 
if (agent.indexOf("opera") > -1) {
fudge = 3;
}if (agent.indexOf("firefox") > -1) {
fudge = 5;}if (agent.indexOf("safari") > -1) {fudge = 5;}if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1)){fudge = 0;}this.fudge = fudge;}var E_STYLE_1 = new EStyle("includes/stem1.png", new GSize(50,50), "estyle1", new GPoint(-50,50-3));function EWindow(map,estyle) {this.map=map;this.estyle=estyle;this.visible = false;this.ie = false;var agent = navigator.userAgent.toLowerCase();if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1)){ this.ie = true} else {this.ie = false}} EWindow.prototype = new GOverlay();EWindow.prototype.initialize = function(map) {var div1 = document.createElement("div");div1.style.position = "absolute";map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div1);var div2 = document.createElement("div");div2.style.position = "absolute";div2.style.width = this.estyle.stemSize.width+"px";map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div2);this.div1 = div1;this.div2 = div2;}
EWindow.prototype.openOnMap = function(point, html, offset) {this.offset = offset||new GPoint(0,0);this.point = point;this.div1.innerHTML = '<div class="' + this.estyle.boxClass + '"><nobr>' + html + '</nobr></div>';
if (this.ie && this.estyle.stemImage.toLowerCase().indexOf(".png")>-1) {var loader = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.estyle.stemImage+"', sizingMethod='scale');";this.div2.innerHTML = '<div style="height:' +this.estyle.stemSize.height+ 'px; width:'+this.estyle.stemSize.width+'px; ' +loader+ '" ></div>';} else {this.div2.innerHTML = '<img src="' + this.estyle.stemImage + '" width="' + this.estyle.stemSize.width +'" height="' + this.estyle.stemSize.height +'">';
}var z = GOverlay.getZIndex(this.point.lat());this.div1.style.zIndex = z;this.div2.style.zIndex = z+1;this.visible = true;this.show();this.redraw(true);
}
EWindow.prototype.openOnMarker = function(marker,html) {
var vx = marker.getIcon().iconAnchor.x - marker.getIcon().infoWindowAnchor.x;
var vy = marker.getIcon().iconAnchor.y - marker.getIcon().infoWindowAnchor.y;
this.openOnMap(marker.getPoint(), html, new GPoint(vx,vy));
}
EWindow.prototype.redraw = function(force) {
if (!this.visible) {return;}
var p = this.map.fromLatLngToDivPixel(this.point);
this.div2.style.left = (p.x + this.offset.x) + "px";
this.div2.style.bottom = (-p.y + this.offset.y -this.estyle.fudge) + "px";
this.div1.style.left = (p.x + this.offset.x + this.estyle.boxOffset.x) + "px";
this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y) + "px";
}
EWindow.prototype.remove = function() {
this.div1.parentNode.removeChild(this.div1);
this.div2.parentNode.removeChild(this.div2);
this.visible = false;
}
EWindow.prototype.copy = function() {
return new EWindow(this.map, this.estyle);
}
EWindow.prototype.show = function() {
this.div1.style.display="";
this.div2.style.display="";
this.visible = true;
}
EWindow.prototype.hide = function() {
this.div1.style.display="none";
this.div2.style.display="none";
this.visible = false;
}
