var cooNmMultiPoll;
var cooNmTopLayer;
var sitePrefix;
var rotoCache = new Array();
var czas = 0;
var topLayer;
var dateOnPage;
var jsDate;
var currentDate;
var scroller;
var promoSearch;
var hiddenPageElements = new Array();
var uncoverFunction = null;
var bigMenuOpened = null;
var msie6 = navigator.appVersion.indexOf('MSIE 6') != -1;
var utilsFormComment;
var utilsFormAbuse;
var weekdays = ['niedziela','poniedziałek','wtorek','środa','czwartek','piątek','sobota'];

var enableProfile = false;
var profileData = null;

var alrtComment = ['Brak treści komentarza', 'podczas dodawania komentarza wystąpił błąd. spróbuj jeszcze raz!', 'dziękujemy za dodanie komentarza', 'Twój komentarz został dodany i po zaakceptowaniu przez moderatora pojawi się na stronie', 'Twój komentarz został odrzucony'];
var alrtVoteComment = ['podczas oddawania głosu wystąpił błąd. spróbuj jeszcze raz!', 'dziękujemy za oddanie głosu', 'podczas zgłaszania komentarza do moderacji wystąpił błąd. spróbuj jeszcze raz!', 'komentarz został zgłoszony do moderacji. dziękujemy!'];
var alrtAbuseEmpty = 'Brak powodu zgłoszenia';
var alrtNotLogged = ['zaloguj się, by dodać swoją ocenę', 'zaloguj się, by zgłosić komentarz do moderacji'];
var infoCmtForm = ['<div id="commentForm"><span>zaloguj się, by dodać swój komentarz</span></div>', '<div id="commentForm"><span>###teraz nie ma komentowania</span></div>'];
var infoCmtModerated = '<span style="color: red;">Komentarz usunięty przez moderatora</span>';
var numeral = ['raz', 'razy'];
var cmtRatingTpl = 'oceniono <span><number/></span> <numeral/> | ocena: <span<className/>><rating/></span>';
var cmtTpl = '<div class="comment"><div class="rating"><a id="btnAbuse_<id/>" class="abuse" onclick="showAbuseWindow(this, <id/>);">&#160;</a><a class="minus" onclick="addVote(this, -1, <id/>);">&#160;</a><a class="plus" onclick="addVote(this, 1, <id/>);">&#160;</a><span class="votes"><rating/></span></div><span class="author"><a><author/></a> napisał/a:</span><div class="date"><date/></div><div class="content"><div class="textValue"><comment/></div></div></div>';
var cmtHarshTpl = '<div class="comment"><div class="rating"><a id="btnAbuse_<id/>" class="abuse" onclick="showAbuseWindow(this, <id/>);">&#160;</a><a class="minus" onclick="addVote(this, -1, <id/>);">&#160;</a><a class="plus" onclick="addVote(this, 1, <id/>);">&#160;</a><span class="votes"><rating/></span></div><span class="author"><a><author/></a> napisał/a:</span><div class="date"><date/></div><div class="content"><div class="cmtHarsh" onclick="showHarshComment(this);">Komentarz poniżej pewnego poziomu, kliknij tutaj, żeby go przeczytać.</div><div class="undisplayed"><comment/></div></div></div>';
var cmtFormTpl = '<div id="commentForm"><form name="formAddComment" method="post" action=""><input type="hidden" name="p5" value="<type/>"/><input type="hidden" name="p6" value="<id/>"/><div class="optional"><div class="label">nick</div><div class="value"><input type="text" name="p4" maxlength="50" /></div><div class="optional"><div class="label">treść komentarza</div><div class="value"><textarea name="p3"></textarea><span id="p3InfoRemainingLength">2000</span></div></form><div class="optional"><a onclick="addComment(this, document.forms[\'formAddComment\']);">dodaj komentarz</a></div></div>';
var ratingClassNames = [' class="minus"', ' class="plus"'];
var cmtNaviTpl = '<div class="navi"><div class="prev"><prev/></div><div class="next"><next/></div><pages/></div>';
var cmtNaviPrevTpl = '<a onclick="showCommentsList(\'<type/>\', <id/>, <offset/>);" class="next">poprzednia</a>';
var cmtNaviPrevETpl = '&#160;';
var cmtNaviNextTpl = '<a onclick="showCommentsList(\'<type/>\', <id/>, <offset/>);" class="next">następna</a>';
var cmtNaviNextETpl = '&#160;';
var cmtNaviPageATpl = '<a class="active">&#160;<number/>&#160;</a>';
var cmtNaviPageITpl = '<a onclick="showCommentsList(\'<type/>\', <id/>, <offset/>);" class="bold">&#160;<number/>&#160;</a>';
var cmtNaviPagesTpl = ' <a onclick="showCommentsList(\'<type/>\', <id/>, <offset/>);" class="pagesSet">&#160;[<numberFrom/>-<numberTo/>]&#160;</a> ';
var cmtAbuseFormTpl = '<div class="optional">Przekaż do moderacji<div class="close" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);">&#160;</div></div><div class="optional"><div class="labelFull">powód zgłoszenia</div><div class="valueFull"><form name="formReportAbuse" method="post" action=""><input type="hidden" name="p1" value="<id/>"/><textarea name="p4"></textarea><span id="p4InfoRemainingLength">1000</span></form></div></div><div class="optional"><a onclick="reportAbuse(this, document.forms[\'formReportAbuse\']);">OK</a></div>';
var cmtAlertTpl = '<div class="tltp"><div class="tltpTop"><div class="tltpTopLeft"><text/></div></div><div class="tltpBottom"><div class="tltpBottomLeft">&#160;</div></div><div class="tltpTip">&#160;</div><div>';

var cmtCount = 10;
var cmtRatingHarsh = -10;
var cmtMode = 1;

if(document.getElementsByName("date").length != 0 && document.getElementsByName("date")[0].content.match(/\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d/))
  dateOnPage = document.getElementsByName("date")[0].content;
jsDate = new Date();
jsDate = jsDate.getFullYear()+'-'+(jsDate.getMonth()>8?'':'0')+(jsDate.getMonth()+1)+'-'+(jsDate.getDate()>9?'':'0')+jsDate.getDate()+'T'+(jsDate.getHours()>9?'':'0')+jsDate.getHours()+':'+(jsDate.getMinutes()>9?'':'0')+jsDate.getMinutes()+':'+(jsDate.getSeconds()>9?'':'0')+jsDate.getSeconds();
currentDate = dateOnPage ? dateOnPage : jsDate;

var promoSearch = '\
<xmlAdvList>\
  <promoSearch text="\'\'Mała Wielka Miłość\'\' - Telekomunikacja Polska zaprasza do kin!" link="http://www.neostrada.pl/tpsa/run?n=mala_wielka_milosc" allowedUrlRE="/n=/" target="main" dateStart="2008-03-01T00:00:00" dateEnd="2008-03-08T23:40:00" />\
</xmlAdvList>';

//funkcja nic
function nop() {}

//dodaje funkcję f do wywołania (sama nazwa, bezparametrowa) dla window onload
function addOnLoad(f) {
  var currentEvent = window.onload==undefined?undefined:window.onload.toString();
  if(currentEvent == undefined) {
    window.onload = new Function("event", f+"();\n");
  } else {
    if(currentEvent.lastIndexOf("}") != -1)
      window.onload = new Function("event", currentEvent.substring(currentEvent.indexOf("{")+1, currentEvent.lastIndexOf("}")-1)+"\n"+f+"();\n");
    else
      window.onload = new Function("event", f+"();\n");
  }
}

//dodaje funkcję f do wywołania (sama nazwa, bezparametrowa) dla window onresize
function addOnResize(f) {
  var currentEvent = window.onresize==undefined?undefined:window.onresize.toString();
  if(currentEvent == undefined) {
    window.onresize = new Function("event", f+"();\n");
  } else {
    if(currentEvent.lastIndexOf("}") != -1)
      window.onresize = new Function("event", currentEvent.substring(currentEvent.indexOf("{")+1, currentEvent.lastIndexOf("}")-1)+"\n"+f+"();\n");
    else
      window.onresize = new Function("event", f+"();\n");
  }
}

//dodaje dynamicznie bibliotekę javascript
function loadLibJS(f) {
  var s = document.createElement('script');
  s.type = 'text/javascript';
  s.src = f;
  try {
    document.getElementsByTagName('head')[0].appendChild(s);
  } catch(ex) {}
}

//dodaje dynamicznie bibliotekę javascript
function loadCSS(f) {
  var s = document.createElement('link');
  s.type = 'text/css';
  s.rel = 'stylesheet';
  s.href = f;
  try {
    document.getElementsByTagName('head')[0].appendChild(s);
  } catch(ex) {}
}

//wybiera tagi o podanym className
function getTagsByClassName(tagName, cn) {
  var es = document.getElementsByTagName(tagName);
  var ret = new Array();
  for(var i = 0; i < es.length; i++)
    if(es[i].className == cn)
      ret.push(es[i]);
  return ret;
}

//zwraca okalający element typu tag dla elementu o
function getOuterTag(o, tag) {
  if(o == null || o.parentNode == undefined) return null;
  o = o.parentNode;
  while(o.parentNode != undefined && o.nodeName.toUpperCase() != tag.toUpperCase())
    o = o.parentNode;
  return (o.nodeName != undefined && o.nodeName.toUpperCase() == tag.toUpperCase())?o:null;
}

//zwraca tablicę elementów typu tag dzieci elementu o (jeden poziom)
function getInnerTags(o, tag) {
  var r = new Array();
  if(o == null) return r;
  for(var i = 0; i < o.childNodes.length; i++)
    if(o.childNodes[i].nodeName.toUpperCase() == tag.toUpperCase())
      r.push(o.childNodes[i]);
  return r;
}

