if (typeof gazeta_pl != 'object') var gazeta_pl = {};

gazeta_pl.komunikaty = {
  addEvent: function(obj, type, fn) {
    if (obj.addEventListener) {
      obj.addEventListener(type, fn, false);
    } else if (obj.attachEvent) {
      obj["e" + type + fn] = fn;
      obj[type + fn] = function() { obj["e" + type + fn] (window.event); };
      obj.attachEvent("on" + type, obj[type + fn]);
    }
  },

  init: function() {
    // embed flash
    (function() {
      if (gazeta_pl.flash_holders) {
        var l = gazeta_pl.flash_holders.length;
        if (l > 0) {
          var params = { wmode: 'opaque', allowScriptAccess: 'always' };        
          for (var i = 0; i < l; i++) {
            var fl = gazeta_pl.flash_holders[i];
            params.flashvars = fl.vars;
            if (fl.allowFullScreen != 'undefined' && fl.allowFullScreen == 'true') params.allowFullScreen = 'true';
            swfobject.embedSWF(fl.url, fl.id, fl.width, fl.height, '9.0.0', '/info/expressInstall.swf', {}, params);
          }
        }
      }
    }());
	ie6();
  }
}

$(document).ready(function(){

var gfunc = {};
$.fn.gazeta = function(call, options) { return $.fn.gazeta[call](this, typeof options == 'undefined' ? {} : options); };

$.fn.gazeta.gslider = function (_this, options) {
    return _this.each(function () {
        var elem = $(this); 
        /* parse options */
        options.visible_elems = typeof options.visible_elems == 'undefined' ? 0 : parseInt(options.visible_elems, 10) > 0 ? parseInt(options.visible_elems, 10) : 0;
        options.slide_time = typeof options.slide_time == 'undefined' ? 500 : parseInt(options.slide_time, 10) > 0 ? parseInt(options.slide_time, 10) : 500;
        options.fold = typeof options.fold == 'undefined' ? true : options.fold;
        options.horizontal = typeof options.horizontal == 'undefined' ? true : options.horizontal;
        options.activeClass = typeof options.activeClass == 'undefined' ? 'active' : options.activeClass;
        options.staticClass = typeof options.staticClass == 'undefined' ? 'static' : options.staticClass;
        options.dynamicClass = typeof options.dynamicClass == 'undefined' ? 'dynamic' : options.dynamicClass;
        var outer = elem.find(options.selectors.bodyOuter).css({
            'overflow': 'hidden'
            }),
            inner = elem.find(options.selectors.bodyInner),
            elems = elem.find(options.selectors.bodyElems),
            bNext = elem.find(options.selectors.buttonNext),
            bPrev = elem.find(options.selectors.buttonPrev);

        /* check */
        if (outer.length < 1 || inner.length < 1 || elems.length < 1 || bNext.length < 1 || bPrev.length < 1) {
            //gazeta_pl.write_log('slider: nie zdefiniowano wszystkich elementow');
            return;
        };

        outer.scrollLeft(0).scrollTop(0);

        /* measurements */
        var elDimension = options.horizontal ? elems.eq(0).outerWidth() + parseInt(elems.eq(0).css('marginLeft'), 10) + parseInt(elems.eq(0).css('marginRight'), 10) : elems.eq(0).outerHeight() + parseInt(elems.eq(0).css('marginTop'), 10) + parseInt(elems.eq(0).css('marginBottom'), 10),
            elemDimension = options.horizontal ? elem.outerWidth() - bNext.outerWidth() - bNext.outerWidth() : elem.outerHeight() - bNext.outerHeight() - bNext.outerHeight(),
            visibleElems = options.visible_elems ? options.visible_elems : Math.floor(elemDimension / elDimension),
            currentPage = 1,
            pages = Math.ceil(elems.length / visibleElems),
            elemCount = elems.length;
        
                if (elemCount <= visibleElems) {
            //gazeta_pl.write_log('slider: zbyt malo elementow, wlaczam wersje statyczna');
            elem.addClass(options.staticClass);
            bNext.hide();
            bPrev.hide();
            return;
        } else {
            elem.addClass(options.dynamicClass);
        };

        bNext.addClass(options.activeClass);
        if (options.fold) bPrev.addClass(options.activeClass);
        if (options.fold) {
            if ((elems.length % visibleElems) != 0) {
                inner.filter(':last').append(elems.slice(0, visibleElems - (elems.length % visibleElems)).clone().addClass('cloned'));
                elems = elem.find(options.selectors.bodyElems);
            };
            inner.filter(':first').prepend(elems.slice(-visibleElems).clone().addClass('cloned'));
            inner.filter(':last').append(elems.slice(0, visibleElems).clone().addClass('cloned'));
            elems = elem.find(options.selectors.bodyElems);
            options.horizontal ? outer.scrollLeft(elDimension * visibleElems) : outer.scrollTop(elDimension * visibleElems);
        };
                
        function gotoPage(page) {
            var dir = page < currentPage ? -1 : 1,
                n = Math.abs(currentPage - page),
                space = elDimension * dir * visibleElems * n;
                                
            if (!options.fold) {
              if (page == pages) {
                            if ((elems.length % visibleElems) != 0)
                              space = elDimension * dir * n * (elems.length % visibleElems);
                          };
              if (page <= 1) {
                bPrev.removeClass(options.activeClass);
                bNext.addClass(options.activeClass);
              } else if (page >= pages) {
                bNext.removeClass(options.activeClass);
                bPrev.addClass(options.activeClass);
              } else {
                bPrev.addClass(options.activeClass);
                bNext.addClass(options.activeClass);
              };
              if (page < 1 || page > pages) return;   
            };

            var slideSide = {};
            slideSide[options.horizontal ? 'scrollLeft' : 'scrollTop'] = '+=' + space;

            outer.filter(':not(:animated)').animate(slideSide, options.slide_time, function () {
                if (page == 0) {
                    options.horizontal ? outer.scrollLeft(elDimension * visibleElems * pages) : outer.scrollTop(elDimension * visibleElems * pages);
                    page = pages;
                } else if (page > pages) {
                    options.horizontal ? outer.scrollLeft(elDimension * visibleElems) : outer.scrollTop(elDimension * visibleElems);
                    page = 1;
                }
                currentPage = page;
            });
            return false;
        };

        bPrev.click(function (e) {
            e.preventDefault();
            return gotoPage(currentPage - 1);
        });

        bNext.click(function (e) {
            e.preventDefault();
            return gotoPage(currentPage + 1);
        });
                
                $(this).bind('move', function (event) {
            gotoPage(currentPage + 1);
        });

                $(this).bind('goto', function (event, page) {
            gotoPage(page);
        });
    })
};

for (var i in $.fn.gazeta) { gfunc[i] = i; }

 //przewijak partnerzy
 $('.mod_zr8 .node_body').before('<div class="node_prev"><a href="#">poprzednie</a></div>');
 $('.mod_zr8 .node_body').after('<div class="node_next"><a href="#">nastêpne</a></div>');
 $('.mod_zr8').gazeta(gfunc.gslider, {
   selectors: {
    bodyOuter: ".node_body",
    bodyInner: ".node_inner_body",
    bodyElems: ".node_entry",
    buttonPrev: ".node_prev a",
    buttonNext: ".node_next a"
   },
   fold: false
 });


});

