function str_replace (search, replace, subject, count) 
{
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}

function languageString()
{
    var langs = new Array('pl','en','be','cs','da','et','fi','fr','es','lt','lv','de','no','ru','sk','sv','uk','hu');
    var str = '';
    $.each(langs, function()
    {
      lang = this;
      if(lang == '')
        lang = null;
      if(lang)
      {
          var lname = $('.jq-translate-ui option[value='+lang+']').html();
          str = str+'<a class="trans" id="'+lang+'"><img src="flags/'+lang+'.png" alt="" title="'+lname+'" /></a>&nbsp;';
      }
    });
    return str;
}

function setFlag(lang)
{
  if(lang == null)
    lang = 'pl';
  $('#language img').removeClass('hover');
  $('#'+lang+' img').addClass('hover');
}

$(document).ready(function()
{
  $('.me div').each(function()
  {
    //alert($(this).attr('id'));
    var id = $(this).attr('id');
    if(id.search('language') > -1)
      $(this).attr('id','language');
    if(id.search('hidden') > -1)
      $(this).attr('id','hidden');
    if(id.search('langs') > -1)
      $(this).attr('id','langs');
  });

  $.translate(function()
  {
    function translateTo(destLang)
    {
      setFlag(destLang);
      $('body').find("font[size='+1']").each(function()
      {
        $(this).replaceWith($(this).html());
      });
      var newww = str_replace('Szklarz','<span class="notranslate">Szklarz</span>',$('.me > tbody').html());
      $('.me > tbody').html(newww);

      $.cookie('trans', destLang);
      $('body').translate( 'pl', destLang, 
      {
        toggle: true,
        walk: false,
        complete: function()
        {
          var str = languageString();
          $('#langs').html(str);
          setFlag(destLang);
        }
      });
    }

    $('.trans').live('click', function()
    {
      translateTo($(this).attr('id'));
    });

    $.translate.ui('select', 'option')
    .appendTo('#hidden');

    var str = languageString();

    $('#langs').append(str);

    setFlag($.cookie('trans'));
    if($.cookie('trans') != null && $.cookie('trans') != 'pl')
    {
      //$('#'+$.cookie('trans')+' img').addClass('hover');
      translateTo($.cookie('trans'));
    }
  });
});
