function supports_input_placeholder() {
  var i = document.createElement('input');
  return 'placeholder' in i;
}

function activatePlaceholders() {
    //var detect = navigator.userAgent.toLowerCase();
    //if (detect.indexOf("safari") > 0) return false;
    if (supports_input_placeholder()) return false;
    var inputs = document.getElementsByTagName("input");
    for (var i=0;i<inputs.length;i++) {
        if (inputs[i].getAttribute("type") == "text") {
            var placeholder = inputs[i].getAttribute("placeholder");
            //if (placeholder.length > 0) {
                inputs[i].value = placeholder;
                inputs[i].onclick = function() {
                    if (this.value == this.getAttribute("placeholder")) {
                        this.value = "";
                    }
                    return false;
                }
                inputs[i].onblur = function() {
                    if (this.value.length < 1) {
                        this.value = this.getAttribute("placeholder");
                    }
                }
            //}
        }
    }

    $("form").submit(function() {
        $(this).find('input[type="text"]').each(function() {
            if ($(this).val() == $(this).attr("placeholder")) {
                $(this).val("");
            }
        });
    });
}

$(document).ready(function() {

    bootstrap();

    //activatePlaceholders();

    // Tastaturkuerzel
    var $ctrl_pressed = false;

    $(document).keydown(function(event){
        if ( event.keyCode == 17) $ctrl_pressed = true;

        if ( event.keyCode == 76 && $ctrl_pressed) {
            $("div.cms_header").slideToggle('slow', 'swing');
        }
    });
    $(document).keyup(function(event){
        if ( event.keyCode == 17) $ctrl_pressed = false;
    });

    

    $("a.logout").click(function(){
        $.post('/auth/logout');
        $("div.cms_header").slideUp('slow', function(){
            location.reload();
        });
    });
    

    $("ul#topnav li").hover(function() { //Hover over event on list item
        $(this).addClass('hover');
    } , function() { //on hover out...
        $(this).removeClass('hover');
    });

    $("a.openPopup").click(function(){
        openPopup($(this).attr('href'));
        return false;
    });

    $("div#captcha-reload a").click(function(){
        $('#captcha').load('/index/captcha', null, function(){
            $("input:text").uniform();
        });
        return false;
    });
    
    $('.dropdown a.grey_round_small').click(function(){
        $(this).toggleClass('dropdown_open');
        $(this).next('.dropdown_elements').slideToggle('fast');
        return false;
    });
});

function bootstrap() {
    setTimeout('$("div.scrollable").scrollable().navigator()', 200);
    setTimeout('$("div.scrollable_circular").scrollable({circular: true}).navigator()', 200);
    $("select, input:radio, input:checkbox, input:text, input:file, textarea").uniform();
    initAccordion();
}

var $slider;

function initStart() {
    $('.start_buttons a').click(function(){
        $('.start_buttons a').removeClass('active');
        $(this).addClass('active');
        initStartElement($(this).attr('rel'));
    });
    initStartElement(0);
}

function initStartElement($ID) {

    window.clearTimeout($slider);


    $('#start_head_element').fadeOut('fast', function(){
        $('#start_head_element').load('/index/startelement/ID/' + $ID, function(){
            $('#start_head_element').delay(300).fadeIn('fast', function(){
                fadeStartSlide(1);
            });
        });
    });
    
}

function fadeStartSlide($next_slide) {

    var $slidetime = $('.start_bg_wrapper').attr('slidetime');
    var $slideduration = $('.start_bg_wrapper').attr('slideduration');;
    var $slidecount = $('.start_slide').length;

    $('.start_slide:nth-child('+$next_slide+')').fadeIn(parseInt($slideduration));
    
    if ( $slidecount > 1 ) {
        $('.start_slide:nth-child('+$next_slide+')').delay($slidetime - $slideduration).fadeOut(parseInt($slideduration));
    }

    if ($next_slide == $slidecount) {
        $next_slide = 1;
    } else {
        $next_slide++;
    }
    if ( $slidecount > 1 ) {
        $slider = setTimeout("fadeStartSlide("+$next_slide+")", $slidetime);
    }
    
}

function initTabs() {
    $('.mytabs .tabs_container .div1').hide();
    $('.mytabs .tabs_container .div1:nth-child(1)').show();
    
    $('.mytabs ul li a').click(function(){
        
        $('.mytabs ul li a').removeClass('active');
        $(this).addClass('active');
        
        var $child = $(this).attr('rel');
        $('.mytabs .tabs_container .div1').hide();
        $('.mytabs .tabs_container .div1:nth-child('+$child+')').show();
    });
}