gazeta_pl.komunikaty.addEvent(window, 'load', gazeta_pl.komunikaty.init);

function ie6(){
 if ( navigator.userAgent.indexOf('MSIE 6.0') > 0 && navigator.userAgent.indexOf('MSIE 7.0') < 0 && navigator.userAgent.indexOf('MSIE 8.0') < 0 ){
	var doc=document.body;
	doc.style.paddingTop="50px";
	var desc = document.createElement('div');
	desc.setAttribute("id","IE6_warning");
	desc.style.background="#faf0a7";
	desc.style.margin="0";
	desc.style.color="#000";
	desc.style.fontFamily="Arial, sans-serif";
	desc.style.fontSize="14px";
	desc.style.height="50px";
	desc.style.width="100%";
	desc.style.zIndex="999";
	desc.innerHTML='<div id="IE6_con" style="width: 940px; text-align: left; margin: 0 auto; position: relative; height: 30px; padding: 10px 0;"><strong style="font-weight: bold;">Internet Explorer 6 nie zapewnia ju&#380; odpowiedniego poziomu bezpiecze&#324;stwa. </strong><p>Cz&#281;&#347;&#263; stron b&#281;dzie si&#281; &#378;le wy&#347;wietla&#263;.</p><a id="IE6_btn" href="http://gazeta.hit.gemius.pl/hitredir/id=AkfqlqrNGyYy8Wqp2ABDV2ZUfSqNecbhJ9CvGwgvXf7.k7/url=ie8.gazeta.pl/internet_explorer_8/0,0.html" target="_blank" style="position: absolute; right: 100px; bottom:10px; display: block; border: 1px solid #ccc; padding: 6px 10px; background: #fffbdf; color: #114488; text-decoration: none; font-weight: bold;">Pobierz Internet Explorer 8</a></div><img src="http://gazeta.hit.gemius.pl/redot.gif?id=AkHgkqsrPw2YwOMuYdGfwbR5HSGK7gexhoUlkx6YLh3.H7" height="1" width="1" alt="" />';
	var d = document.getElementById('fb-root');
	doc.insertBefore(desc, d);
	}
}