//zwraca następny element typu tag na tym samym poziomie to element o
function getNextTag(o, tag) {
  if(o == null || o.nextSibling == undefined) return null;
  o = o.nextSibling;
  while(o.nextSibling != undefined && o.nodeName.toUpperCase() != tag.toUpperCase())
    o = o.nextSibling;
  return (o.nodeName != undefined && o.nodeName.toUpperCase() == tag.toUpperCase())?o:null;
}

//zwraca poprzedni element typu tag na tym samym poziomie to element o
function getPreviousTag(o, tag) {
  if(o == null || o.previousSibling == undefined) return null;
  o = o.previousSibling;
  while(o.previousSibling != undefined && o.nodeName.toUpperCase() != tag.toUpperCase())
    o = o.previousSibling;
  return (o.nodeName != undefined && o.nodeName.toUpperCase() == tag.toUpperCase())?o:null;
}

//objekt pozycji na stronie
function ObjectPosition(x, y) {
  this.x=x;
  this.y=y;
}

//zwraca współrzędne (p.x, p.y) elementu o id i
function getObjectPositionById(i) {
  try {
    return getObjectPosition(document.getElementById(i));
  } catch(ex) {
    return null;
  }
}

//zwraca współrzędne (p.x, p.y) elementu o
function getObjectPosition(o) {
  var p = new ObjectPosition(o.offsetLeft, o.offsetTop);
  while(o.offsetParent) {
    o = o.offsetParent;
    p.x += o.offsetLeft;
    p.y += o.offsetTop;
  }
  return p;
}

//objekt request
function Request() {}

//wyciąganie parametrów z urla
function extractReqParams(s) {
  try {
    var anch = document.createElement("a");
    anch.href = s;
    if(anch.search != '') {
      var retArr = anch.search.replace('?', '').split('&');
      var req = new Request();
      for(var i = retArr.length - 1; i >= 0 ; i--)
        if(retArr[i].indexOf('=') != -1) {
          var attr = retArr[i].split('=', 2);
          eval('Request.prototype.'+attr[0]+'=null;');
          eval('req.'+attr[0]+'="'+attr[1]+'";');
        } else {
          retArr.splice(i, 1);
        }
      if(retArr.length > 0)
        return req;
      return null;
    } else {
      return null;
    }
  } catch(ex) {
    return null;
  }
}

//validacja emaila
function isValidEmail(e) {
  var emailRE = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(2([0-4]\d|5[0-5])|1?\d{1,2})(\.(2([0-4]\d|5[0-5])|1?\d{1,2})){3} \])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return emailRE.test(e);
}

//naprawia datę dla cookie
function fixDate(date) {
  base = new Date(0);
  skew = base.getTime();
  if(skew > 0) date.setTime(date.getTime() - skew);
}

//ustawia cookie
function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

//zwraca tablicę nazw cookies
function getCookiesNames(prefix) {
  var dc = document.cookie;
  var cookieName;
  var stack = new Array();
  var offset = 0;
  while(dc.indexOf(prefix, offset) != -1) {
    cookieName = prefix;
    offset = dc.indexOf(prefix, offset)+prefix.length;
    while(dc.charAt(offset)>='0' && dc.charAt(offset)<='9')
      cookieName += dc.charAt(offset++);
    if(dc.charAt(offset)=='=')
      stack.push(cookieName);
  }
  return stack.length!=0?stack:null;
}

//zwraca cookie name
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

//usuwa podane cookie
function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

//portalowe

//porządkuje obrazki bez src
function cleanEmptyImages() {
  var imgs = document.images;
  for(var i = 0; i < imgs.length; i++)
    if(imgs[i].src.indexOf('/tpsa/') != -1)
      imgs[i].src = '/binaries/img/t.gif';
}

