function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}



var scrollTo = function (){
  var anker = '';
  if(location.href.search('#')){
    anker = location.href.substring(location.href.indexOf('#')+1);
    if($(anker)){
      var toggler = $(anker).getParent();
      if(toggler.getTag() != 'h4'){
        toggler = $(anker).getNext().getNext().getElement('h4');
        new Fx.Scroll(document.body,{
          duration: 2500,
          transition: Fx.Transitions.Quad.easeInOut
        }).scrollTo(0,$(anker).getNext().getCoordinates().top);
      }else{
        new Fx.Scroll(document.body,{
          duration: 2500,
          transition: Fx.Transitions.Quad.easeInOut
        }).toElement(anker);
      }
      toggler.fireEvent('click');
    }
  }
}


window.addEvent('domready', function() {
  var selected = $('MSelected');

  var current = (selected) ? selected.getParent() : false;

  var cookieName = 'apoAccs';
  var cookieContent = readCookie(cookieName);
  var cookieStatus = false;
  if(cookieContent) {
    cookieStatus = true;
  }


  $$('div.expandableGroup').each(function(div){
    var link = div.getElement('h4');
    link.style.cursor="pointer";
    var block = link.getNext();

    var fx = new Fx.Slide(block);

    if (block != current) fx.hide();

    /* getting open boxes [start] */
    var elTitle = link.getElements('p')[0].innerHTML;
    var cookieName = 'apoAccs';

    var cookieContent = readCookie(cookieName);

    var accs = new Array();

    if(cookieStatus) {
      if(cookieContent) {
        accs = cookieContent.split('#');
        if((accs.inArray(elTitle) && elTitle != 'Mein Service-Center') || (elTitle == 'Mein Service-Center' && !accs.inArray(elTitle))) {
          link.addClass("acctogActive");
          fx.toggle();
        }
      }
    } else {
      if(accs.inArray(elTitle) || (elTitle == 'Mein Service-Center' && !accs.inArray(elTitle))) {
        link.addClass("acctogActive");
        fx.toggle();
      }
      createCookie(cookieName,Array('exists'));
    }
    /* getting open boxes [end] */

    link.addEvent('click', function(){
      if(!div.getParent('.content')){
        var elTitle = link.getElements('p')[0].innerHTML;
        var cookieName = 'apoAccs';

        var cookieContent = readCookie(cookieName);

        var accs = new Array();

        if(cookieContent) {
          accs = cookieContent.split('#');
        }

        if(block.style.marginTop == '0px') {
          link.removeClass("acctogActive");

          if(elTitle == 'Mein Service-Center'){
            var accIndex = accs.inArray(elTitle,'where');
            accs.push(elTitle);
          }else{
            accs.splice(accIndex,1);
          }
        } else {
          link.addClass("acctogActive");
          var accIndex = accs.inArray(elTitle,'where');
          if(elTitle == 'Mein Service-Center'){
            accs.splice(accIndex,1);
          }else{
            accs.push(elTitle);
          }
        }
      }
      fx.toggle();
      if(!div.getParent('.content')){
        var accsOpen = accs.join('#');
        eraseCookie(cookieName);
        createCookie(cookieName,accsOpen);
      }
    });

  }.bind(cookieStatus));

  if(!window.ie){
    new SmoothScroll();
  }

  scrollTo.delay(1500);
});
