/**
 * @author mootooler & picsNdocs 2010
 */
/* ==================================================================== wfaccord ========*/
window.addEvent('domready', function(){
var openElement = Cookie.read("accordOpenElement");
if( accordOpenElement = '' ) accordOpenElement = 1;
//var elOpen = 0;
var myAccordion = new Accordion($('wfaccord'), 'div.wftoggler', 'ul.wfelement', {
    opacity: false,
    display: openElement,
    onActive: function(toggler, element){
      toggler.setStyle('color', '#400000');
      toggler.setStyle('border-bottom-color', '#400000');
      element.setStyles({'overflow': 'hidden','display': 'block'});
         elOpen = 1;
         var openElId;
         this.elements.each(function(el, i){
              if (el==element)
                  openElId = i;
         }),this;
        Cookie.write("accordOpenElement", openElId, {duration: 3600});
        if (openElId == 4)
              elOpen = 0;
    },
    onBackground: function(toggler, element){
      toggler.setStyle('color', '#800000');
      toggler.setStyle('border-bottom-color', '#ddd');
         var elementId;
         element.getParent().getElements('div.element').each(function(el, i){
              if (el == element)
                  elementId = i;
         }),this;
         if ((elementId == 4) && (elOpen == 0)) {
            Cookie.write("accordOpenElement", "", {duration: 3600});
         }
         if (elementId == 4)
              elOpen = 0;
    }
});
window.addEvent('domready',function(){
  if (openElement != "")
  myAccordion.display(openElement);
});

/* ==================================================================== Seiten Accordion ========*/
  var pAccordion = new Accordion($('accord'), 'h3.toggle', 'div.elem',  {
    opacity: false,
    onActive: function(toggle, elem){
      toggle.setStyle('color', '#800000');
      toggle.setStyle('opacity','1');
    },
    onBackground: function(toggle, elem){
      toggle.setStyle('color', '#800000');
      toggle.setStyle('opacity','0.5');
    }
    });
});

/* ==================================================================== Hauptmenü h-menu slider ======== */


var myScroll;
function scrollToPort() {
  myScroll.toElement('webdesign');
  outerSlidesBox = $('panes');
  $('panes').tween('height', $('webdesign').getStyle('height'));
  return false;
}
var SlidingTabs = new Class({
  current: null,
  buttons: null,
  contentFrame: null,
  slideContainer: null,
  innerSlidesBox: null,
  panes: null,
  positions: null,
  scrollingFx: null,
  start: null,

  initialize: function(buttonContainer, contentFrame, start) {
    this.buttons = $(buttonContainer).getChildren();
    this.contentFrame = $(contentFrame);
    this.slideContainer = this.contentFrame.getFirst();
    this.panes = this.slideContainer.getChildren();
    this.start = $(start);   
    this.scrollingFx = new Fx.Scroll(this.contentFrame, { duration: 400});    
    this.slideContainer.setStyle('width', (this.contentFrame.offsetWidth.toInt() * this.panes.length) + 'px');
    this.buttons.each( function(button) {
        button.addEvent('click', this.buttonEventHandler.bindWithEvent(this, button));
      }.bind(this));
    this.positions = new Array(this.panes.length);
    if(this.start!= null){
      this.start.setStyle('display', 'block');
    }
    this.contentFrame.setStyle('height', this.contentFrame.offsetHeight);
    //fuckin IE (7?) does not comes along with this position-stuff after one scroll - therefor i store the positions before first scroll!      
      var i = 0;
    this.panes.each(function(pane){      
      pane.setStyle('display','block');
      this.positions[i] = pane.getPosition(this.slideContainer);
      i++;
    }.bind(this));
    if(this.start!= null){
      this.contentFrame.scrollTo(this.start.getPosition(this.slideContainer).x, this.start.getPosition(this.slideContainer).y);
    }
  },
    buttonEventHandler: function(event, button) {
    if (this.current == this.buttons.indexOf($(button))){
      return;
    }else{
      this.current = this.buttons.indexOf($(button));      
      this.scrollingFx.cancel();
      this.scrollingFx.start(this.positions[this.buttons.indexOf($(button))].x,this.positions[this.buttons.indexOf($(button))].y);
      this.contentFrame.tween('height',this.panes[this.current].offsetHeight);
    }
    }    


/* ==============================================================================================*/

});