var Map = new Array();
var mapSrc;
var markersBase = new Array();

// Tworzymy ikony
// //ikona1.iconSize = GSize(120, 196);
// fryzjerski
var iconSizeX = 30;
var iconSizeY = 49;

var ikona1 = new GIcon(G_DEFAULT_ICON);
ikona1.image = "/szablony/pieknieje/images/salony_icons/icon_cosmetic.png";
ikona1.iconSize = new GSize(iconSizeX, iconSizeY);
ikona1.shadowSize = new GSize(0, 0);
var markerOptions1 = { icon: ikona1 };

// kosmetyczny
var ikona2 = new GIcon(G_DEFAULT_ICON);
ikona2.image = "/szablony/pieknieje/images/salony_icons/icon_barber.png";
ikona2.iconSize = new GSize(iconSizeX, iconSizeY);
ikona2.shadowSize = new GSize(0, 0);
var markerOptions2 = { icon: ikona2 };

// oba
var ikona3 = new GIcon(G_DEFAULT_ICON);
ikona3.image = "/szablony/pieknieje/images/salony_icons/icon_both.png";
ikona3.iconSize = new GSize(iconSizeX, iconSizeY);
ikona3.shadowSize = new GSize(0, 0);
var markerOptions3 = { icon: ikona3 };

// aktywny fryzjerski
var ikona4 = new GIcon(G_DEFAULT_ICON);
ikona4.image = "/szablony/pieknieje/images/salony_icons/icon_cosmetic_active.png";
ikona4.iconSize = new GSize(iconSizeX, iconSizeY);
ikona4.shadowSize = new GSize(0, 0);
var markerOptions4 = { icon: ikona4 };

// aktywny kosmetyczny
var ikona5 = new GIcon(G_DEFAULT_ICON);
ikona5.image = "/szablony/pieknieje/images/salony_icons/icon_barber_active.png";
ikona5.iconSize = new GSize(iconSizeX, iconSizeY);
ikona5.shadowSize = new GSize(0, 0);
var markerOptions5 = { icon: ikona5 };

// aktywny oba
var ikona6 = new GIcon(G_DEFAULT_ICON);
ikona6.image = "/szablony/pieknieje/images/salony_icons/icon_both_active.png";
ikona6.iconSize = new GSize(iconSizeX, iconSizeY);
ikona6.shadowSize = new GSize(0, 0);
var markerOptions6 = { icon: ikona6 };

/* Pieknieje Google Maps Object */
MapData = function(id, x, y, name, address, description, typ, miastoId, link) {
    this.id = id;
    this.x = x;
    this.y = y;
    this.name = name;
    this.address = address;
    this.description = description;
    this.typ = typ.split(',');
    this.miastoId = miastoId;
    this.link = link;
}

createMarker = function(latlng, mapElement, salon_active) {
    var marker = false;
    if (mapElement.typ == '1' && !salon_active) {
        marker = new GMarker(latlng, markerOptions1);
    } else if (mapElement.typ == '2' &&  !salon_active) {
        marker = new GMarker(latlng, markerOptions2);
    } else if ((mapElement.typ == '1,2' || mapElement.typ == '2,1') && !salon_active) {
        marker = new GMarker(latlng, markerOptions3);
    } else if (mapElement.typ == '1') {
        marker = new GMarker(latlng, markerOptions4);
    } else if (mapElement.typ == '2') {
        marker = new GMarker(latlng, markerOptions5);
    } else {
        marker = new GMarker(latlng, markerOptions6);
    }

    marker.value = mapElement.id;
    GEvent.addListener(marker,"click", function() {
        var myHtml = "<b style=\"font: normal 14px/16px georgia; color: #871040; display: block; padding: 0 0 10px;\">" + mapElement.name + "</b><span  style=\"font: normal 10px/10px georgia; color: #040404\">" + mapElement.address + "</span><br /><br /><a style=\"font: normal 11px/12px georgia; color: #871040;\" href=\"" + mapElement.link +"\">przejdź do strony salonu</a>";
        mapSrc.openInfoWindowHtml(latlng, myHtml);
    });
    markersBase[mapElement.id] = marker;
    return marker;
}

reloadMapPoints = function() {
    var h, i, j, k;

    // Pobieramy aktualne dane o wybranych kryteriach
    wybraneTypySalonow = new Array();
    $('input[id^=salony_]:checked').each(function() {
        typ = parseInt(this.id.replace('salony_', ''));
        wybraneTypySalonow.push(typ);
    });
    wybraneMiasta = new Array();
    $('input[id^=google_miasto_]:checked').each(function() {
        typ = parseInt(this.id.replace('google_miasto_', ''));
        wybraneMiasta.push(typ);
    });

    for (i in Map) {
        show1 = false;
        show2 = false;

        for (j in Map[i].typ) {
            if (parseInt(Map[i].typ[j])) {
                for (h in wybraneTypySalonow) {
                    if (Map[i].typ[j] == wybraneTypySalonow[h]) {
                        show1 = true;
                        break;
                    }
                }
            }
        }

        for (k in wybraneMiasta) {
            if (Map[i].miastoId == wybraneMiasta[k]) {
                show2 = true;
                break;
            }
        }

        if (markersBase[Map[i].id]) {
            if (show1 == true && show2 == true) {
                markersBase[Map[i].id].show();
            } else {
                markersBase[Map[i].id].hide();
            }
        }
    }
}

function initialize() {
  if (GBrowserIsCompatible()) {
    mapSrc = new GMap2(document.getElementById("mapaSalonow"));
    mapSrc.setUIToDefault();

    i = 0;
    var salonId = $('#salon_id').val();

    for (i in Map) {
        mapElement = Map[i];
        if (mapElement.x && mapElement.y) {
            var point = new GLatLng(mapElement.x, mapElement.y);
            var salon_active = false;
            if (mapElement.id == salonId) {
                salon_active = true;
                mapSrc.setCenter(point, 12);
            }
            mapSrc.addOverlay(createMarker(point, mapElement, salon_active));
        }
    }

    if (salonId == 0) {
        mapSrc.setCenter(new GLatLng(52.025459, 19.204102), 6);
    }
  }
}

function buttonClickBind() {
    $('input[id=pokaz_salony_button]').bind('click', function() {
        reloadMapPoints();
    });
}

$(document).ready(function() {
    initialize();
    reloadMapPoints();
    buttonClickBind();
});
