
var panoVisible = false;

function PanoControl() {
}
PanoControl.prototype = new GControl();

// Creates a one DIV for each of the buttons and places them in a container
// DIV which is returned as our control element. We add the control to
// to the map container and return the element for the map class to
// position properly.
PanoControl.prototype.initialize = function(map) {
    var container = document.createElement("div");

    var panoDiv = document.createElement("div");
    var me = this;
    var panoOverlay = new GLayer("com.panoramio.all");
    panoDiv.style.marginLeft = "180px";
    this.setButtonStyle_(panoDiv);
    container.appendChild(panoDiv);
    panoDiv.appendChild(document.createTextNode("Panoramio"));
    GEvent.addDomListener(panoDiv, "click", function() {
        panoVisible = !panoVisible;
        me.toggleButton_(panoDiv, panoVisible);
        if (panoVisible)
            map.addOverlay(panoOverlay)
        else
            map.removeOverlay(panoOverlay);

    //map.addOverlay(new GLayer("org.wikipedia.en"));

    });

    map.getContainer().appendChild(container);
    return container;
}

// By default, the control will appear in the top left corner of the
// map with 7 pixels of padding.
PanoControl.prototype.getDefaultPosition = function() {
    return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
}

// Sets the proper CSS for the given button element.
PanoControl.prototype.setButtonStyle_ = function(button) {
    button.style.color = "#000000";
    button.style.backgroundColor = "white";
    button.style.font = "small Arial";
    button.style.border = "1px solid black";
    button.style.padding = "2px";
    button.style.marginBottom = "3px";
    button.style.textAlign = "center";
    button.style.width = "6em";
    button.style.cursor = "pointer";
}
    
/*
 * Changes style of button to appear on/off depending on boolean passed in.
 * @param {DOM Object} div  Button div to change style of
 * @param {Boolean} boolCheck Used to decide to use on style or off style
 */
PanoControl.prototype.toggleButton_ = function(div, boolCheck) {
    div.style.fontWeight = boolCheck ? "bold" : "";
    div.style.border = "1px solid white";
    var shadows = boolCheck ? ["Top", "Left"] : ["Bottom", "Right"];
    for (var j = 0; j < shadows.length; j++) {
        div.style["border" + shadows[j]] = "1px solid #b0b0b0";
    }
}