function initFBLikeBox() {
    $('#fb-like-box').load('http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fkoenigundmeyer&width=500&colorscheme=light&show_faces=true&stream=false&header=false&height=600');
}

function initSocialMediaSlider() {

    var $elementw = 244; // Die Breite eines Elements + Padding
    var $elements = $("#social_media_slider .items .col_1_4").length;
    var $max = $elementw * ($elements - 4) - 10;

    $("#social_media_slider .items").css("width", $elementw * $elements );
    $("#social_media_slider .items").css("margin-left", -$max );

    $("#slider").slider({
        min: 0,
        max: $max,
        value: $max,
        slide: function(event, ui) {
            $("#social_media_slider .items").css("margin-left", -ui.value );

            var $day_to_add = Math.round(ui.value / $elementw); // Errechnen wieviele Tage zum ersten hinzugefuegt werden muessen
            var $from = $('#socialstream_headline_' + $day_to_add).html();
            $from = $from.substr(0, 6);
            var $to = $('#socialstream_headline_' + ($day_to_add+3)).html();
            $("#social_media_slider .ui-slider-handle").html( $from + " - " + $to ); // Handle beschriften
        }
    });

    // Den Datumswert initial auf den Handle schreiben
    var $days =  $('.items h4').length;
    var $from = $('#socialstream_headline_' + ($days - 4)).html();
    $from = $from.substr(0, 6);
    var $to = $('#socialstream_headline_' + ($days - 1)).html();
    $("#social_media_slider .ui-slider-handle").html( $from + " - " + $to );
}

function initSocialMediaSlideriPad() {
    var $elementw = 244; // Die Breite eines Elements + Padding
    var $elements = $("#social_media_slider .items .col_1_4").length;
    var $max_height = 0;
    $("#social_media_slider .items .col_1_4").each(function(){
        if ( $max_height < $(this).height()) {
            $max_height = $(this).height();
        }
    });
    $("#ui_slider_wrapper").hide();
    $("#social_media_slider .items").css("width", $elementw * $elements );
    $("#social_media_slider .items").css("position", "absolute" );
    $("#social_media_slider .items").css("left", 0);
    $("div#social_media_slider").css("height", $max_height + 140);
    $("div#social_media_slider_scrollable .f-left").css("padding-left", 11);
    $("div#social_media_slider_scrollable .f-left").css("margin-right", -11);
    $("div#social_media_slider_scrollable").scrollable().navigator();
    $(".navi").css('margin-top', $max_height + 115);
}

function initAccordion() {
    $("div.accordion_content").hide();
    $("a.accordion_button").click(function() {
        $(this).prev().prev().slideToggle();
        $(this).prev().slideToggle();
        $(this).toggleClass('accordion_button_close');
    });

    $("a.readmore").click(function() {
        $(this).parents("div.accordion_head").slideToggle();
        $(this).parents("div.accordion_head").next().slideToggle();
        $(this).parents("div.accordion_head").next().next().toggleClass('accordion_button_close');
    });

    $('.paged_accordion .acco_page').hide();
    $('.paged_accordion .acco_page:first-child').show();
    $('.paged_accordion .page_link:first-child').addClass('active');
    $('.paged_accordion .page_link_prev').attr('rel', '1');
    $('.paged_accordion .page_link_next').each(function(){
        if ( $(this).parents('.paged_accordion').find('.page_link').length > 1 ) {
            $(this).attr('rel', 2);
        }
    });

    $('.paged_accordion .page_link').click(function(){
        changeAccoPage($(this).parents('.paged_accordion'), $(this).attr('rel'));
        return false;
    });

    $('.paged_accordion .page_link_first').click(function(){
        changeAccoPage($(this).parents('.paged_accordion'), 1);
        return false;
    });

    $('.paged_accordion .page_link_last').click(function(){
        changeAccoPage($(this).parents('.paged_accordion'), $(this).parents('.paged_accordion').find('.page_link').length);
        return false;
    });

    $('.paged_accordion .page_link_prev').click(function(){
        changeAccoPage($(this).parents('.paged_accordion'), $(this).attr('rel'));
        return false;
    });

    $('.paged_accordion .page_link_next').click(function(){
        if ($(this).attr('rel')) {
            changeAccoPage($(this).parents('.paged_accordion'), $(this).attr('rel'));
        }
        return false;
    });
}

