function doBlur(e){
  this.blur();
}  

function doPagination(count){
  if(count == undefined)
    count = 8;
  var myCont = $('content');
  var lnkCont = new Element('div', {
    'class': 'span-5 last',
    'styles': {
      'textAlign': 'right',
      'fontWeight':'bold',
      'fontSize':'12px',
      'color':'#004580'
    },
    'text': 'Seite anzeigen:'
  });
  var lnkCont2 = lnkCont.clone(true);
  var myElems = $$('#content > div');
  var pageCount = Math.floor(myElems.length / count);
  if(myElems.length % count > 0){
    pageCount += 1;
  }
  var pages = [];
  var newCont = new Element('div', {
    id: 'scrollCont',
    'class': 'span-5 last'
  });
  newCont.inject(myCont, 'top');
  var html, lnkClass;
  for(i = 0; i < pageCount; i++){
    html = new Element('div');
    for(j = i * count; j < (i+1) * count; j++){
      if(myElems[j]){
        myElems[j].inject(html, 'bottom');
      }
    }
    pages[i] = html.get('html');
    lnkclass = 'scroll_link';
    if(i == 0)
      lnkclass += ' active';
    new Element('a', {
      'class': lnkclass,
      'name': 'page_' + i,
      id: 'lnkpage_' + i,
      href: '#page_' + i,
      text: i+1,
      events: {
        click: function(e){
          this.blur();
          $('scrollCont').set('html', pages[parseInt(this.href.split('_').getLast())]);
          $$('a.scroll_link').each(function(el){
            el.removeClass('active');
          });
          [this, $('btmlnkpage_' + i)].each(function(el){
            if(el)
              el.addClass('active');
          });
          doCartLinks(); //f**king work around
        }
      }
    }).inject(lnkCont);
    new Element('a', {
      'class': lnkclass,
      'name': 'pagebtm_' + i,
      id: 'btmlnkpage_' + i,
      href: '#page_' + i,
      text: i+1,
      events: {
        click: function(e){
          this.blur();
          $('scrollCont').set('html', pages[parseInt(this.href.split('_').getLast())]);
          $$('a.scroll_link').each(function(el){
            el.removeClass('active');
          });
          [this, $('lnkpage_' + i)].each(function(el){
            if(el)
              el.addClass('active');
          });
          doCartLinks(); //f**king work around
        }
      }
    }).inject(lnkCont2);
  }
  lnkCont.inject(myCont, 'top');
  lnkCont2.inject(myCont, 'bottom');
  $('scrollCont').set('html', pages[0]);
  doCartLinks(); //f**king work around
}


function doPaginationWithSort(count, tag){
  if(count == undefined)
    count = 8;
  var myCont = $('content');
  var idx = $H();
 
  var clipboard = new Element('div');
  $$('#content > div').each(function(el){
    clipboard.empty().adopt(el);
    idx.set(el.getElement(tag).get('html'), clipboard.get('html'));
  });


  var lnkLineTop = new Element('div', {
    'class': 'border_top span-5 last',
    styles: {
      'paddingTop':10,
      'paddingBottom':10
    }
  });
  var mySelect = new Element('select', {
    id: 'sortby',
    events: {
      change: function(){
        $$('a.scroll_link')[0].fireEvent('click');
      }
    }
  });
  var selCont = new Element('div', {
    'class': 'span-2',
    'styles': {
      'textAlign': 'left'
    }
  });
  selCont.inject(lnkLineTop);
  lnkLineTop.inject(myCont, 'top');
  mySelect.inject(selCont, 'top');
  new Element('option', {
    text: 'Firmenname aufsteigend',
    value: 'up'
  }).inject(mySelect);
  new Element('option', {
    text: 'Firmenname absteigend',
    value: 'down'
  }).inject(mySelect);
  var pageCount = Math.ceil(idx.getLength() / count);
  var lnkCont = new Element('div', {
    'class': 'span-3 last',
    'styles': {
      'textAlign': 'right',
      'fontWeight':'bold',
      'fontSize':12,
      'color':'#004580'
    },
    'text': 'Seite anzeigen: '
  });
  var lnkCont2 = lnkCont.clone(true);
  lnkCont2.removeClass('span-3').addClass('span-5');
  var newCont = new Element('div', {
    id: 'scrollCont',
    'class': 'span-5 last'
  });
  var pageLink, pageLink2, scrollCont, myPage;
  var keys = idx.getKeys();
  
  for(i=1; i<=pageCount;i++){
    pageLink = new Element('a', {
      'class': 'scroll_link page' + i,
      id: 'lnktopage_' + i,
      name: 'toppagelnk' + i,
      href: '#list',
      text: i,
      events: {
        click: function(e){
          this.blur();
          myPage = this.retrieve('page');
          $$('a.scroll_link').each(function(el){
            el.removeClass('active');
          });
          $$('a.page' + myPage).each(function(el){
            if(el)
              el.addClass('active');
          });
          scrollCont = $('scrollCont');
          scrollCont.empty();
          var myKeys;
          if($('sortby').value == 'up'){
            myKeys = keys.sort();
            //alert(myKeys);
          }
          else{
            if($('sortby').value == 'down'){
              myKeys = keys.sort().reverse();
              
            }
            else{
              myKeys = keys;
            }
          }
          for(j = (myPage - 1) * count; j < (myPage * count); j++){
            if(myKeys[j]){
              scrollCont.innerHTML += idx.get(myKeys[j]);
            }
          }
          doCartLinks(); //f**king work around
        }
      }
    });
    pageLink.inject(lnkCont);
    pageLink.store('page',i);
    pageLink2 = new Element('a', {
      'class': 'scroll_link page' + i,
      id: 'btmlnktopage_' + i,
      name: 'btmpagelnk' + i,
      href: '#list',
      text: i,
      events: {
        click: function(e){
          this.blur();
          myPage = this.retrieve('page');
          $$('a.scroll_link').each(function(el){
            el.removeClass('active');
          });
          $$('a.page' + myPage).each(function(el){
            if(el)
              el.addClass('active');
          });
          scrollCont = $('scrollCont');
          scrollCont.empty();
          var myKeys;
          if($('sortby').value == 'up'){
            myKeys = keys.sort();
          }
          else{
            if($('sortby').value == 'down'){
              myKeys = keys.sort().reverse();
            }
            else{
              myKeys = keys;
            }
          }
          for(j = (myPage - 1) * count; j < (myPage * count); j++){
            if(myKeys[j]){
              scrollCont.innerHTML += idx.get(myKeys[j]);
            }
          }
          doCartLinks(); //f**king work around
       }
      }
    });
    pageLink2.inject(lnkCont2);
    pageLink2.store('page',i);
  //    pageLink.clone(true).inject(lnkCont2);
  }
  lnkCont.inject(lnkLineTop, 'bottom');
  lnkCont.setAttribute('name', 'list');
  newCont.inject(myCont, 'bottom');
  lnkCont2.inject(myCont, 'bottom');
  $$('a.scroll_link')[0].fireEvent('click');
}

