window.addEvent('domready', function() {
    // set clientcide img location
    Clientcide.setAssetLocation("/layout/img/Assets");
    //get page language
    lang = document.getElementsByTagName('html')[0].lang;
    // set mootools language
    if (lang == "de") MooTools.lang.setLanguage("de-DE");

    messages = new Hash({
        'de': new Hash({
            '1': 'Fehler',
            '2': 'Bitte w&auml;hlen Sie mindestens einen Wert aus!',
            '3': 'Daten werden gesendet...',
            '4': 'Navigation',
            '5': 'Bitte benutzen Sie die Scroll-Leiste!'
        }),
        'en': new Hash({
            '1': 'Error',
            '2': 'Please select one value at least!',
            '3': 'Data transmission…',
            '4': 'Navigation',
            '5': 'Please use the scrollbar!'
        })
    });
    //teaser links startseite
    if ($('teaser')) {
        $('teaser').getElements('a').each(function(el){
            el.addEvents({
                'mouseover': function(){
                    el.tween('margin-left', '0', '20', {duration: 'fast'});
                },
                'mouseout': function(){
                    el.tween('margin-left', '20', '0', {duration: 10});
                }
            });
        });

    }

    // bild-slider startseite
    if ($('slideshow')) {
        new NivooSlider($('slideshow'), {
            animSpeed: 750,
            effect: 'fold',
            interval: 5000,
            orientation: 'vertical',
            slices: 5
        });
    }

    // newsletter-formular
    if ($('frm_newsletter')) {
        var el = $('frm_newsletter').getElement('#frm_email');
        el.store('backup', el.get('value'));
        el.addEvents({
            'focus': function(){
                if (this.get('value') == this.retrieve('backup')) {
                    this.set('value', '');
                }
            },
            'blur': function(){
                if (this.get('value') == '') {
                    this.set('value', this.retrieve('backup'));
                }
            }
        });
        var newsletterValidator = new Form.Validator.Tips($('frm_newsletter'), {
            evaluateFieldsOnChange: false,
            evaluateFieldsOnBlur: false,
            scrollToErrorsOnSubmit: false,
            pointyTipOptions: {
                point: 'down',
                timeout: 5000
            },
            onFormValidate: function(b, f, e) {
                if (b == true) {
                    e = new Event(e).stop();
                }
            }
        });
        var newsletterRequest = new Form.Request($('frm_newsletter'), $('newsletter_message'), {
            onSuccess: function(t, r, x){
                new StickyWin.PointyTip("Newsletter", t.get('html'), {
                    point: 'down',
                    relativeTo: 'frm_email',
                    timeout: 10000
                }).show();
            }
        });
    }

    // such-formular
    if ($('frm_produktsuche')) {
        var el = $('frm_produktsuche').getElement('#frm_keyword');
        el.store('backup', el.get('value'));
        el.addEvents({
            'focus': function(){
                if (this.get('value') == this.retrieve('backup')) {
                    this.set('value', '');
                }
            },
            'blur': function(){
                if (this.get('value') == '') {
                    this.set('value', this.retrieve('backup'));
                }
            }
        });
    }

    // erweiterte suche
    if ($('frm_extendedsearch')) {
/*        $('DDL_31_von').addEvents({
            'change': function() {
                var wert = this.options[this.selectedIndex].value;
                var wertGesetzt = false;
                $$('#DDL_31_bis option').each(function(el) {
                    if ((el.value >= wert) && (wertGesetzt == false)) {
                        wertGesetzt = true;
                        el.setAttribute('selected', 'selected');
                    } else {
                        el.removeAttribute('selected');
                    }
                });
            }
        });
        $('DDL_33_von').addEvents({
            'change': function() {
                var wert = this.options[this.selectedIndex].value;
                var wertGesetzt = false;
                $$('#DDL_33_bis option').each(function(el) {
                    console.log(el.value+"::"+wert);
                    if ((el.value >= wert) && (wertGesetzt == false)) {
                        console.log('...yep');
                        wertGesetzt = true;
                        el.setAttribute('selected', 'selected');
                    } else {
                        el.removeAttribute('selected');
                    }
                });
            }
        });*/
        $('frm_extendedsearch').addEvents({
            'submit': function(e) {
                e = new Event(e).stop();
                var error = true;
                $$('#frm_extendedsearch select').each(function(el) {
                    if (el.value != "") {
                        error = false;
                    }
                });
                if (error == true) {
                    stickywin = new StickyWin.PointyTip(messages.get(lang).get('1'), messages.get(lang).get('2'), {
                        point: 'down',
                        relativeTo: 'frm_extendedsearch',
                        timeout: 5000,
                        width: 230
                    });
                } else {
                    this.submit();
                }
            }
        });
    }

    // produkt-tabs
    if ($('tab_titles_search')) {
        $$('#tab_titles_search li').each(function(el){
            el.addEvents({
                'click': function(){
                    $$('#tab_titles_search li').each(function(el){
                        el.removeClass('active');
                        $(el.getAttribute('rel')).toggle();
                    });
                    el.addClass('active');
                }
            });
        });
    }

    if ($('tab_titles_catalog')) {
        $$('#tab_titles_catalog li').each(function(el){
            el.addEvents({
                'click': function(){
                    $$('#tab_titles_catalog li').each(function(el){
                        el.removeClass('active');
                        $(el.getAttribute('rel')).toggle();
                    });
                    el.addClass('active');
                }
            });
        });
    }

    // katalog-bestellformular
    if ($('frm_katalogbestellung')) {
        var bestellSpinner = new Spinner($('frm_katalogbestellung'), {
            message: messages.get(lang).get('3')
        });
        var kontaktValidator = new Form.Validator.Tips($('frm_katalogbestellung'), {
            evaluateFieldsOnChange: false,
            evaluateFieldsOnBlur: false,
            scrollToErrorsOnSubmit: true,
            scrollFxOptions: {
                offset: {x: 0, y: -70}
            },
            useTitles: true,
            pointyTipOptions: {
                point: 'down',
                timeout: 5000,
                offset: {x: 0, y: 10}
            },
            onElementFail: function(el, val) {
                el.addClass('error');
                el.focus();
            },
            onElementPass: function(el, val) {
                el.removeClass('error');
            },
            onFormValidate: function(b, f, e) {
                e = new Event(e).stop();
                if (b == true) {
                    bestellSpinner.show(true);
                }
            }
        });
        var bestellValidator = new Form.Validator.Tips($('frm_katalogbestellung'), {
            evaluateFieldsOnChange: false,
            evaluateFieldsOnBlur: false,
            scrollToErrorsOnSubmit: false,
            pointyTipOptions: {
                point: 'down',
                timeout: 5000
            },
            onFormValidate: function(b, f, e) {
                if (b == true) {
                    e = new Event(e).stop();
                }
            }
        });
        var bestellRequest = new Form.Request($('frm_katalogbestellung'), $('bestell_message'), {
            onSuccess: function(t, r, x){
                bestellSpinner.hide();
                $('frm_katalogbestellung').hide();
            }
        });
    }

    // kontakt-formular
    if ($('frm_kontakt')) {
        var kontaktValidator = new Form.Validator.Tips($('frm_kontakt'), {
            evaluateFieldsOnChange: false,
            evaluateFieldsOnBlur: false,
            scrollToErrorsOnSubmit: true,
            scrollFxOptions: {
                offset: {x: 0, y: -70}
            },
            useTitles: true,
            pointyTipOptions: {
                point: 'down',
                timeout: 5000,
                offset: {x: 0, y: 10}
            },
            onElementFail: function(el, val) {
                el.addClass('error');
                el.focus();
            },
            onElementPass: function(el, val) {
                el.removeClass('error');
            },
            onFormValidate: function(b, f, e) {
                e = new Event(e).stop();
                if (b == true) {
                    new Spinner($('frm_kontakt'), {
                        message: messages.get(lang).get('3')
                    }).show(true);
                    f.submit();
                }
            }
        });
    }

    // google map
    if ($('map')) {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map"));
            map.addControl(new GSmallMapControl());
            map.setCenter(new GLatLng(49.3463700, 7.3463400), 15);
            var marker = new GMarker(new GLatLng(49.3463700, 7.3463400));
            map.addOverlay(marker);
        }
    }

    // ansprechpartner
    var vcardData = ['whutzel', 'arech', 'jhutzel', 'ndeutsch','fila', 'ehutzel', 'hlang', 'yelmas', 'iwagner', 'choechst', 'fmaglaeva', 'ameier', 'smorsch', 'dochmann', 'sthiel', 'pschullan', 'bhullmann', 'eimamovic', 'cschaefer', 'plohschuetz'];

    if ($('sliderContent')) {
        vcardData.each(function(item) {
    		// insert click event
            $(item).addEvent('click', function(e) {
                e = new Event(e).stop();
                var display = false;
                var detail = new StickyWin.Modal({
                    content: $(item+'-data').get('html'),
                    id: 'vcard-'+item,
                    className: 'vcard',
                    closeClassName: 'close',
                    relativeTo: $('scrollbar'),
                    position: 'upperLeft',
                    offset: {x: 40, y: -350},
                    onDisplay: function() {
                        if ($(stickywin).isDisplayed()) {
                            display = true;
                            stickywin.hide();
                        }
                    },
                    onClose: function() {
                        if (display) {stickywin.show();}
                    },
                    maskOptions: {
                        style:{
                            'background-color':'#009ee0',
                            'opacity':0.8
                        }
                    }
                });
            });
        });
        var sliderwidth = 0;
        $('sliderContent').getElements('img').each(function(el){
           sliderwidth = sliderwidth + el.getSize().x;
        });
        $('sliderContent').getElement('div').setStyle('width', sliderwidth);
        stickywin = new StickyWin.PointyTip(messages.get(lang).get('4'), messages.get(lang).get('5'), {
            point: 'down',
            relativeTo: 'handle',
            width: 230
        });
        makeSlider( $('sliderContent'), $('scrollbar'), $('handle'), true, false, stickywin);
    }
});

