window.addEvent('domready',function(){
  if($chk(newsitems = $$('.news-item')))
  {
    var currentItem = false;
    
    newsitems.each(function(item){
      if($chk(item.getElements('.text')) && $chk(item.getElements('h2')))
      {
        item.getElements('.title')[0].setStyles({
          cursor:'pointer'
        }).addEvent('mouseenter',function(){
          this.addClass('rex-hover');
        }).addEvent('mouseleave',function(){
          this.removeClass('rex-hover');
        }).addEvent('click',function(){
          currentItem = this.getParent('.news-item');
          
          currentItem.addClass('news-active');
          
          newsitems.each(function(el){
            
            if(el != currentItem)
            {
              el.removeClass('news-active');
              if($chk(el.effect)) el.effect.cancel();
              
              el.effect = new Fx.Morph(el.getElements('.text')[0],{
                duration: 300,
                transition: Fx.Transitions.Sine.easeOut
              }).start({
                height:[el.getElements('.text')[0].getSize().y,0]
              });
            }
          });
          
          arr = currentItem.getElements('.text')[0].getSize().y<=0 ? [currentItem.getElements('.text')[0].getSize().y,currentItem.getElements('.text')[0].getScrollSize().y] : [currentItem.getElements('.text')[0].getSize().y,0];
          if(currentItem.effect!=null) currentItem.effect.cancel();
          currentItem.effect = new Fx.Morph(currentItem.getElements('.text')[0],{
            duration: 300,
            transition: Fx.Transitions.Sine.easeOut
          }).start({
            height:arr
          });
        }.bind(item.getElements('h2')[0]));
      }
    })
  }
})
