﻿$(function($){

var mapUrl='/site_media/images/pl-340px.png'; /* Å›cieÅ¼ka do pliku .png;
                  jeÅ¼eli mapa nie Å‚aduje siÄ™ poprawnie zamieÅ„ na bezpoÅ›rednie odwoÅ‚anie do pliku, np:
                  var mapUrl='http://example.com/map/pl-340px.png'; 
                  domyÅ›lnie Å›cieÅ¼ka pobierana jest z pliku CSS, ale w niektÃ³rych przypadkach nie Å‚aduje siÄ™ prawidÅ‚owo */
var loadingText="Ładowanie..."; // tekst wyÅ›wietlany podczas Å‚adowania mapy
var loadingErrorText="Brak mapy!"; // tekst bÅ‚Ä™du; wyÅ›wietlany, gdy nie zostaÅ‚ zaÅ‚adowany plik .png
var tooltipArrowHeight=4; /* wysokoÅ›Ä‡ strzaÅ‚ki pod 'dymkiem' z nazwÄ… regionu;
                             strzaÅ‚kÄ™ moÅ¼esz usunÄ…Ä‡ w pliku CSS, 
                             po usuniÄ™ciu strzaÅ‚ki ustaw: 
                             var tooltipArrowHeight=0; */
var IdListyAdresow='#adresy'; /* id div.a z listÄ… adresÃ³w/przedstawicieli
                                 nie zapomnij o znaku hash (#)  */

// TRYB WIELOKROTNEGO WYBORU (MULTIPLE-CLICK)

var searchLink='szukaj.php'; // odnoÅ›nik do wyszukiwarki
var searchLinkVar='wojewodztwo'; // zmienna przekazywana do skryptu wyszukiwarki
var searchName='Szukaj'; // tekst odnoÅ›nika do wyszukiwarki

  $.multipleClickAction = function(e){
    var clickedRegions=[];
    $('#polska').find('.active-region').each(function(){ // szuka wybranych regionÃ³w (NIE EDYTUJ!)
       var url=$(this).children('a').attr('href'); // pobiera odnoÅ›niki wybranych regionÃ³w (NIE EDYTUJ!)

       // operacje na linkach

       var slicedUrl=url.slice(1); // domyÅ›lnie odcina hash (#) w odnoÅ›niku
       /* jeÅ¼eli uÅ¼yjesz bezpiecznych odnoÅ›nikÃ³w, np: 'szukaj.php?wojewodztwo=mazowieckie'
          musisz 'odciÄ…Ä‡' takÅ¼e parametry odnoÅ›nika:

          var slicedUrl=url.slice(url.indexOf('?')+13); // usuwa: '?wojewodztwo=' ... +13 to iloÅ›Ä‡ odciÄ™tych znakÃ³w
       */


       // uzupeÅ‚nia tablicÄ™ wybranymi regionami (NIE EDYTUJ!)
       clickedRegions.push(slicedUrl);
    });

    // tworzy odnoÅ›nik do wyszukiwarki wraz z zaznaczonymi regionami
    $('#search-link').attr('href',searchLink+'?'+searchLinkVar+'='+clickedRegions.join('|'));

   }

// FUNKCJE STANDARDOWE

  // klikniÄ™cie w region
  $.defaultClickAction = function(e){
    var url = $(e).children('a').attr('href'); // pobiera adres odnoÅ›nika klikniÄ™tego regionu (NIE EDYTUJ!)

    // domyÅ›lnie klikniÄ™cie w region przenosi na stronÄ™ w odnoÅ›niku
    window.location.href=url; 

    // wyÅ›wietla adres przedstawiciela w wybranym regionie
    $(IdListyAdresow).find('li:visible').hide();
    $(url).show();
  }

  // ponowne klikniÄ™cie w zaznaczony region
  $.doubleClickedRegion = function(e){
    // domyÅ›lnie deaktywuje zaznaczony region
    $(e).removeClass('active-region');

    // ukrywa adresy przedstawicieli
    $(IdListyAdresow).find('li:visible').hide();
   }


/* --------------------------------------------------------
tutaj zaczyna sie mapa

NIE EDYTUJ! 

Polska, interaktywna mapa wojewÃ³dztw | http://winstonwolf.pl/clickable-maps/polska.html
script version: 3.3 by Winston Wolf | http://winstonwolf.pl
Copyright (C) 2011 Winston_Wolf | All rights reserved


powaÅ¼nie, NIE EDYTUJ TEGO! */
  $('#mapa').prepend('<span id="loader">'+loadingText+'</span>').addClass('script'); $('#polska').find('a').hide(); $(IdListyAdresow).find('li').hide(); if($('#mapa').hasClass('multiple-click')){ if(searchLink==''){ searchLink='search.php'; } if(searchLinkVar==''){ searchLinkVar='region'; } if(searchName==''){ searchName='Search'; } $('<a href="'+searchLink+'" id="search-link">'+searchName+'</a>').insertAfter('#polska'); } if(mapUrl==''){ var mapUrl=$('#polska').css('background-image').replace(/"/g,"").replace(/url\(|\)$/ig, ""); } var mapImg=new Image();
  $(mapImg).load(function(){
    var countRegions=0; $('#loader').fadeOut();
    $('#polska').find('li').each(function(){
      var liid=$(this).attr('id'); var code=null; countRegions++;
      switch(liid){ case 'pl6': case 'pl8': case 'pl13': case 'pl16': spans=26; break; case 'pl5': case 'pl7': case 'pl15': spans=47; break; default: spans=31; }
      var tooltipLeft=$(this).children('a').outerWidth()/-2; var tooltipTop=$(this).children('a').outerHeight()*-1-tooltipArrowHeight; if($('#mapa').hasClass('no-tooltip')){ var tooltipTop=0; }
      $(this).prepend('<span class="map" />').append('<span class="bg" />').attr('tabindex',countRegions); for(var i=1;i<spans;i++){$(this).find('.map').append('<span class="s'+i+'" />');}
      $(this).children('a').css({'display':'none','margin-left':tooltipLeft,'margin-top':tooltipTop,'visibility':'visible'});
      if($(this).children('a').hasClass('active-region')){ $(this).addClass('active-region focus'); }
     }).hover(function(){ $.MapHoveredRegion($(this)); },function(){ $.MapUnHoveredRegion($(this)); }).focus(function(){ $.MapHoveredRegion($(this)); }).blur(function(){ $.MapUnHoveredRegion($(this)); }).keypress(function(e){ code=(e.keyCode ? e.keyCode : e.which); if(code==13) $.MapClickedRegion($(this));}).click(function(e){$.MapClickedRegion($(this)); });
   }).error(function(){$('#loader').text(loadingErrorText); $('#polska').find('span').hide(); $('#mapa,#polska').css({'height':'auto','left':'0','margin':'0 auto'});}).attr('src',mapUrl);
  $.MapClickedRegion = function(e){ if($('#mapa').hasClass('multiple-click')){ if($(e).hasClass('active-region')){ $(e).removeClass('active-region'); } else{ $(e).addClass('active-region'); } $.multipleClickAction(e); } else{ if($(e).hasClass('active-region')){ $.doubleClickedRegion(e); } else{ $('#polska').find('.active-region').removeClass('active-region'); $('#polska').find('.focus').removeClass('focus'); if($(e).hasClass('active-region')){ $(e).removeClass('active-region focus'); } else{ $(e).addClass('active-region focus').children('a').show(); } $.defaultClickAction(e); } } }
  $.MapHoveredRegion = function(e){ $('#polska').find('.active-region').children('a').hide(); $(e).children('a').show(); $(e).addClass('focus'); }
  $.MapUnHoveredRegion = function(e){ $(e).children('a').hide(); if($(e).hasClass('active-region')==false){ $(e).removeClass('focus'); } }
  var loaderLeft=$('#loader').outerWidth()/-2; var loaderTop=$('#loader').outerHeight()*-1; $('#loader').css({'margin-left':loaderLeft,'margin-top':loaderTop});
// koniec mapy

});

