/*
 * CHB Boardshop JS
 * Copyright: anti-design.com GmbH & Co. KG 2011
 * Author: Lars Lorenz
 * Version: $Id: chb.js 4687 2012-02-19 18:00:28Z lars $
 */

function subNaviHelper() {
  jQuery('div.subnav').hide();
  jQuery('ul#nav li.cat').hover(function() {
     var id = this.id;
     jQuery('div#sub'+id).show();
  },function() {
     var id = this.id;
     jQuery('div#sub'+id).hide();
  });
  jQuery('div.subnav').hover(function() {
     jQuery(this).show();
     var id = this.id;
     id = id.substring(3);
     jQuery('li#'+id+' a').addClass('aktiv');
  },function() {
     jQuery(this).hide();
     var id = this.id;
     id = id.substring(3);
     jQuery('li#'+id+' a').removeClass('aktiv');
  });
}

function mainNaviHelper(element,css,limit,first) {
  jQuery('#'+element+' a').each(function(i) {
    if (limit == -1
        || i < limit) {
      jQuery(this).removeAttr('style');
      jQuery(this).addClass(element);
      jQuery(this).appendTo('ul#nav');
    }
  });
  jQuery('#'+element).remove();
  jQuery('ul#nav a.'+element).each(function() {
    jQuery(this).wrap('<li class="'+css+' '+element+'"></li>');
  });
  if (first == true) {
    jQuery('ul#nav li.'+element+':first').addClass('first');
  }
  jQuery('ul#nav li.'+element+':last').addClass('last');
}

function leftNaviHelper() {
  if (jQuery('ul.catnav').length > 0) {
    var childLevel = 1;
    jQuery('ul.catnav a').each(function(i){
      var levelClass = jQuery(this).attr('class');
      if (levelClass.indexOf('aktiv') != -1) {
        var tmpLevel = levelClass.substr(4,1);
        if (tmpLevel > childLevel) {
          childLevel = tmpLevel;
        }
      }
    });
    var parentLevel = childLevel-1;
    for(i=0;i<parentLevel;i++) {
      jQuery('ul.catnav a.KatH'+i+'aktiv').remove();
      jQuery('ul.catnav a.KatH'+i+'passiv').remove();
    }
    jQuery('ul.catnav a.KatH'+parentLevel+'passiv').remove();
    jQuery('ul.catnav a').wrap('<li/>');
    var title = jQuery('ul.catnav a.KatH'+parentLevel+'aktiv').html();
    jQuery('ul.catnav a.KatH'+parentLevel+'aktiv').parent('li').attr('class','title');
    jQuery('ul.catnav li.title').html(title);
    jQuery('ul.catnav li:last').attr('class','last');
  }
  if (jQuery('ul.rednav').length > 0) {
    jQuery('ul.rednav a').wrap('<li/>');
    jQuery('ul.rednav li:last').attr('class','last');
  }
  if (jQuery('ul.graynav').length > 0) {
    jQuery('ul.graynav a').attr('style','');
    jQuery('ul.graynav a').wrap('<li/>');
    jQuery('ul.graynav li:last').attr('class','last');
  }
}

function breadCrumbHelper() {
  jQuery('#breadcrumb ul li div.BreadcrumpIcon').remove();
  
  var firstLink = jQuery('#breadcrumb ul li:first a').attr('href');
  var secondLink = jQuery('#breadcrumb ul li:last a').attr('href');
  
  if (firstLink == secondLink) {
    jQuery('#breadcrumb ul li:last').remove();
  }
  
  jQuery('#breadcrumb ul li').each(function() {
    jQuery(this).after('<li>/</li>');
  });
  jQuery('#breadcrumb ul li:last').remove();
  jQuery('#breadcrumb ul li:last a').addClass('aktiv');
  
  var activeParentUrl = jQuery('#breadcrumb ul li:eq(2) a').attr('href');
  jQuery('ul#nav li a[href="'+activeParentUrl+'"]').addClass('aktiv');
}

