var scroll = null;

  
 /* A workaround for IE issues in mootools 1.2.1
  * - Recreates FX.Scroll() but utilises 1.2.0's getPosition/getOffset routines.
  */
 Fx.Scroll2 = new Class({
  
     'Extends': Fx.Scroll,
  
     'styleString': Element.getComputedStyle,
     'styleNumber': function(element, style) {
         return this.styleString(element, style).toInt() || 0;
     },
     'borderBox': function(element) {
         return this.styleString(element, '-moz-box-sizing') == 'border-box';
     },
     'topBorder': function(element) {
         return this.styleNumber(element, 'border-top-width');
     },
     'leftBorder': function(element) {
         return this.styleNumber(element, 'border-left-width');
     },
     'isBody': function(element) {
         return (/^(?:body|html)$/i).test(element.tagName);
     }, 
     'toElement': function(el) {
         var offset   = {x: 0, y: 0};
         var element  = $(el);
        
         if (this.isBody(element)) {
             return offset;
         }
         var scroll = element.getScrolls();
                
         while (element && !this.isBody(element)){
             offset.x += element.offsetLeft;
             offset.y += element.offsetTop;
            
             if (Browser.Engine.gecko){
                 if (!this.borderBox(element)){
                     offset.x += this.leftBorder(element);
                     offset.y += this.topBorder(element);
                 }
                 var parent = element.parentNode;
                 if (parent && this.styleString(parent, 'overflow') != 'visible'){
                     offset.x += this.leftBorder(parent);
                     offset.y += this.topBorder(parent);
                 }
             } else if (Browser.Engine.trident || Browser.Engine.webkit){
                 offset.x += this.leftBorder(element);
                 offset.y += this.topBorder(element);
             }
  
             element = element.offsetParent;
             if (Browser.Engine.trident) {
                 while (element && !element.currentStyle.hasLayout) {
                     element = element.offsetParent;
                 }
             }
         }
         if (Browser.Engine.gecko && !this.borderBox(element)){
             offset.x -= this.leftBorder(element);
             offset.y -= this.topBorder(element);
         }
        
         var relative = this.element;
         var relativePosition = (relative && (relative = $(relative))) ? relative.getPosition() : {x: 0, y: 0};
         var position = {x: offset.x - scroll.x, y: offset.y - scroll.y};
        
         return this.start(position.x - relativePosition.x, position.y - relativePosition.y);
     }
 });
  
  
// slimbox autoload
Slimbox.scanPage = function() {
	$$(document.links).filter(function(el) {
		return el.rel && el.rel.test(/^lightbox/i);
	}).slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
  



window.addEvent('domready', function() {
   Slimbox.scanPage();   

	if ($('pruh')) {
   	// Nastavit spravnou sirku pruhu
   	$$('img.barimg').each(function(item, index){
         item.addEvent('load', function() {         
            var w = parseInt($('pruh').getStyle('width').replace('px', ''));
            // prekryt pocatecni hodnotu
            if (w==1000)
               w = 0;
            var wi = 2*parseInt(this.getStyle('width').replace('px', ''));
            $('pruh').setStyle('width', parseInt(w+wi)+'px');         
         });      
      });   
   
      scroll = new Fx.Scroll2($('content1'), {
      	wait: false,
      	duration: 1000,
      	offset: {'x': 0, 'y': 0},
      	transition: Fx.Transitions.Quad.easeOut
      });
   }
   
    // Bublinova napoveda
  var myTips = new Tips($$('.toolTip'),
	{
		showDelay: 0,
		hideDelay: 100,
		fixed: false,
		offsets: {'x': 10, 'y': 20}
	});
    $$('.toolTip').each( function(el) {
        var tmp = el.retrieve('tip:native').split('::');
        if (tmp[0] && tmp[1]) {
			el.store('tip:title', tmp[0].trim() );
			el.store('tip:text', tmp[1].trim() );
		  } else {
			  el.store('tip:title', '' );
			  el.store('tip:text', tmp[0].trim() );
		  }
    }); 
});


window.addEvent('load', function() {
      var imgs = $$('.barimg'); 
   	var el = $('scroll');
      var slval = 0;
      
      if (el) {         
      	// Create the new slider instance
      	var sl = new Slider(el, el.getElement('.knob'), {
      		steps: imgs.length-1, // pocet obrazku
      		offset: -1, // 1px okraj
      		wheel: true, // vrteni koleckem
      		// vystredit obrazek a posunout
      		onChange: function(value){            
               var w = parseInt($('pruh').getParent().getStyle('width').replace('px', ''));
      		   var img = imgs[value];
      		   var size = img.getSize();
         		var ww = (w-size.x)/-2;
         		scroll.setOptions({offset: {'x':ww, 'y':0}});
               slval = value;
               scroll.toElement(imgs[value]);
      		}
      	}).set(slval); // nektere browsery si pamatuji posunuti, proto zaciname vzdy od 0   
         
         // ozivit sipecky
         $('arr-l').addEvent('click', function(e){
            if (slval>0)
               sl.set(slval-1);
         });     
         $('arr-r').addEvent('click', function(e){
            if (slval<imgs.length-1)
               sl.set(slval+1);
         });
         
         document.addEvent("keydown", function(event) {
      		var code = event.code;
      		// doleva 37, doprava 39
            if (code == 37 && slval>0) {
               sl.set(slval-1);
            }
            if (code == 39 && slval<imgs.length-1) {
               sl.set(slval+1);  
            }           
      	});
         
      }
      
      // skryt nacitaci overlay a info
      if ($('loading-overlay'))
         $('loading-overlay').dispose();
      if ($('loading-info'))
         $('loading-info').dispose();     
});