//inicjalizuje taby na stronie
function initTabs() {
  var divs = getTagsByClassName('div', 'tab tabActive');
  var as, lnk;
  for(var i = 0; i < divs.length; i++) {
    as = getInnerTags(divs[i], 'a');
    for(var j = 0; j < as.length; j++) {
      lnk = '' + (('' + as[j].onclick).replace(/"/g, '\'').match(/'[^']*'/g));
      loadTab(as[j], lnk.substr(1, lnk.length - 2));
    }
  }
}

//przełączanie zakładek
function switchTab(o, u, vr) {
  o.blur();
  var tabs = o.parentNode.parentNode;
  for(var i = 0; i < tabs.childNodes.length; i++)
    if(tabs.childNodes[i].nodeName.toLowerCase() == 'div' && tabs.childNodes[i].className.substr(0, 3) == 'tab' && tabs.childNodes[i].childNodes)
      for(var j = 0; j < tabs.childNodes[i].childNodes.length; j++) {
        if(tabs.childNodes[i].childNodes[j].nodeName.toLowerCase() == 'a')
          tabs.childNodes[i].className = 'tab' + (tabs.childNodes[i].childNodes[j] == o ? ' tabActive' : '');
      }
  loadTab(o, u, vr);
}

//pokazywanie wszystkich wierszy taba
function showTabRows(o) {
  o.className = 'undisplayed';
  o.parentNode.innerHTML = o.parentNode.innerHTML.replace(/class="undisplayed tblRow/g, 'class="tblRow');
}

//ładowanie treści zakładki
function loadTab(o, u, vr) {
  if(u.indexOf('javascript:') == 0) {
    eval(u.substr(11));
  } else {
    o = o.parentNode.parentNode;
    o = getNextTag(o, 'div');
    var div = document.createElement('div');
    div.className = 'hourglass';
    div.innerHTML = '&#160;';
    o.innerHTML = '';
    o.appendChild(div);
    advAJAX.get({
      url: u, 
      tag: [o, vr],
      unique: false,
      onSuccess : function(obj) {
          if(obj.tag[1]) {
            var txt = obj.responseText;
            txt = txt.replace(/class="tblRow/g, 'class="undisplayed tblRow');
            for(var i = 0; i < obj.tag[1]; i++)
              txt = txt.replace(/class="undisplayed tblRow/, 'class="tblRow');
            if(txt.indexOf('class="undisplayed tblRow') != -1)
              txt += '<a href="javascript:nop();" onclick="showTabRows(this);">+ więcej</a>';
            obj.tag[0].innerHTML = txt;
          } else {
            obj.tag[0].innerHTML = obj.responseText;
          }
      },
      onError : function(obj) { try {} catch(ex) {} }
    });
  }
}

//podświetlanie menu
function highlightMainMenu() {
  var n;
  var nRE;
  var pgname = '';
  if(document.getElementsByName("pgname").length != 0)
    pgname = document.getElementsByName("pgname")[0].content;
  if(pgname == '') {
    var req = extractReqParams(window.location.href);
    if(req.n)
      pgname = req.n;
  }
  var qs = window.location.search.substr(3);
  var o = document.getElementById('menuTopLevel2');
  if(o) {
    var as = o.getElementsByTagName('a');
    for(var i = as.length - 1; i >= 0; i--) {
      n = as[i].parentNode;
      nRE = (n.id ? new RegExp(n.id.substr(n.id.indexOf('URL') == 0 ? 3 : 0), '') : null);
      if(n.id && nRE.test('menuLv2_' + (n.id.indexOf('URL') == 0 ? qs : pgname))) {
        as[i].className = 'active';
        n = n.parentNode;
        if(n.id && n.id.indexOf('menuSegLv') != -1) {
          n.className = '';
          n = document.getElementById(n.id.replace('SegLv2_', 'Lv1_').replace(/^URL/, ''));
          if(n && n.childNodes.length > 0)
            n.childNodes[0].className = 'active';
        }
        i = -1;
      }
    }
  }
  o = document.getElementById('menuTopLevel1');
  if(o) {
    as = o.getElementsByTagName('a');
    for(var i = as.length - 1; i >= 0; i--) {
      if(as[i].className == 'active') {
        i = -1;
      } else {
        n = as[i].parentNode;
        nRE = (n.id ? new RegExp(n.id.substr(n.id.indexOf('URL') == 0 ? 3 : 0), '') : null);
        if(n.id && nRE.test('menuLv1_' + (n.id.indexOf('URL') == 0 ? qs : pgname))) {
          as[i].className = 'active';
          if(as[i].firstChild && as[i].firstChild.nodeName.toLowerCase() == 'img')
            as[i].firstChild.src = as[i].firstChild.src.substr(0, as[i].firstChild.src.length - 4) + '_act' + as[i].firstChild.src.substr(as[i].firstChild.src.length - 4);
          n = document.getElementById(n.id.replace('Lv1_', 'SegLv2_').replace(/^URL/, ''));
          if(n)
            n.className = '';
          i = -1;
        }
      }
    }
  }
}

//uruchomienie rotatora zajawek bannerowych
function rotoBannerHeadline(bs, div, ct, bn) {
  var cont = document.getElementById(div);
  if(cont && eval(bs) != "") {
    var data = eval(bs);
    var num = 0;
    for(var i = 0; i < cont.childNodes.length; i++)
      if(cont.childNodes[i].nodeName.toLowerCase() == 'div')
        num++;
    if(num < data.length - 1) {
      while(num > 1) {
        data.shift();
        num--;
      }
      if(isNaN(bn))
        bn = Math.round(Math.random()*(data.length-2));
      bn++;
      if(bn >= data.length-1)
        bn = 1;
      var i = cont.childNodes.length - 1;
      setTimeout('rotoBanner("'+bs+'", null, null, "'+(div)+'", '+ct+', "'+bn+'")', czas==0||czas==null?ct:czas);
      czas = 0;
    }
  }
}

//uruchomienie rotatota popupów
function rotoPopUp(bs, w, h, bn) {
  var data = eval(bs);
  if(isNaN(bn))
    bn = Math.round(Math.random()*(data.length-1));
  openwin(data[bn], w, h, 0, "popup");
}

//uruchomienie rotatora bannerów
function rotoBanner(bs, w, h, div, ct, bn) {
  if(navigator.appName == 'Netscape' && (document.body.innerHTML.indexOf('new MediaPlayer') != -1 || document.getElementById('embeddedMedia')))
    return;
  try {
    if(eval(bs)!="") {
      var data = eval(bs);
      for(var i = data.length-1; i >= 0; i--)
        if(data[i] == "")
          data.splice(i, 1);
      if(data.length > 1) {
        divName = div.replace(/-/g, "_");
        eval(divName+'Bs="'+bs+'"');
        if(w != null)
          eval(divName+'W='+w);
        else
          eval(divName+'W=null');
        if(h != null)
          eval(divName+'H='+h);
        else
          eval(divName+'H=null');
        eval(divName+'Ct='+ct);
        var flash=false;
        if(isNaN(bn))
          bn = Math.round(Math.random()*(data.length-1));
        else if(bn >= data.length)
          bn = 0;
        var bannerDetails = data[bn].split("|");
        if(bannerDetails[0] != "rozwijalny" && bannerDetails[0] != "banner") {
          bannerDetails.unshift("banner");
          if(bannerDetails[1].indexOf('.swf') != -1)
            bannerDetails.splice(2, 0, undefined, undefined, undefined, undefined);
          else
            bannerDetails.splice(2, 0, undefined, undefined);
        }
        if(bannerDetails[0] == "rozwijalny")
          h = 445;
        if(bannerDetails[1].match('\.swf$')) {
          var htmlText =
            '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+(bannerDetails[2]==undefined?w:bannerDetails[2])+'" height="'+(bannerDetails[3]==undefined?h:bannerDetails[3])+'" align="middle">\
              <param name="allowScriptAccess" value="sameDomain" />\
              <param name="wmode" value="transparent" />\
              <param name="movie" value="'+bannerDetails[1]+'" />\
              <param name="quality" value="high" />\
              <param name="bgcolor" value="#ffffff" />\
              <embed src="'+bannerDetails[1]+'" wmode="transparent" quality="high" bgcolor="#ffffff" width="'+(bannerDetails[2]==undefined?w:bannerDetails[2])+'" height="'+(bannerDetails[3]==undefined?h:bannerDetails[3])+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\
            </object>';
          flash = true;
          evalHeadlineBanner(div, w, h, bannerDetails, bn, data, divName, ct, flash, bs, htmlText);
        } else if(bannerDetails[1].match('\.gif$|\.jpe?g$')) {
          var htmlText =
            (bannerDetails[4]!=''?'<a href="'+bannerDetails[4]+'"'+(bannerDetails[5]!=''&&bannerDetails[5]!=undefined?'target="'+bannerDetails[5]+'"':'')+'>':'')+
            '<img src="'+bannerDetails[1]+'" width="'+(bannerDetails[2]==undefined?w:bannerDetails[2])+'" height="'+(bannerDetails[3]==undefined?h:bannerDetails[3])+'" alt="" />'+
            (bannerDetails[4]!=''?'</a>':'');
          evalHeadlineBanner(div, w, h, bannerDetails, bn, data, divName, ct, flash, bs, htmlText);
        } else {
          var htmlText = getFromRotoCache(bs, bannerDetails[1]);
          if(htmlText) {
            evalHeadlineBanner(div, w, h, bannerDetails, bn, data, divName, ct, flash, bs, htmlText);
          } else {
            advAJAX.get({
              url: bannerDetails[1],
              unique: false,
              onSuccess : function(obj) {
                  try {
                    if(obj.responseText.indexOf('nformacja nieautoryzowana') == -1) {
                      evalHeadlineBanner(div, w, h, bannerDetails, bn, data, divName, ct, flash, bs, obj.responseText);
                      rotoCache.push(bs, bannerDetails[1], obj.responseText);
                    } else {
                      if(++bn == data.length)
                        bn = 0;
                      rotoBanner(bs, w, h, div, ct, bn);
                    }
                  } catch(ex) {}
                },
              onError : function(obj) {}
            });
          }
        }
      }
    } else {
      document.getElementById(div).innerHTML = '';
      document.getElementById(div).style.width=0;
      document.getElementById(div).style.height=0;
      document.getElementById(div).width=0;
      document.getElementById(div).height=0;
    }
  } catch(ex) {}
}

//obsługa zajawkowego bannera
function evalHeadlineBanner(div, w, h, bannerDetails, bn, data, divName, ct, flash, bs, s) {
  var scrToEval = s.match(/<script(([\r\n]|.)*)<\/script>/i);
  var cont = document.getElementById(div);
  for(var i = cont.childNodes.length - 1; i >= 0; i--)
    if(cont.childNodes[i].nodeName.toLowerCase() == 'div') {
      cont = cont.childNodes[i];
      i = -1;
    }
  if(scrToEval) {
    scrToEval = scrToEval[0].replace(/<script[^>]*>/i, '');
    scrToEval = scrToEval.replace('</script>', '');
    cont.innerHTML = s;
    eval(scrToEval);
  } else {
    cont.innerHTML = s;
  }
  if(w != null)
    cont.width = (bannerDetails[2]==undefined?w:bannerDetails[2]);
  if(h != null)
    cont.height = (bannerDetails[3]==undefined?h:bannerDetails[3]);
  if(++bn == data.length)
    bn = 0;
  eval(divName+'Bn='+bn);
  if(data.length>1 && ct!=0 && (!flash || (flash && bannerDetails.length>1))) {
    setTimeout('rotoBanner("'+bs+'", '+w+', '+h+', "'+div+'", '+ct+', '+bn+')', bannerDetails[6]!=''&&bannerDetails[6]!=undefined?bannerDetails[6]:(czas==0||czas==null?ct:czas));
    czas = 0;
  }
}

//pobranie z cache rotatora
function getFromRotoCache(section, url) {
  for(var i = 0; i < rotoCache.length; i+=3)
    if(rotoCache[i] == section && rotoCache[i+1] == url)
      return rotoCache[i+2];
  return false;
}

//inicjacja multitoplayera
function topLayerInitMulti(s,w,h,i,t) {
  var n=new Date();
  topLayerInit(s[Math.floor(n.getTime()%(24*60*60*1000)/(i*60*1000))%s.length],w,h,t);
}

//inicjacja toplayera
function topLayerInit(s,w,h,t) {
  document.write('<div id="topLayer" style="position: absolute; top: 150px; left: '+Math.floor((770-w)/2)+'px; visibility: hidden;">\
    <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH='+w+' HEIGHT='+h+'>\
      <PARAM NAME=movie VALUE="'+s+'">\
      <PARAM NAME=quality VALUE=high>\
      <PARAM NAME=salign VALUE=L>\
      <PARAM NAME=bgcolor VALUE=#FFFFFF>\
      <EMBED src="'+s+'" quality=high salign=L bgcolor=#FFFFFF  WIDTH='+w+' HEIGHT='+h+' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">\
      </EMBED>\
    </OBJECT>\
  </div>');
  if(t!=undefined) setTimeout('topLayerHide();', 1000*t);
}

//pokazanie toplayera
function topLayerShow() {
  document.getElementById('topLayer').style.visibility='visible';
}

//ukrycie toplayera
function topLayerHide(url) {
  try {
    var ck = getCookie(cooNmTopLayer);
    var now = new Date();
    fixDate(now);
    now.setTime(now.getTime() + 7*24*60*60*1000);
    if(!ck)
      ck = '|'+topLayer.swf+'|';
    else if(ck.indexOf('|'+topLayer.swf+'|') == -1)
      ck += topLayer.swf+'|';
    setCookie(cooNmTopLayer, ck, now, "/");
    document.body.removeChild(topLayer);
    if(document.getElementById('topLayerLid'))
      document.body.removeChild(document.getElementById('topLayerLid'));
    hideForms(false);
  } catch(ex) {}
  if(url)
    window.location = url;
}

//otwieranie popupa z normalną kolejnością parametrów
function advOpenwin(l, w, h, t, o) {
  openwin(l, w, h, t, o);
}

//otwieranie popupa
function openwin(l, w, h, t, o) {
  t = "width="+w+",height="+h+",scrollbars="+((t=='tak'||t==1)?"yes":"no")+",resizable=yes,toolbar=no,userbar=no,location=no,status=no,menubar=no,screenX=100,screenY=100";
  if(o == undefined)
    o = "new_window";
  if(l.indexOf(".jpg")!=-1 || l.indexOf(".jpeg")!=-1 || l.indexOf(".gif")!=-1 || l.indexOf(".png")!=-1) {
    eval(o+'=open("", "'+o+'", t)');
    eval(o+'.document.writeln("<HTML><HEAD><TITLE>Obrazek</TITLE></HEAD><BODY bgcolor=\\"white\\" topmargin=\\"0\\" leftmargin=\\"0\\" marginwidth=\\"0\\" marginheight=\\"0\\">")');
    eval(o+'.document.writeln("<script language=\\"JavaScript\\"><!--")');
    eval(o+'.document.writeln("function autoSize(o) {")');
    eval(o+'.document.writeln("var x = (document.all?document.body.clientWidth:window.innerWidth) - (o.width>screen.width?screen.width:o.width);")');
    eval(o+'.document.writeln("var y = (document.all?document.body.clientHeight:window.innerHeight) - (o.height>screen.height?screen.height:o.height);")');
    eval(o+'.document.writeln("window.resizeBy(-x, -y);")');
    eval(o+'.document.writeln("}")');
    eval(o+'.document.writeln("//--></script>")');
    eval(o+'.document.writeln("<a href=\\"javascript:self.close();\\"><img onLoad=\\"autoSize(this);\\" src=\\"'+l+'\\" border=\\"0\\"></a>")');
    eval(o+'.document.writeln("</BODY></HTML>")');
    eval(o+'.document.close()');
  } else if(l.indexOf(".swf")!=-1){
    eval(o+'=open("", "'+o+'", t)');
    eval(o+'.document.write("<HTML><HEAD><TITLE>PopUp</TITLE></HEAD><BODY bgcolor=\\"white\\" topmargin=\\"0\\" leftmargin=\\"0\\" marginwidth=\\"0\\" marginheight=\\"0\\">\
    <OBJECT classid=\\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\\" codebase=\\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\\" WIDTH='+w+' HEIGHT='+h+'>\
      <PARAM NAME=wmode VALUE=\\"transparent\\">\
      <PARAM NAME=movie VALUE=\\"'+l+'\\">\
      <PARAM NAME=quality VALUE=high>\
      <PARAM NAME=salign VALUE=L>\
      <PARAM NAME=bgcolor VALUE=#FFFFFF>\
      <EMBED wmode=\\"transparent\\" src=\\"'+l+'\\" quality=high salign=L bgcolor=#FFFFFF  WIDTH='+w+' HEIGHT='+h+' TYPE=\\"application/x-shockwave-flash\\" PLUGINSPAGE=\\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\\">\
      </EMBED>\
      </OBJECT>\
    </BODY></HTML>")');
    eval(o+'.document.close()');
  } else {
    eval(o+'=open("'+l+'", "'+o+'", t)');
  }
  if(eval(o)!=null) try{ eval(o+'.focus();'); } catch(ex) {};
}

//ustawianie żałobnej wstążki
function setToplayerMourning() {
  if(document.getElementsByName("pgname").length != 0) {
    if(document.getElementsByName("pgname")[0].content.length != 0 && (document.getElementsByName("pgname")[0].content == 'msi' || document.getElementsByName("pgname")[0].content == 'msi_demo'))
      bsTopLayer = ['/binaries/common/icon/wstazka_czarna.swf|55|75|c150|3'];
  }
}

//ukrywanie formularzy
function hideForms(h) {
  h = h ? 'hidden' : 'visible';
  var os = document.getElementsByTagName('select');
  for(var i = 0; i < os.length; i++)
    os[i].style.visibility = h;
}

//dodanie toplayera
function addTopLayer() {
  if(window.location.href.indexOf('127.0.0.1') == -1 && window.location.href.indexOf('file:') == -1) {
    try {
      if(bsTopLayer != undefined && bsTopLayer.length > 1) {
        bsTopLayer.pop();
        var show = true;
        var w = 400, h = 400;
        var t, l;
        var tl = bsTopLayer[Math.round(Math.random()*(bsTopLayer.length-1))];
        var winW = document.all?(document.documentElement&&document.documentElement.clientWidth)?document.documentElement.clientWidth-20:document.body.clientWidth-20:window.innerWidth-16;
        var winH = document.all?(document.documentElement&&document.documentElement.clientHeight)?document.documentElement.clientHeight-20:document.body.clientHeight-20:window.innerHeight-16;
        if(tl.indexOf('|') != -1) {
          tl = tl.split("|");
          if(tl.length >= 2)
            w = tl[1];
          if(tl.length >= 3)
            h = tl[2];
          if(tl.length >= 4 && (!isNaN(tl[3]) || (tl[3].substr(0,1) == 'c' && !isNaN(tl[3].substr(1))))) {
            if(tl[3].substr(0,1) == 'c')
              l = winW/2 + parseInt(tl[3].substr(1));
            else
              l = tl[3];
          } else {
            l = ((winW-750)/2+Math.random()*(730-w));
          }
          if(tl.length >= 5 && (!isNaN(tl[4]) || (tl[4].substr(0,1) == 'c' && !isNaN(tl[4].substr(1))))) {
            if(tl[4].substr(0,1) == 'c')
              t = winH/2 + parseInt(tl[4].substr(1));
            else
              t = tl[4];
          } else {
            t = (20+Math.random()*(winH-w-20));
          }
          if(tl.length >= 6) {
            var pageRE = new RegExp(tl[5].replace(/#/g, '|').replace('&amp;', '&'));
            if(!pageRE.test(window.location.href))
              show = false;
          }
          if(tl.length >= 7 && tl[6] != '') {
            var topLayerLid = document.createElement('div');
            topLayerLid.style.position = document.all?'absolute':'fixed';
            topLayerLid.style.left = '0px';
            topLayerLid.style.top = '0px';
            topLayerLid.style.width = (winW+20)+'px';
            topLayerLid.style.height = (winH+2000)+'px';
            topLayerLid.style.backgroundColor = tl[6];
            topLayerLid.style.zIndex = 400;
            topLayerLid.id = 'topLayerLid';
          }
          tl = tl[0];
        }
        var ck = getCookie(cooNmTopLayer);
        if(show && (!ck || ck.indexOf('|'+tl+'|') == -1)) {
          topLayer = document.createElement('div');
          topLayer.style.position = 'absolute';
          topLayer.style.left = l+'px';
          topLayer.style.top = t+'px';
          topLayer.style.width = w+'px';
          topLayer.style.height = h+'px';
          topLayer.style.zIndex = 401;
          topLayer.id = 'topLayer';
          topLayer.swf = tl;
          if(topLayerLid)
            document.body.appendChild(topLayerLid);
          document.body.appendChild(topLayer);
          var so = new SWFObject(tl, 'topLayer', w, h, '8', '#FFFFFF');
          so.addParam('quality', 'high');
          so.addParam('wmode', 'transparent');
          so.write('topLayer');
          hideForms(true);
        }
      }
    } catch(ex) {}
  }
}

//znalezienie identyfikatora gemiusa dla strony
function getGemiusIdentifier(gt, prm) {
  if(prm == undefined) {
    if(document.getElementsByName("pgname").length != 0) {
      if(document.getElementsByName("pgname")[0].content.length != 0)
        prm = "n="+document.getElementsByName("pgname")[0].content;
      else
        prm = window.location.href;
    } else {
      prm = window.location.href;
    }
  }
  var gi = "";
  var re;
  for(var i = 0; i < gt.length; i+=3)
    for(var j = 0; j < gt[i+1].length; j++) {
      re = new RegExp(gt[i+1][j]);
      if(re.test(prm))
        gi = gt[i+2];
    }
  return gi;
}

//tłumacznie PL
function translate(t) {
  t = t.replace(/%C4%85/gi, "\u0105");
  t = t.replace(/%C4%87/gi, "\u0107");
  t = t.replace(/%C4%99/gi, "\u0119");
  t = t.replace(/%C5%82/gi, "\u0142");
  t = t.replace(/%C5%84/gi, "\u0144");
  t = t.replace(/%C3%B3/gi, "\u00F3");
  t = t.replace(/%C5%9B/gi, "\u015B");
  t = t.replace(/%C5%BA/gi, "\u017A");
  t = t.replace(/%C5%BC/gi, "\u017C");
  return t;
}

//parsowanie xml do reklam
function xmlAdvListParse(xmlData, objStr) {
var attr, val, xmlListElemObj, offset;
var tags = xmlData.split('<'+objStr.substr(0,1).toLowerCase()+objStr.substr(1));
  xmlData = new Array();
  for(var i = 1; i < tags.length; i++) {
    offset = 0;
    xmlListElemObj = eval('new '+objStr.substr(0,1).toUpperCase()+objStr.substr(1)+'("'+tags[i].replace(/"/g, '\\"')+'");');
    if(xmlListElemObj.srcTxt) {
      attr = xmlListElemObj.srcTxt.match(/\s[^\s=]+\s*=\s*"[^"]*"/gi);
      for(var j = 0; j < attr.length; j++) {
        val = attr[j].match(/\s([^\s=]+)\s*=\s*"([^"]*)"/i);
        eval(objStr.substr(0,1).toUpperCase()+objStr.substr(1)+'.prototype.'+val[1]+'=null;');
        eval('xmlListElemObj.'+val[1]+'="'+val[2]+'";');
      }
      if(!xmlListElemObj.allowedUrlRE || window.location.href.match(eval(xmlListElemObj.allowedUrlRE))) {
        if(xmlListElemObj.dateStart && xmlListElemObj.dateEnd) {
          if(currentDate >= xmlListElemObj.dateStart && currentDate <= xmlListElemObj.dateEnd)
            xmlData[xmlData.length] = xmlListElemObj;
        }
      }
    }
  }
  return xmlData;
}

//objekt tekstu do wyszukiwarki
function PromoSearch(srcTxt) {
  this.srcTxt = srcTxt.replace(/\\"/g, '"');
  this.dateStart = null;
  this.dateEnd = null;
}

//dodawanie tekstu w wyszukiwarce
function addPromoSearch() {
  if(promoSearch) {
    promoSearch = xmlAdvListParse(promoSearch, 'promoSearch');
    if(promoSearch.length > 0) {
      promoSearch = promoSearch[Math.round(Math.random()*(promoSearch.length-1))];
      try {
        if((promoSearch.target == 'all' || promoSearch.target == 'main') && document.forms['quickSearchForm'].elements['phrase'].value == '')
          document.forms['quickSearchForm'].elements['phrase'].value = promoSearch.text;
      } catch(ex) {}
      try {
        if((promoSearch.target == 'all' || promoSearch.target == 'local') && document.forms['srchForm'] && document.forms['srchForm'].elements['p1'] && document.forms['srchForm'].elements['p1'].value == '')
          document.forms['srchForm'].elements['p1'].value = promoSearch.text;
      } catch(ex) {}
    }
  }
}

//obsługa klikania flasha
function flashClicked(m) {
  if(m == 'barkerAnchor') {
    try {
      var o = document.getElementById('article-top-big-image');
      if(o.childNodes) {
        o = o.childNodes[0];
        while(o.nextSibling && o.nodeName.toLowerCase() != 'a')
          o = o.nextSibling;
        if(o.nodeName.toLowerCase() == 'a' && o.href)
          window.location = o.href;
      }
    } catch(ex) {}
  }
}

//inicjalizacja sondy
function initPoll() {
  try {
    ckPoll = 'poll';
    var o = document.getElementById('poll');
    if(o && (new RegExp('^[0-9,]+$')).test(pollIds)) {
      var pollIdsArr = pollIds.split(',');
      pollId = -1;
      pollIdsArr.pop();
      pollIdsArr.shift();
      if(pollIdsArr.length != 0) {
        var votable = true;
        var votedPolls = getCookie(ckPoll);
        var votedPollsIds = ',';
        var votedPollsIdsArr = (votedPolls == null ? new Array() : votedPolls.substr(1, votedPolls.length - 2).split(','));
        for(var i = 0; i < votedPollsIdsArr.length; i+=2)
          votedPollsIds += votedPollsIdsArr[i] + ',';
        var randomPoll;
        while(pollId == -1 && pollIdsArr.length > 0) {
          randomPoll = Math.round(Math.random() * (pollIdsArr.length - 1));
          randomPoll = pollIdsArr.splice(randomPoll, 1);
          if(votedPollsIds.indexOf(',' + randomPoll + ',') == -1)
            pollId = randomPoll;
        }
        if(pollId == -1) {
          pollIdsArr = pollIds.split(',');
          pollIdsArr.pop();
          pollIdsArr.shift();
          randomPoll = Math.round(Math.random() * (pollIdsArr.length - 1));
          pollId = pollIdsArr.splice(randomPoll, 1);
          votable = false;
        }
        advAJAX.get({
          url: '/tpsa/run?n='+sitePrefix+'sonda&p2=' + pollId + ( votable ? '' : '&p1=results'),
          tag: o,
          unique: false,
          onSuccess : function(obj) {
              if(obj.responseText.indexOf('class="poll"') != -1) {
                var div = document.createElement('div');
                div.className = 'box boxPadded';
                div.innerHTML = obj.responseText;
                obj.tag.appendChild(div);
                obj.tag.id = '';
              }
          },
          onError : function(obj) {}
        });
      }
    }
  } catch(ex) {}
}

//wysyłanie sondy
function submitPoll() {
  try {
    var f = document.forms['formPoll'];
    if(f && pollId != -1) {
      var ok = false;
      if(f.p1.value == 'results')
        ok = true;
      else
        for(var i = 0; i < f.p3.length; i++)
          if(f.p3[i].checked == true)
            ok = true;
      if(ok) {
        advAJAX.submit(f, {
          onSuccess : function(obj) {
            try {
              if(obj.responseText.indexOf('class="poll"') != -1) {
                var votedPolls = getCookie(ckPoll);
                if(votedPolls == null)
                  votedPolls = '';
                var now = new Date();
                fixDate(now);
                now.setTime(now.getTime() + 14*24*60*60*1000);
                var votedPollsIdsArr = votedPolls.substr(1, votedPolls.length - 2).split(',');
                votedPolls = ',' + pollId + ',' + (new Date()).getTime() + ',';
                for(var i = 0; i < votedPollsIdsArr.length; i+=2)
                  if((new Date()).getTime() < votedPollsIdsArr[i + 1] + 1000*60*60*24*14)
                    votedPolls += votedPollsIdsArr[i] + ',' + votedPollsIdsArr[i + 1] + ',';
                setCookie(ckPoll, votedPolls, now);
              }
              document.forms['formPoll'].parentNode.parentNode.innerHTML = obj.responseText;
            } catch(ex) {}
          },
          onError : function(obj) {}
        });
      } else {
        alert('Je\u015Bli chcesz odda\u0107 g\u0142os, wybierz odpowied\u017A');
      }
    }
  } catch(ex) {}
}

//przewijanie bloku w górę
function scrollBlockUp(o, s) {
  var m = o.style.marginTop ? o.style.marginTop.replace('px', '') : 0;
  if(m < 0)
    o.style.marginTop = (parseInt(m) + s) + 'px';
}

//przewijanie bloku w dół
function scrollBlockDown(o, s) {
  var m = o.style.marginTop ? o.style.marginTop.replace('px', '') : 0;
  if(-m < o.offsetHeight - o.parentNode.offsetHeight)
    o.style.marginTop = (m - s) + 'px';
}

//ustawianie tła nadrzędnego obiektu
function setParentBoxBackground(id, s, w, h) {
  var o = document.getElementById(id);
  if(o) {
    while(o.parentNode && o.className && o.className.indexOf('box') == -1)
      o = o.parentNode;
    if(o.className.indexOf('box') == -1) {
      o = o.parentNode.parentNode;
      o.style.backgroundImage = 'url(' + s + ')';
      if(w != 0) {
        o.style.width = w + 'px';
        var diff = o.offsetWidth - w;
        o.style.width = (w - diff) + 'px';
      }
      if(h != 0) {
        o.style.height = h + 'px';
        var diff = o.offsetHeight - h;
        o.style.height = (h - diff) + 'px';
      }
    }
  }
}

// --------------------------------------------------
// -- Detekcja odtwarzaczy strumieni ----------------
// --------------------------------------------------

// Sprawdza, czy podany argument jest obiektem
function isObject(type) {
  return "undefined" != typeof(type);
}

// Sprawdza, czy jest zainstalowany Internet Explorer w wersji co najmniej 5
function isWinIE5plus() {
  var result = false;
  var uaLower = navigator.userAgent.toLowerCase();
  if (uaLower.indexOf("windows")>=0 && uaLower.indexOf("msie")>=0) {
    var versRX = /msie\s+[5-9]/;
    result = versRX.test(uaLower);
  }
  return result;
}

// Sprawdza, czy jest zainstalowany plugin o podanej nazwie
function checkPlugin(name) {
  plugin = navigator.plugins[name];
  if (isObject(plugin)) { return true; }
  return false;
}

// Wykrycie obecności RealPlayera na podstawie zawartości navigator.plugins
function realPlayerPluginDetection() {
  return ( (checkPlugin("RealPlayer Version Plugin")) || (checkPlugin("RealOne Player Version Plugin")));
}

// Wykrycie obecności RealPlayera na podstawie zawartości navigator.mimeTypes
function realPlayerMimeTypeDetection() {
  return ( isObject(navigator.mimeTypes) && isObject(navigator.mimeTypes["audio/x-pn-realaudio-plugin"]) );
}

// Wykrycie obecności RealPlayera w IE 5 lub nowszym
function winIE5upRealPlayerDetection() {
  var player;
  var iectl;
  try {
    iectl = new ActiveXObject("Shell.Explorer");
  } catch(ex) {}
  if (!isObject(iectl)) { return "unknown"; }
  try {
    player = new ActiveXObject("rmocx.RealPlayer G2 Control.1");
  } catch(ex) {}
  return new String(isObject(player));
}

// Wykrycie obecności RealPlayera
function hasRealPlayer() {
  if ( isWinIE5plus() ) { return winIE5upRealPlayerDetection(); }
  else { return (realPlayerPluginDetection() || realPlayerMimeTypeDetection())?"true":"unknown"; }
}

// Wykrycie obecności Windows Media Playera
function hasWindowsMediaPlayer() {
  var player;
  try {
    if (window.ActiveXObject) { player = new ActiveXObject("MediaPlayer.MediaPlayer.1"); }
    else { player = new String(navigator.mimeTypes["application/x-mplayer2"].enabledPlugin); }
  }
  catch(ex) {}
  if (isObject(player)) { return "true"; }
  else { return "false"; }
}

// Wykrycie obecności playerów
function processStreamLinks() {
  var availablePlayers = '';
  var bHasRealPlayer = hasRealPlayer() == 'true';
  var bHasWindowsMediaPlayer = hasWindowsMediaPlayer() == 'true';
    if (bHasRealPlayer && bHasWindowsMediaPlayer) { availablePlayers='real,wmv'; }
    else if (bHasRealPlayer) { availablePlayers='real'; }
    else if (bHasWindowsMediaPlayer) { availablePlayers='wmv'; }
    if(availablePlayers.length>0) {
      var allLinks = document.getElementsByTagName('a');
      if(allLinks!=null)
        for(var i=0; i<allLinks.length; i++)
          if (allLinks[i].href.indexOf('/tpsa/run?n='+sitePrefix+'play_stream&')!=-1 && allLinks[i].href.indexOf('&p4=')==-1) {
            allLinks[i].href = allLinks[i].href+'&p4='+availablePlayers;
            allLinks[i].href = allLinks[i].href;
            if(!window.opera && ((allLinks[i].className && allLinks[i].className.indexOf('embeddedMedia_') == 0) || (allLinks[i].hreflang && allLinks[i].hreflang.indexOf('embeddedMedia_') == 0))) {
              var dim = (allLinks[i].className.indexOf('embeddedMedia_') == 0 ? allLinks[i].className : allLinks[i].hreflang).split('_');
              if(dim.length == 3 && dim[1] != '' && dim[2] != '') {
                allLinks[i].onclick = new Function('event', 'embeddedMediaPlayer = new MediaPlayer("embeddedMediaPlayer"); embeddedMediaPlayer.openPlayerInLayer(this, "'+allLinks[i].href+'", null, '+(dim[1] ? dim[1] : 'null')+', '+(dim[2] ? dim[2] : 'null')+');');
                allLinks[i].href = 'javascript:nop();';
              } else if(dim.length == 4 && dim[1] != '' && dim[2] != '') {
                allLinks[i].onclick = new Function('event', 'embeddedMediaPlayer = new MediaPlayer("embeddedMediaPlayer"); embeddedMediaPlayer.openPlayerInLayer(this, "'+allLinks[i].href+'", null, '+(dim[1] ? dim[1] : 'null')+', '+(dim[2] ? dim[2] : 'null')+', '+(dim[3] ? '"'+dim[3]+'"' : 'null')+');');
                allLinks[i].href = 'javascript:nop();';
              } else if(!document.all && !window.opera && availablePlayers=='wmv' && (allLinks[i].href.indexOf('p1=wmv:')!=-1 || allLinks[i].href.indexOf('p1=real,wmv:')!=-1 || allLinks[i].href.indexOf('p1=wmv,real:')!=-1)) {
                allLinks[i].target = '_blank';
              }
            }
            var material = allLinks[i].href.substring(29);
            if (material.indexOf('p1=real:') || material.indexOf('p1=real,wmv:') || material.indexOf('p1=wmv,real:'))
  	          WR_RealPlayerMaterialDetected = true;
          }
    }
}

function addRealPlayerWarning() {
  return;
  if (WR_RealPlayerMaterialDetected) {
    if (hasRealPlayer()+"" != "true") {
      if (document.getElementById("real_player_warning") && window.location.href.indexOf('?n=tpg') == -1) {
        document.getElementById("real_player_warning").innerHTML='\
<div id="real-player-box">\
  <img src="/binaries/common/logo/real-player.gif" alt=""/>\
  <div id="text"> <a href="http://forms.real.com/netzip/intl/intl_getrde601.html?lang=en&h=software-dl.real.com&f=windows/mrkt/R30UKD/RealPlayer10-5GOLD.exe&p=RealPlayer&oem=rp10_en_uk&src=ZG.uk.idx,ZG.uk.rp.rp.hd.def,ZG.uk.rp10_p_f.rp10_p_f.760.rp10_plus_free&tagtype=ie&type=rp10_en_uk" class="more" target="_blank"> Do ogl&#261;dania konieczny jest RealPlayer </a> </div>\
</div>';
      }
    }
  }
}


//przykrycie strony (dezaktywacja)
  function coverBackground() {
    coverBackground(null);
  }
  function coverBackground(f) {
    uncoverFunction = f;
    var elms = document.getElementsByTagName('select');
    for(var i = 0; i < elms.length; i++)
      if(elms[i].style.visibility != 'hidden') {
        elms[i].style.visibility = 'hidden';
        hiddenPageElements.push(elms[i]);
      }
    elms = document.getElementsByTagName('div');
    /*
    for(var i = 0; i < elms.length; i++)
      if(elms[i].className == 'banner' && elms[i].style.visibility != 'hidden') {
        elms[i].style.visibility = 'hidden';
        hiddenPageElements.push(elms[i]);
      }
    */
    var pageLid = document.createElement("div");
    pageLid.id = 'pageLid';
    pageLid.style.position = document.all?'absolute':'fixed';
    pageLid.style.top = '0px';
    pageLid.style.left = '0px';
    pageLid.style.backgroundColor = 'silver';
    pageLid.style.opacity = .80;
    pageLid.style.filter = 'alpha(opacity=80)';
    pageLid.style.zIndex = 300;
    pageLid.style.width = '100%';
    pageLid.style.height = document.all ? document.body.clientHeight+'px' : '100%';
    pageLid.onclick = new Function('event', 'uncoverBackground();');
    document.body.appendChild(pageLid);
  }

//odkrycie strony (aktywacja)
  function uncoverBackground() {
    var elm;
    while(hiddenPageElements.length > 0) {
      elm = hiddenPageElements.pop();
      elm.style.visibility = 'visible';
    }
    try {
      document.body.removeChild(document.getElementById('pageLid'));
    } catch(ex) {}
    try {
      document.body.removeChild(document.getElementById('layerImage'));
    } catch(ex) {}
    try {
      document.body.removeChild(document.getElementById('layerImageClose'));
    } catch(ex) {}
    if (uncoverFunction!=null) uncoverFunction();
  }

  
// Pakuje zawartość formularza
// frm - formularz do spakowania
// flds - tablica z nazwami pól do spakowania
// sep1 - separator kolejnych par wartość-nazwa
// sep2 - separator wartości od nazwy
function packFormFields(frm, flds, sep1, sep2) {
  var elementName = "";
  var bigValue = "";
  for (var i = 0; i < flds.length; i++)
    if (elementName != frm.elements[i].name) {
      elementName = frm.elements[i].name;
      fieldVal = getFormFieldValue(frm, frm.elements[i], false);
      if (fieldVal==undefined) fieldVal = '';
      else if (fieldVal==null) fieldVal = '';
      else if (fieldVal==false) fieldVal = '';
//alert('fieldVal='+fieldVal+'\n '+elementName);
      bigValue += sep1 + this.encodeForSend(elementName, sep1, sep2, "", "") + 
                  sep2 + this.encodeForSend(fieldVal, sep1, sep2, "", "");
    }
  bigValue = bigValue.substr(sep1.length);
//alert('bigValue\n'+bigValue);
  return bigValue;
}
function sendPackedForm(frm, paramName, packedValue) {
  var f = document.createElement('form');
  f.method = frm.method;
  f.action = frm.action;
  addInputToForm(f, 'hidden', paramName, packedValue);
  document.body.appendChild(f);
  f.submit();
}

function getFormFieldValue(frm, fld) {
  try {
    if (frm.elements[fld] != undefined)
      fld = frm.elements[fld];
  } catch(ex) {}
  try {
    if (fld.tagName.toLowerCase() == 'input') {
      if (fld.type.toLowerCase() == 'text')           return fld.value;
      else if (fld.type.toLowerCase() == 'password')  return fld.value;
      else if (fld.type.toLowerCase() == 'hidden')    return fld.value;
    } else return null;
  } catch(ex) {
    return null;
  }
}

//enkodowanie wartości na okoliczność separatorów
function encodeForSend(v, sep1, sep2, sep1c, sep2c) {
  return v.replace(sep1, sep1c).replace(sep2, sep2c);
}

// wstawianie reklamy śródtekstowej
function insertInlineAdv() {
  var dotCounter = 5;
  var charCounter = 500;
  var o = document.getElementById('forInlineAdv');
  var ia = document.getElementById('adv05');
  if(o && ia) {
    ia = ia.parentNode;
    ia.parentNode.removeChild(ia);
    for(var i = 0; i < o.childNodes.length; i++) {
      if(o.childNodes[i].nodeName.toLowerCase() == '#text') {
        if(dotCounter <= 0 && charCounter <= 0) {
          o.insertBefore(ia, o.childNodes[i]);
          i = o.childNodes.length + 1;
        } else {
          var t = o.childNodes[i].nodeValue;
          charCounter -= t.length;
          t = t.replace(/\.+/g, '.');
          var j = 0;
          while(t.indexOf('.', j) != -1) {
            dotCounter--;
            j = t.indexOf('.', j) + 1;
          }
        }
      }
    }
    if(dotCounter > 0 || charCounter > 0)
      o.appendChild(ia);
  }
}

//inicjacja scrollera
function initScroller(i) {
  if(document.getElementById('scroller')) {
    if(!i) {
      loadLibJS('/binaries/js/scroller.js');
      i = 0;
    }
    if(i < 100) {
      i++;
      try {
        scroller = new Scroller('scroller', '/tpsa/run?n=' + sitePrefix + 'tab&p1=28772', '/tpsa/run?n=' + sitePrefix + 'tab&p1=28583');
        scroller.init();
      } catch(ex) {
        setTimeout('initScroller('+i+');', 500);
      }
    }
  }
}

// resetowanie player flash --------------------------------------------------
function resetFlashPlayer(objId, flashId, playerSrc, width, height, videoUrl, text) {
  var o = document.getElementById(objId);
  if(o) {
    var mySwfOb = new SWFObject(playerSrc, flashId, width, height, '9', '#000000');
    mySwfOb.addVariable('param1', videoUrl);
    mySwfOb.addVariable('param2', text);
    mySwfOb.addParam('quality', 'high');
    mySwfOb.addParam('wmode', 'transparent');
    mySwfOb.addParam('allowFullScreen', 'true');
    mySwfOb.write(objId);
  }
}

// zmiana playera flash --------------------------------------------------
function changeFlashPlayer(objId, flashId, playerSrc, width, height) {
  try {
  var o = document.getElementById(objId);
  if(o) {
    var mySwfOb = new SWFObject(playerSrc, flashId, width, height, '9', '#000000');
    mySwfOb.addParam('quality', 'high');
    mySwfOb.addParam('wmode', 'transparent');
    mySwfOb.addParam('allowFullScreen', 'true');
    for(var i = 5; i < arguments.length - 1; i += 2)
      mySwfOb.addVariable(arguments[i], arguments[i+1]);
    mySwfOb.write(objId);
  }
  }catch(ex){alert(ex)}
}

// dodawanie pola do formularza
function addInputToForm(f, t, n, v) {
  var inputElem = document.createElement('input');
  inputElem.type = t;
  inputElem.name = n;
  inputElem.value = v;
  f.appendChild(inputElem);
}

// zapisywanie si do newslettera
function formNewsletterSubmit(f, cs, g) {
  var f = document.forms[f];
  if(f && f.elements['email']) {
    if(isValidEmail(f.elements['email'].value)) {
      var bv = '[#[' + packFormFields(f, ['email'], ']#][#[', '#!#') + ']#]';
      var f = document.createElement('form');
      f.action = '/tpsa/run';
      f.method = 'get';
      addInputToForm(f, 'hidden', 'n', sitePrefix + 'subs');
      addInputToForm(f, 'hidden', 'p1', 'SR');
      for(var i = 0; i < cs.length; i++)
        addInputToForm(f, 'hidden', 'p2', cs[i]);
      addInputToForm(f, 'hidden', 'p4', bv);
      addInputToForm(f, 'hidden', 'p5', g);
      document.body.appendChild(f);
      f.submit();
    } else {
      alert('Niepoprawny adres e-mail!');
    }
  }
}

// inicjalizacja playlisty
function initPlaylist(id) {
  var o = document.getElementById('playlistBox_' + id);
  var u = window.location.href;
  if(u.indexOf('#') != -1)
    u = u.substr(0, u.indexOf('#'));
  var as = true;
  var idRE = /&p1=[0-9]*&/;
  var uRE = /n=[^&]*/;
  var m = uRE.exec(u);
  if(o && m) {
    o.className = 'playlist';
    u = u.replace(m, 'n=' + sitePrefix + 'programy_playlista');
    if(idRE.test(u)) {
      as = false;
      advAJAX.get({
        url: u,
        unique: false,
        onSuccess : function(obj) {
          finalizeLoadPlaylistElement(id, obj.responseText);
        },
        onError : function(obj) { try {} catch(ex) {} }
      });
      u = u.replace(idRE, '&');
    }
    loadPlaylist(id, u, as);
  }
}

//załadowanie elementu playlisty z urla
function finalizeLoadPlaylistElement(id, t) {
  t = t.replace(/id="/g, 'id="playelement');
  var o = document.createElement('div');
  o.style.position = 'absolute';
  o.style.visibility = 'hidden';
  o.style.left = '0px';
  o.style.top = '0px';
  o.style.width = '1px';
  o.style.height = '1px';
  o.innerHTML = t;
  document.body.appendChild(o);
  playFirstFromPlaylist(document.getElementById('playelementplaylistDiv_' + id));
}

//załadowanie playlisty z urla
function loadPlaylist(id, u, as) {
  var o = document.getElementById('playlistBoxDiv_' + id);
  if(o) {
    o.innerHTML = '';
    o.className = 'box hourglass';
    advAJAX.get({
      url: u,
      tag: [id, as],
      unique: false,
      onSuccess : function(obj) {
        finalizeLoadPlaylist(obj.tag[0], obj.responseText, obj.tag[1]);
      },
      onError : function(obj) { try {} catch(ex) {} }
    });
  }
}

//finalizacja załadowania playlisty
function finalizeLoadPlaylist(id, txt, as) {
  try {
    var o = document.getElementById('playlistBoxDiv_' + id);
    o.className = '';
    if(txt.indexOf('<div class="navi">') != -1) {
      var t1 = txt.substr(0, txt.indexOf('<div class="navi">'));
      txt = txt.substr(txt.indexOf('<div class="navi">'));
      txt = txt.replace(new RegExp(' href="#"' ,'gi'), '');
      txt = txt.replace(new RegExp(' href="([^"]+)"', 'gi'), function(s, p1) { return ' onclick="loadPlaylist(\'' + id + '\', \'' + p1 + '\', false);"'; });
      txt = t1 + txt;
    }
    o.innerHTML = txt;
    if(as)
      playFirstFromPlaylist(document.getElementById('playlistDiv_' + id));
    highlightPlaylistActive(id);
  } catch(ex) {}
}

//odtwarzanie pierwszego z listy
function playFirstFromPlaylist(pls) {
  var i = 0;
  while(i < pls.childNodes.length) {
    if(pls.childNodes[i].className && pls.childNodes[i].className.indexOf('news') == 0) {
      var oc = pls.childNodes[i].onclick.toString();
      oc = oc.substring(1 + oc.indexOf('{'), oc.lastIndexOf('}')).replace('this', 'document.getElementById("' + pls.childNodes[i].id + '")');
      eval(oc);
      i = pls.childNodes.length;
    } else {
      i++;
    }
  }
}

//zmiana tekstów w playerze do playlisty
function changePlaylistPlayerTexts(o, id) {
  id = document.getElementById(id);
  var s = id.parentNode.firstChild;
  while(s && s.className != 'text')
    s = s.nextSibling;
  if(s) {
    s.innerHTML = document.getElementById(o.id.replace('_', 'Text_')).innerHTML;
    s.id = id.id.replace('swfobjectDiv_', 'playlistText_').replace('_player', '') + o.id.replace('playlist', '').replace(/^playelement/, '');
  }
  s = id;
  while(s && s.className != 'box')
    s = s.parentNode;
  while(s && s.className != 'headerLight')
    s = s.previousSibling;
  if(s)
    s.innerHTML = (s.innerHTML.indexOf(' - ') != -1 ? s.innerHTML.substr(0, s.innerHTML.indexOf(' - ')) : s.innerHTML ) + ' - ' + document.getElementById(o.id.replace('_', 'Title_')).innerHTML;
  highlightPlaylistActive(id.id.replace('swfobjectDiv_', '').replace('_player', ''));
}

//podświetlenie aktywnej pozycji playlisty
function highlightPlaylistActive(id) {
  var o = document.getElementById('playlistDiv_' + id);
  if(o)
    for(var i = 0; i < o.childNodes.length; i++)
      if(o.childNodes[i].className && o.childNodes[i].className.indexOf('news') == 0)
        o.childNodes[i].className = 'news';
  o = document.getElementById('swfobjectDiv_' + id + '_player');
  if(o) {
    var s = o.parentNode.firstChild;
    while(s && s.className != 'text')
      s = s.nextSibling;
    if(s && s.id) {
      o = document.getElementById(s.id.replace('playlistText_' + id, 'playlist'));
      if(o)
        o.className = 'news newsActive';
    }
  }
}

//rozwijanie tekstu
function expandChild(o) {
  if(o.className == 'expander') {
    o.className = 'collapser';
    o = o.nextSibling;
    while(o && o.nextSibling && o.className != 'collapser' && o.className != 'expander')
      if(o.className == 'expandableText') {
        o.className = 'expandedText';
        o = null;
      } else {
        o = o.nextSibling;
      }
  } else {
    o.className = 'expander';
    o = o.nextSibling;
    while(o && o.nextSibling && o.className != 'collapser' && o.className != 'expander')
      if(o.className == 'expandedText') {
        o.className = 'expandableText';
        o = null;
      } else {
        o = o.nextSibling;
      }
  }
}

//pokazywanie płachty
function showBigMenu(o, u) {
  if(!o.onmouseout)
    o.onmouseout = new Function('hideBigMenu(this.id);');
  var oo = document.getElementById('bigMenu_'+o.id);
  if(oo) {
    if(bigMenuOpened && bigMenuOpened != oo.id)
      hideBigMenu(bigMenuOpened, true, true);
    bigMenuOpened = oo.id;
    if(oo.innerHTML) {
      keepBigMenu(oo);
      var pos = getObjectPosition(o);
      oo.style.top = (pos.y + o.offsetHeight) + 'px';
      oo.style.left = pos.x + 'px';
      oo.className = 'bigMenu';
      if(document.getElementById('adv03'))
        document.getElementById('adv03').style.visibility  = 'hidden';
    } else {
      advAJAX.get({
        url : u,
        tag : [o, u, oo],
        onSuccess : function(obj) {
          try {
/*
            oo = document.createElement('div');
            oo.id = 'bigMenu_'+o.id;
            oo.className = 'undisplayed';
            document.body.appendChild(oo);
*/
            obj.tag[2].onmouseover = new Function('keepBigMenu(this);');
            obj.tag[2].onmouseout = new Function('hideBigMenu(this.id);');
            obj.tag[2].innerHTML = obj.responseText;
            showBigMenu(obj.tag[0], obj.tag[1]);
          } catch(ex) {}
          
        },
        onError : function(obj) {
          alert('Błąd: ' + obj.status);
        }
      });
    }
  }
}

//chowanie płachty
function hideBigMenu(o, c, a) {
  if(o.indexOf('bigMenu_') != 0)
    o = 'bigMenu_'+o;
  o = document.getElementById(o);
  if(o) {
    if(!c) {
      eval('timeout_' + o.id + ' = setTimeout(\'hideBigMenu("' + o.id + '", true);\', 1000);');
    } else {
      o.className = 'undisplayed';
      if(bigMenuOpened == o.id) {
        if(!a && document.getElementById('adv03'))
          document.getElementById('adv03').style.visibility  = 'visible';
        bigMenuOpened = null;
      }
    }
  }
}

//utrzymywanie płachty
function keepBigMenu(o) {
  try {
    eval('clearTimeout(timeout_' + o.id + ');');
  } catch(ex) {}
}

//głosowanie
function addVote(o, v, id) {
  advAJAX.get({
    url : url = '/tpsa/run?n='+sitePrefix+'komentarze_edycja&p1='+id+'&p2='+v,
    tag : o,
    onSuccess : function(obj) {
      var rsp;
      try {
        eval('rsp = ' + obj.responseText);
        if(rsp.votes)
          obj.tag.parentNode.childNodes[3].innerHTML = cmtRatingTpl.replace('<number/>', rsp.votes).replace('<numeral/>', numeral[rsp.votes == 1 ? 0 : 1]).replace('<rating/>', rsp.rating).replace('<className/>', (rsp.rating == 0 ? '' : (ratingClassNames[rsp.rating > 0 ? 1 : 0])));
        showAlertForComment(obj.tag, alrtVoteComment[1]);
      } catch(ex) {
        if(rsp == '-1')
          showAlertForComment(obj.tag, alrtNotLogged[0]);
        else
          showAlertForComment(obj.tag, alrtVoteComment[0]);
      }
    },
    onError : function(obj) {
      try {
        alert('Błąd: ' + obj.status);
      } catch(ex) {}
    }
  });
}

//okienko zgłaszania nadużyca
function showAbuseWindow(o, id) {
  var oo = document.getElementById('reportAbuseWindow');
  if(!oo) {
    oo = document.createElement('div');
    oo.id = 'reportAbuseWindow';
    document.body.appendChild(oo);
  }
  oo.innerHTML = cmtAbuseFormTpl.replace('<id/>', id);
  utilsFormAbuse = new UtilsForm('utilsFormAbuse', 'formReportAbuse');
  utilsFormAbuse.init();
  var pos = getObjectPosition(o);
  oo.style.left = (pos.x + o.offsetWidth - oo.offsetWidth) + 'px';
  oo.style.top = pos.y + 'px';
}

//zgłaszanie nadużycia
function reportAbuse(o, f) {
  if(f.elements['p4'].value.length == 0)
    showAlertForComment(o, alrtAbuseEmpty);
  else
    advAJAX.post({
      url : '/tpsa/run?n='+sitePrefix+'komentarze_edycja',
      parameters : {
        'p1' : f.elements['p1'].value,
        'p3' : f.elements['p4'].value
      },
      tag : f,
      onSuccess : function(obj) {
        var o = document.getElementById('btnAbuse_' + obj.tag.elements['p1'].value);
        if(obj.responseText == -1)
          showAlertForComment(o, alrtNotLogged[1]);
        else if(obj.responseText == 0)
          showAlertForComment(o, alrtVoteComment[2]);
        else
          showAlertForComment(o, alrtVoteComment[3]);
        obj.tag.parentNode.parentNode.parentNode.parentNode.removeChild(obj.tag.parentNode.parentNode.parentNode);
      },
      onError : function(obj) {
        try {
          alert('Błąd: ' + obj.status);
        } catch(ex) {}
      }
    });
}

//budowanie listy komentarzy
function showCommentsList(ct, id, of) {
  if(id) {
    if(!ct)
      ct = 'N';
    if(!of)
      of = 0;
    advAJAX.get({
      url : '/tpsa/run?n='+sitePrefix+'komentarze_lista&p1='+ct+'&p2='+id+'&p3='+cmtCount+'&p4='+of,
      tag : [ct, id, of],
      onSuccess : function(obj) {
        try {
          var rsp;
          eval('rsp = ' + obj.responseText + ';');
          rsp.isLogged = true;  //zalogowanie niezalogowanego
          if(rsp.commentMode)
            cmtMode = rsp.commentMode
          if(rsp.numberOfComments == 0 || obj.tag[2] * cmtCount < rsp.numberOfComments) {
            var o = document.getElementById('commentsList');
            var ts = getTagsByClassName('div', 'columnCenter');
            if(!o && ts.length != 0) {
              o = document.createElement('div');
              o.id = 'commentsList';
              o.className = 'box';
              ts[0].appendChild(o);
            }
            if(o) {
              o.innerHTML = '';
              for(var i = 0; i < rsp.data.length; i++) {
                var cmt = (rsp.data[i].rating <= cmtRatingHarsh ? cmtHarshTpl : cmtTpl);
                cmt = cmt.replace(/<id\/>/g, rsp.data[i].commentId)
                cmt = cmt.replace('<author/>', rsp.data[i].nickname);
                cmt = cmt.replace('<date/>', rsp.data[i].creDate);
                cmt = cmt.replace('<comment/>', rsp.data[i].statusId != 4 ? rsp.data[i].text : infoCmtModerated);
                cmt = cmt.replace('<rating/>', rsp.data[i].votes > 0
                  ? cmtRatingTpl.replace('<number/>', rsp.data[i].votes).replace('<numeral/>', numeral[rsp.data[i].votes == 1 ? 0 : 1]).replace('<rating/>', rsp.data[i].rating).replace('<className/>', (rsp.data[i].rating == 0 ? '' : (ratingClassNames[rsp.data[i].rating > 0 ? 1 : 0])))
                  : '');
                o.innerHTML += cmt;
              }
              var navi = cmtNaviTpl;
              if(obj.tag[2] > 0)
                navi = navi.replace('<prev/>', cmtNaviPrevTpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]).replace('<offset/>', obj.tag[2] - 1));
              else
                navi = navi.replace('<prev/>', cmtNaviPrevETpl);
              if((obj.tag[2] + 1) * cmtCount < rsp.numberOfComments)
                navi = navi.replace('<next/>', cmtNaviNextTpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]).replace('<offset/>', obj.tag[2] + 1));
              else
                navi = navi.replace('<next/>', cmtNaviNextETpl);
              var pages = '';
              var of = Math.floor(obj.tag[2] / 10) * 10;
              for(var i = 0; i < 10; i++)
                if((of + i + 1) * cmtCount < rsp.numberOfComments)
                  pages += (of + i == obj.tag[2] ? cmtNaviPageATpl.replace('<number/>', of + i + 1) : cmtNaviPageITpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]).replace('<offset/>', of + i).replace('<number/>', of + i + 1));
              if((of + 11) * cmtCount < rsp.numberOfComments)
                pages += cmtNaviPagesTpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]).replace('<offset/>', of + 10).replace('<numberFrom/>', of + 11).replace('<numberTo/>', Math.min(of + 20, Math.ceil(rsp.numberOfComments / cmtCount)));
              if(of >= cmtCount)
                pages = cmtNaviPagesTpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]).replace('<offset/>', of - 10).replace('<numberFrom/>', of - 9).replace('<numberTo/>', of) + pages;
              navi = navi.replace('<pages/>', pages);
              o.innerHTML += navi;
              o.innerHTML += (rsp.isLogged ? (cmtMode == 2 || cmtMode == 3 ? cmtFormTpl.replace('<type/>', obj.tag[0]).replace('<id/>', obj.tag[1]) : infoCmtForm[1]) : infoCmtForm[0]);
              utilsFormComment = new UtilsForm('utilsFormComment', 'formAddComment');
              utilsFormComment.init();
            }
          }
        } catch(ex) {}
      },
      onError : function(obj) {
        alert('Błąd: ' + obj.status);
      }
    });
  }
}

