function addProgrammeEvents() {

  //-vertical
  var myVerticalSlide1 = false;
  if ($('vertical_slide1')) {
    myVerticalSlide1 = new Fx.Slide('vertical_slide1');
    
    if ($('vertical_slide1').style.display == 'none') {  
      myVerticalSlide1.slideOut();
      $('vertical_slide1').style.display = 'block';  
    }
  }
  
  var myVerticalSlide10 = false;
  if ($('vertical_slide10')) {
    myVerticalSlide10 = new Fx.Slide('vertical_slide10');
    
    if ($('vertical_slide10').style.display == 'none') {  
      myVerticalSlide10.slideOut();
      $('vertical_slide10').style.display = 'block';  
    }    
  }  
  
  if ($('vertical_slide2')) {
    var myVerticalSlide2 = new Fx.Slide('vertical_slide2');
    
    if ($('vertical_slide2').style.display == 'none') {  
      myVerticalSlide2.slideOut();
      $('vertical_slide2').style.display = 'block';  
    }    
  }
  
  if ($('vertical_slide20')) {
    var myVerticalSlide20 = new Fx.Slide('vertical_slide20');
    
    if ($('vertical_slide20').style.display == 'none') {  
      myVerticalSlide20.slideOut();
      $('vertical_slide20').style.display = 'block';  
    }    
  }  
  
  if ($('vertical_slide3')) {
    var myVerticalSlide3 = new Fx.Slide('vertical_slide3');
    
    if ($('vertical_slide3').style.display == 'none') {  
      myVerticalSlide3.slideOut();
      $('vertical_slide3').style.display = 'block';  
    }    
  }
  
  if ($('vertical_slide30')) {
    var myVerticalSlide30 = new Fx.Slide('vertical_slide30');
    
    if ($('vertical_slide30').style.display == 'none') {  
      myVerticalSlide30.slideOut();
      $('vertical_slide30').style.display = 'block';  
    }    
  }  
  
  if ($('vertical_slide4')) {
    var myVerticalSlide4 = new Fx.Slide('vertical_slide4');
    
    if ($('vertical_slide4').style.display == 'none') {  
      myVerticalSlide4.slideOut();
      $('vertical_slide4').style.display = 'block';  
    }    
  }
  
  if ($('vertical_slide40')) {
    var myVerticalSlide40 = new Fx.Slide('vertical_slide40');
    
    if ($('vertical_slide40').style.display == 'none') {  
      myVerticalSlide40.slideOut();
      $('vertical_slide40').style.display = 'block';  
    }    
  }  
  
  $('v_toggle').addEvent('click', function(e){
    e.stop();
    
    if (myVerticalSlide1) {
      myVerticalSlide1.toggle();
    }
    
    if (myVerticalSlide10) {
      myVerticalSlide10.toggle();
    }    

    if (myVerticalSlide2) {
      myVerticalSlide2.toggle();
    }
    
    if (myVerticalSlide20) {
      myVerticalSlide20.toggle();
    }    
    
    if (myVerticalSlide3) {
      myVerticalSlide3.toggle();
    }
    
    if (myVerticalSlide30) {
      myVerticalSlide30.toggle();
    }    

    if (myVerticalSlide4) {
      myVerticalSlide4.toggle();
    }
    
    if (myVerticalSlide40) {
      myVerticalSlide40.toggle();
    }     
  });
  
  // When Vertical Slide ends its transition, we check for its status
  // note that complete will not affect 'hide' and 'show' methods  
  if (myVerticalSlide1) {
    myVerticalSlide1.addEvent('complete', function() {
      var title = $('v_toggle');
      
      if (myVerticalSlide1) {
        if(myVerticalSlide1.open) {
          title.set('text', 'Paslėpti');
          title.set('rel', 1);
        } else {
          title.set('text', 'Rodyti viską');
          title.set('rel', 0);
        }
      }
    });
  }
  
  if (myVerticalSlide10) {
    myVerticalSlide10.addEvent('complete', function() {
      var title = $('v_toggle');
      
      if (myVerticalSlide10) {
        if(myVerticalSlide10.open) {
          title.set('text', 'Paslėpti');
          title.set('rel', 1);
        } else {
          title.set('text', 'Rodyti viską');
          title.set('rel', 0);
        }
      }
    });
  }  
}

var Programme = new Class({
  active: null,
  collumn: null,
  channel: null,
  
  initialize: function() {
    this.active = 1;
    this.column = 1;
    this.channel = 'closed';
  },
  
  setActiveDay: function(id) {
    if (id != this.active) {
      $('day' + id).addClass('dayActive');
      $('day' + this.active).removeClass('dayActive');
      this.active = id;
    }
  },
  
  reloadUrl: function(uri, div_id) {
    var myDiv = $(div_id);
    var mySize = $('filter-render').getSize();
    var bottom_size = $('tv-footer').getCoordinates();
    var top_size = $('tvToday').getCoordinates();
    mySize.y = bottom_size.top - top_size.top;
    var top = top_size.top + 38;

    var myOpacity = new Element('div', {
      'styles': {
        'background': '#DDDDDD',
        'background-image': 'url(http://www.tvgidas.lt/images/loader.gif)',
        'background-repeat': 'no-repeat',
        'background-position': 'center center',
        'opacity': 0.6,
        'filter': 'alpha(opacity=60)',
        'width': mySize.x + 'px',
        'height': mySize.y + 'px',
        'top': top + 'px',
        'left': top_size.left + 'px',
        'overflow': 'visible',
        'z-index': '9',
        'position': 'absolute'
      }
    });
    myOpacity.inject(myDiv);
    var myRequest = new Request.HTML({
      url: uri, 
      onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
        myDiv.empty();
        myDiv.set('html', responseHTML);
        addProgrammeEvents();
      }
    }).get();
  },
  
  reloadProgramme: function(url) {
    var title = $('v_toggle')
    var div_id = 'render-programme' + this.column;
    var day = this.active;
    
    url = url + ',column.' + this.column + ',day.' + day + ',open.' + parseInt(title.get('rel'));
    this.reloadUrl(url, div_id);
    $('dropdown').setStyle('display', 'none');
  },
  
  setColumn: function(value) {
    this.column = value;
  },
  
  getColumn: function() {
    return this.column;
  },
  
  showChannels: function() {
    var dimensions = $('channel' + this.column).getCoordinates();
    var dropdown = $('dropdown');

    dropdown.setStyle('top', dimensions.top + 'px');
    dropdown.setStyle('left', dimensions.left + 'px');
    dropdown.setStyle('display', 'block');

    $('body').addEvent('mouseup', function() {
      $('body').removeEvents('mouseup');
      $('dropdown').setStyle('display', 'none');
    });
  }
    
});

var objProgramme = new Programme();

window.addEvent('domready', function() {
  addProgrammeEvents();  
});