(function(){
  var getScriptURL = (function() {
      var scripts = document.getElementsByTagName('script');
      var index = scripts.length - 1;
      var myScript = scripts[index];
      return function() { return myScript.src; };
  })();

  if(typeof $ === "undefined"){
    var thisScript = getScriptURL();
    var script = document.createElement('script');
    script.src = 'https://code.jquery.com/jquery-3.0.0.min.js';
    script.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(script);

    script.onload = function(){
      var script2 = document.createElement('script');
      script2.src = thisScript;
      script2.type = 'text/javascript';
      document.getElementsByTagName('head')[0].appendChild(script2);
    };

    return;
  }

  var undef;
  var decode = decodeURIComponent
  var deparam = $.deparam = function(text, reviver) {
    var result = {};
    $.each(text.replace(/\+/g, ' ').split('&'), function(index, pair) {
      var kv = pair.split('=');
      var key = decode(kv[0]);
      if ( !key ) { return; }
      var value = decode(kv[1] || '');
      var keys = key.split('][');
      var last = keys.length - 1;
      var i = 0;
      var current = result;
      if ( keys[0].indexOf('[') >= 0 && /\]$/.test(keys[last]) ) {
        keys[last] = keys[last].replace(/\]$/, '');
        keys = keys.shift().split('[').concat(keys);
        last++;
      } else {
        last = 0;
      }

      if ( $.isFunction(reviver) ) {
        value = reviver(key, value);
      } else if ( reviver ) {
        value = deparam.reviver(key, value);
      }

      if ( last ) {
        for ( ; i <= last; i++ ) {
          key = keys[i] !== '' ? keys[i] : current.length;
          if ( i < last ) {
            current = current[key] = current[key] || (isNaN(keys[i + 1]) ? {} : []);
          } else {
            current[key] = value;
          }
        }
      } else {
        if ( $.isArray(result[key]) ) {
          result[key].push(value);
        } else if ( key in result ) {
          result[key] = [result[key], value];
        } else {
          result[key] = value;
        }
      }
    });

    return result;
  };
})();