//dodawanie komentarza
function addComment(o, f) {
  if(f.elements['p3'].value.length == 0)
    showAlertForComment(o, alrtComment[0]);
  else
    advAJAX.post({
      url : '/tpsa/run?n='+sitePrefix+'komentarze_edycja',
      parameters : {
        'p3' : f.elements['p3'].value,
        'p4' : f.elements['p4'].value,
        'p5' : f.elements['p5'].value,
        'p6' : f.elements['p6'].value
      },
      tag : [f, o],
      onSuccess : function(obj) {
        if(obj.responseText == '1') {
          showAlertForComment(obj.tag[1], alrtComment[2]);
          obj.tag[0].reset();
          document.getElementById('p3InfoRemainingLength').innerHTML = 2000;
        } else {
          showAlertForComment(obj.tag[1], alrtComment[1]);
        }
      },
      onError : function(obj) {
        try {
          alert('Błąd: ' + obj.status);
        } catch(ex) {}
      }
    });
}

//alert komentarzowy
function showAlertForComment(o, t) {
  var pos = getObjectPosition(o);
  var oo = document.getElementById('toolTip');
  if(oo)
    oo.parentNode.removeChild(oo);
  oo = document.createElement('div');
  oo.id = 'toolTip';
  oo.innerHTML = cmtAlertTpl.replace('<text/>', t);
  document.body.appendChild(oo);
  oo.style.left = (pos.x - oo.offsetWidth + 30) + 'px';
  oo.style.top = (pos.y - oo.offsetHeight) + 'px';
  setTimeout('hideAlertForComment();', 3000);
}

