function prepare_map(element) {
  if (!GBrowserIsCompatible())
    return;
  if (!document.getElementById(element))
    return;

  var map = new GMap2(document.getElementById(element), { size: new GSize(495, 465) });
  map.setCenter(new GLatLng(51.9194380, 19.1451360), 6);
  map.disableDragging();
  map.disableDoubleClickZoom();

  var localizations = [
    [ 16.8841961, 51.1339861, 'dolnośląskie' ],
    [ 18.4834224, 53.1648363, 'kujawsko-pomorskie' ],
    [ 23.1011392, 51.2493519, 'lubelskie'],
    [ 15.2559103, 52.2274612, 'lubuskie' ],
    [ 19.1726974, 51.4634771, 'łódzkie' ],
    [ 20.2503359, 49.7225306, 'małopolskie' ],
    [ 21.0768288, 52.5373228, 'mazowieckie' ],
    [ 17.9379890, 50.8003761, 'opolskie' ],
    [ 22.0895691, 50.0574749, 'podkarpackie' ],
    [ 22.9674639, 53.0697159, 'podlaskie' ],
    [ 18.1531164, 54.2944252, 'pomorskie' ],
    [ 19.3219768, 50.5716595, 'śląskie' ],
    [ 20.9406279, 50.6261041, 'świętokrzyskie' ],
    [ 20.7027860, 53.8671117, 'warmińsko-mazurskie' ],
    [ 17.3522939, 52.2799860, 'wielkopolskie' ],
    [ 15.1822581, 53.4657891, 'zachodniopomorskie' ]
  ];
  for (var i = 0; i < 16; i++) {
    var data = localizations[i];
    var marker = new GMarker(new GLatLng(data[1], data[0]), { title: data[2] });
    map.addOverlay(marker);
    GEvent.addListener(marker, 'click', function() {
      document.location = PARTNERS_PATH + '/jak-kupic?search[of_country_area]=' + this.getTitle();
    });
  }
}

jQuery(document).ready(function() {
  prepare_map('map_canvas');

  var offset = jQuery('#map_image').offset();
  jQuery('#map_wrapper').css({ top: offset.top, left: offset.left });

  jQuery('#map_image').click(function() {
    var offset = jQuery('#map_image').offset();
    jQuery('#map_wrapper').animate({ width: 500, height: 470, top: offset.top - 380, left: offset.left - 100, opacity: 1 }, function() {
      jQuery('#map_canvas').show();
    });
  });

  jQuery('#map_wrapper').mouseleave(function() {
    var offset = jQuery('#map_image').offset();
    jQuery('#map_wrapper').animate({ width: 0, height: 0, top: offset.top, left: offset.left, opacity: 0 });
    jQuery('#map_canvas').hide();
  });

  jQuery('#print_button').click(function () {
    if (!window.print){
      alert("Twoja przeglądarka nie obsługuje drukowania!");
      return 0;
    }
    window.print();
  });
});

jQuery(document).ready(function() {
	var simpleTabs = jQuery(".simpleTabs:first");
	if (simpleTabs != null && simpleTabs.length > 0) {
		jQuery(".tabNag").click(function(e){
			e.preventDefault();
			if (!jQuery(this).hasClass('on')) {
				jQuery(this).siblings().removeClass('on');
				jQuery(this).addClass('on');
				jQuery(this).parents(".simpleTabsContainer").find(".simpleTabsWrap > div").hide();
				jQuery("#"+jQuery(this).attr('id').replace('_n_', '_c_')).show();
			}
		});
	}

	jQuery(".toggleElem").each(function(){
		jQuery(this).after(jQuery("<button>").addClass('toggleButton').click(function(e){
			e.preventDefault();
			jQuery(this).prev().slideToggle(500,function(){
				jQuery(this).toggleClass('opened');
			});
		}));
	});

	jQuery(".slideshow").each(function(){
		var
			tempCont = jQuery("<span>").addClass('slideshowNavi'),
			buttonsContainer,
			slideshow = jQuery(this);

		tempCont.append(jQuery("<span>").addClass('slideshowNaviContL').append(jQuery("<span>").addClass('slideshowNaviContR').append(buttonsContainer = jQuery("<span>").addClass('slideshowNaviContC'))));

		tempCont.prependTo(slideshow);

		jQuery(this).hover(function(){
			jQuery(this).addClass('mouseOver');
		}, function(){
			jQuery(this).removeClass('mouseOver');
		}).children('.slide').hide().css({
			'position' : 'absolute',
			'top' : 0,
			'left' : 0
		}).each(function(i){
			if (i == 0) {
				jQuery(this).show().addClass('on');
			}
			var slide = jQuery(this);
			buttonsContainer.append(jQuery("<button>").addClass('pointer').addClass((i == 0) ? "on" : "").text(i).click(function(){
				jQuery(this).addClass('on').siblings().removeClass('on');
				slide.siblings('.slide').fadeOut(300).removeClass('on');
				slide.addClass('on');
				slide.fadeIn(300);
			}));
		});

		this.interval = setInterval(function(){
			if (!slideshow.hasClass('mouseOver')) {
				if (buttonsContainer.find('.on').next().length > 0) {
					buttonsContainer.find('.on').next().trigger('click');
				}
				else {
					buttonsContainer.find('.pointer:first').trigger('click');
				}
			}
		},5000);

	});

});

/*
 * Registers a callback which copies the csrf token into the
 * X-CSRF-Token header with each ajax request.  Necessary to
 * work with rails applications which have fixed
 * CVE-2011-0447
*/

(typeof Ajax != 'undefined' && Ajax.Responders.register({
  onCreate: function(request) {
    var csrf_meta_tag = $$('meta[name=csrf-token]')[0];

    if (csrf_meta_tag) {
      var header = 'X-CSRF-Token',
          token = csrf_meta_tag.readAttribute('content');

      if (!request.options.requestHeaders) {
        request.options.requestHeaders = {};
      }
      request.options.requestHeaders[header] = token;
    }
  }
}));

jQuery(document).ajaxSend(function(e, xhr, options) {
  var token = jQuery("meta[name='csrf-token']").attr("content");
  xhr.setRequestHeader("X-CSRF-Token", token);
});