function brandHelper() {
  var count = jQuery('a.MarkeRef').length;
  var items = Math.ceil(count/7);
  var currentUL = 0;
  jQuery('a.MarkeRef').each(function(i) {
    if (i%items==0) {
      currentUL++;
    }
    var href = jQuery(this).attr('href');
    href = href.replace('s=2','s=6');
    jQuery(this).attr('href',href);
    jQuery(this).appendTo('ul.brandlist'+currentUL);
  });
  jQuery('#Brand-Table').remove();
  jQuery('ul.brandlist a').each(function() {
    jQuery(this).wrap('<li></li>');
  });
}

function startTeaserHelper() {
  jQuery('a.newsholder').hide();
  try {
    jQuery('a.newsholder:eq('+teaserIndex+')').fadeTo('slow',1);
  }
  catch(e) {
    //alert(e);
  }
  jQuery('ul#newsnav li a').attr('class','');
  jQuery('ul#newsnav li a:eq('+teaserIndex+')').attr('class','aktiv');
}

function startTeaserRotation() {
  teaserIndex++;
  if (teaserIndex > (jQuery('a.newsholder').length)-1) {
    teaserIndex = 0;
  }
  startTeaserHelper();
}

function startTeaserMenu() {
  jQuery('ul#newsnav li a').each(function(i){
    var tmpIndex = i;
    jQuery(this).click(function(){
      teaserIndex = tmpIndex;
      startTeaserHelper();
    });
  });
}

function newArticleHelper() {
  if (jQuery('div#browse.page_1').length == 1 
      || jQuery('div#browse.page_593_New').length == 1) {

    jQuery('img.icnsale').hide();
    
    var startPage = false;
    var columns = 4;
    
    if (jQuery('div#browse.page_1').length == 0) {
      jQuery('table#OrderNavigation').remove();
      jQuery('div#LastViewedTopic').replaceWith('<img src="/v30/localpictures/theme2011/img/cats/lastarticledown.png" class="catholderdown" alt="Letzte Artikel"/><div id="lastart"></div>');
      jQuery('div#overview').attr('class','child');
      jQuery('div#overview').prepend('<div id="newstuff"></div>');
    }
    else {
      startPage = true;
      columns = 5;
    }
    
    jQuery('div.stuffholder').parent('td').parent('tr').parent('tbody').parent('table').each(function(t){
      var table = jQuery(this);
      var count = 0;
      table.children('tbody').children('tr').children('td').each(function(i){
        
        count++;
        
        if (count == columns) {
          jQuery(this).children('div.stuffholder').addClass('laststuff');
          count = 0;
        }
        
        if (jQuery(this).children('div.stuffholder').children('span.oldprice').children('div.PreisAlt').length > 0) {
          jQuery(this).children('div.stuffholder').children('img.icnsale').show();
        }
        
        if (startPage == true) {
          jQuery('div#newstuff').append(jQuery(this).html());
        }
        else {
          if (t == 0) {
            jQuery('div#overview div#newstuff').append(jQuery(this).html());
          }
          else {
            jQuery('div#overview div#lastart').append(jQuery(this).html());
          }
        }
        
      });
      table.remove();      
    });
    
    if (startPage == false ) {
      pagingHelper();
    }
    
  }
}