function bindBlur(){
  $$('a').each(function(el){
    el.addEvents({
      focus: doBlur,
      click: doBlur
    });
  });
}

function doMemberTips(){
  if(!loggedIn){
    $$('a.member_area').each(function(el){
      el.addEvents({
        click: function(e){
          new Event(e).preventDefault();
          showLoginForm();
        }
      });
    });
  }
}

function showLoginForm(){
  if(!$('logindiv')){
    var logindiv = new Element('div', {
      id: 'logindiv'
    });
    logindiv.injectInside($('header'));
    logindiv.setStyle('top', window.getScroll().y);
    logindiv.load('index.php?article_id=49');
  }
}

function doLoginLnk(){
  var loginlnk = $('loginlnk');
  if(loginlnk){
    loginlnk.addEvent('click', function(e){
      new Event(e).preventDefault();
      showLoginForm();
    });
  }
}

function doUserLinks(){
  $$('ul.userlink + ul.userlink').each(function(el){
    el.getElements('li').injectInside(el.getPrevious());
    el.getParent().removeChild(el);
  });
  $$('ul.userlink').each(function(ul){
    ul.getElements('li').getLast().setStyles({
      paddingBottom: '1em',
      background: 'transparent url(\'files/pix/line.gif\') left bottom repeat-x'
    })
  });
}

function loadCartPrev(url){
  if(url == undefined)
    url = 'cart.php?prev=1';
  if(!$('cart_confirm'))
    $('cart_prev').load(url);
}

function toCart(e){
  new Event(e).preventDefault();
  loadCartPrev(this.href + '&prev=1');
  if($('small_cart')){
    $('small_cart').getParent().removeChild($('small_cart'));
  }
}

function doCartLinks(){
  $$('a.to_cart').each(function(lnk){
    lnk.addEvent('click', function(e){
      new Event(e).preventDefault();
      loadCartPrev(this.href + '&prev=1');
      if($('small_cart')){
        $('small_cart').getParent().removeChild($('small_cart'));
      }
    });
  });
}

function showCart(){
  if(!$('small_cart')){
    var scart = new Element('div', {
      id: 'small_cart',
      styles: {
        top: window.getScroll().y + 150,
        left: 260
      }
    });
    scart.innerHTML = '<p style="display:block;text-align:center;"><img src="files/pix/ajax-loader.gif" /></p>';
    scart.injectInside($$('body')[0]);
    scart.set('load', {
      evalScripts: true,
      onComplete: function(){
        $('small_cart').getElements('a[class!=static]').each(function(lnk){
          lnk.addEvent('click', function(e){
            new Event(e).preventDefault();
            $('small_cart').load(this.href);
          });
        });
        var closeCont = new Element('p', {
          'class':'close cart_font'
        });
        new Element('a', {
          text:'X Schließen',
          href: '#',
          events: {
            click:function(){
              $('small_cart').getParent().removeChild($('small_cart'));
            }
          }
        }).inject(closeCont);
        closeCont.inject($('small_cart'), 'top');
      }
    });
    scart.load('cart.php');
  }
}

function handleMemberOrderBtns(){
  $$('button.member_order').each(function(btn){
    btn.addEvent('click', function(e){
      var dest = $(this.parentNode);
      if(dest){
        var myCount = $(this.parentNode).getElements('input')[0].value;
        var myDoc = $(this.parentNode).getElements('input')[1].value;
        if(confirm("Wollen Sie wirklich das Dokument " + myDoc + ' in ' + myCount + '-facher Ausfertigung in Papierform bestellen?')){
          dest.load('member_order.php', {
            count:myCount,
            doc:myDoc
          });
        }
      }
    });
  });
}

window.addEvent('domready',function(){
  doUserLinks();
  doCartLinks();
//  bindBlur();
  doMemberTips();
  doLoginLnk();
  //handleMemberOrderBtns();
});
window.addEvent('load',function(){
  handleMemberOrderBtns();
});