function makeSlider(content,scrollbar,handle,horizontal,ignoreMouse, stickywin){
    var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
    var slider = new Slider(scrollbar, handle, {
        steps: steps,
        mode: (horizontal?'horizontal':'vertical'),
        onChange: function(step){
            // hides stickywin
            if (step != 0) {stickywin.hide();}
            // Scrolls the content element in x or y direction.
            var x = (horizontal?step:0);
            var y = (horizontal?0:step);
            content.scrollTo(x,y);
        }
    }).set(0);
    if( !(ignoreMouse) ){
        // Scroll the content element when the mousewheel is used within the
        // content or the scrollbar element.
        $$(content, scrollbar).addEvent('mousewheel', function(e){
            e = new Event(e).stop();
            var step = slider.step - e.wheel * 30;
            slider.set(step);
        });
    }
    // Stops the handle dragging process when the mouse leaves the document body.
    $(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
}

function openPage(url) {
LoadNewWindow = (window.open("http://sbn.kimweb.de/"+url,'new_page_image','width=650,height=700,scrollbars=yes,toolbars=no,menubar=no,resizable=yes').focus());
/*
    queryA = url.split("?");
    queryB = queryA[1].split("=");
    new StickyWin.Modal.Ajax({
        content: "Lade Inhalt...",
        id: 'artikelinfo',
        closeClassName: 'close',
        maskOptions: {
            style:{
                'background-color':'#009ee0',
                'opacity':0.8
            }
        }
    }).update("http://sbn.kimweb.de/showartikelinfo.asp", {data: {ArtNr: queryB[1]}});
*/
}