function articleOverviewHelper() {
  if (jQuery('div#browse.page_2').length == 1
      || jQuery('div#browse.page_6').length == 1
      || jQuery('div#browse.page_13_Sale').length == 1) {
        
    jQuery('div.Linie').remove();
    jQuery('div.searchhit').remove();
    jQuery('img.icnsale').hide();
   
        
    if (jQuery('div#browse.page_2').length == 1
        && jQuery('div.OuterSubCat').length == 0) {
          
      jQuery('img.catholderdown.bestseller').remove();
      jQuery('div#bestseller').remove();
      jQuery('img.catholderdown.newstuff').remove();
      jQuery('div#newstuff.newsstuff').remove();
      
      jQuery('div#filter').append(jQuery('form[name="SELECTION"]'));
      jQuery('form[name="SELECTION"]').append(jQuery('select#SelectSortName'));
      jQuery('form[name="SELECTION"]').append(jQuery('select#SelectSortDest'));
    }
    
    jQuery('table#OrderNavigation').remove();
            
    jQuery('div#LastViewedTopic').replaceWith('<img src="/v30/localpictures/theme2011/img/cats/lastarticledown.png" class="catholderdown" alt="Letzte Artikel"/><div id="lastart"></div>');
    jQuery('div#overview').attr('class','child');
    if (jQuery('div#overview div#newstuff').length == 0) {
      jQuery('div#overview').prepend('<div id="newstuff"></div>');
    }
    
    var tables = jQuery('td.table-ArtikelKatListe-Diagonal').parent('tr').parent('tbody').parent('table');
    tables.each(function(t){
      var table = jQuery(this);
      var count = 0;
      table.children('tbody').children('tr').children('td.table-ArtikelKatListe-Diagonal').each(function(i){
        count++;
        if (count==4) {
          jQuery(this).children('div.stuffholder').addClass('laststuff');
          count = 0;
        }
        if (jQuery(this).children('div.stuffholder').children('span.oldprice').children('div.PreisAlt').length > 0) {
          jQuery(this).children('div.stuffholder').children('img.icnsale').show();
        }
        if ((t == 0 
            && tables.length > 1)
            || jQuery('div#lastart').length == 0) {
          jQuery('div#overview div#newstuff').append(jQuery(this).html());
        }
        else {
          jQuery('div#overview div#lastart').append(jQuery(this).html());
        }
      });
      table.remove();
    });
    
    jQuery('div#bestseller div.stuffholder:last').addClass('laststuff');
    
    if (jQuery('div#bestseller div.stuffholder').length == 0) {
      jQuery('img.catholderdown.bestseller').remove();
      jQuery('div#bestseller').remove();
    }

    if (jQuery('div#newstuff.newsstuff div.stuffholder').length == 0) {
      jQuery('img.catholderdown.newstuff').remove();
      jQuery('div#newstuff.newstuff').remove();
    }
    
    var catBoxes = jQuery('div.catbox');
    count = 0;
    if (catBoxes.length > 0) {
      catBoxes.each(function(c) {
        var img = jQuery(this).children('a').children('img');
        var src = img.attr('src');
        if (src.indexOf('dummy_subkat.gif') != -1) {
          jQuery(this).remove();
        }
        else {
          src = src.replace(/\/theme\//,'/');
          img.attr('src',src);
          count++;
          if (count%2==0) {
            jQuery(this).addClass('lastcatbox');
          }
          if (count > 4) {
            jQuery(this).remove();
          }
        }
      })
    }
    
    pagingHelper();
  }
}

function articleDetailHelper() {
  if (jQuery('div#browse.page_3').length == 1) {
    
    var index = jQuery('ul.BreadCrump-Ul li').length;
    index = index-3;
    var catname = jQuery('ul.BreadCrump-Ul li:eq('+index+') a').html();
    jQuery('a.catname').html(catname);
    
    pagingHelper();
    
    jQuery('img.icnsale').hide();
    jQuery('div#pricebox span.oldprice').hide();
    if (jQuery('div#pricebox div.PreisAlt').length > 0) {
      jQuery('div#pricebox img.icnsale').show();
      jQuery('div#pricebox span.oldprice').show();
    }
    
    var text = jQuery('div#brand span').html();
    jQuery('div#brand span').remove();
    var link = jQuery('div#brand a').html();
    jQuery('div#brand a').html(text+link);
    jQuery('div#brand a').attr('id','brand');
    jQuery('div#brand a').unwrap();
    
    if (jQuery('div.Linked-Topic').length > 0) {
      jQuery('div.Linked-Topic').remove();
      jQuery('div.Linked-Bottom').remove();
      var count = 0;
      jQuery('div#newstuff div.stuffholder').each(function(i){
        if (jQuery(this).children('span.oldprice').children('div.PreisAlt').length > 0) {
          jQuery(this).children('img.icnsale').show();
        }
        count++;
        if (count==4) {
          jQuery(this).addClass('laststuff');
          count = 0;
        }
      });
    }
    else {
      jQuery('.catholderdown.news').remove();
      jQuery('div#newstuff').remove();
    }
    
    if (jQuery('div#LastViewedTopic').length > 0) {
      jQuery('div#LastViewedTopic').remove();
      var count = 0;
      jQuery('div#lastart div.stuffholder').each(function(i){
        jQuery(this).appendTo('div#lastart');
        if (jQuery(this).children('span.oldprice').children('div.PreisAlt').length > 0) {
          jQuery(this).children('img.icnsale').show();
        }
        count++;
        if (count==4) {
          jQuery(this).addClass('laststuff');
          count = 0;
        }
      });
      jQuery('div#lastart table').remove();
    }
    else {
      jQuery('.catholderdown.last').remove();
      jQuery('div#lastart').remove();
    }
    
    if (jQuery('input#Best').length > 0) {
      var link = jQuery('input#Best').attr('onclick');
      jQuery('a.size').attr('onclick',link+';return false;');
      jQuery('input#Best').remove();
    }
    else {
      jQuery('a.size').remove();
    }
    
    var brand = jQuery('a#brand').attr('alt');
    if (brand != '') {
      var img = '/v30/localpictures/theme2011/img/moods/'+brand.toLowerCase()+'.jpg';
      $.ajax({
              url: img,
              type: 'HEAD',
              error:
                  function(){
                    jQuery('div.mood').remove();
                  },
              success:
                  function(){
                    jQuery('div.mood').html('<img src="'+img+'" alt="'+brand+'"/>');
                  }
      });
    }
    else {
      jQuery('div.mood').html();
    }
  }
}

function pagingHelper() {
  if (jQuery('div.pagingbottom input#Best').length > 0) {
    var backlink = jQuery('div.pagingbottom input#Best').attr('onclick');
    jQuery('div.pagingbottom input#Best').remove();
    backlink = backlink.substring(15,(backlink.length-1));
    jQuery('div.pagingtop').append('<a href='+backlink+' class="back">Zur&uuml;ck zur &Uuml;bersicht</a>');
  }
  
  if (jQuery('div.pagingbottom span').length > 0) {
    jQuery('div.space20').remove();
    jQuery('div.pagingtop').append('<ul></ul>');
    var oldCount = 0;
    jQuery('div.pagingbottom span').each(function(i){
      var count = jQuery(this).html();
      count = parseInt(count);
      var url = jQuery(this).attr('onclick');
      if ((oldCount+1) < count) {
        jQuery('div.pagingtop ul').append('<li><a href="'+location.href+'">...</a></li>');
      }
      if (url == undefined) {
        url = location.href;
        jQuery('div.pagingtop ul').append('<li><a class="aktiv" href="'+url+'">'+count+'</a></li>');
      }
      else {
        url = url.substring(15,(url.length-2));
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'">'+count+'</a></li>');
      }
      oldCount = count;
    });
    jQuery('div.pagingbottom span').remove();
    jQuery('div.pagingbottom a').each(function(i){
      var url = jQuery(this).attr('href');
      var img = jQuery(this).children('img').attr('src');
      if (img.indexOf('first') != -1) {
        jQuery('div.pagingtop ul').prepend('<li><a href="'+url+'" class="start"></a></li>');
      }
      else if (img.indexOf('prev') != -1) {
        jQuery('div.pagingtop ul li a.start').parent('li').after('<li><a href="'+url+'" class="prev"></a></li>');
      }
      else if (img.indexOf('next') != -1) {
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'" class="next"></a></li>');
      }
      else if (img.indexOf('last') != -1) {
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'" class="end"></a></li>');
      }
    });
    jQuery('div.pagingbottom a').remove();
    jQuery('div.pagingbottom').append('<ul></ul>');
    jQuery('div.pagingbottom ul').html(jQuery('div.pagingtop ul').html());
  }
  
  if (jQuery('div#KatalogNavigation2').length > 0) {
    jQuery('div.space20').remove();
    jQuery('div#filter').after('<div id="paging" class="pagingtop"><ul></ul></div>');
    jQuery('div#newstuff').after('<div id="paging" class="pagingbottom"><ul></ul></div>');
    jQuery('div#KatalogNavigation2:last').remove();
    
    var pageNum = 0;
    var url = location.href;
    var urlArr = url.split('&');
    for(var i=0;i<urlArr.length;i++) {
      var paramArr = urlArr[i].split('=');
      if (paramArr[0] == 'PageNum') {
        pageNum = parseInt(paramArr[1]);
        break;
      }
    }
    
    var oldCount = 0;
    
    jQuery('div#KatalogNavigation2').children().each(function(i){
      var url = jQuery(this).attr('href');
      var img = jQuery(this).children('img').attr('src');
      if (img == undefined) {
        var count = jQuery(this).html();
        count = parseInt(count);
        if ((pageNum+2) == count) {
          jQuery('div.pagingtop ul').append('<li><a href="'+location.href+'" class="aktiv">'+(pageNum+1)+'</a></li>');
        }
        else if ((oldCount+1) < count) {
          jQuery('div.pagingtop ul').append('<li><a href="'+location.href+'">...</a></li>');
        }
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'">'+count+'</a></li>');
        oldCount = count;
      }
      else if (img.indexOf('first') != -1) {
        jQuery('div.pagingtop ul').prepend('<li><a href="'+url+'" class="start"></a></li>');
      }
      else if (img.indexOf('prev') != -1) {
        jQuery('div.pagingtop ul li a.start').parent('li').after('<li><a href="'+url+'" class="prev"></a></li>');
      }
      else if (img.indexOf('next') != -1) {
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'" class="next"></a></li>');
      }
      else if (img.indexOf('last') != -1) {
        jQuery('div.pagingtop ul').append('<li><a href="'+url+'" class="end"></a></li>');
      }
    });
    jQuery('div.pagingbottom ul').html(jQuery('div.pagingtop ul').html());
    jQuery('div#KatalogNavigation2').remove();
  }
}

