$(document).ready(function(){

    //Form Skinning wird iniziiert
    $.wwInitFormElements();
    
    //Spezial*** fuer IE6
    if (isIE6) {
        $.wwPimpIE6();
    }
    
    //Spezial*** fuer FF2
    if (isFF2) {
        $.wwPimpFF2();
    }
    
    //Font Skinning wird iniziiert
    $.wwInitCufonElements();
    
    //Noscript Elemente entfernen
    $.wwRemoveNoscript();
    
    //KeyVis
    $.wwKeyVis();
    
    //Preload All CSS Images (via Plugin)
    $.preloadCssImages();
    
    //Init Linien Mouseover
    if ($('#pgLinienuebersicht').length !== 0) {
    
        var target = $('div.proOverview a', $('#pgLinienuebersicht'));
        $.wwProMouseover(target, true);
        
    }
    else 
        if ($('#pgProduktFinder').length !== 0) {
        
            var target = $('label[id*=mouseover]', $('#pgProduktFinder'));
            $.wwProMouseover(target, false);
            
        }
    
    /* Montageanleitungen hat vorerst kein Flyout
     else
     if ($('#pgMontageanleitungen').length !== 0) {
     
     var target = $('label[id*=mouseover]', $('#pgMontageanleitungen'));
     $.wwProMouseover(target, false);
     
     }
     */
    //Init Laenderauswahl
    if ($('#pgLaenderauswahl').length !== 0) {
        $.showIntSiteLayer();
    }

    //Init Slideshow
    if ($('#pgLiniendetailseite').length !== 0) {
    
        $('span.proSlideshowText', $('#proSlideshowS')).html(typo3.slideshow[0].text);
        $('span.proSlideshowImg a', $('#proSlideshowS')).html('<img src="' + typo3.slideshow[0].imgS + '" alt="' + typo3.slideshow[0].text + '" id="slideshowSImg0" />');
        
        var sLength = typo3.slideshow.length;
        if (sLength < 2) {
            $('a.proSlideshowArrL').add('a.proSlideshowArrR').remove();
        }
        
        $.wwInitSlideshowEvents();
        
    }
    
    
    //Init Tooltip
    if ($('#pgLiniendetailseite').length !== 0 || $('#pgProduktuebersicht').length !== 0 || $('#pgProduktdetailseite').length !== 0) {
    
        $.wwInitImgTooltip();
    }
    
    
    //Init Add To Merkzettel
    if ($('#pgProduktuebersicht').length !== 0 || $('#pgProduktdetailseite').length !== 0) {
    
        $.wwInitAddToMerkzettelEvents();
    }
    
    
    //Init Merkzettel Events
    if ($('#pgMerkzettel').length !== 0) {
    
        $.wwInitMerkzettelEvents();
    }
    
    
    //Init Kontakt Events
    if ($('#pgKontakt').length !== 0) {
    
        $.wwInitKontaktEvents();
    }
    
    
    //Init Newsletter Events
    if ($('#pgNewsletter').length !== 0) {
        if (window.location.href.indexOf('e-mail_add=') > 0) {
            defaultEmail = window.location.href;
            defaultEmail = defaultEmail.substr(defaultEmail.indexOf('e-mail_add=') + 11);
            if (defaultEmail.indexOf('&') > 0) {
                defaultEmail = defaultEmail.substr(0, defaultEmail.indexOf('&'));
            }
            defaultEmail = decodeURIComponent(defaultEmail);
            $('input[name=e-mail_add]').val(defaultEmail);
        }
        $.wwInitNewsletterEvents();
        
    }
    
    
    //Init Montageanleitungen Events
    if ($('#pgMontageanleitungen').length !== 0) {
    
        var target = $('label[id*=mouseover]', $('#pgMontageanleitungen'));
        $.wwProMouseover(target, false);
        $.wwInitMontageanleitungenEvents();
        
    }
    
    
    //Init Katalogdownload Events
    if ($('#pgKatalogdownload').length !== 0) {
    
        $.wwInitKatalogdownloadEvents();
        
    }
    
    
    //Init Faq Answers
    if ($('#pgFaq').length !== 0) {
    
        $.wwInitFaqQuestionsEvents();
        
    }
    
    //Init Inspiration
    if ($('#pgInspiration').length !== 0) {
        $.wwInitInspitationEvents();
    }
    
    //Init International Site
    $('#intSite').bind('click', function(){
    
        $.showIntSiteLayer();
        return false;
        
    });
    
    
    //Link oeffnet auf extra Seite
    $('a.blankLink').live('click', function(){
    
        window.open(this.href);
        return false;
        
    });
    
});


