/*
    prodects_solutions.js 
    for productions and solutions page 
*/
window.addEvent('domready', function(){
    /* move all digital pathology solution elements in one line in product-container*/
    var container = $('products-container');

    /* calculate product container width according to images */
    var containerWidth = 0;

    $$('#products a').each(function(elem) {
        containerWidth += parseInt(elem.getStyle('width')) 
            + parseInt(elem.getStyle('padding-left'))
            + parseInt(elem.getStyle('padding-right'));
    });

    container.setStyle('width', containerWidth);

	/* show all product images */
	$$('#products a img').setStyle('display', 'block');
	
    /* add slidebar functionality for products */
    var products = $('products');
    var slidebar = $('products-slider').getElement('.slideBar');

    scrollProducts(products, slidebar);

    /* add dropdown tooltips to all products then show all <a>*/
    $$('#products-container a').each(function(elem){
        var tip = elem.getElement('.product-tips');
		
        elem.addEvent('mouseenter', function(e){
			tip.setStyle('display', 'block');
        });
        elem.addEvent('mouseleave', function(e){
			tip.setStyle('display', 'none');
		});
		elem.setStyle('display','block');
    });
});


function scrollProducts(products, slidebar){
		
	/* speed is pixels (in number) per click or per mousewheel. use the image width */
    var speed = parseInt($$('#products a')[1].getStyle('width'))
			+ parseInt($$('#products a')[1].getStyle('padding-left'))
			+ parseInt($$('#products a')[1].getStyle('padding-right'));
	var wheelSpeed = speed/4;
		
    var steps = $('products-container').getScrollSize().x - $('products').getSize().x;

    var slider = new Slider(slidebar, slidebar.getElement('.knob'), {
        steps: steps,
        wheel: true,
        mode: 'horizontal',
        onChange: function(step) {
            products.scrollTo(step, 0);
        }
    }).set(0);

    /* add mouse scroll to the slider*/
    $$('#products-wrapper *', '#products-slider *').addEvent('mousewheel', function(e){
        e = new Event(e).stop();
        var step = slider.step + e.wheel * wheelSpeed;
        slider.set(step);
    });

    /* add click function to #sliderLeft and #sliderRight */
    $('products-slider').getElement('.sliderLeft').addEvent('click', function(e){
        e = new Event(e).stop();
        var step = slider.step - speed;
        slider.set(step);
    });

    $('products-slider').getElement('.sliderRight').addEvent('click', function(e){
        e = new Event(e).stop();
        var step = slider.step + speed;
        slider.set(step);
    });
}

