function setOddEven(classNames) {
    var elements=jq(classNames);
    var counter=0;
    for(var i=0; i<elements.length; i++){
        element=elements[i];
        if (counter%2) {
            className=' even';
        } else {
            className=' odd';
        }
        element.className=element.className.replace(' odd','');
        element.className=element.className.replace(' even','');
        element.className=element.className+' '+className;
        counter=counter+1

    }
}

function displayAll() {
    var elements=getElementsByClassName('not-compact');
    for(var i=0; i<elements.length; i++){
        element=elements[i];
        element.className=element.className.replace('tr-display-none','tr-display-block');
    }

    setOddEvenBoth();

    var element=document.getElementById('displayAll');
    element.className=element.className.replace('tr-display-block','tr-display-none');
    var element=document.getElementById('displayCompact');
    element.className=element.className.replace('tr-display-none','tr-display-block');
}

function displayCompact() {
    var elements=getElementsByClassName('not-compact');
    for(var i=0; i<elements.length; i++){
        element=elements[i];
        element.className=element.className.replace('tr-display-block','tr-display-none');
    }

    setOddEvenBoth();

    var element=document.getElementById('displayAll');
    element.className=element.className.replace('tr-display-none','tr-display-block');
    var element=document.getElementById('displayCompact');
    element.className=element.className.replace('tr-display-block','tr-display-none');

}

function setOddEvenBoth() {
    setOddEven('#product-attribute-names .tr-display-block');
    setOddEven('#product-attribute-values .tr-display-block');
}

Event.observe(window, 'load', setOddEvenBoth, false);

function initializeProductHandlers() {
    if (jq('.input-click')) {
        jq('.input-click').click(function() {handleClick(this)});
    }
    if (jq('#slider-variants')) {
        jq('#slider-variants').click(function() {handleVariants(this)});
    }
    if (jq('#slider-details')) {
        jq('#slider-details').click(function() {handleDetails(this)});
    }

    if (jq('#slider-videos')) {
        jq('#slider-videos').click(function() {handleVideos(this)});
    }
    if (jq('#slider-operating-instructions')) {
        jq('#slider-operating-instructions').click(function() {handleOperatingInstructions(this)});
    }
    if (jq('#slider-other-documents')) {
        jq('#slider-other-documents').click(function() {handleOtherDocuments(this)});
    }
    if (jq('#slider-accessories')) {
        jq('#slider-accessories').click(function() {handleAccessories(this)});
    }
    elements=jq('.productitem-value');
    for(var i=0; i<elements.length; i++){
        element=elements[i];
        Event.observe(element, 'mouseover', function() {handleProductInfoHover(this)});
    }
}

var scrollbar = null;

function handleClick(element) {
    jq('#kss-spinner').show();

    jq.post('cache-kss-product-info',jq("#search-form").serialize(),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        if (jq('#scrollbar_content').length!=0) {
            scrollbar = new Control.ScrollBarH('scrollbar_content','scrollbar_track',{scrollerWidth: '29'});
            scrollbar.recalculateLayout();
            jq(attachPrototip)
            setOddEvenBoth();
        }
        jq('#kss-spinner').hide();
    });
}

function handleProductInfoHover(element) {
    ean=jq(element).attr('rel');
    jq('.productitem-value').removeClass('product-mouse-over');
    jq('.productitem-value-'+ean).addClass('product-mouse-over');
}

function handleSelected(element) {
    jq('.slider-selected').addClass( 'slider-not-selected' );
    jq('.slider-selected').removeClass( 'slider-selected' );
    jq(element.parentNode).addClass( 'slider-selected' );
    jq(element.parentNode).removeClass( 'slider-not-selected' );
}

function handleVariants(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('cache-kss-product-info',jq("#search-form").serialize(),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        if (jq('#scrollbar_content').length!=0) {
            scrollbar = new Control.ScrollBarH('scrollbar_content','scrollbar_track',{scrollerWidth: '29'});
            scrollbar.recalculateLayout();
        }
        jq('#kss-spinner').hide();
    });
}

function handleDetails(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('kss-product-details','uid='+jq(element).attr('rel'),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        jq('#kss-spinner').hide();
        setOddEvenBoth();
    });
}


function handleVideos(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('kss-product-video','uid='+jq(element).attr('rel'),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        jq('#kss-spinner').hide();
    });
}

function handleOperatingInstructions(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('kss-product-operating-instructions','uid='+jq(element).attr('rel'),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        jq('#kss-spinner').hide();
    });
}

function handleOtherDocuments(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('kss-product-other-documents','uid='+jq(element).attr('rel'),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        jq('#kss-spinner').hide();
    });
}

function handleAccessories(element) {
    jq('#kss-spinner').show();
    handleSelected(element);

    jq.post('kss-accessories','uid='+jq(element).attr('rel'),
    function(data) {
        jq('#kss-product-details').html(data);
        initializeProductHandlers();
        jq('#kss-spinner').hide();
    });
}



jq(initializeProductHandlers);

Event.observe( window, 'load', function() {
    if (jq('#scrollbar_content').length!=0) {
        scrollbar = new Control.ScrollBarH('scrollbar_content','scrollbar_track',{scrollerWidth: '29'});
        scrollbar.recalculateLayout();
    }
});

function jumpTo(uid,title,description){
    jq('body').append('<a title="'+title+'" id="lightbox-product-image" rel="lightbox" href="./resolveUid/'+uid+'/image_large" title="Huhu"><img src=""/></a>');
    var lightbox=new Lightbox();

    var th = lightbox;
    var ids =
        'overlay lightbox outerImageContainer imageContainer lightboxImage hoverNav prevLink nextLink loading loadingLink ' +
        'imageDataContainer imageData imageDetails caption numberDisplay bottomNav bottomNavClose';
    $w(ids).each(function(id){ th[id] = $(id); });

     lightbox.start(document.getElementById("lightbox-product-image"));

    jq('#lightbox-product-image').remove()
}