//KeyVis
$.wwKeyVis = function(){

    if (typo3.keyVis) {
        if (typo3.keyVis.swf && $.flashPlayerVersion[0] >= 9) {
            // hack to fit all flash files in a certain format (like the startpage)
            typo3.keyVis.width = 963;
            $('#keyVis').flash({
                swf: typo3.keyVis.swf,
                id: 'bannerLoader',
                name: 'bannerLoader',
                //height: (typo3.keyVis.height || '400'),
                //width: (typo3.keyVis.width || '1100'),
                height: (typo3.keyVis.height || '370'),
                width: (typo3.keyVis.width || '963'),
                params: {
                    allowfullscreen: false,
                    quality: 'high',
                    allowscriptaccess: 'sameDomain',
                    wmode: 'transparent',
                    bgColor: '#ffffff'
                },
                flashvars: typo3.keyVis.flashVars ||
                {}
            });
            if (typo3.keyVis.width == 962) {
                $('#keyVis').width(typo3.keyVis.width);
                
                if ($.os.mac && $.browser.mozilla) {
                    $('#keyVis').css('marginLeft', '7px');
                }
                else {
                    $('#keyVis').css('marginLeft', '8px');
                }
            }
            else 
                if (typo3.keyVis.width == 963) {
                    $('#keyVis').width(typo3.keyVis.width);
                    //$('#keyVis').width(typo3.keyVis.height);
                    
                    if ($.os.mac && $.browser.mozilla) {
                        $('#keyVis').css('marginLeft', '6px');
                    }
                    else {
                        $('#keyVis').css('marginLeft', '7px');
                    }
                }
        }
        else 
            if (typo3.keyVis.img) {
                $('#keyVis').css({
                    backgroundImage: 'url(' + typo3.keyVis.img + ')'
                }).html('<div class="mask"></div>');
            }
    }
    
};


//Produktansicht und Produkte Finden Mouseover
$.wwProMouseover = function(target, sensitive){

    target.hoverIntent(function(){
    
        var posTemp = $(this).attr('id');
        var pos = posTemp.substring(9);
        
        //Content erstellen
        var content = '<img src="';
        content += typo3.mouseover[pos].img;
        content += '" alt="" />';
        if (typo3.mouseover[pos].text && typo3.mouseover[pos].text !== "") {
            content += '<span>' + typo3.mouseover[pos].text + '</span>';
        }
        
        var offsetY = 23;
        var offsetXArrow = 140;
        
        if ($('#pgProduktFinder').length !== 0) {
            offsetY = 21;
            offsetXArrow = 170;
        }
        else 
            if ($('#pgLinienuebersicht').length !== 0) {
                offsetXArrow = 195;
            }
        
        //Flyout erstellen und in DOM einfuegen
        $.wwBuildHover(content, this, offsetY, offsetXArrow, sensitive);
        
    }, function(){
    
        //Flyout entfernen
        $.wwDestroyHover(this, sensitive);
        
    });
    
};


//Produktdetailansicht Slideshow
$.wwProSlideshow = function(dir, size){

    var sLength = typo3.slideshow.length;
    var image;
    var target;
    
    switch (size) {
        case "L":
            target = $('#proSlideshowL');
            break;
        case "S":
            target = $('#proSlideshowS');
        default:
    }
    
    var posTemp = $('span.proSlideshowImg a', target).children('img').attr('id');
    var pos = posTemp.substring(13);
    
    switch (dir) {
        case "prev":
            pos = parseInt(pos) - 1;
            break;
        case "next":
        default:
            pos = parseInt(pos) + 1;
    }
    
    if (pos >= sLength) {
        pos = 0;
    }
    else 
        if (pos < 0) {
            pos = sLength - 1;
        }
    
    switch (size) {
        case "L":
            image = typo3.slideshow[pos].imgL;
            break;
        case "S":
            image = typo3.slideshow[pos].imgS;
        default:
    }
    
    if ($('span.proSlideshowImg a', target).html() !== "") {
    
        //TODO: IE8 checken, warum Opacity nicht geht! Vgl. schliessen Button bei Produkte Finden.
        
        if ($.browser.msie || $.browser.safari) {
        
            $('span.proSlideshowText', target).add('span.proSlideshowImg a', target).css({
                display: 'none'
            });
            
            $('span.proSlideshowText', target).html(typo3.slideshow[pos].text);
            $('span.proSlideshowImg a', target).html('<img src="' + image + '" alt="' + typo3.slideshow[pos].text + '" id="slideshowSImg' + pos + '" />');
            
            $('span.proSlideshowText', target).add('span.proSlideshowImg a', target).css({
                display: 'block'
            });
            
        }
        else {
        
            var speed = 200;
            
            $('span.proSlideshowText', target).add('span.proSlideshowImg a', target).css({
                opacity: 1
            }).animate({
                opacity: 0
            }, {
                duration: speed,
                easing: 'easeInOutQuad',
                complete: function(){
                    $('span.proSlideshowText', target).html(typo3.slideshow[pos].text);
                    $('span.proSlideshowImg a', target).html('<img src="' + image + '" alt="' + typo3.slideshow[pos].text + '" id="slideshowSImg' + pos + '" />');
                    
                    $('span.proSlideshowText', target).add('span.proSlideshowImg a', target).css({
                        opacity: 0
                    }).animate({
                        opacity: 1
                    }, {
                        duration: speed,
                        easing: 'easeInOutQuad'
                    });
                }
            });
            
        }
    }
};


