jQuery(document).ready(function($) {
    var mapUrl = 'http://www.piotrnalepa.pl/turcja/pocieta-mapa-turcja.png';	
    var loadingText = "Wczytywanie ...";
    var loadingErrorText = "Brak mapy!";
    var tooltipArrowHeight = 6;
    var visibleListId = '#map-widoczna-lista'; /* id div.a z widoczną listą regionów
							  		nie zapomnij zmienić id w pliku .css */
    var agentsListId = '#adresy';	/* id div.a z listą adresów/przedstawicieli

    var searchLink = 'szukaj.php';
    var searchLinkVar = 'wojewodztwo';
    var searchName = 'Szukaj';

    $.multipleClickAction = function(e){
        var clickedRegions=[];
        $('#turcja').find('.active-region').each(function(){
            var url=$(this).children('a').attr('href');
            var slicedUrl=url.slice(1);
            clickedRegions.push(slicedUrl);
        });
        $('#search-link').attr('href',searchLink+'?'+searchLinkVar+'='+clickedRegions.join('|'));
    }

    // FUNKCJE STANDARDOWE
    // kliknięcie w region
    $.defaultClickAction = function(e) {
        var url = $(e).children('a').attr('href'); 
        window.location.href = url;
        $(agentsListId).find('li').hide();
        $(url+','+url+' li').show();
    }
    $.doubleClickedRegion = function(e) {
        $(e).removeClass('active-region');
        $(agentsListId).find('li').hide();
    }


    /* --------------------------------------------------------
tutaj zaczyna sie mapa

NIE EDYTUJ! 

Turcja, interaktywna mapa regionów by Piotr Nalepa | http://www.piotrnalepa.pl/turcja/index.html
Map copyright (C) 2011 Piotr Nalepa | All Rights Reserved
Na podstawie skryptu autorstwa Winston Wolf
script version: 3.4 by Winston Wolf | http://winstonwolf.pl
Copyright (C) 2011 Winston_Wolf | All rights reserved


poważnie, NIE EDYTUJ TEGO! */
    $('#map-tr').prepend('<span id="loader">'+loadingText+'</span>').addClass('script');
    $('#turcja').find('a').hide();
    $(agentsListId).find('li').hide();

    if($('#map-tr').hasClass('multiple-click')){
        if(searchLink==''){
            var searchLink='search.php';
        }
        if(searchLinkVar==''){
            var searchLinkVar='region';
        } 
        if(searchName==''){
            var searchName='Search';
        } 
        $('<a href="'+searchLink+'" id="search-link">'+searchName+'</a>').insertAfter('#turcja');
    } 

    if($('#map-tr').hasClass('widoczna-lista')){
        $('#map-tr').after('<div id="'+visibleListId.slice(1)+'"><ul></ul></div>');
    } 
    if(mapUrl==''){
        var mapUrl=$('#turcja').css('background-image').replace(/^url\("?([^\"\))]+)"?\)$/i,'$1');
    }

    var mapImg=new Image();
    $(mapImg).load(function(){ 
        var countRegions=0;
        var clickedRegions=[];
        $('#loader').fadeOut();
        $('#turcja').find('li').each(function(){
            var liid=$(this).attr('id');
            var url=$(this).children('a').attr('href');
            var code=null;
            var spans=0;
            countRegions++;
            switch(liid){
                case'tr3':
                    spans=6;
                    break;
                case'tr4':
                    spans=7;
                    break;
                case'tr5':
                    spans=9;
                    break;
                case'tr6':
                    spans=5;
                    break;
                default:
                    spans=4;
            }
            var tooltipLeft=$(this).children('a').outerWidth()/-2;
            var tooltipTop=$(this).children('a').outerHeight()*-1-tooltipArrowHeight;
		
            if($('#map-tr').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({
                'margin-left':tooltipLeft,
                'margin-top':tooltipTop
            });
            if($('#map-tr').hasClass('widoczna-lista')){
                var liHref=$(this).children('a').attr('href');
                var liText=$(this).children('a').text();
                $(visibleListId+' ul').append('<li class="'+liid+'"><a href="'+liHref+'">'+liText+'</a></li>');
            }
            if($(this).children('a').hasClass('active-region')||url==window.location.hash){
                $(this).addClass('active-region focus');
                $(agentsListId).find('li').hide();
                $(url+','+url+' li').show();
                $('.'+$(this).attr('id')).children('a').addClass('active-region');
                $('#search-link').attr('href',searchLink+'?'+searchLinkVar+'='+url.slice(1));
            }
        }).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));
        });
        if($('#map-tr').hasClass('widoczna-lista')){
            $(visibleListId).find('a').each(function(){
                var itemId='#'+$(this).parent().attr('class');
                $(this).hover(function(){
                    $.MapHoveredRegion(itemId);
                },function(){
                    $.MapUnHoveredRegion(itemId);
                }).focus(function(){
                    $.MapHoveredRegion(itemId);
                }).blur(function(){
                    $.MapUnHoveredRegion(itemId);
                }).keypress(function(e){
                    code=(e.keyCode?e.keyCode:e.which);
                    if(code==13)
                        $.MapClickedRegion(itemId);
                }).click(function(e){
                    $.MapClickedRegion(itemId);
                });
            });
        }
    }).error(function(){
        $('#loader').text(loadingErrorText);
        $('#turcja').find('span').hide();
        $('#map-tr,#turcja').css({
            'height':'auto',
            'left':'0',
            'margin':'0 auto'
        });
    }).attr('src',mapUrl);
    $.MapClickedRegion=function(e){
        var listItemId='.'+$(e).attr('id');
        if($('#map-tr').hasClass('multiple-click')){
            if($(e).hasClass('active-region')){
                $(e).removeClass('active-region');
                $(listItemId).children('a').removeClass('active-region');
            }
            else{
                $(e).addClass('active-region');
                $(listItemId).children('a').addClass('active-region');
            }
            $.multipleClickAction(e);
        }
        else{
            if($(e).hasClass('active-region')){
                $.doubleClickedRegion(e);
                $(listItemId).children('a').removeClass('active-region');
                window.location.hash="";
            }
            else{
                $('#turcja,'+visibleListId).find('.active-region').removeClass('active-region');
                $('#turcja').find('.focus').removeClass('focus');
                if($(e).hasClass('active-region')){
                    $(e).removeClass('active-region focus');
                    $(listItemId).children('a').removeClass('active-region');
                }
                else{
                    $(e).addClass('active-region focus').children('a').show();
                    $(listItemId).children('a').addClass('active-region');
                }
                $.defaultClickAction(e);
            }
        }
    }
    $.MapHoveredRegion=function(e){
        $('#turcja').find('.active-region').children('a').hide();
        $(e).children('a').show();
        $(e).addClass('focus');
        $('.'+$(e).attr('id')).children('a').addClass('focus');
    }
    $.MapUnHoveredRegion=function(e){
        $(e).children('a').hide();
		
        if($(e).hasClass('active-region')==false){
            $(e).removeClass('focus');
        } 
		
        $('.'+$(e).attr('id')).children('a').removeClass('focus');
    }
    var loaderLeft=$('#loader').outerWidth()/-2;
    var loaderTop=$('#loader').outerHeight()/-2;
    $('#loader').css({
        'margin-left':loaderLeft,
        'margin-top':loaderTop
    });
});
