var Journal = new Class({
	//initialization
	initialize:  function(s) {
	
	  // Email adress
      //---------------------------
      $$('a.email').each(function(el,i) {
        el.setProperty('title',el.getProperty('title').replace(/ <(.)+> /,'@'));
        el.setProperty('href','mailto:' + el.getProperty('title'));
        el.set('text',el.get('text').replace(/ <(.)+> /,'@'));
      });
        	
      // Flash integration  
      //---------------------------
        $$('div.flash').each(function(el,i) {
            var params = el['title'].split(':');
            if ( ! params[3] ) { 
              params[3]=""; 
            }
            if ( ! params[4] ) { 
              params[4]=""; 
            }
            var obj = new Swiff(params[0], {
                id: 'flash' + i,
                width: params[1],
                height: params[2],
                container: el,
                params: {
                    wmode: 'transparent',
                    bgcolor: '#ffffff'
                    },
                vars: {
		            params: params[4]
		            }
	            });
            el['title']=params[3];
		});
			   	

      // Toolboxes with timer
	    $$('span.toolbox').each(function(el,i) {
	      var elc = el.getParent().getNext('.toolbox-content');
	      $(document.body).grab(elc,'bottom');
	    
	      //var eclose = elc.getChild('.toolbox-close');
	      var eclose = elc.getElement('div.toolbox-close');
	      if ($chk(eclose)) {
	        eclose.addEvent('click',function(e) {
	            new Event(e).stop();
	            HideToolBox();
	        });
	      }
	      
          var toolBoxTimer;
          var toolBoxDelay = 400;

          function HideToolBox(){
            elc.setStyle('visibility','hidden');
          }
	      
	      el.addEvent('mouseenter',function(e) {
	        new Event(e).stop();
	        toolBoxTimer = $clear(toolBoxTimer);
            var pos=el.getPosition();
	        elc.setStyles( {'left':pos.x+16,'top':pos.y+16,'visibility':'visible'} );
	      });
	      
	      el.addEvent('mouseleave',function(e) {
	        new Event(e).stop();
            toolBoxTimer = HideToolBox.delay(toolBoxDelay);
	      });
	      
	      elc.addEvent('mouseenter', function(e){
            new Event(e).stop();
            toolBoxTimer = $clear(toolBoxTimer);
            var pos=el.getPosition();
	        elc.setStyles( {'left':pos.x+16,'top':pos.y+16,'visibility':'visible'} );
          });

          elc.addEvent('mouseleave',function(e){
            new Event(e).stop();
            toolBoxTimer = HideToolBox.delay(toolBoxDelay);
          });
	      
	    });

	    // Forms - field focus
	    //---------------------------
	    $$('input.text, textarea.text').each(function(el, i) {
	        el.addEvent('focus', function(e) { el.addClass('text-onfocus'); });
	        el.addEvent('blur', function(e) { el.removeClass('text-onfocus'); });
	    });
	    $$('input.button').each(function(el, i) {
	        el.addEvent('mouseenter', function(e) { el.addClass('button-onmouseover'); });
	        el.addEvent('mouseleave', function(e) { el.removeClass('button-onmouseover'); });
	    });
	    if (!Browser.Engine.trident4) { // not IE6
	        $$('select.text').each(function(el, i) {
	            el.addEvent('focus', function(e) { el.addClass('text-onfocus'); });
	            el.addEvent('blur', function(e) { el.removeClass('text-onfocus'); });
	        });
	    }

	    // Table shading  
	    //---------------------------
	    function setMooTable() {
	        $$('table.moo tr').each(function(el, i) {
	            var _class = i % 2 ? 'odd' : 'even'; el.addClass(_class);
	            el.addEvent('mouseenter', function() { if (!el.hasClass('highlight')) { el.addClass('highlight').removeClass(_class); } });
	            el.addEvent('mouseleave', function() { if (el.hasClass('highlight')) { el.removeClass('highlight').addClass(_class); } });
	        });
	    }
	    setMooTable();

	    // Tips
	    //---------------------------
	    var myTips = new Tips($$('.tip'), { className: 'tt200' });
	    var myTips2 = new Tips($$('.tipnorel'), { className: 'tt200notext' });
	    $$('.tipnorel').store('tip:text', '');

	    // Easy tabs
	    //---------------------------
	    var myUl;
	    $$('h2.tab').each(function(el, i) {
	        //alert(el.get('html'));
	        if (i == 0) {
	            var myDiv = new Element('div', { 'class': 'easytabs tabs2' });
	            myUl = new Element('ul');
	            myDiv.adopt(myUl);
	            myDiv.adopt(new Element('div', { 'class': 'cb' }));
	            myDiv.inject(el, 'before');
	        } else {
	            if ($(el.get("title"))) {
	                $(el.get("title")).addClass('hidden');
	            }
	        }
	        if ($(el.get("title"))) {
	            $(el.get("title")).addClass('tab-content');
	        }
	        var myLi = new Element('li', { 'class': 'hand' });
	        if (i == 0)
	            myLi.addClass('selected');
	        myLi.set('title', el.get('title'));
	        myLi.adopt(new Element('a', { 'href': '#', 'html': el.get('html') }));
	        //myLi.set('html', el.get('html'));
	        myUl.adopt(myLi);
	        el.dispose();
	    });

	    $$('div.easytabs ul li').each(function(el, i) {
	        if (el.getProperty("title")) {
	            el.addEvent('click', function() {
	                el.getParent().getChildren().each(function(elt, i) {
	                    if (elt.getProperty("title")) {
	                        elt.removeClass("selected");
	                        if (el != elt && !$(elt.getProperty("title")).hasClass('hidden')) {
	                            $(elt.getProperty("title")).addClass("hidden");
	                        }
	                    };
	                });
	                $(el.getProperty("title")).removeClass('hidden');
	                el.toggleClass('selected');
	            });
	        };
	    });
     
      
    // Toggler
    //---------------------------
    // adjusting for IE6
    if(window.ie6) var heightValue='100%';
    else var heightValue='';
	
	// names to select holders - Switch and Content
	var togglerName='dt.accordion_toggler_';
	var contentName='dd.accordion_content_';
	
	
	// setup holders
    var counter=1;	
    var toggler=$$(togglerName+counter);
    var content=$$(contentName+counter);

    var openItem = -1;
    var myCookie = new Cookie('menuOpen');
    if ( myCookie.read()) { openItem = myCookie.read().toInt();  }

    while(toggler.length>1)
    {
        // accordion logic
        var acc = new Accordion(toggler, content, {
            opacity: false,
            display: openItem,
            alwaysHide: true,
            onComplete: function() { 
	            var element=$(this.elements[this.previous]);
	            if(element && element.offsetHeight>0) element.setStyle('height', heightValue);			
            },
            onActive: function(toggler, content) {
	            toggler.addClass('open');
	            var idx=this.togglers.indexOf(toggler);
	            myCookie.write(idx);
            },
            onBackground: function(toggler, content) {
	            toggler.removeClass('open');
            }
        });
        
        // set holders for next level
        counter++;
        toggler=$$(togglerName+counter);
        content=$$(contentName+counter);
    }
      
        $$('.load-css').each(function(el) {  
            el.addEvent('click', function() {
              var myCookie = new Cookie('color');
              myCookie.write(el.get('rel'));
              //var css = new Asset.css('/css/'+el.get('rel'), { });
              window.location = "http://www.mezinamidevcaty.cz";  
            });  
        });

        // drop down menu
        $$('.drop-down-menu').each(function(el, i) {
            el.getChildren('li').each(function(elem) {
                var list = elem.getElement('ul');
                elem.addEvents({
                    'mouseenter': function() {
                        //alert(elem.offsetLeft);
                        if (list) {
                            list.setStyle("display", "block");
                            var size = (elem.getPosition().x + list.offsetWidth + 5);
                            var scroll = window.getScroll();
                            //alert(elem.getPosition().x + ' ' + list.offsetWidth + ' ' + window.getWidth() + ' ' + window.getSize().x);

                            if (size > (window.getWidth() - scroll.x)) {
                                list.setStyle("left", elem.offsetLeft - (size - window.getWidth() - scroll.x));
                            } else {
                                list.setStyle("left", elem.offsetLeft);
                            }
                            list.setStyle("top", elem.offsetHeight);
                            elem.addClass("tab");
                        }
                    },
                    'mouseleave': function() {
                        if (list) {
                            list.setStyle("display", "none");
                            list.setStyle("left", "-999");
                            list.setStyle("top", "-999");
                            elem.removeClass("tab");
                        }
                    }
                });
            });
        });
        //alert('in');
    },
    setFormPopup: function(sender, popupId) {
        var popup = $(popupId);
        var s = $(sender.id);
        var pos = s.getPosition();
        //alert(sender.offsetLeft + ' ' + sender.offsetTop);
        //alert(sender.offsetWidth + ' ' + sender.offsetHeight);
        //alert(pos.x + ' ' + pos.y);

        if (popup) {
            var scroll = window.getScroll();
            var size = (pos.x + sender.offsetWidth + popup.offsetWidth + 5);

            if (size > (window.getWidth() - scroll.x)) {
                popup.setStyle("left", pos.x - (size - window.getWidth() - scroll.x));
            } else {
                popup.setStyle('left', pos.x + sender.offsetWidth + 5);
            }
            popup.setStyle('top', pos.y);
        }
    }
});
function setFormPopup(sender, panelId) { journal.setFormPopup(sender, panelId); };