//Slideshow ZoomIn/Out
$.wwSwitchSlideshow = function(size){

    var posTemp;
    var pos;
    var target;
    
    switch (size) {
        case "L":
            posTemp = $('span.proSlideshowImg a', $('#proSlideshowS')).children('img').attr('id');
            pos = posTemp.substring(13);
            target = $('#proSlideshowL');
            image = typo3.slideshow[pos].imgL;
            break;
        case "S":
            posTemp = $('span.proSlideshowImg a', $('#proSlideshowS')).children('img').attr('id');
            pos = posTemp.substring(13);
            target = $('#proSlideshowS');
            image = typo3.slideshow[pos].imgS;
        default:
    }
    
    $('span.proSlideshowText', target).html(typo3.slideshow[pos].text);
    $('span.proSlideshowImg a', target).html('<img src="' + image + '" alt="' + typo3.slideshow[pos].text + '" id="slideshowSImg' + pos + '" />');
    
    switch (size) {
        case "L":
            //Positionierung
            var thisLeft = $('#proSlideshowS').position().left;
            var thisTop = $('#proSlideshowS').position().top;
            
            $('#proSlideshowL').css({
                top: thisTop - 20 + 'px',
                left: thisLeft - 295 + 'px'
            });
            
            if ($.browser.msie) {
                //IE verkraftet opacitiy und pngs nicht
                $('#proSlideshowL').css({
                    display: "block"
                });
                $('#proSlideshowS').css({
                    display: "none"
                });
            }
            else {
            
                var speed = 400;
                
                $('#proSlideshowL').css({
                    opacity: 0,
                    display: "block"
                }).animate({
                    opacity: 1
                }, {
                    duration: speed,
                    easing: 'easeInOutQuad',
                    complete: function(){
                        $('#proSlideshowS').css({
                            display: "none"
                        });
                    }
                });
            }
            break;
        case "S":
        default:
            if ($.browser.msie) {
                //IE verkraftet opacitiy und pngs nicht
                $('#proSlideshowL').css({
                    display: "none"
                });
                $('#proSlideshowS').css({
                    display: "block"
                });
            }
            else {
            
                var speed = 400;
                
                $('#proSlideshowS').css({
                    display: "block"
                });
                $('#proSlideshowL').animate({
                    opacity: 0
                }, {
                    duration: speed,
                    easing: 'easeInOutQuad',
                    complete: function(){
                        $('#proSlideshowL').css({
                            display: "none"
                        });
                    }
                });
            }
    }
    
};


//Slideshow Nav
$.wwInitSlideshowEvents = function(){

    $('a.proSlideshowArrL', $('#proSlideshowS')).live('click', function(){
        $.wwProSlideshow('prev', 'S');
        return false;
    });
    
    $('a.proSlideshowArrR', $('#proSlideshowS')).live('click', function(){
        $.wwProSlideshow('next', 'S');
        return false;
    });
    
    $('a.proSlideshowArrL', $('#proSlideshowL')).live('click', function(){
        $.wwProSlideshow('prev', 'L');
        return false;
    });
    
    $('a.proSlideshowArrR', $('#proSlideshowL')).live('click', function(){
        $.wwProSlideshow('next', 'L');
        return false;
    });
    
    $('#zoomIn', $('#proSlideshowS')).live('click', function(){
        $.wwSwitchSlideshow('L');
        return false;
    });
    
    $('span.proSlideshowImg a', $('#proSlideshowS')).live('click', function(){
        $.wwSwitchSlideshow('L');
        return false;
    });
    
    $('#zoomOut', $('#proSlideshowL')).live('click', function(){
        $.wwSwitchSlideshow('S');
        return false;
    });
    
    $('span.proSlideshowImg a', $('#proSlideshowL')).live('click', function(){
        $.wwSwitchSlideshow('S');
        return false;
    });
    
};