//ukrywanie alertu komentarzowego
function hideAlertForComment() {
  var oo = document.getElementById('toolTip');
  if(oo)
    oo.parentNode.removeChild(oo);
}

//pokazywanie brzydkiego komentarza
function showHarshComment(o) {
  o.nextSibling.className = 'textValue';
  o.parentNode.removeChild(o);
}


//wyrównywanie wysokości listy
function unifyListHeight(o, t, cn) {
  if(o && t) {
    var i = 0;
    while(o.childNodes.length > i && o.offsetHeight < t.offsetHeight) {
      if(o.childNodes[i].className && o.childNodes[i].className.indexOf(cn) == 0)
        o.childNodes[i].className = o.childNodes[i].className.replace(' undisplayed', '');
      i++;
    }
    var i = o.childNodes.length - 1;
    while(i >= 0 && o.offsetHeight > t.offsetHeight) {
      if(o.childNodes[i].className && o.childNodes[i].className.indexOf(cn) == 0 && o.childNodes[i].className.indexOf('undisplayed') == -1)
        o.childNodes[i].className += ' undisplayed';
      i--;
    }
  }
}

//obsługa wyszukiwania po słowie
function updateWordSearch(f, e, strp, sbmt) {
  if(f && f.elements[e]) {
    var v = f.elements[e].value;
    if(strp && v.length > 0 && v.charAt(v.length - 1) == '*')
      v = v.substr(0, v.length - 1);
    else if(!strp && v.length > 0 && v.charAt(v.length - 1) != '*')
      v += '*';
    f.elements[e].value = v;
  }
  if(sbmt)
    f.submit();
  else
    return true;
}

