var showReleases = new Object();
    showReleases.currentImage = 0;
    showReleases.fadertime = 500;

showReleases.show = function(dir) {
  if($type(dir) == 'number')
  {
    
    if(showReleases.currentImage + dir > $$('.showRelease').length-1)
      showReleases.currentImage = showReleases.currentImage + dir - $$('.showRelease').length;
    else if(showReleases.currentImage + dir < 0)
      showReleases.currentImage = $$('.showRelease').length + (showReleases.currentImage + dir);
    else
      showReleases.currentImage+=dir;

    // alert(showReleases.currentImage);
    $('releasebox').getElements('.fader')[0].setStyle('opacity',0);
    $('releasebox').getElements('.fader')[0].setStyle('display','block');
    $('releasebox').getElements('.fader')[0].effects({
      duration: showReleases.fadertime/5,
    	transition: Fx.Transitions.Sine.easeOut
    }).start({
    	opacity: [0,1]
    }).chain(function(el,i){
      $$('.showRelease')[showReleases.currentImage].fireEvent('click');
      $('releasebox').getElements('.fader')[0].effects({
        duration: showReleases.fadertime/5,
      	transition: Fx.Transitions.Sine.easeOut
      }).start({
      	opacity: [1,0]
      }).chain(function(el,i){
        $('releasebox').getElements('.fader')[0].setStyle('display','none');
      });
    });
  }
};

showReleases.close = function() {
  if($('releasebox').getStyle('display')=='block')
  {
    $('darkcover').effects({
      duration: showReleases.fadertime/2,
    	transition: Fx.Transitions.Sine.easeOut
    }).start({
    	opacity: [0.8,0]
    }).chain(function(el,i){
      $('darkcover').setStyle('display','none');
      $$('body')[0].setStyles({'overflow':'auto'})
      
    });
    
    $('releasebox').effects({
      duration: showReleases.fadertime,
    	transition: Fx.Transitions.Expo.easeOut
    }).start({
    	opacity: [1,0]
    }).chain(function(el,i){
      $('releasebox').setStyle('display','none');
    });
  }
}

showReleases.position = function(){
  pos_top = window.getSize().size.y/2 - $('releasebox').getSize().size.y/2;
  if(pos_top<20) pos_top = 20;
  $('releasebox').setStyle('top',pos_top);
}

window.addEvent('domready',function(){
  
  releasebox = new Element('div',{
    'id':'releasebox',
    'style' : 'display:none'
  });
  
  // Pagination box
  temp = new Element('div', {'class':'pagination'});
  new Element('a', {
    'href':'javascript:void(0)',
    'class':'prev'
  }).addEvent('click',function() {showReleases.show(-1)}).setHTML('<span>back</span>').inject(temp);
  new Element('a', {
    'href':'javascript:void(0)',
    'class':'next'
  }).addEvent('click',function() {showReleases.show(1)}).setHTML('<span>next</span>').inject(temp);
  new Element('a', {
    'href':'javascript:void(0)',
    'class':'close'
  }).addEvent('click',function() {showReleases.close()}).setHTML('<span>close</span>').inject(temp);
  temp.inject(releasebox);
  
  // the elements
  new Element('div', {
    'class':'image'
  }).inject(releasebox);
  
  temp = new Element('div', {'class':'text'});
  new Element('h3', {'class':'artist'}).inject(temp);
  new Element('h4', {'class':'title'}).inject(temp);
  new Element('div', {'class':'infos'}).inject(temp);
  temp.inject(releasebox);
  
  // the fader
  new Element('div', {
    'class':'fader'
  }).inject(releasebox);
  
  // the dark cover
  new Element('div',{
    'id' : 'darkcover'
  }).addEvent('click',function() {showReleases.close()}).setStyles({
			'height': '2000px'
		}).inject($$('body')[0]);
  
  releasebox.inject($$('body')[0]);

  $$('.showRelease').each(function(el,i){
    el.rev = i;
    
    el.addEvent('click',function() {
      if($$('body')[0].getSize().size.y < window.getSize().size.y)
        $$('body')[0].setStyles({'overflow':'hidden'})
        
      showReleases.currentImage = parseInt(this.rev);
      infos = el.rel.split(" :: ");
      $('releasebox').getElements('.image')[0].setHTML('<img src="'+infos[0]+'" style="width:220px;height:220px" />');
      $('releasebox').getElements('h3')[0].setHTML(infos[1]);
      $('releasebox').getElements('h4')[0].setHTML(infos[2]);
      
      $('releasebox').getElements('.infos')[0].setHTML('');
      
//      labeltext = $('labels').rel;
      labeltext = $('labels').rel.split(" :: ");
      for(i=3; i<labeltext.length; i++)
      {
        if(infos[i]!='')
        {
          temp = new Element('p', {'class':'item clearfix'});
          new Element('span',{'class':'label'}).setHTML(labeltext[i]).inject(temp);    
          new Element('span',{'class':'info'}).setHTML(infos[i]).inject(temp);
          temp.inject($('releasebox').getElements('.infos')[0]);
        }
      }
      
      if($('releasebox').getStyle('display')=='none')
      {
        // $$('body')[0].setStyle('overflow','hidden');
        
        $('darkcover').setStyle('display','block');
        $('darkcover').effects({
          duration: showReleases.fadertime/2,
        	transition: Fx.Transitions.Sine.easeOut
        }).start({
        	opacity: [0,0.8]
        });
        
        $('releasebox').setStyle('opacity',0);
        $('releasebox').setStyle('display','block');
        showReleases.position();
        $('releasebox').effects({
          duration: showReleases.fadertime,
        	transition: Fx.Transitions.Expo.easeOut
        }).start({
        	opacity: [0,1]
        });
      }
      
    });
  });
});


// window.addEvent('resize', showReleases.position);