//Tooltip
$.wwInitImgTooltip = function(){

    $('div.thumb').hoverIntent(function(){
    
        var alt = $(this).find('img').attr('alt');
        
        $(this).parent().append('<div class="tooltip"><div class="tooltipTop"></div><div class="tooltipContent"><span>' + alt + '</span></div><div class="tooltipBottom"></div></div>');
        $(this).append('<div class="tooltipArrow"></div>');
        
        var tooltipTemp = $(this).parent().children('div.tooltip');
        var tooltipArrowTemp = $(this).children('div.tooltipArrow');
        
        var heightContent = tooltipTemp.children("div.tooltipContent").height();
        var widthThis = $(this).width();
        
        var leftTooltip = Math.floor($(this).position().left + (widthThis / 2) - (tooltipTemp.width() / 2));
        var topTooltip = $(this).position().top - heightContent - 12;
        
        tooltipTemp.css({
            left: leftTooltip,
            top: topTooltip
        });
        
        var leftArrow = Math.ceil($(this).position().left + (widthThis / 2) - (tooltipArrowTemp.width() / 2)) + 1;
        var topArrow = tooltipTemp.children('div.tooltipBottom').position().top + topTooltip;
        
        tooltipArrowTemp.css({
            left: leftArrow,
            top: topArrow
        });
        
    }, function(){
    
        var tooltipTemp = $(this).parent().children('div.tooltip');
        var tooltipArrowTemp = $(this).children('div.tooltipArrow');
        
        tooltipTemp.remove();
        tooltipArrowTemp.remove();
    });
    
};


//Add To Merkzettel Events
$.wwInitAddToMerkzettelEvents = function(){

    $('a.merkzettel').live('click', function(){
        $.wwAddToMerkzettel(this);
        return false;
    });
    
};


//Add To Merkzettel
$.wwAddToMerkzettel = function(target){

    if ($(target).children('div.hover').length === 0) {
    
        var id = $.wwGetHash($(target).attr('href'));
        
        var url = window.location.href;
        url = (url.indexOf('?') != -1 ? '&' : '?') + 'type=13&tx_burgbad_pi5[action]=add&tx_burgbad_pi5[controller]=Memo';
        $.post(url, {
            product: id
        }, function(data){
            //Callback
            
            //HTML erstellen
            var content = '<span class="textFlyout">';
            content += '<strong>' + typo3.merkzettel.headline + '</strong>';
            content += '<a href="' + typo3.merkzettel.link + '" class="zumMerkzettel">' + typo3.merkzettel.linkText + '</a>';
            content += typo3.merkzettel.text;
            content += '</span>';
            
            //Flyout erstellen und in DOM einfuegen
            var offsetY = 35;
            if (isIE6) {
                offsetY = 28;
            }
            
            $.wwBuildHover(content, target, offsetY, 140, true);
            //Flyout Klick Event
            $('a.zumMerkzettel', $(target)).bind('click', function(e){
                window.location.href = $(this).attr('href');
            });
            
            //Flyout entfernen
            $(target).bind('mouseleave', function(e){
                $.wwDestroyHover(this, true);
            });
            
            //Merkzettel Counter erhoehen
            $('#mkzCount').text('(' + data + ')');
            Cufon.refresh('#mkzCount');
            
        }, 'json');
        
    }
    
};


//Merkzettel Events
$.wwInitMerkzettelEvents = function(){

    $('a.delete').live('click', function(){
        $.wwMerkzettelDelete(this);
        return false;
    });
    
    $('#merkzettelForm').bind('submit', function(){
        $.wwMerkzettelSend();
        return false;
    });
    
};


//Merkzettel Delete
$.wwMerkzettelDelete = function(target){

    var id = $.wwGetHash($(target).attr('href'));
    var url = window.location.href;
    url = (url.indexOf('?') != -1 ? '&' : '?') + 'type=13&tx_burgbad_pi5[action]=remove&tx_burgbad_pi5[controller]=Memo';
    $.post(url, {
        product: id
    }, function(data){
        //Callback
        
        //Element loeschen
        $('div[id=produkt' + id + ']', $('#pgMerkzettel')).remove();
        
        //Merkzettel Counter erhoehen
        $('#mkzCount').text('(' + data + ')');
        Cufon.refresh('#mkzCount');
        
    }, 'json');
    
};