function changeAccoPage($accordeon, $page) {
    
    $accordeon.find('.page_link').hide();
    $accordeon.find('.page_link:nth-child('+$page+')').css('display', 'inline-block');
    $accordeon.find('.page_link:nth-child('+(parseInt($page)+1)+')').css('display', 'inline-block');
    $accordeon.find('.page_link:nth-child('+(parseInt($page)+2)+')').css('display', 'inline-block');
    $accordeon.find('.page_link:nth-child('+(parseInt($page)+3)+')').css('display', 'inline-block');

    if ($page > 1) {$accordeon.find('.page_link:nth-child('+(parseInt($page)-1)+')').css('display', 'inline-block');}
    if ($page > 2) {$accordeon.find('.page_link:nth-child('+(parseInt($page)-2)+')').css('display', 'inline-block');}
    if ($page > 3) {$accordeon.find('.page_link:nth-child('+(parseInt($page)-3)+')').css('display', 'inline-block');}
    

    $accordeon.find('.page_link').removeClass('active');
    $accordeon.find('.page_link:nth-child('+$page+')').addClass('active');

    if ( $page > 1 ) {
        $accordeon.find('.page_link_prev').attr('rel', $page-1);
    }

    if ( $page < $accordeon.find('.page_link').length ) {
        $accordeon.find('.page_link_next').attr('rel', parseInt($page)+1);
    }
    

    var $start_height = $accordeon.find('.paged_accordion_content').height();
    

    $accordeon.find('.paged_accordion_content').height($start_height);
    
    $accordeon.find('div.accordion_head').show();
    $accordeon.find('div.accordion_content').hide();
    $accordeon.find('a.accordion_button').removeClass('accordion_button_close');
    
    $accordeon.find('.acco_page').hide();

    $accordeon.find('.acco_page:nth-child('+$page+')').delay(200).fadeTo('fast',0.01, function(){

        var $end_height = $accordeon.find('.acco_page:nth-child('+$page+')').height();
        
        $accordeon.find('.paged_accordion_content').animate({
            height: $end_height
        }, false, false, function(){
            $accordeon.find('.acco_page:nth-child('+$page+')').delay(200).fadeTo('slow',1);
            $accordeon.find('.paged_accordion_content').css('height', 'auto');

            var $from = 1 + ($page-1) * $accordeon.find('.acco_page:nth-child(1) div.acco_element').length;
            $accordeon.find('.results_from').html($from);
            $accordeon.find('.results_to').html($from + $accordeon.find('.acco_page:nth-child('+$page+') div.acco_element').length - 1);
        });

    });

    if ( $('body').scrollTop() + 60 - $accordeon.offset().top > 0) { // Wenn die Überschrift des Accordeons nicht sichtbar ist -> bis dahin Scrollen
        $('body').scrollTo( $accordeon, 1600, {offset: {top:-60}} );
    }
    
}

function initCategoryDropdowns() {
    $('.cat_1').change(function(){

        $('#cat_2_container').load('/supportunddownloads/categorydropdown/parent_id/' + $(this).val() + '/select_name/cat_2', null, function(){
            $("select.cat_2").uniform();

            $('.cat_2').change(function(){
                $('#cat_3_container').load('/supportunddownloads/categorydropdown/parent_id/' + $(this).val() + '/select_name/cat_3', null, function(){
                    $("select.cat_3").uniform();
                    $('.cat_3').change(function(){
                        updateDownloadListe($(this).val());
                    });
                });
                updateDownloadListe($(this).val());
            });
        });
        $('#cat_3_container').load('/supportunddownloads/categorydropdown/parent_id/no_cats/select_name/cat_3', null, function(){
            $("select.cat_3").uniform();
        });

        updateDownloadListe($(this).val());
    });

    $('.cat_2').change(function(){
        $('#cat_3_container').load('/supportunddownloads/categorydropdown/parent_id/' + $(this).val() + '/select_name/cat_3', null, function(){
            $("select.cat_3").uniform();
            $('.cat_3').change(function(){
                updateDownloadListe($(this).val());
            });
        });
        updateDownloadListe($(this).val());
    });
}

