var Journal = new Class({
	//initialization
	initialize:  function() {
	
	
      // 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(':');
            var obj = new Swiff(params[0], {
                id: 'flash' + i,
                width: params[1],
                height: params[2],
	            container: el,
                params: {
                    wmode: 'transparent',
                    bgcolor: '#ffffff'
                    }
	            });
            if ( ! params[3] ) { 
                params[3]=""; 
            }
            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');
                });
            });
        }

      function setMooTable() {
      // Table shading  
      //---------------------------
      $$('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('mo').removeClass(_class); } });
      	el.addEvent('mouseleave',function() { if(!el.hasClass('highlight')) { el.removeClass('mo').addClass(_class); } });
      });
    }
    setMooTable();
    
    
      // Tips
      //---------------------------
      var myTips = new Tips($$('.tip'),{ className: 'tt200' });
      //myTips.addEvent('show', function(tip){ tip.fade('in');  });
      //myTips.addEvent('hide', function(tip){ tip.fade('out'); });
      
      var myTips2 = new Tips($$('.tipnorel'),{ className: 'tt200notext' });
      $$('.tipnorel').store('tip:text', '');
      
      
    // Toggler - Nested Mootools Accordion
    //---------------------------
    // 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);
    }
      
	}
});