$.wwMerkzettelSend = function(){

    $.wwHideFormError();
    
    var target = $('div.half:last', $('#merkzettelForm'));
    
    $.wwDestroyHover(target, false);
    $('#merkzettelForm').unbind('submit').bind('submit', function(){
        return false;
    });
    
    //Ermitteln der Formulardaten
    var formData = $('#merkzettelForm').formToArray();
    
    //Uebergabewerte aus formData
    /* 
     for (i = 0; i < formData.length; i++) {
     console.log("formData " + i + " : " + formData[i].name + " : " + formData[i].value);
     }
     */
    $.post($('#merkzettelForm').attr('action'), formData, function(data){
        //Callback
        $.wwInitMerkzettelEvents();
        
        window.window.scrollTo(0, 0);
        
        if (data.success) {
            //Success
            
            //HTML erstellen
            var headline = typo3.formConfirmation.headline.replace(/#anrede#/, data.anrede);
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + headline + '</strong>';
            content += '<p>' + typo3.formConfirmation.text1 + '</p>';
            content += '<p>' + typo3.formConfirmation.text2 + '</p>';
            content += '<p class="merkzettel">' + typo3.formConfirmation.headLinks + '</p>';
            content += '<a href="' + typo3.formConfirmation.link1 + '" class="mehr">' + typo3.formConfirmation.linkText1 + '</a>';
            content += '<a href="' + typo3.formConfirmation.link2 + '" class="mehr">' + typo3.formConfirmation.linkText2 + '</a></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').live('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
        }
        else {
            //Failed
            
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formError.headline + '</strong>';
            content += '<p>' + typo3.formError.text + '</p><p>';
            
            var eLength = data.error.length;
            
            for (i = 0; i < eLength; i++) {
                var error = data.error[i].text;
                content += error + '<br />';
            }
            content += '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').live('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
            setTimeout(function(){
                $.wwDestroyHover(target, false);
            }, 5000);
            
            $.wwShowFormError(eLength, data.error);
        }
        
    }, 'json');
    
};


$.wwInitKontaktEvents = function(){

    $('#kontaktForm').bind('submit', function(){
        $.wwKontaktSend();
        return false;
    });
    
    
};


$.wwKontaktSend = function(){

    $.wwHideFormError();
    
    var target = $('div.half:last', $('#kontaktForm'));
    
    $.wwDestroyHover(target, false);
    $('#kontaktForm').unbind('submit').bind('submit', function(){
        return false;
    });
    
    // remove the default text
    if ($('textarea[name=nachricht]').val() == $('textarea[name=nachricht]').attr('title')) {
        $('textarea[name=nachricht]').val('');
    }
    
    //Ermitteln der Formulardaten
    var formData = $('#kontaktForm').serializeArray();
    
    // add the default text again
    if ($('textarea[name=nachricht]').val() == '') {
        $('textarea[name=nachricht]').val($('textarea[name=nachricht]').attr('title'));
    }
    
    
    //Uebergabewerte aus formData
    $.post($('#kontaktForm').attr('action'), formData, function(data){
        //Callback
        $.wwInitKontaktEvents();
        
        // the result is either a JSON if it's an error or something else and we don't care
        if (data.success) {
            //Success
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formConfirmation.headline + '</strong>';
            content += '<p>' + typo3.formConfirmation.text1 + '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
        }
        else {
            //Failed
            
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formError.headline + '</strong>';
            content += '<p>' + typo3.formError.text + '</p><p>';
            
            var eLength = data.error.length;
            
            for (i = 0; i < eLength; i++) {
                var error = data.error[i].text;
                content += error + '<br />';
            }
            content += '</p></span>';
            
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
            setTimeout(function(){
                $.wwDestroyHover(target, false);
            }, 5000);
            
            $.wwShowFormError(eLength, data.error);
        }
        
    }, 'json');
    
};


$.wwInitNewsletterEvents = function(){

    $('#newsletterAddForm').bind('submit', function(){
        $.wwNewsletterAddSend();
        return false;
    });
    
    $('#newsletterDeleteForm').bind('submit', function(){
        $.wwNewsletterDeleteSend();
        return false;
    });
    
};


$.wwNewsletterAddSend = function(){

    $.wwHideFormError();
    
    var target = $('div.half:last', $('#newsletterAddForm'));
    
    $.wwDestroyHover(target, false);
    $('#newsletterAddForm').unbind('submit').bind('submit', function(){
        return false;
    });
    
    //Ermitteln der Formulardaten
    var formData = $('#newsletterAddForm').formToArray();
    
    //Uebergabewerte aus formData
    /*
     for (i = 0; i < formData.length; i++) {
     console.log("formData " + i + " : " + formData[i].name + " : " + formData[i].value);
     }
     */
    $.post($('#newsletterAddForm').attr('action'), formData, function(data){
        //Callback
        $.wwInitNewsletterEvents();
        
        if (data.success) {
            //Success
            
            //HTML erstellen
            var headline = typo3.formAddConfirmation.headline;
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + headline + '</strong>';
            content += '<p>' + typo3.formAddConfirmation.text1 + '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
        }
        else {
            //Failed
            
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formError.headline + '</strong>';
            content += '<p>' + typo3.formError.text + '</p><p>';
            
            var eLength = data.error.length;
            
            for (i = 0; i < eLength; i++) {
                var error = data.error[i].text;
                content += error + '<br />';
            }
            content += '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
            setTimeout(function(){
                $.wwDestroyHover(target, false);
            }, 5000);
            
            $.wwShowFormError(eLength, data.error);
        }
        
    }, 'json');
    
};


$.wwNewsletterDeleteSend = function(){

    $.wwHideFormError();
    
    var target = $('div.half:last', $('#newsletterDeleteForm'));
    
    $.wwDestroyHover(target, false);
    $('#newsletterDeleteForm').unbind('submit').bind('submit', function(){
        return false;
    });
    
    //Ermitteln der Formulardaten
    var formData = $('#newsletterDeleteForm').formToArray();
    
    //Uebergabewerte aus formData
    /* 
     for (i = 0; i < formData.length; i++) {
     console.log("formData " + i + " : " + formData[i].name + " : " + formData[i].value);
     }
     */
    $.post($('#newsletterDeleteForm').attr('action'), formData, function(data){
    
        //Callback
        $.wwInitNewsletterEvents();
        
        if (data.success) {
            //Success
            
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formDeleteConfirmation.headline + '</strong>';
            content += '<p>' + typo3.formDeleteConfirmation.text1 + '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
        }
        else {
            //Failed
            
            //HTML erstellen
            var content = '<span class="textFlyout"><a href="#" class="close"></a><strong>' + typo3.formError.headline + '</strong>';
            content += '<p>' + typo3.formError.text + '</p><p>';
            
            var eLength = data.error.length;
            
            for (i = 0; i < eLength; i++) {
                var error = data.error[i].text;
                content += error + '<br />';
            }
            content += '</p></span>';
            
            //Flyout erstellen und in DOM einfuegen
            $.wwBuildHover(content, target, 43, 140, false);
            
            $('a.close').bind('click', function(){
                $.wwDestroyHover(target, false);
                return false;
            });
            
            setTimeout(function(){
                $.wwDestroyHover(target, false);
            }, 5000);
            
            $.wwShowFormError(eLength, data.error);
        }
        
    }, 'json');
    
};


$.wwInitMontageanleitungenEvents = function(){

    $('#montageanleitungenForm').bind('submit', function(){
    
        $('input[type=checkbox]:checked').each(function(){
            var url = window.location.protocol + '//' + window.location.host + this.value;
            window.open(url, '_blank');
        });
        
        return false;
    });
    
    $('#allMontageanleitungen').bind('click', function(){
        $('input[type=checkbox]').attr('checked', true).siblings().addClass('jqTransformChecked');
        return false;
    });
    
    $('#clearMontageanleitungen').bind('click', function(){
        $('input[type=checkbox]').attr('checked', false).siblings().removeClass('jqTransformChecked');
        return false;
    });
    
};


$.wwInitKatalogdownloadEvents = function(){

    $('#katalogdownloadForm').bind('submit', function(){

        $('input[type=checkbox]:checked').each(function(){
            var url = window.location.protocol + '//' + window.location.host + this.value;
            window.open(url, '_blank');
        });
        
        return false;
        
    });
    
};


$.wwShowFaqQuestions = function(){

    var faqTopic = $('select[name=faqTopic]').val();
    if (faqTopic && window.location.href.indexOf(faqTopic) == -1) {
        $('div.conLeft').children('a').unbind('click').bind('click', function(){
            return false;
        });
        
        window.location = faqTopic;
    }
    
};


$.wwShowFaqAnswer = function(id){



    $('div.conLeft').children('a').unbind('click').bind('click', function(){
        return false;
    });
    
    $('div.conRight').children('div.show').addClass('hide').removeClass('show');
    $('div.conRight').children('#content-el' + id).addClass('show');
    
    if ($('div.conRight').children('div.hide').length !== 0) {
        $('div.conRight').children('div.hide').animate({
            opacity: 0
        }, {
            duration: 200,
            easing: 'easeInOutQuad',
            complete: function(){
            
                $(this).removeClass('hide').css({
                    display: 'none',
                    opacity: 0
                });
                
                $('div.conRight').children('div.show').css({
                    display: 'block',
                    opacity: 0
                }).animate({
                    opacity: 1
                }, {
                    duration: 200,
                    easing: 'easeInOutQuad',
                    complete: function(){
                    
                        $.wwInitFaqQuestionsEvents();
                    }
                });
                
            }
        });
        
    }
    else {
    
        $('div.conRight').children('div.show').css({
            display: 'block',
            opacity: 0
        }).animate({
            opacity: 1
        }, {
            duration: 200,
            easing: 'easeInOutQuad',
            complete: function(){
            
                $.wwInitFaqQuestionsEvents();
            }
        });
        
    }
    
};


$.wwInitFaqQuestionsEvents = function(){

    $('div.conLeft').children('a').bind('click', function(){
        var hash = $.wwGetHash($(this).attr('href'));
        var id = hash.substring(1);
        
        $.wwShowFaqAnswer(id);
        return false;
    });
    
};


$.showIntSiteLayer = function(){

    var target;
    var type;
    
    if ($('#intSite').length !== 0) {
        target = $('#intSite');
        type = 'flyout';
    }
    else {
        target = $('#pgLaenderauswahl');
        type = 'page';
    }
    
    $.post(typo3.phpForm.form0, {}, function(data){
    
        //Callback
        
        //Laenderansicht
        var cLength = data.length;
        var cLengthHalf = Math.ceil(cLength / 2);
        var content = '<span class="textFlyout"><div id="intSiteCountry"><h2>' + typo3.intSite.country + '</h2>';
        
        content += '<div class="col1">';
        for (i = 0; i < cLengthHalf; i++) {
            content += '<a href="#' + i + '">' + data[i].name + '</a>';
        }
        content += '</div>';
        
        content += '<div class="col1">';
        for (i = cLengthHalf; i < cLength; i++) {
            content += '<a href="#' + i + '">' + data[i].name + '</a>';
        }
        content += '</div></div>';
        
        if (!isIE6) {
            content += '<div class="clear"></div>';
        }
        content += '</span>';
        
        var offsetY = 21;
        if (isIE6) {
            offsetY = 14;
        }
        
        //Flyout erstellen und in DOM einfuegen
        if (type === 'flyout') {
            $.wwBuildHover(content, target, offsetY, 140, true);
        }
        else {
            target.append('<div class="hover">' + content + '</div>');
        }
        
        if (isIE8) {
            setTimeout(function(){
                Cufon.refresh('h2');
                if (type === 'page') {
                    
                    $('div.hover').css({
                        display: 'block'
                    });
                    
                    var marginBottom = $('div.hover').height() / 2;
                    
                    $('.distanceLaenderauswahl').css({
                        marginBottom: '-' + marginBottom + 'px'
                    });
                    
                    $('#pgLaenderauswahl .header').css({
                        display: 'block'
                    });
					
                    Cufon.refresh('#pgLaenderauswahl a');
                }
            }, 350);
        }
        else {
            Cufon.refresh('h2');
            if (type === 'page') {
                
                $('div.hover').css({
                    display: 'block'
                });
                
                var marginBottom = $('div.hover').height() / 2;
                
                $('.distanceLaenderauswahl').css({
                    marginBottom: '-' + marginBottom + 'px'
                });
                
                $('#pgLaenderauswahl .header').css({
                    display: 'block'
                });
				
                Cufon.refresh('#pgLaenderauswahl a');
            }
        }
        
        //Flyout entfernen
        if (type === 'flyout') {
            target.bind('mouseleave', function(e){
                $.wwDestroyHover(this, true);
            });
        }
        
        //Klick auf Land
        target.find('div.col1').children('a').bind('click', function(){
        
            if (type === 'page') {
                $('a.active').removeClass('active');
                $(this).addClass('active');
            }
            
            var pos = $.wwGetHash($(this).attr('hash'));
            var lLength = data[pos].lan.length;
            
            //Ueberpruefen, ob es mehrere Sprachen gibt
            if (lLength === 1) {
            
                //Direkt weiterleiten auf Link
                window.location.href = data[pos].lan[0].link;
                
            }
            else {
            
                //Ueberpruefen, ob der Language Layer schon angezeigt wird
                if ($('#intSiteLanguage').length === 0) {
                
                    //Anzeige Language Layer
                    var startWidth = $('div.hoverContent', target).width();
                    var addWidth = 186;
                    var targetLeft;
                    
                    if (type === 'flyout') {
                        targetLeft = $('div.hover', target).position().left - addWidth;
                    }
                    else {
                        targetLeft = $('div.hover', target).position().left - addWidth / 2;
                    }
                    
                    
                    //Verschieben und Vergroessern des Flyouts
                    $('div.hover', target).animate({
                        left: targetLeft + 'px'
                    }, {
                        step: function(now, settings){
                            percentDone = (settings.now - settings.start) / (settings.end - settings.start);
                            current = (percentDone * addWidth) + startWidth;
                            
                            $('div.hoverContent', $(this)).css({
                                width: current + 'px'
                            });
                            
                        },
                        duration: 200,
                        easing: 'easeInOutQuad',
                        complete: function(){
                        
                            //Anzeige der Sprachen
                            var content = '<div id="intSiteLanguage"><h2>' + typo3.intSite.language + '</h2><div class="col2">';
                            for (i = 0; i < lLength; i++) {
                                content += '<a href="' + data[pos].lan[i].link + '">' + data[pos].lan[i].text + '</a>';
                            }
                            content += '</div></div>';
                            if (!isIE6) {
                                content += '<div class="clear"></div>';
                            }
                            $('span.textFlyout', target).css({
                                width: '500px'
                            });
                            $('span.textFlyout', target).children('div.clear').remove();
                            $('span.textFlyout', target).append(content);
                            
                            Cufon.refresh('h2');
                            if (type === 'page') {
                                Cufon.refresh('#pgLaenderauswahl a');
                            }
                            
                            target.find('div.col2').children('a').bind('click', function(){
                            
                                //Direkt weiterleiten auf Link
                                window.location.href = $(this).attr('href');
                                
                                return false;
                            });
                        }
                    });
                }
                else {
                
                    //Austauschen Inhalt Language Layer
                    var content = '';
                    for (i = 0; i < lLength; i++) {
                        content += '<a href="' + data[pos].lan[i].link + '">' + data[pos].lan[i].text + '</a>';
                    }
                    $('#intSiteLanguage').children('div.col2').html(content);
                    
                    if (type === 'page') {
                        Cufon.refresh('#pgLaenderauswahl a');
                    }
                    
                    target.find('div.col2').children('a').bind('click', function(){
                    
                        //Direkt weiterleiten auf Link
                        window.location.href = $(this).attr('href');
                        
                        return false;
                    });
                    
                }
                
            }
            return false;
        });
        
    }, 'json');
    
};


//Init Inspiration Events
$.wwInitInspitationEvents = function(){


    $('#nextL').animate({
        right: '0px'
    }, {
        duration: 600,
        easing: 'easeInOutQuad',
        complete: function(){
        
            $('#nextL').animate({
                right: '0px'
            }, {
                duration: 2000,
                easing: 'easeInOutQuad',
                complete: function(){
                
                    $('#nextL').animate({
                        right: '-55px'
                    }, {
                        duration: 400,
                        easing: 'easeInOutQuad'
                    });
                    
                }
            });
            
        }
    });
    
    
    $('#prevL').bind('click', function(){
    
        var targetId = $.wwGetHash($(this).attr('href'));
        
        $.wwInspitationPager(targetId);
        
        return false;
        
    });
    
    $('#nextL').bind('click', function(){
    
        var targetId = $.wwGetHash($(this).attr('href'));
        
        $.wwInspitationPager(targetId);
        
        return false;
        
    });
    
    $('#arrowLeft').add('#arrowRight').css({
        opacity: 0.6
    });
    
    $('#arrowLeft').bind('mouseenter', function(){
    
        $(this).children('#prevL').stop().animate({
            left: '0px'
        }, {
            duration: 600,
            easing: 'easeInOutQuad'
        });
        
        return false;
        
    });
    
    $('#arrowLeft').bind('mouseleave', function(){
    
        $(this).children('#prevL').stop().animate({
            left: '-55px'
        }, {
            duration: 400,
            easing: 'easeInOutQuad'
        });
        
        return false;
        
    });
    
    $('#arrowRight').bind('mouseenter', function(){
    
        $(this).children('#nextL').stop().animate({
            right: '0px'
        }, {
            duration: 600,
            easing: 'easeInOutQuad'
        });
        
        return false;
        
    });
    
    $('#arrowRight').bind('mouseleave', function(){
    
        $(this).children('#nextL').stop().animate({
            right: '-55px'
        }, {
            duration: 400,
            easing: 'easeInOutQuad'
        });
        
        return false;
        
    });
    
};

$.wwInspitationPager = function(targetId){

    var pageNum = parseInt(targetId.substring(4));
    
    if (pageNum > 0 && pageNum < 12) {
    
        $('#nextL').attr({
            href: 'page' + parseInt(pageNum + 1)
        });
        $('#prevL').attr({
            href: 'page' + parseInt(pageNum - 1)
        });
        
        if (isIE6) {
        
            $('#pager').children('span').html(pageNum + '/11');
            
            Cufon.refresh();
            
            if (pageNum === 1) {
                $('#prevL').css({
                    visibility: 'hidden'
                });
            }
            else {
                $('#prevL').css({
                    visibility: 'visible'
                });
            }
            
            if (pageNum === 11) {
                $('#nextL').css({
                    visibility: 'hidden'
                });
            }
            else {
                $('#nextL').css({
                    visibility: 'visible'
                });
            }
            
            $('div.activePage').css({
                display: 'none'
            });
            
            $('#' + targetId).css({
                display: 'block'
            })
            
            $('div.activePage').removeClass('activePage');
            $('#' + targetId).addClass('activePage');
            
        }
        else {
        
            $('div.activePage').animate({
                opacity: 0
            }, {
                duration: 300,
                easing: 'easeInOutQuad',
                complete: function(){
                
                    $('#pager').children('span').html(pageNum + '/11');
                    
                    Cufon.refresh();
                    
                    if (pageNum === 1) {
                        $('#prevL').css({
                            visibility: 'hidden'
                        });
                    }
                    else {
                        $('#prevL').css({
                            visibility: 'visible'
                        });
                    }
                    
                    if (pageNum === 11) {
                        $('#nextL').css({
                            visibility: 'hidden'
                        });
                    }
                    else {
                        $('#nextL').css({
                            visibility: 'visible'
                        });
                    }
                    
                    $('div.activePage').css({
                        display: 'none',
                        opacity: 0
                    });
                    
                    $('#' + targetId).css({
                        display: 'block',
                        opacity: 0
                    }).animate({
                        opacity: 1
                    }, {
                        duration: 300,
                        easing: 'easeInOutQuad'
                    });
                    
                    $('div.activePage').removeClass('activePage');
                    $('#' + targetId).addClass('activePage');
                }
            });
            
        }
    }
    
};