//URLdekodowanie UTF-8
function utf8UrlDecode(s) {
  s = unescape(s);
  var u = '';
  var i = 0;
  var c = c1 = c2 = 0;
  while(i < s.length) {
    c = s.charCodeAt(i);
    if(c < 128) {
      u += String.fromCharCode(c);
      i++;
    } else if((c > 191) && (c < 224)) {
      c2 = s.charCodeAt(i+1);
      u += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
      i += 2;
    } else {
      c2 = s.charCodeAt(i+1);
      c3 = s.charCodeAt(i+2);
      u += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
      i += 3;
    }
  }
  return u;
}

//otwarcie obrazka w warstwie
function popLayerImage(l) {
  var img = document.createElement('img');
  img.id = 'layerImage';
  img.style.visibility = 'hidden';
  img.style.left = '0px';
  img.style.top = '0px';
  img.style.position = 'absolute';
  img.style.zIndex = 301;
  img.onload = new Function('showLayerImage(this);');
//  img.onclick = new Function('hideLayerImage(this);');
  document.body.appendChild(img);
  img.src = l;
  coverBackground();
}

//pokazanie obrazka w warstwie
function showLayerImage(o) {
  var x = ((document.all ? document.documentElement.clientWidth : window.innerWidth) - o.offsetWidth) / 2;
  var y = document.documentElement.scrollTop + (((document.all ? document.documentElement.clientHeight : window.innerHeight) - o.offsetHeight) / 2);
  o.style.left = x + 'px';
  o.style.top = y + 'px';
  o.style.visibility = 'visible';
  var a = document.createElement('a');
  a.id = 'layerImageClose';
  a.className = 'hideImgSect';
  a.href = 'javascript:hideLayerImage();';
  a.innerHTML = '&#160;';
  a.style.zIndex = 302;
  document.body.appendChild(a);
  a.style.left = (x + o.offsetWidth - a.offsetWidth - 3) + 'px';
  a.style.top = (y + 3) + 'px';
}

//zamknicie obrazka w warstwie
function hideLayerImage(o) {
//  document.body.removeChild(o);
  uncoverBackground();
}
