

    function load() {

        var map = document.getElementById('ctl00_ContentMain_map');

        if (GBrowserIsCompatible()) {


            var opts = { mapTypes: [G_NORMAL_MAP, G_HYBRID_MAP, G_PHYSICAL_MAP] };
            var gmap = new GMap2(map, opts);

            gmap.setMapType(G_PHYSICAL_MAP);
            gmap.addControl(new GSmallMapControl());
            gmap.addControl(new GMapTypeControl());
            //gmap.addControl( new GOverviewMapControl(new GSize(100,100)) );		
            //gmap.setCenter ( new GLatLng(45.836454050187726,9.8876953125), 6 );

            gmap.setCenter(new GLatLng(46.07323062540835, 9.8876953125), 6);
            var tooltip = document.createElement("div");
            document.getElementById('ctl00_ContentMain_map').appendChild(tooltip);
            tooltip.style.visibility = "hidden";

            // === create a GDirections Object ===
            //var gdir = new GDirections(gmap, document.getElementById("directions"));



            function formatToolTip(MarkerName, Snowdepth_Top, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts) {
                var html = "<div class=\"tooltip\" align=left>";
                html += "<b>" + MarkerName + "</b><br>";
                html += "<font color=#000000>";
                if (Snowdepth_Top != '') {
                    html += Snowdepth_Top + "cm di neve in quota<br>";
                }
                if (Open_slopes != '') {
                    if (Tot_slopes.length > 0) {
                        if (Tot_slopes != '0') {
                            html += Open_slopes + " piste aperte su " + Tot_slopes + "<br>";
                        }
                    }
                }
                if (Open_lifts != '') {
                    if (Tot_lifts.length > 0) {
                        if (Tot_lifts != '0') {
                            html += Open_lifts + " impianti aperti su " + Tot_lifts + "<br>";
                        }
                    }
                }


                html += "</font>";
                html += "<br>Clicca il triangolo per tutti i dati";
                html += "</div>";
                return html;
            }
            function formatTabOne(MarkerName, LinkUrl, LinkName, Snowdepth_Top, Snowdepth_Middle, Snowdepth_Base, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts, TimeDisplay1, TimeDisplay2, TimeDisplay3, Icon1, Icon2, Icon3, Temp_Top1, Temp_Top2, Temp_Top3, Temp_Bottom1, Temp_Bottom2, Temp_Bottom3, LinkUrl2) {

                var html = "<div class=\"bubble\" align=left>";
                html += "<table border=0 width=230 cellpadding=0 cellspacing=0 >";
                html += "<tr><td class=\"snow\" colspan=3><b>" + MarkerName + "</b></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3><a href=\"" + LinkUrl + "\" target=\"_blank\">" + LinkName + "</a></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3><img src=\"GMap/images/blank.png\" width=10 height=8 border=0 ></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3 ><font color=#000000>Altezza neve</font></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3><img src=\"GMap/images/punto-black.gif\" width=228 height=1 border=0 ></td></tr>";
                html += "<tr>";
                html += "<td class=\"snow\" align=left>Cima</td>";
                html += "<td class=\"snow\" align=left>Intermedio</td>";
                html += "<td class=\"snow\" align=left>Paese</td>";
                html += "</tr>";

                var snowdepth_t, snowdepth_m, snowdepth_b;

                snowdepth_t = "N.D.";
                snowdepth_m = "N.D.";
                snowdepth_b = "N.D.";

                if (Snowdepth_Top != '') {
                    snowdepth_t = Snowdepth_Top + "cm";
                }
                if (Snowdepth_Middle != '') {
                    snowdepth_m = Snowdepth_Middle + "cm";
                }
                if (Snowdepth_Base != '') {
                    snowdepth_b = Snowdepth_Base + "cm";
                }

                html += "<tr>";
                html += "<td class=\"snow\" align=left>" + snowdepth_t + "</td>";
                html += "<td class=\"snow\" align=left>" + snowdepth_m + "</td>";
                html += "<td class=\"snow\" align=left>" + snowdepth_b + "</td>";
                html += "</tr>";

                html += "<tr><td class=\"snow\" colspan=3><img src=\"GMap/images/blank.png\" width=10 height=6 border=0 ></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3 >";
                html += "<table wodth=\"100%\" border=0 cellpadding=0 cellspacing=0>";
                html += "<tr><td class=\"snow\"><font color=#000000>Piste aperte</font></td><td align=center><font color=#000000>Impianti aperti</font></td>";
                html += "<tr><td class=\"snow\" colspan=2><img src=\"GMap/images/punto-black.gif\" width=228 height=1 border=0 ></td></tr>";

                var impianti, piste;

                impianti = "N.D.";
                piste = "N.D.";

                if (Open_slopes != '') {
                    if (Tot_slopes.length > 0) {
                        if (Tot_slopes != '0') {
                            piste = Open_slopes + " su " + Tot_slopes;
                        }
                    }
                }
                if (Open_lifts != '') {
                    if (Tot_lifts.length > 0) {
                        if (Tot_lifts != '0') {
                            impianti = Open_lifts + " su " + Tot_lifts;
                        }
                    }
                }

                html += "<tr><td class=\"snow\" >" + piste + "</td><td class=\"snow\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + impianti + "</td>";

                html += "</table>";



                html += "</td></tr>";

                html += "<tr><td class=\"snow\" colspan=3><img src=\"GMap/images/blank.png\" width=10 height=6 border=0 ></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3 ><font color=#000000>Previsioni</font></td></tr>";
                html += "<tr><td class=\"snow\" colspan=3><img src=\"GMap/images/punto-black.gif\" width=228 height=1 border=0 ></td></tr>";
                html += "<tr>";




                html += "<td class=\"snow\" align=left >" + TimeDisplay1 + "</td>";
                html += "<td class=\"snow\" align=left>" + TimeDisplay2 + "</td>";
                html += "<td class=\"snow\" align=left>" + TimeDisplay3 + "</td>";
                html += "</tr>";

                var img_1, img_2, img_3;

                img_1 = "BlankND.png";
                img_2 = "BlankND.png";
                img_3 = "BlankND.png";

                if (Icon1 != '') {
                    img_1 = Icon1;
                }
                if (Icon2 != '') {
                    img_2 = Icon2;
                }
                if (Icon3 != '') {
                    img_3 = Icon3;
                }


                var tempTop1, tempTop2, tempTop3;
                var tempBott1, tempBott2, tempBott3;
                var tempTemp1, tempTemp2, tempTemp3;

                tempTop1 = "";
                tempTop2 = "";
                tempTop3 = "";

                tempBott1 = "";
                tempBott2 = "";
                tempBott3 = "";



                if (Temp_Top1 != '') {
                    tempTop1 = Temp_Top1 + "&deg;/";
                }
                if (Temp_Top2 != '') {
                    tempTop2 = Temp_Top2 + "&deg;/";
                }
                if (Temp_Top3 != '') {
                    tempTop3 = Temp_Top3 + "&deg;/";
                }

                if (Temp_Bottom1 != '') {
                    tempBott1 = Temp_Bottom1 + "&deg;";
                }
                if (Temp_Bottom2 != '') {
                    tempBott2 = Temp_Bottom2 + "&deg;";
                }
                if (Temp_Bottom3 != '') {
                    tempBott3 = Temp_Bottom3 + "&deg;";
                }

                tempTemp1 = tempTop1 + tempBott1;
                tempTemp2 = tempTop2 + tempBott2;
                tempTemp3 = tempTop3 + tempBott3;

                html += "<tr>";
                html += "<td class=\"snow\" align=left><img src=\"GMap/images_weather/" + img_1 + "\" border=0 ><br><font color=#000000>" + tempTemp1 + "</font></td>";
                html += "<td class=\"snow\" align=left><img src=\"GMap/images_weather/" + img_2 + "\" border=0 ><br><font color=#000000>" + tempTemp2 + "</font></td>";
                html += "<td class=\"snow\" align=left><img src=\"GMap/images_weather/" + img_3 + "\" border=0 ><br><font color=#000000>" + tempTemp3 + "</font></td>";
                html += "</tr>";

                html += "<tr><td class=\"meteo\" colspan=3 align=left style=\"height:20\" valign=bottom>&nbsp;&nbsp;&nbsp;<a href=\"" + LinkUrl2 + "\" target=\"_blank\" class=\"meteo\">Clicca qui</a> e approfondisci su skiinfo.it</td></tr>";

                html += "</table>";

                html += "</div>";

                return html;
            }

            function formatTabTwo() {
                /* var html = "<div class=\"bubble\" align=left>";
                html += "<h4>" + input.homeTeam + " vs. " + input.awayTeam + "</h4>";
                html += "<p>"
                if (input.fixture != null) {
                html += "<strong>Kick-off:</strong> " + input.fixture + "<br />";
                }
                if (input.capacity != null) {
                html += "<strong>Stadium Capacity:</strong> " + input.capacity + "<br />";
                }
                if (input.previousScore != null) {
                html += "<strong>Last season:</strong> " + input.previousScore + "<br />";
                }
                if (input.tv != null) {
                html += "<strong>TV Station:</strong> " + input.tv + "<br />";
                }
                html += "</p></div>";
                return html;*/
            }


            function makeIcon(image) {
                var icon = new GIcon();
                icon.image = "Gmap/images/" + image;
                icon.shadow = "Gmap/images/blank.png";
                icon.iconSize = new GSize(10, 10);
                icon.shadowSize = new GSize(12, 12);
                icon.iconAnchor = new GPoint(8, 16);
                icon.infoShadowAnchor = new GPoint(0, 0);
                icon.infoWindowAnchor = new GPoint(8, 1);
                return icon;
            }

            // ====== This function displays the tooltip ======
            function showTooltip(marker) {
                tooltip.innerHTML = marker.tooltip;
                var point = gmap.getCurrentMapType().getProjection().fromLatLngToPixel(gmap.getBounds().getSouthWest(), gmap.getZoom());
                var offset = gmap.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(), gmap.getZoom());
                var anchor = marker.getIcon().iconAnchor;
                var width = marker.getIcon().iconSize.width;
                var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x - anchor.x + width, -offset.y + point.y + anchor.y));
                pos.apply(tooltip);
                tooltip.style.visibility = "visible";
            }


            function createMarker(point, MarkerName, MarkerImage, LinkUrl, LinkUrl2, LinkName, LastUpdate, Altitude_Top, Snowdepth_Top, Weather_Today_Top, Altitude_Middle, Snowdepth_Middle, Weather_Today_Middle, Altitude_Base, Snowdepth_Base, Weather_Today_Base, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts, TimeDisplay1, Temp_Top1, Temp_Bottom1, Icon1, TimeDisplay2, Temp_Top2, Temp_Bottom2, Icon2, TimeDisplay3, Temp_Top3, Temp_Bottom3, Icon3) {
                var marker = new GMarker(point, makeIcon(MarkerImage));

                var tabs_array = [new GInfoWindowTab("Preview", formatTabOne(MarkerName, LinkUrl, LinkName, Snowdepth_Top, Snowdepth_Middle, Snowdepth_Base, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts, TimeDisplay1, TimeDisplay2, TimeDisplay3, Icon1, Icon2, Icon3, Temp_Top1, Temp_Top2, Temp_Top3, Temp_Bottom1, Temp_Bottom2, Temp_Bottom3, LinkUrl2))];
                //var tabs_array	= [ new GInfoWindowTab("Preview", formatTabOne(input) ),
                //new GInfoWindowTab("Information", formatTabTwo(input) ) ];

                marker.tooltip = formatToolTip(MarkerName, Snowdepth_Top, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts);



                GEvent.addListener(marker, "click", function() { marker.openInfoWindowTabsHtml(tabs_array); });

                GEvent.addListener(marker, "mouseover", function() { showTooltip(marker); });
                GEvent.addListener(marker, "mouseout", function() { tooltip.style.visibility = "hidden" });



                return marker;
            }

            function trim11(str) {
                str = str.replace(/^\s+/, '');
                for (var i = str.length - 1; i >= 0; i--) {
                    if (/\S/.test(str.charAt(i))) {
                        str = str.substring(0, i + 1);
                        break;
                    }
                }
                return str;
            }

          



            GDownloadUrl("Gmap/mappa.xml", function(data, responseCode) {
                var xml = GXml.parse(data);
                var markers = xml.documentElement.getElementsByTagName("Table");

                for (var i = 0; i < markers.length; i++) {
                    var point = new GLatLng(parseFloat(markers[i].getAttribute("Latitude")), parseFloat(markers[i].getAttribute("Longitude")));

                    var MarkerName = markers[i].getAttribute("MarkerName");
                    var MarkerImage = markers[i].getAttribute("MarkerImage");

                    var LinkUrl = markers[i].getAttribute("LinkUrl");
                    var LinkUrl2 = markers[i].getAttribute("LinkUrl2");
                    var LinkName = markers[i].getAttribute("LinkName");
                    var LastUpdate = markers[i].getAttribute("LastUpdate");
                    var Altitude_Top = markers[i].getAttribute("Altitude_Top");
                    var Snowdepth_Top = markers[i].getAttribute("Snowdepth_Top");
                    if (Snowdepth_Top != null) {
                        Snowdepth_Top = Snowdepth_Top.replace(/^\s+|\s+$/g, '');
                    }
                    else
                    { Snowdepth_Top = "" }

                    var Weather_Today_Top = markers[i].getAttribute("Weather_Today_Top");
                    var Altitude_Middle = markers[i].getAttribute("Altitude_Middle");
                    var Snowdepth_Middle = markers[i].getAttribute("Snowdepth_Middle");
                    if (Snowdepth_Middle != null) {
                        Snowdepth_Middle = Snowdepth_Middle.replace(/^\s+|\s+$/g, '');
                    }
                    else
                    { Snowdepth_Middle = "" }
                    
                    var Weather_Today_Middle = markers[i].getAttribute("Weather_Today_Middle");
                    var Altitude_Base = markers[i].getAttribute("Altitude_Base");
                    var Snowdepth_Base = markers[i].getAttribute("Snowdepth_Base");
                    if (Snowdepth_Base != null) {
                        Snowdepth_Base = Snowdepth_Base.replace(/^\s+|\s+$/g, '');
                    }
                    else
                    { Snowdepth_Base = "" }
                    
                    var Weather_Today_Base = markers[i].getAttribute("Weather_Today_Base");
                    var Open_slopes = markers[i].getAttribute("Open_slopes");
                    if (Open_slopes != null) {
                        Open_slopes = Open_slopes.replace(/^\s+|\s+$/g, '');
                    }
                    else
                    { Open_slopes = "" }

                    var Tot_slopes = markers[i].getAttribute("Tot_slopes");
                    if (Tot_slopes != null) {
                        Tot_slopes = Tot_slopes.replace(/^\s+|\s+$/g, '');
                    }
                    else {
                        Tot_slopes = "0"
                    }
                    var Open_lifts = markers[i].getAttribute("Open_lifts");
                    if (Open_lifts != null) {
                        Open_lifts = Open_lifts.replace(/^\s+|\s+$/g, '');
                    }
                    else { Open_lifts = "" }
                    var Tot_lifts = markers[i].getAttribute("Tot_lifts");
                    if (Tot_lifts != null) {
                        Tot_lifts = Tot_lifts.replace(/^\s+|\s+$/g, '');
                    } else { Tot_lifts = "0" }
                    var TimeDisplay1 = markers[i].getAttribute("TimeDisplay1");
                    var Temp_Top1 = markers[i].getAttribute("Temp_Top1");
                    var Temp_Bottom1 = markers[i].getAttribute("Temp_Bottom1");
                    var Icon1 = markers[i].getAttribute("Icon1");
                    if (Icon1 != null) {
                        Icon1 = Icon1.replace(/^\s+|\s+$/g, '');
                    } else { Icon1 = "" }
                    var TimeDisplay2 = markers[i].getAttribute("TimeDisplay2");
                    var Temp_Top2 = markers[i].getAttribute("Temp_Top2");
                    var Temp_Bottom2 = markers[i].getAttribute("Temp_Bottom2");
                    var Icon2 = markers[i].getAttribute("Icon2");
                    if (Icon2 != null) {
                        Icon2 = Icon2.replace(/^\s+|\s+$/g, '');
                    } else { Icon2 = "" }
                    var TimeDisplay3 = markers[i].getAttribute("TimeDisplay3");
                    var Temp_Top3 = markers[i].getAttribute("Temp_Top3");
                    var Temp_Bottom3 = markers[i].getAttribute("Temp_Bottom3");
                    var Icon3 = markers[i].getAttribute("Icon3");
                    if (Icon3 != null) {
                        Icon3 = Icon3.replace(/^\s+|\s+$/g, '');
                    } else { Icon3 = "" }

                    gmap.addOverlay(createMarker(point, MarkerName, MarkerImage, LinkUrl, LinkUrl2, LinkName, LastUpdate, Altitude_Top, Snowdepth_Top, Weather_Today_Top, Altitude_Middle, Snowdepth_Middle, Weather_Today_Middle, Altitude_Base, Snowdepth_Base, Weather_Today_Base, Open_slopes, Tot_slopes, Open_lifts, Tot_lifts, TimeDisplay1, Temp_Top1, Temp_Bottom1, Icon1, TimeDisplay2, Temp_Top2, Temp_Bottom2, Icon2, TimeDisplay3, Temp_Top3, Temp_Bottom3, Icon3));
                }


            });

        } else {
            alert("Sorry, your browser cannot handle the true power of Google Maps");
        }
    }

    //http://www.velocityreviews.com/forums/t57641-how-to-convert-database-tables-into-xml-files.html

