﻿var $j = jQuery.noConflict();
$j(document).ready(function() {

    //Fix pngs for IE6
    //$j(document).pngFix();

    // Toggle für Boxen
    initToggleElements('.box-header-toggle', '+ .box-content-collapse', false);

    // News
    //initToggleElements('.news-morelink a', '+ div.news-list-item-full', true);

    //Toggle für Rating-Übersicht
    initRatingSummaryToggle();

    //Toggle mit Schließen-Button
    initMoreInfoToggle();
});


function initToggleElements(clickProxySelector, toggledElementSelector, useParent) {
    var $allClickProxies = $j(clickProxySelector);

    if ($allClickProxies) {
        $allClickProxies
            .css({ cursor: 'pointer' })
            .click(
                function () {
                    // the clicked element is a proxy for another element which will be
                    // hidden or displayed, search for this first because it will
                    // be reused
                    if (useParent)
                        $element = $j(this).parent().parent().parent().find(toggledElementSelector);
                    else
                        $element = $j(this).find(toggledElementSelector);

                    if ($j(this).hasClass('opened')) {
                        $j(this).removeClass('opened');
                    }
                    else {
                        $j(this).addClass('opened');
                    }

                    // treat clicked element  (use slideDown() instead of
                    // toggle() is user is not allowed to close opened elements
                    // by clicking on them)
                    $element.toggle('fast');

                    // hide all visible elements, but not the clicked element (that's the trick!)
                    if (useParent)
                        $allClickProxies.parent().parent().parent().find(toggledElementSelector).filter(':visible').not($element).slideUp('fast');
                    else
                        $allClickProxies.find(toggledElementSelector).filter(':visible').not($element).slideUp('fast');

                    $allClickProxies.not(this).removeClass('opened');

                    //event.preventDefault();
                    return false;
                }
            );
            // hide all by default
            if (useParent)
                $allClickProxies.parent().parent().parent().find(toggledElementSelector).hide();
            else
                $allClickProxies.find(toggledElementSelector).hide();
    }
}


function initRatingSummaryToggle() {
    var $allClickProxies = $j('.rating-summary .header .toggle');

    if ($allClickProxies) {
        $allClickProxies
            .css({ cursor: 'pointer' })
            .click(
                function () {

                    $element = $j(this).parent().parent().parent().parent().find('+ div.content-collapsable');

                    if ($j(this).hasClass('opened')) {
                        $j(this).removeClass('opened');
                    }
                    else {
                        $j(this).addClass('opened');
                    }

                    // treat clicked element  (use slideDown() instead of
                    // toggle() is user is not allowed to close opened elements
                    // by clicking on them)
                    $element.toggle('fast');

                    // hide all visible elements, but not the clicked element (that's the trick!)
                    $allClickProxies.parent().parent().parent().parent().find('+ div.content-collapsable').filter(':visible').not($element).slideUp('fast');
                    $allClickProxies.not(this).removeClass('opened');

                    //event.preventDefault();
                    return false;
                }
            );
            // hide all by default
            $allClickProxies.parent().parent().parent().parent().find('+ div.content-collapsable').hide();
    }
}

function initMoreInfoToggle() {
    var $allOpenProxies = $j('.more-info-container .content-main .more-link');
    var $allCloseProxies = $j('.more-info-container .content-main .close-link');

    if ($allOpenProxies) {
        $allOpenProxies
            .css({ cursor: 'pointer' })
            .click(
                function() {

                    $element = $j(this).find('+ div.full-content');
                    $openLink = $j(this);

                    $element.slideDown('fast', function() {
                        $openLink.hide();
                        $openLink.parent().find('div.close-link').show();
                    });

                    // hide all visible elements, but not the clicked element (that's the trick!)
                    $allOpenProxies.find('+ div.full-content').filter(':visible').not($element).slideUp('fast', function() {
                        $j(this).parent().find('div.close-link').hide();
                        $j(this).parent().find('div.more-link').show();
                    });

                    //event.preventDefault();
                    return false;
                }
            );
        // hide all by default
            $allOpenProxies.find('+ div.full-content').hide();
            $allOpenProxies.parent().find('div.close-link').hide();

            // hide more link if no more content is available
            $allOpenProxies.find('+ div.full-content:empty').each(function (index, element) {
                $j(element).parent().find('.more-link').hide();
            });
        }

        if ($allCloseProxies) {
            $allCloseProxies
        .css({ cursor: 'pointer' })
        .click(
            function() {

                $element = $j(this).parent().find('div.full-content');
                $closeLink = $j(this);

                $element.slideUp('fast', function() {
                    $closeLink.hide();
                    $closeLink.parent().find('div.more-link').show();
                });

                // hide all visible elements, but not the clicked element (that's the trick!)
                //$allClickProxies.parent().parent().parent().parent().find('+ div.content-collapsable').filter(':visible').not($element).slideUp('fast');
                //$allClickProxies.not(this).removeClass('opened');

                //event.preventDefault();
                return false;
            }
        );
    }
}

function chkKey(e){
    var evt = e || window.event;
    var nCode = (navigator.appName == 'Netscape') ? evt.which : evt.keyCode;
    if (nCode == 13) {
        //showMap();
    }
};

function showMap() {
  if (document.getElementById('addr')) {
    var addr = document.getElementById('addr').value;
    if (addr == 'Adresse') {
    	addr = '';
    }
    var adresse = encodeURI('http://www.franke-bornberg.de/index.php?id=186&addr=' + addr);
    var mapWindow = window.open(adresse, 'fbMap', 'width=890,height=650,left=200,top=100,location=no,menubar=no,resizable=yes,status=no,toolbar=no,scrollbars=no');
    mapWindow.focus();
  }
}