function updateDownloadListe($cat_id) {
    $('#downloadliste').fadeTo('fast', 0.01, function(){
        $('#downloadliste').load('/supportunddownloads/downloadliste/categories_id/' + $cat_id, null, function(){
            initAccordion();
            $('#downloadliste').delay(400).fadeTo('fast', 1);
        });
    });
}

function productSearch($q) {
    $('#downloadliste').fadeTo('fast', 0.01, function(){
        $('#downloadliste').load('/supportunddownloads/downloadliste/q/' + encodeURI($q), null, function(){
            initAccordion();
            $('#downloadliste').delay(400).fadeTo('fast', 1);
        });
    });
}

function openPopup(url) {
    $('#km_popup').load(url, null, function(){

        bootstrap(); // Sämtliche Scrollables Accordions & Co. initialisieren

        $('.km_overlay').height($(document).height());
        $('.km_overlay').fadeTo('fast', 0.8);
        $('#km_popup').fadeIn('fast');
        
        $('.km_overlay').click( function(){
            closePopup();
        });
        $('.popup_close').click( function(){
            closePopup();
            return false;
        });
    });
    
}

function closePopup() {
    $('.km_overlay').fadeOut('fast');
    $('#km_popup').fadeOut('fast');
}

function initSupportForm() {

    $("a.reset").click(function(){$("#supportform")[0].reset();});

    $("#supportform").validate({
        rules: {
            name: {
                required: true
            },
            vorname: {
                required: true
            },
            email: {
                required: true,
                email: true
            },
            land: {
                required: true
            },
            mitteilung: {
                required: true
            },
            'captcha[input]': {
                required: true
            }
        }
    });
    
    $('.support .checkbox').change(function(){
        $('.support_adresse').slideDown('slow');
    });
}

function initNewsletterForm() {
    

    $("a.reset").click(function(){$("#newsletter_form")[0].reset();alert("test");});

    $("#newsletter_form").validate({
        rules: {
            fields_prefix: {
                required: true
            },
            fields_lname: {
                required: true
            },
            fields_fname: {
                required: true
            },
            fields_email: {
                required: true,
                email: true
            }
        }
    });
}

function embedImagecenter(container,ID,size) {
    
    $('#'+container).load('/teaser/gallery/ID/' + ID, function(){
        //$("div.scrollable").scrollable().navigator();
    });
} 

function initKampagne() {
    
    $('#add_article_btn').click(function(){
        if ( $('#add_article').hasClass('add_ready')) {
            
            $('.dealer_list_header').slideDown('fast');
            
            $.post('/kampagne/addarticle', {article: $('#artikelnummer').val()}, function(){
            
                $('#dealer_list').load('/kampagne/dealerarticlelist', function(){
                    $('#dealer_list .kamp_artikel_element:last-child').hide();
                    $('#dealer_list .kamp_artikel_element:last-child').delay(300).slideDown('slow');
                    $('#artikelnummer').val('');
                });
            });
        }
        return false;
    });
    
    $('.article_quantity').keyup(function(){
        var $pos = $(this).attr('rel');
        var $quantity = $(this).val();
        $.post('/kampagne/updatequantity', {pos: $pos, quantity: $quantity});
    });
    
    $('#artikelnummer').keyup(function(){
        $.post('/kampagne/checkproductexists', {article: $(this).val()}, function(data){
            if (data == 'true') {
                $('#add_article').addClass('add_ready');
            } else {
                $('#add_article').removeClass('add_ready');
            }
        });
    });
    
    $("a.reset").click(function(){$("#kampagneform")[0].reset();});

    $("#kampagneform").validate({
        rules: {
            kundennummer: {
                required: true
            },
            ansprechpartner: {
                required: true
            },
            firma: {
                required: true
            },
            'captcha[input]': {
                required: true
            }
        }
    });
}

function deleteArticle($pos) {
    
    $('#kamp_artikel_element_'+$pos).slideUp('slow', function(){
        $.post('/kampagne/deletearticle', {pos: $pos}, function(data){
            //alert(data);
            $('#dealer_list').load('/kampagne/dealerarticlelist');
        })
    });
}

function initLandingpage() {
    $('.km_overlay').height($(document).height());
    
    $('.lp_side_nav').hover(function(){
        $('.km_overlay').fadeTo('fast', 0.5);
    }, function(){
        $('.km_overlay').fadeOut('fast');
    });
}