(function(){
    var dictionary_employeeFileType = {
            '48': 'Portfolio',
            '47': 'Briefing',
            '3': 'Certyfikat',
            '1': 'CV',
            '2': 'List\u0020motywacyjny',
            '4': 'Polecenie',
            '35': 'Zadanie',
        }
    var dictionary_employeeSource = {
            '5': 'Og\u0142oszenie',
            '6': 'E\u002Dmail',
            '7': 'Dodany\u0020manualnie',
            '8': 'LinkedIn',
            '9': 'GoldenLine',
            '25': 'Indeed\u0020Apply',
            '33': 'Facebook\u0020Jobs',
            '34': 'Huntoo',
            '49': 'Jobboard',
            '67': 'CV\u0020upload',
            '68': 'dobraprace.cz',
        }
    var dictionary_regions = {
        }
    var dictionary_branches = {
        }
    var dictionary_rateType = {
        }
    var dictionary_rateCharacter = {
        }
    var dictionary_rateAgreement = {
        }
    var dictionary_positions = {
        }
    var dictionary_clausesType = {
            '10': 'Zgoda\u0020w\u0020ramach\u0020aktualnej\u0020rekrutacji',
            '11': 'Zgoda\u0020w\u0020ramach\u0020przysz\u0142ych\u0020rekrutacji',
            '12': 'Zgoda\u0020na\u0020profillowanie',
            '13': 'Zgoda\u0020marketingowa',
            '14': 'Obowi\u0105zek\u0020informacyjny',
            '24': 'Zgoda\u0020niestandardowa',
        }
    var dictionary_employeeActivityType = {
            '69': 'Scalony',
            '70': 'Dodanie\u0020do\u0020Talentu',
            '71': 'Dodano\u0020plik',
            '72': 'Dodanie\u0020zgody',
            '73': 'Zgoda\u0020wycofana',
            '74': 'Polubi\u0142',
            '75': 'Nie\u0020polubi\u0142',
            '76': 'Usuna\u0142\u0020ocen\u0119',
            '77': 'Tag\u0020dodany',
            '78': 'Tag\u0020usuni\u0119ty',
            '79': 'Import\u0020z\u0020aktualizacj\u0105',
            '80': 'Usuni\u0119cie\u0020z\u0020talentu',
            '81': 'Usuni\u0119cie\u0020pliku',
            '82': 'Usuni\u0119to\u0020z\u0020wydarzenia',
            '83': 'Edycja\u0020wydarzenia',
            '84': 'Dodano\u0020ocen\u0119',
            '85': 'Mail\u0020z\u0020op\u00F3\u017Anion\u0105\u0020wysy\u0142k\u0105',
            '16': 'Email',
            '20': 'Etap\u0020rekrutacji',
            '27': 'Import',
            '15': 'Notatka',
            '19': 'SMS',
            '18': 'Spotkanie',
            '17': 'Telefon',
            '26': 'Udost\u0119pniono',
        }
    var dictionary_employeeSkill = {
        }
    var dictionary_employeeSkillType = {
            '21': 'J\u0119zyk',
            '22': 'IT',
            '23': 'Inne',
        }
    var dictionary_availability = {
        }
    var dictionary_languages = {
        }
  
  var settings = {
         }


  var customTraffitRowString = settings['custom_traffit_row_string'];
  var browserLang = navigator.language || navigator.userLanguage;
  var browserLangShort = browserLang.substr(0, 2)

  var request = { obj: {}, filter: [], limit: settings['announcement_page'] ? parseInt(settings['announcement_page']) : 10, offset: 0, page: 1 };

  var listSite = settings['announcement_list_carreer_page'];
  var traffitSite = decodeURIComponent('https\u003A\/\/clickmeeting.traffit.com\/');

  var divId = 'traffit-an-list-xtxrxaxfxixtx2x0x1x6x';
  var filterId = 'traffit-an-filters-xtxrxaxfxixtx2x0x1x6x';
  var listId = 'xtxrxaxfxixtx2x0x1x6x-list-div';
  var scriptType = 'filters';
  var paginationId = 'xtxrxaxfxixtx2x0x1x6x-pagination-div';
  var coreDiv, listDiv, filtersDiv, paginationDiv, counterSpan, infoDiv, loader;
  var font = '<link href="//fonts.googleapis.com/css?family=Roboto:400,100,300,500,600,800,700&subset=latin,cyrillic-ext,cyrillic,latin-ext" rel="stylesheet" type="text/css">';
  var iconsFont = '<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">';
  var styles = '<link rel="stylesheet" href="https\u003A\/\/cdn3.traffit.com\/22S26124\/bundles\/traffitcareerpage\/styles\/main.css">';
  var scripts = '<script type="text/javascript" src="https\u003A\/\/cdn3.traffit.com\/22S26124\/bundles\/traffitcareerpage\/app\/careerFront.js"></script>';
  var outsideStyles = "<style>"+
          ".traffit-xx-flex-container{display: -moz-box; display: -webkit-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: flex; -moz-flex-flow: row; -ms-flex-flow: row; flex-flow: row; }"+
          ".traffit-xx-flex-big{ -moz-box-flex: 1 1 auto;-webkit-flex: 1 1 auto;-moz-flex: 1 1 auto;-ms-flex: 1 1 auto;flex: 1 1 auto; }"+
          ".traffit-xx-flex-no-shrink{ -moz-flex-shrink: 0;-ms-flex-shrink: 0;-webkit-flex-shrink: 0;flex-shrink: 0; }"+
          "@media screen and (max-width: 800px){ #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x>div>*{width:100% !important; margin-bottom: 16px; margin-right: 0 !important; } } "+
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x{ font-family: Roboto; max-width: 1000px; margin: 0 auto; position:relative; padding: 0 20px;}"+
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x *, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x *{ box-sizing: border-box; }"+
          "@media screen and (max-width: 800px){ #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x>div{ flex-direction: column; } }"+
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x select, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x select, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x input, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x select{font-family:Roboto; width:calc(20% - 36px); font-size:12px; border: none; padding: 12px 8px; background: white; outline: none;margin-right: 16px; box-shadow: 0px 1px 2px #C5C5C5;}"+
          "#traffit-an-filters-xtxrxaxfxixtx2x0x1x6x button{ font-size:12px;background: #2862ef;color: white;border: none;padding: 12px 0;font-family: Roboto;border-radius: 2px;cursor: pointer; width: 80px;outline: none; box-shadow: 0px 1px 2px #C5C5C5;}"+
          "#traffit-an-filters-xtxrxaxfxixtx2x0x1x6x button:active{background: #2179da}"+
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x a{ color: #2862ef !important; text-decoration: none !important; cursor: pointer;}"+
          "#xtxrxaxfxixtx2x0x1x6x-list-div {display: flex; flex-direction: column; align-items: center;}"+
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element{ display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 12px 0; padding: 0 50px; height: 120px; box-shadow: 0 0 25px 2px rgba(137, 187, 219, 0.2); border-radius: 12px; background-color: #ffffff; cursor: pointer;}"+
          "@media screen and (max-width: 1000px) { .traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element { height: 120px; padding: 0 30px;}}" +
          "@media screen and (max-width: 450px) { .traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element { flex-direction: column; justify-content: center; align-items: center; height: auto; padding: 30px; }}" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info { display: flex; flex-direction: column; overflow: hidden; }" +
          "@media screen and (max-width: 450px) { .traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info { align-items: center; margin-bottom: 10px; width: 100%; }}" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info .title { color: #0b285b; font-size: 18px; font-weight: 700; margin-bottom: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding-right: 8px; width: 100%; }" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info .details { display: flex; color: #0b285b; font-size: 14px; font-weight: 300; }" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info .details > div { display: flex; align-items: center; padding-right: 8px; overflow: hidden;}" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info .details > div > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element .info .details > div .material-icons { margin-right: 10px; color: #2862ef; font-size: 18px; }" +
          ".traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element > div:after { content: ''; float: none; clear: both; display: block; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x #xtxrxaxfxixtx2x0x1x6x-pagination-div > div:not(.xxxseparatorxxxtraffit) { display: inline-block; border-radius: 3px; border: 1px solid #b3b3b3; color: #505050; text-align: center; line-height: 30px; width: 30px; height: 30px; cursor: pointer; margin: 4px; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x #xtxrxaxfxixtx2x0x1x6x-pagination-div > div.xxxactivexxxtraffit { background: #2862ef; color: white; border-color: #2862ef; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x #xtxrxaxfxixtx2x0x1x6x-pagination-div > div.xxxactivexxxtraffit:hover { background: #1962b3; color: white; border-color: #1962b3; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x #xtxrxaxfxixtx2x0x1x6x-pagination-div > div.xxxseparatorxxxtraffit { display: inline-block; line-height: 30px; width: 30px; height: 30px; cursor: default; margin: 4px; text-align: center; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x #xtxrxaxfxixtx2x0x1x6x-pagination-div > div:not(.xxxseparatorxxxtraffit):not(.xxxactivexxxtraffit):hover { background: #cec7c7; border-color: #cec7c7; }" +
          "#traffit-an-filters-xtxrxaxfxixtx2x0x1x6x .traffit-xx-filter-clear { font-size: 12px; cursor: pointer; }" +
          "#traffit-pagin-xxx-counter { font-size: 12px; }" +
          ".traffit-xx-pagination-bottom > div { width: 50%; display: inline-block; }" +
          ".traffit-xx-pagination-bottom > div:last-child { text-align: right; }" +
          ".traffit-xx-loader { position: fixed; left: 0; top: 0; width: 100%; height: 100%; text-align: center; }" +
          ".traffit-xx-loader > div { position: absolute; width: 50px; height: 50px; left: 50%; top: 50%; margin: -25px 0 0 -25px; background: white; border-radius: 50%; padding: 5px; box-shadow: 0px 1px 2px #c5c5c5; }" +
          "#traffit-an-list-xtxrxaxfxixtx2x0x1x6x select, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x select, #traffit-an-list-xtxrxaxfxixtx2x0x1x6x input, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x input, #traffit-an-filters-xtxrxaxfxixtx2x0x1x6x button { border-radius: 5px; }" +
          ".btn-container__button { display: flex; justify-content: center; align-items: center; cursor: pointer; border-radius: 8px; background-color: #2862ef; color: white; font-size: 14px; font-weight: 400; text-transform: uppercase; padding: 15px 40px;  text-decoration: none; white-space: nowrap; }" +
          ".btn-container__button:hover, .btn-container__button:active, .btn-container__button:focus, .btn-container__button:visited { text-decoration: none; }" +
          ".btn-container__button--text-only { background: none; color: #2862ef; padding: 0; }" +
          ".btn-container__button .material-icons { transition: transform 0.2s ease-in-out; }"+
          ".btn-container__button--opened .material-icons { transform: rotate(-90deg); }" +
          ".btn-container--align-start { justify-content: flex-start;}" +
          "</style>";

  var htmlDiv;
  if(customTraffitRowString && customTraffitRowString.length > 0){
    htmlDiv = customTraffitRowString;
  }else{
    htmlDiv = "<div class='traffit-an-list-xtxrxaxfxixtx2x0x1x6x-list-element {{awarded}}' onclick=\"location.href=\'{{url}}\'\">"+
                    "<div class='info'>"+
                      "<div class='title'>{{name}}</div>" +
                      "<div class='details'><div class='traffit-flex-no-shrink'><i class='material-icons'>calendar_today</i><span>{{date}}</span></div>{{geolocationHTML}}</div>" +
                    "</div>"+
                    "<div class='btn-container'>" +
                      "<div class='btn-container__button btn-container__button--text-only'>" +
                        "<span>{{readMore}}</span><i class='material-icons'>keyboard_arrow_right</i>" +
                      "</div>" +
                    "</div>" +
                  "</div>";
  }

  var filtersInterior = "<div class='traffit-xx-flex-container'><input type='text' placeholder='Słowo kluczowe' name='query' class='traffit-xx-flex-big'/>"+
  "<input type='text' placeholder='Miejscowość' name='geolocation' class='traffit-xx-flex-no-shrink'/>"+
  "<select placeholder='Region' name='' data-search='=' id='traff-xx-region-select' class='traffit-xx-flex-no-shrink'></select>"+
  "<select placeholder='Branża' name=''  data-search='=' id='traff-xx-brand-select' class='traffit-xx-flex-no-shrink'></select>"+
  "<button onclick='xxtraffixxlist.search()' class='traffit-xx-flex-no-shrink'>Szukaj</button></div>"+
  "<div style='margin-top:8px;' class='traffit-xx-pagination-bottom'><div><span class='traffit-xx-filter-clear' onclick='xxtraffixxlist.clear()'>Wyczyść formularz</span></div><div><span id='traffit-pagin-xxx-counter'></span></div></div>";

    var filtersInteriorEng = "<div class='traffit-xx-flex-container'><input type='text' placeholder='Keyword' name='query' class='traffit-xx-flex-big'/>"+
        "<input type='text' placeholder='Location' name='geolocation' class='traffit-xx-flex-no-shrink'/>"+
        "<select placeholder='Choose region' name='' data-search='=' id='traff-xx-region-select' class='traffit-xx-flex-no-shrink'></select>"+
        "<select placeholder='Choose branch' name=''  data-search='=' id='traff-xx-brand-select' class='traffit-xx-flex-no-shrink'></select>"+
        "<button onclick='xxtraffixxlist.search()' class='traffit-xx-flex-no-shrink'>Search</button></div>"+
        "<div style='margin-top:8px;' class='traffit-xx-pagination-bottom'><div><span class='traffit-xx-filter-clear' onclick='xxtraffixxlist.clear()'>Clean all</span></div><div><span id='traffit-pagin-xxx-counter'></span></div></div>";

    var paginationInterior = "<div onclick='xxtraffixxlist.changePage({{page}})' class='{{class}} '>{{page}}</div>";
  var paginationInteriorSeparator = "<div class='xxxseparatorxxxtraffit'>...</div>";

  String.prototype.template = function(data){
    var i;
    var that = this.toString();
    for(i in data){
      var regExp = new RegExp("{{" + i + "}}",'g');
      that = that.replace(regExp, data[i] || '');
    }

    var regExpClear = /{{(.+?(?=})}})/gi;
    that = that.replace(regExpClear, '');

    return that;
  };

  var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
  };

  var formatDate = function(date) {
    date = new Date(parseInt(date + '000'));

    var month = date.getMonth()+1;
    var day = date.getDate();
    var year = date.getFullYear();
    if(month < 10){ month = '0'+month.toString() }
    if(day < 10){ day = '0'+ day.toString() }
    return "{{dd}}/{{mm}}/{{rrrr}}".template({dd: day, mm: month, rrrr: year });
  };

  var filtering = function(key, value, type){
    if(!value || value === ''){
      delete request.obj[key];
    }else{
      type = type || 'like';

      if(type === 'like'){
         value = '%' + value + '%'
      }

      request.obj[key] = {
        field: key,
        values: value,
        comparision: type,type: type
      };
    }
  };

  var appendSelectOptions = function(){

    var $brand = filtersDiv.find('#traff-xx-brand-select');
    var $region = filtersDiv.find('#traff-xx-region-select');

      if(browserLangShort === 'pl') {
          $brand.append("<option value=''>Wybierz branżę</option>");
          $region.append("<option value=''>Wybierz region</option>");
      }

      else {
       $brand.append("<option value=''>Choose branch</option>");
       $region.append("<option value=''>Choose region</option>");
   }

      for(var i in dictionary_regions){

      if(!dictionary_regions.hasOwnProperty(i)) return;
      $region.append("<option value='{{id}}'>{{val}}</option>".template({id: i, val: dictionary_regions[i]}));
    }

    for(var i in dictionary_branches){
      if(!dictionary_branches.hasOwnProperty(i)) return;
      $brand.append("<option value='{{id}}'>{{val}}</option>".template({id: i, val: dictionary_branches[i]}));
    }

    if(Object.getOwnPropertyNames(dictionary_regions).length === 0){
      $region.hide();
    }

    if(Object.getOwnPropertyNames(dictionary_branches).length === 0){
      $brand.hide();
    }
  }


  var sendRequestAnotherSite = function(){
    var filterObj = {};
    for(var i in request.obj){
      if(!request.obj.hasOwnProperty(i)) continue;
      filterObj[i] = request.obj[i].values.replace(/^%/, '').replace(/%$/,'');
    }
    if(request.query){
      filterObj.query = request.query;
    }

    var stringRequest = listSite+"?"+ $.param({filter: filterObj});
    window.location.href = stringRequest;
  };

  var sendRequest = function(){
    loader.show();
    var req = {
      limit: request.limit,
      offset: request.offset
    };

    if(request.filter.length){
      req.filter = { fields:  request.filter };
    }

    if(request.query){
      req.filter = req.filter || {};
      req.filter.query = request.query;
    }

    var isAwarded = '';
    if(isAwarded === '1'){
      req.awarded = 1;
    }
    if(isAwarded === '0'){
      req.awarded = 0;
    }

    var languageString = '' || '';
    if(languageString !== ''){
      req.language = languageString;
    }

    if(scriptType === 'filters'){
      sendRequestAnotherSite();
      return;
    }

    $.ajax({
      url: traffitSite + "public/an/list/",
      dataType: "jsonp",
      data: req,
      jsonpCallback: 'xxtraffixxlist.callback'
    });
  };

  var paginationStandard = function(pages){
    for(var i=1; i<= pages; i++){
      var cls = i === request.page ? 'xxxactivexxxtraffit' : '';
      var pageData = {
        page: i,
        class: cls
      };
        paginationDiv.append(paginationInterior.template(pageData));
    }
  };

  var generatePagination = function(fr,to){
    for(var i=fr; i<= to; i++){
      var cls = i === request.page ? 'xxxactivexxxtraffit' : '';
      var pageData = {
        page: i,
        class: cls
      };
      paginationDiv.append(paginationInterior.template(pageData));
    }
  };

  var paginationLeft = function(pages){
    generatePagination(1, 7);
    paginationDiv.append(paginationInteriorSeparator);
    generatePagination(pages - 2, pages);
  };

  var paginationRight = function(pages){
    generatePagination(1, 3);
    paginationDiv.append(paginationInteriorSeparator);
    generatePagination(pages - 6, pages);
  };
  var paginationCenter = function(pages){
    generatePagination(1, 2);
    paginationDiv.append(paginationInteriorSeparator);
    generatePagination(request.page - 2, request.page + 2);
    paginationDiv.append(paginationInteriorSeparator);
    generatePagination(pages - 1, pages);
  };

  var createPagination = function(num){
    var pages = Math.ceil(num / request.limit);
    paginationDiv.html('');
    if(pages <= 1) return;
    if(pages <= 11){
      paginationStandard(pages)
    }else if(request.page < 7){
      paginationLeft(pages);
    }else if(pages - request.page <= 5){
      paginationRight(pages);
    }else{
      paginationCenter(pages);
    }
  };

  var setFilterValues = function(obj, div){
    for(var i in obj.filter){
      if(!obj.filter.hasOwnProperty(i)) continue;
      div.find('[name="'+i+'"]').val(obj.filter[i]);
    }
    window.xxtraffixxlist.search();
  };

  var isJSONString = function(string) {
    try {
      JSON.parse(string);
    } catch (e) {
      return false;
    }
    return true;
  };

  window.xxtraffixxlist = {
    callback: function(data){
      var items = data.items;
      listDiv.html('');
      infoDiv.text('');
      for(var i=0; i<items.length; i++){
        (function(){
          var fillData = {
            name: items[i].name,
            nrRef: items[i].nrRef,
            date: formatDate(items[i].validStart),
            url: items[i].url,
            location: items[i].location,
            awarded: items[i].awarded ? 'traffit-an-list-xtxrxaxfxixtx2x0x1x6x-awarded' : ''
          };
          $.extend(fillData, items[i]);
          fillData.date = formatDate(items[i].validStart);
          fillData.awarded = items[i].awarded ? 'traffit-an-list-xtxrxaxfxixtx2x0x1x6x-awarded' : '';
          var geo = items[i].geolocation && isJSONString(items[i].geolocation) ?  JSON.parse(items[i].geolocation) : {};
          fillData.geolocation = geo.hasOwnProperty('locality') ? geo.locality : "";
          fillData.geolocationHTML = fillData.geolocation ? "<div><i class='material-icons'>room</i><span>" + fillData.geolocation  + "</span></div>" : "";
          fillData.readMore = browserLangShort === 'pl' ? "Czytaj więcej" : "Read more";
          listDiv.append(htmlDiv.template(fillData));
        })();
      }
    if(browserLangShort === 'pl') {
    if (data.count === 0) {
        counterSpan.text('');
        infoDiv.text('Nie znaleziono ogłoszeń dla zadanych kryteriów');

    } else if (data.count === 1) {
        counterSpan.text("Znalezionio {{x}} ogłoszenie".template({x: data.count}))
    }
    else if (data.count <= 4) {
        counterSpan.text("Znalezionio {{x}} ogłoszenia".template({x: data.count}))
    }
    else {
        counterSpan.text("Znalezionio {{x}} ogłoszeń".template({x: data.count}));
    }
      }
      else {
    if (data.count === 0) {
        counterSpan.text('');
        infoDiv.text('We did not find any adverts with chosen criteria');
    }
    if (data.count > 0) {
        counterSpan.text(" {{x}} offers found".template({x: data.count}))
    }
}
      createPagination(data.count);
      loader.hide();
      changeButtonsColor();
    },
    search: function(){
      $.each(filtersDiv.find('input, select'), function(i,el){
        var $el = $(el);
        var name = $el.attr('name');
        var value = $el.val();
        var type = $el.attr('data-search');

      switch(name){
        case 'query':
          request.query = value;
          break;
        default:
          filtering(name, value, type);
        }
      });

      request.filter.length = 0;
      for(var i in request.obj){
        if(!request.obj.hasOwnProperty(i)) continue;
        request.filter.push(request.obj[i]);
      }

      request.offset = 0;
      request.page = 1;
      sendRequest();
    },
    changePage: function(page){
      request.offset = (page-1)*request.limit;
      request.page = page;
      sendRequest();
    },
    clear: function() {
      request.offset = 0;
      request.page = 1;
      request.filter.length = 0;
      delete request.query;

      $.each(filtersDiv.find('input, select'), function(i,el){
        var $el = $(el);
        var name = $el.attr('name');
        $el.val('');
        filtering(name);
      });

      sendRequest();
    }
  };

  var coreFunc = function(){

    coreDiv = $('#'+divId);
    filtersDiv = $('#' + filterId);
    var regExp = /(traffit\.com\/.*career.*)|(traffit\.local:1025\/.*career.*)/;

   if (!regExp.test(window.location.href)) {
      $('head').append(font).append(iconsFont).append(outsideStyles);
    }

    if(settings['announcement_list_css']){
      $('head').append("<style>" +settings['announcement_list_css']+ "</style>");
    }

    paginationDiv = $("<div id={{id}}></div>".template({ id: paginationId }));
    listDiv = $("<div id={{id}}></div>".template({ id: listId }));
    loader = $('<div class="traffit-xx-loader"><div><img src="https\u003A\/\/cdn3.traffit.com\/22S26124\/bundles\/traffitfrontend\/images\/ajax\u002Dloader.gif" alt/></div></div>'.template({ site: traffitSite.replace('app_dev.php/','') }));
    infoDiv = $('<div style="margin-top:16px; text-align:center;"></div>');
    coreDiv.append(loader).append(infoDiv);

    if(filtersDiv.length > 0 && browserLangShort === 'pl'){
      filtersDiv.append(filtersInterior);

      filtersDiv.find('input').keydown(function(e){
        if(e.keyCode === 13)
          window.xxtraffixxlist.search();
      });
      appendSelectOptions();
    }

    else {
        filtersDiv.append(filtersInteriorEng)
        appendSelectOptions();
    }
    counterSpan = filtersDiv.find('#traffit-pagin-xxx-counter');

    if(coreDiv.length > 0){
      coreDiv.append(listDiv).append(paginationDiv);
      scriptType = 'all';

      var filter = $.deparam(window.location.search.substring(1, window.location.search.length));

      if(filter.filter && filtersDiv.length > 0){
        setFilterValues(filter, filtersDiv);
      } else if(filter.filter) {

        for(var i in filter.filter){
          if(!filter.filter.hasOwnProperty(i)) continue;
          switch(i){
            case 'query':
              request.query = filter.filter[i];
              break;
            case 'advert.values.fieldId':
            request.filter.push({
              field: i,
              values: 'location',
              comparision: '=', type: '='
            });
              break;
            default:
              request.filter.push({
                field: i,
                values: '%'+filter.filter[i]+'%',
                comparision: 'like', type: 'like'
              });
          }
        }

        sendRequest();
      } else{
        sendRequest();
      }
    }

  };

  function changeButtonsColor() {
    var searchButton = $('#traff-xx-search-button');
    var backgroundColor = (searchButton).css('background-color');

    if (searchButton.length) {
      var rgbColor = backgroundColor,
          rgbSeparate = rgbColor.substring(rgbColor.indexOf('(') + 1, rgbColor.lastIndexOf(')')).split(/,\s*/),
          rgbRed = rgbSeparate[0],
          rgbGreen = rgbSeparate[1],
          rgbBlue = rgbSeparate[2],
          yiq = ((rgbRed*299)+(rgbGreen*587)+(rgbBlue*114))/1000;

      searchButton.css('color', (yiq >= 128) ? '#000000' : '#ffffff');
    }
  }

  try{
    $(coreFunc);
  }catch(e){
  }
})();
