function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    if (typeof(str) != 'undefined') {
        return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
    }
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    if (typeof(str) != 'undefined') {
        return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
    }
}

$(document).ready(function() {

    /*
     * Otwieranie popupa z wersja do druku
     */
    $(".print").click(function(){
        //alert(location.pathname);
        var printUrl = BASE_URL + location.pathname + "?printable=yes";
        window.open(printUrl, 'Wersja do druku', 'toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,fullscreen=no,channelmode=no,width=680,height=700,top=100,left=100');
        return false;
    });

    $('#addComment a').click(function(){
         if(!lock){
             lock = true;
             $.ajax({
                 type: "POST",
                 url: BASE_URL+'/comments/comments/add/srcmodule/page',
                 data: $("#commentForm").serialize(),
                 dataType: 'json',
                 success: function(msg){
                     if(msg.noValid == null){
                         $('#commentForm input[type="text"], #commentForm textarea').each(function(){
                             $(this).val('');
                         });
                         window.location.reload( false );
                     } else {
                         $('#commentForm .errorMsg').text('Wypełnij poprawnie formularz.').css('color', '#F00');
                     }
                     lock = false;
                 }
             });
         }
    });

    $('#sendMsg').click(function(){
         if(!lock){
             lock = true;
             $.ajax({
                 type: "POST",
                 url: BASE_URL+'/contact/contact/send',
                 data: $("#contactForm").serialize(),
                 dataType: 'json',
                 error: function (o){
                     alert(111);
                  },
                 success: function(msg){
                     if(msg.noValid == null){
                         alert(1);
                         $('#contactForm input[type="text"], #commentForm textarea').each(function(){
                             $(this).val('');
                         });
                         $('#contactForm .errorMsg').text('Twoja wiadomość została wysłana pomyślnie.').css('color', '#7AA7BC');
                     } else {
                         alert(2);
                         $('#contactForm .errorMsg').text('Wypełnij poprawnie formularz.').css('color', '#F00');
                     }
                     lock = false;
                 }
             });
         }
         return false;
    });


    // OFERTY PRACY
    $('a.turnOff').live('click', function() {
        var offer_ID = $(this).attr('rel');
        var handle = $(this);

        $.ajax({
               type: 'POST',
               url: BASE_URL + '/default/offers/turnoff',
               data: 'offer_ID=' + offer_ID,
               success: function(msg){

                 $(handle).parent().html(msg);

               }
             });


    return false;
    });

    $('a.turnOn').live('click', function() {
        var offer_ID = $(this).attr('rel');
        var handle = $(this);

        $.ajax({
               type: 'POST',
               url: BASE_URL + '/default/offers/turnon',
               data: 'offer_ID=' + offer_ID,
               success: function(msg){

                 $(handle).parent().html(msg);

               }
             });


    return false;
    });


    $('.makeTransparent').css('opacity', 0.90);

    $('#setLargeFont').click(function(){
        $('.text').css('font-size', '16px');
        $('.text em').css('font-size', '16px');
        return false;
    });

    $('#setMediumFont').click(function(){
        $('.text').css('font-size', '14px');
        $('.text em').css('font-size', '14px');
        return false;
    });

    $('#setOriginalFont').click(function(){
        $('.text').css('font-size', '12px');
        $('.text em').css('font-size', '12px');
        return false;
    });

    /*

    $(".newsBody .text img").each(
            function(desc){

                // defintions of variables -> image attributes

                var alt = $(this).attr("alt");
                var title = $(this).attr("title");
                var width = $(this).width();

                if     (title !=''){
                $(this).wrap('<div class="descImgSc"></div>');

                    // checking width value of the tagged element

                    $(this).parent().css("width",width);

                // adding description


                $(this).after('<div class="titleDescSc">'+title+'</div>');
                }

            }
       );

     */

    // SZUKAJKA

    $('.searchInput').focus(function () {
        if ('szukaj w serwisie' == $(this).val()) {
            $(this).val('');
        }
    });

    $('.searchInput').blur(function () {
        if ('' == $(this).val()) {
            $(this).val('szukaj w serwisie');
        }
    });

    // SZUKAJKA w BAZIE WIEDZY

    $('.searchKnowledgeInput').focus(function () {
        if ('wpisz szukaną frazę' == $(this).val()) {
            $(this).val('');
        }
    });

    $('.searchKnowledgeInput').blur(function () {
        if ('' == $(this).val()) {
            $(this).val('wpisz szukaną frazę');
        }
    });
    // SZUKAJKA w SLOWNIKU

    $('.searchInputDict').focus(function () {
        if ('wpisz szukaną frazę' == $(this).val()) {
            $(this).val('');
        }
    });

    $('.searchInputDict').blur(function () {
        if ('' == $(this).val()) {
            $(this).val('wpisz szukaną frazę');
        }
    });

    // NEWSLETTER

    $('#mailingInput').focus(function () {
        if ('zapisz / wypisz się' == $(this).val()) {
            $(this).val('');
        }
    });

    $('#mailingInput').blur(function () {
        if ('' == $(this).val()) {
            $(this).val('zapisz / wypisz się');
        }
    });

    // Oe. Target Blank

    $('a.targetBlank').click(function () {
        window.open($(this).attr('href'));
        return false;
    });

    // subMenu
    $('body').click(function () {
        $('.subMenu div.fullOptionsList').hide();
        $('.selectList').hide();
    });

    // modified by J. Krolewski & W. Krzysztofik

    $('#mainSubMenu .specialSpan').click(function (e) {
        if($(e.target).next().next().css('display') == 'none') {
            $('.subMenu div.fullOptionsList').hide();
            $(e.target).next().next().show();
        }
        else {
            $('.subMenu div.fullOptionsList').hide();
        }
        return false;
    });

    $('.specialSpan').hover(function (e) {
        $(this).parent().addClass('addSSpanBg');
        $(this).next().addClass('active');
    },
    function(e){
        $(this).parent().removeClass('addSSpanBg');
        $(this).next().removeClass('active');
    });


    //submit dla form
    $('.submitButton, .send, .searchBtn').live('click', function (e) {
        $(e.target).closest('form').submit();
        return false;
    });

    $('input#userEmail').keypress(function(e) {
        if(e.which == 13) {
            $('form#formLogon').submit();
        }
    });

    $('input#userPassword').keypress(function(e) {
        if(e.which == 13) {
            $('form#formLogon').submit();
        }
    });

    // stronicowanie blog eksperckiego z fadowaniem

    $('#lastExpertsBlog .prevPage, #lastExpertsBlog .nextPage').live('click',function () {
    $('.ajax-orange').show();
    jQuery.each(jQuery.browser, function(i){
        if ($.browser.msie) {
             $('.grid_5 .bodyBoxBlog img').css('opacity', 0.3);
             $('.grid_5 .bodyBoxBlog .category li').css('color', '#ebebeb');
             $('.grid_5 .bodyBoxBlog .category li a').css('color', '#ebebeb');
             $('.grid_5 .bodyBoxBlog .category li a').css('background', 'none');
             $('.grid_5 .bodyBoxBlog .shortDesc').css('color', '#ebebeb');
        }
        else {
             $('.grid_5 .bodyBoxBlog img').css('opacity', 0.3);
             $('.grid_5 .bodyBoxBlog li').css('opacity', 0.3);
        }
    });
     $('#lastExpertsBlog').load($(this).attr('href'));
     return false;
    });

    // stronicowanie komentarzy
    $('#lastComments .prevPage, #lastComments a.nextPage').live('click',function () {
         $('.ajax-grey').show();
                 jQuery.each(jQuery.browser, function(i){
            if ($.browser.msie) {
                 $('.grid_5 .bodyBoxComments .category li').css('color', '#ebebeb');
                 $('.grid_5 .bodyBoxComments .category li a').css('color', '#ebebeb');
                 $('.grid_5 .bodyBoxComments .category li a').css('background', 'none');
                 $('.grid_5 .bodyBoxComments .subTitle').css('color', '#ebebeb');
                 $('.grid_5 .bodyBoxComments .authorName').css('color', '#ebebeb');
            }
            else {
                 $('.grid_5 .bodyBoxComments li').css('opacity', 0.3);
            }
        });


        if($('.pageType').attr('id') == "subpage") {
            $('#lastComments').load($(this).attr('href'));
        } else {
            $('#lastComments').load($(this).attr('href'));
        }

        return false;
    });


    // zakladki ostatnio dodanych newsow na stronie glownej
    $('#lastWeekNav a').live('click', function () {
        $('#lastNews').load('/default/index/sidebarweeknewsajax/1');
        $('#lastMonthNav').removeClass('active');
        $('#lastWeekNav').addClass('active');

        return false;
    });

    $('#lastMonthNav a').live('click', function () {
        $('#lastNews').load('/default/index/sidebarmonthnewsajax/1');
        $('#lastWeekNav').removeClass('active');
        $('#lastMonthNav').addClass('active');

        return false;
    });

    // POPULARNE
    var weekPage = 1;
    var monthPage = 1;
    // defaultowo aktywny jest miesiac
    var monthActive = 1;
    // max liczba stron
    var weekTotalPages = $('input[name="popularTotalPages"]').val();
    var monthTotalPages = $('input[name="popularTotalPages"]').val();

    // wyszarzanie popularych
    var opacityPopular = function() {
        jQuery.each(jQuery.browser, function(i){ 
            if ($.browser.msie) {
                 $('.grid_5 #lastMonth img').css('opacity', 0.3);
                 $('.grid_5 #lastMonth .category li').css('color', '#ebebeb');
                 $('.grid_5 #lastMonth .category li a').css('color', '#ebebeb');
                 $('.grid_5 #lastMonth .category li a').css('background', 'none');
                 $('.grid_5 #lastMonth .shortDesc').css('color', '#ebebeb');
            }
            else {
                 $('.grid_5 #lastMonth img').css('opacity', 0.3);
                 $('.grid_5 #lastMonth li').css('opacity', 0.3);
            }
        });
        // przy okazji updaejtujemy liczbe stron
        weekTotalPages = $('input[name="popularTotalPages"]').val();
        monthTotalPages = $('input[name="popularTotalPages"]').val();
    };
    $('#prevPageSwitch').live('click', function() {
        // jezeli aktywna zakladka miesiaca to stronicujemy miesiac :)
        if (1 === monthActive) {
            // jezli ostatnia strona
            if (monthPage >= monthTotalPages) {
                $(this).addClass('unactiveGrey');
                return false;
            }
            $(this).removeClass('unactiveGrey');
            monthPage++;
            opacityPopular();
            $('#lastSidebarNews').load('/default/index/sidebarmonthnewsajax/'+monthPage+'/sidebar/true');
        }
        else {
            if (weekPage >= weekTotalPages) {
                $(this).addClass('unactiveGrey');
                return false;
            }
            $(this).removeClass('unactiveGrey');
            weekPage++;
            opacityPopular();
            $('#lastSidebarNews').load('/default/index/sidebarweeknewsajax/'+weekPage+'/sidebar/true');
        }
        return false;
    });

    $('#nextPageSwitch').live('click', function() {
        // jezeli aktywna zakladka miesiaca to stronicujemy miesiac :)
        if (1 === monthActive) {
            // jezeli to pierwsza strona, to nie da sie cofnac
            if (monthPage === 1) {
                $(this).addClass('unactiveGrey');
                return false;
            }
            $(this).removeClass('unactiveGrey');
            monthPage--;
            opacityPopular();
            $('#lastSidebarNews').load('/default/index/sidebarmonthnewsajax/'+monthPage+'/sidebar/true');
        }
        else {
            if (weekPage === 1) {
                $(this).addClass('unactiveGrey');
                return false;
            }
            $(this).removeClass('unactiveGrey');
            weekPage--;
            opacityPopular();
            $('#lastSidebarNews').load('/default/index/sidebarweeknewsajax/'+weekPage+'/sidebar/true');
        }
        return false;
    });

    // zakladki ostatnio dodanych newsow w sidebarze
    $('#lastSidebarWeekNav a').live('click', function () {
        $('#lastSidebarMonthNav').removeClass('active');
        opacityPopular();

        $('#lastSidebarNews').load('/default/index/sidebarweeknewsajax/'+weekPage+'/sidebar/true');

        $('#lastSidebarWeekNav').addClass('active');
        monthActive = 0;
        return false;
    });

    $('#lastSidebarMonthNav a').live('click', function () {
        $('#lastSidebarWeekNav').removeClass('active');
        opacityPopular();
        $('#lastSidebarNews').load('/default/index/sidebarmonthnewsajax/'+monthPage+'/sidebar/true');

        $('#lastSidebarMonthNav').addClass('active');
        monthActive = 1;
        return false;
    });
    
    // popularne tematy na groupach dyskusyjnych
    $('#lastGroupsWeekNav a').live('click', function () {
    	$('#lastWeek').removeClass('displayNone');
        $('#lastMonth').hide();
        $('#lastWeek').show();
        $('#lastGroupsMonthNav').removeClass('active');
        $('#lastGroupsWeekNav').addClass('active');

        return false;
    });

    $('#lastGroupsMonthNav a').live('click', function () {
        $('#lastWeek').hide();
        $('#lastMonth').show();
        $('#lastGroupsWeekNav').removeClass('active');
        $('#lastGroupsMonthNav').addClass('active');

        return false;
    });
    
    // koniec POPULARNE

    // stronicowanie popularnych w danym miesiacu newsow w sidebarze
    $('#lastSidebarNews #monthPrevPage, #lastNews #monthNextPage').live('click',function () {
        $('#lastSidebarNews').load($(this).attr('href'));
        return false;
    });

    // stronicowanie popularnych w danym tygodniu newsow w sidebarze
    $('#lastSidebarNews #weekPrevPage, #lastNews #weekNextPage').live('click',function () {
        $('#lastSidebarNews').load($(this).attr('href'));
        return false;
    });

    //select OPT by J. Królewski
    $('.selectBox').click(function() {
        $this=$(this);
        if (($this).find(".selectList").hasClass("show")){
                $(".selectList").slideUp("0.1");
                $($this).find(".selectList").removeClass("show");
            }
            else
            {
                $($this).find(".selectList").addClass("show");
                $(".selectList").slideDown("0.1");
            }
        return false;
    });


    $(".selectList li a").click(function () {
      $this=$(this);
      var htmlStr = $($this).html();
      $(".selectBox span").text(htmlStr);

      var params = $(this).attr('rel');
      $('#params').attr('value', params);

    });

    //profile bars by J. Królewski, modyfied by M. Białas

    function tabSlide(t, link) {
        var tabN = link.attr('rel');
        if (link.hasClass("profileArrowShow")) {
            $("#"+tabN).slideDown("10");
            t.addClass("greyActive");
            link.removeClass("profileArrowShow").addClass("profileArrowHide");
        } else {
            $("#"+tabN).slideUp("10");
            link.removeClass("profileArrowHide").addClass("profileArrowShow");
            t.removeClass("greyActive");
        }
    }

    $('.ntBar').click(function(e) {
          var t = $(e.target);
          var link = t.children('div.slidingNavigation').children('a');
          tabSlide(t, link);
          return false;
    });

    $('.ntBar .linkntBar').click(function(e) {
        var t = $(e.target).parent();
        var link = t.children('div.slidingNavigation').children('a');
        tabSlide(t, link);
        return false;
    });

    $('.ntBar div.slidingNavigation a').click(function(e) {
        var t = $(e.target).parent().parent();
        var link = $(e.target);
        tabSlide(t, link);
        return false;
    });

    if($('.ntBar.current').length) {
        var t = $('.ntBar.current');
        var link = t.children('div.slidingNavigation').children('a');
        tabSlide(t, link);
        return false;
    }

    //linking empty icons
    $(".addingOption").click(function(){
        var $this=$(this);
        var link=$this.find("a").attr("href");
        if (link!=''){
            window.location = link;
        }
    });

    $(".webskieImg").click(function(){
        var $this=$(this);
        var link=$this.find("a").attr("href");
        if (link!=''){
            window.location = link;
        }
    });

    $('#lol').css('opacity', 0.8);

    /**
    * dictionary
    *
    */

    var show_dictionary = readCookie('show_dictionary');

    // automatyczne wlacznie slownika
    if ('1'==show_dictionary || null == show_dictionary) {
        showDictionaryPhrases();
    };

    // wlaczanie, wylaczanie slownika
    $('.mainTool .dictionary, ').click(function() {
        show_dictionary = readCookie('show_dictionary');

        var date = new Date();
        var days = 366;
        date.setTime(date.getTime()+(days*24*60*60*1000));

        if ('0' == show_dictionary) {
            document.cookie = 'show_dictionary=1; expires=' + date.toGMTString() + '; path=/';
            showDictionaryPhrases();
        }
        else {
            document.cookie = 'show_dictionary=0; expires=' + date.toGMTString() + '; path=/';
            hideDictionaryPhrases();
        }
        //alert(show_dictionary);
        return false;
    });

    // zamiana span na hrefa
    function showDictionaryPhrases() {
        $('a.dictionary').addClass('active');

        $('.text span.dictionary').each(function() {
            var $this = $(this);
            var ids = $this.attr('id');
            var description = $this.attr('alt');

            ids = ids.replace('#','/');
            $this.html('<a href="'+BASE_URL+'/biznes/slownik/fraza/'+ids+'">'+$this.html()+'</a><span class="dictionaryTooltip">'+description+'</span>');
        });
    };

    // odwrotnosc showDictionaryPhrases()
    function hideDictionaryPhrases() {
        $('a.dictionary').removeClass('active');

        $('.text span.dictionary').each(function() {
            var $this = $(this);
            var ahref_text = $this.children('a').html();

            $this.html(ahref_text);
        });
    };

    // wyswietlanie tooltipa w dictionary
    $('.text span.dictionary').hover(function() {
        var $this = $(this);
        $this.children('.dictionaryTooltip').css('display','block');
        // fix dla przebijajacych sie innych spanow
        $('.text span.dictionary').css('zIndex','0');
        $this.css('zIndex','99999');

    }, function() {
        $(this).children('.dictionaryTooltip').css('display','none');
        $('.text span.dictionary').css('zIndex','0');
    });
    // end dictionary

    // events
    $('.eventUserStatusSwitch').click(function() {
        var $this = $(this);
        var link = $this.attr('href');
        var status = $this.attr('rel');


        $.ajax({
            type: "POST",
            url: link,
            data: 'status='+status,
            success: function(msg){
                var new_status = 0;
                var new_text = 'zrezygnuj';

                if (status == 0) {
                    new_status = 1;
                    new_text = 'dołącz';
                }
                $this.attr('rel',new_status);
                $this.html(new_text);
            }
        });

        return false;
    });

    $(".newsBody .text img.captionImage").each(
        function(desc){

            //defintions of variables -> image attributes

            var alt = $(this).attr("alt");

            if (!('' == alt || -1 != $(this).attr("src").indexOf(alt))) {
                var title = $(this).attr("title");
                var width = $(this).width();
                var style = $(this).attr("style");
                $(this).attr("style", " ");

                $(this).wrap('<div class="descImgSc"></div>');

                    // checking width value of the tagged element

                    $(this).parent().css("width",width);
                    $(this).parent().attr("style",style);

                // adding description

                $(this).after('<div class="titleDescSc">'+alt+'</div>');
            }
        }
   );
   
   // odswiezenie obrazka captcha
    $('#captchaReload').click(function(e) {
        e.preventDefault();
        $('#captchaWrapper').load('/comments/comments/generate-captcha/');
    });
});

function formFocus(e) {
    var $this=$(e.target);
    $this.parent().css("background","#a9a8a8");
    var lookUp=$this.parent().find("input");
    lookUp.css("border","3px solid #878686");
    $this.css("border","3px solid #515151");
}

function formBlur(e) {
    var $this=$(e.target);
    $(".fieldsetPaddingSetting").css("background","transparent");
    $(".fieldsetPaddingSetting input").css("border","3px solid #999999");
}

function formFocusText(e) {
    var $this=$(e.target);
    $this.closest('fieldset').css("background","#a9a8a8");
}

function formBlurText(e) {
    var $this = $(e.target);
    $(".fieldsetPaddingSetting").css("background","transparent");
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