function searchHelper() {
  jQuery('input#_freeb').unwrap();
  jQuery('div#filter form:eq(0)').append(jQuery('input#PreisVon'));
  jQuery('input#PreisVon').val('Preis von EUR');
  jQuery('div#filter form:eq(0)').append(jQuery('input#PreisBis'));
  jQuery('input#PreisBis').val('Preis bis EUR');
  jQuery('div#PreisVonBez').remove();
  jQuery('div#PreisBisBez').remove();
  jQuery('input#PreisVon').focus(function(){
    jQuery('input#PreisVon').val('');
  });
  jQuery('input#PreisBis').focus(function(){
    jQuery('input#PreisBis').val('');
  });
  jQuery('div#filter form:eq(0)').submit(function(){
    if (jQuery('input#PreisVon').val() == 'Preis von EUR') {
      jQuery('input#PreisVon').val('');
    }
    if (jQuery('input#PreisBis').val() == 'Preis bis EUR') {
      jQuery('input#PreisBis').val('');
    }
  });
}
 
function htmlHelper() {
  // menu markup manipulation
  subNaviHelper();
  jQuery('<li class="special">&nbsp;</li>').appendTo('ul#nav');
  mainNaviHelper('staticnav1','red',3,true);
  mainNaviHelper('staticnav2','gray',3,true);
  leftNaviHelper();
  
  // breadcrumb manipulation
  breadCrumbHelper();
  
  // search form
  searchHelper();
  
  // login form
  jQuery('form#loginform input:text').focus(function(){
    jQuery(this).val('');
  });
  
  // brand list
  brandHelper();
  
  // clean headline
  jQuery('div#overview h1.Ueberschrift').remove();
  
  // new articles
  newArticleHelper();
  
  // article overview
  articleOverviewHelper();
  
  // article detail
  articleDetailHelper();
  
  jQuery('a.ArtikelLink').attr('class','prodname');
  
  // remove blank space
  jQuery('div[style="height:140px"]').remove();
}

var teaserIndex = 0;
jQuery.noConflict();

jQuery(document).ready(function(){
  htmlHelper();
  if (jQuery('ul#newsnav').length > 0) {
    count = 0;
    jQuery('div#lastart div.stuffholder').each(function(i){
      if (jQuery(this).children('span.oldprice').children('div.PreisAlt').length > 0) {
        jQuery(this).children('img.icnsale').show();
      }
      count++;
      if (count==5) {
        jQuery(this).addClass('laststuff');
        count = 0;
      }
    });
    
    jQuery('div#browse').attr('class','');
    startTeaserHelper();
    startTeaserMenu();
    setInterval(startTeaserRotation,5000);
  }
});
