﻿var $j = jQuery.noConflict();
var img;
var index;
var html = new Array();
var count = 1;
var oldSrc;

var maxHeight = 250;
var maxWidth = 550;

$j(document).ready(function() {
    if ($j('.overlay').length > 0) {
        $j('.overlay').height($j('.container').height());
        $j('.overlay').css('opacity', '0.2');
    }
    if ($j('.accordion').length) {
        $j('.accordion').accordion({
            autoHeight: false
        });
    }

    $j('.accordion h3').click(function() {
        var index = $j('.accordion h3').index(this);
        $j('.single input[type=hidden]:first').val(index);
    });

    if ($j('.sort').length > 0) {

        $j('.sort').center();

        $j('.overlayWhite').each(function() {
            $j(this).css('opacity', '0.5');
        });
        $j('.sort .box').hover(function() {
            $j(this).find('.overlayWhite').css('display', 'none');
        }, function() {
            if (!$j(this).hasClass('sel')) {
                $j(this).find('.overlayWhite').css('display', 'block');
            }
        });

        $j('.sort .box').each(function() {
            if ($j(this).hasClass('sel')) {
                $j(this).find('.overlayWhite').css('display', 'none');
            }

            $j(this).click(function() {
                var href = $j('.btnChoose', $j(this)).attr('href');
                window.location.href = href;
            });
        });
    }

    if ($j('.branche').length > 0) {

        $j('.branche').center();
        if ($j('.branche').hasClass('open')) {
            $j('.overlay').css('display', 'block')
            $j('.branche').css('display', 'block');
        }

        $j('.auswahl').find('a').each(function() {

            if ($j(this).hasClass('sel')) {
                var src = $j(this).find('img').attr('src').replace('_sw', '');
                $j(this).find('img').attr('src', src);
            }

            $j(this).hover(function() {
                oldSrc = $j(this).find('img').attr('src');
                var src = oldSrc.replace('_sw', '')
                $j(this).find('img').attr('src', src);
            }, function() {
                $j(this).find('img').attr('src', oldSrc);
            });
        });

        var indexLast = $j('.subBranchen').find('a.btnBranche:last').index() + 1;
        var modulo = indexLast % 5;
        var margin = ((((5 - modulo) / 2) * 169) + 10) + 'px';
        if (modulo != 0) {
            $j('.subBranchen a.btnBranche:eq(' + (indexLast - modulo) + ')').css('margin-left', margin);
        }
    }

    if ($j('.btnClose').length > 0) {
        $j('.btnClose').each(function() {
            $j(this).click(function() {
                $j(this).parent().css('display', 'none');
                $j('.overlay').fadeOut('slow');
            });
        });
    }

    if ($j('.karte').length > 0) {
        $j('.karte').center();
        var src = $j('.img').attr('src');
        $j('#Map1 area').hover(function() {
            var str = $j(this).attr('title').replace('Unternehmen in ', '');
            $j('.img').attr('src', 'templates/Bilder/' + $j(this).attr('alt') + '.png');
            $j('.tooltip').html(str);
        }, function() {
            $j('.img').attr('src', src);
            $j('.tooltip').html('');
        });
    }

    if ($j('.btnBranche').length > 0) {
        $j('.btnBranche').click(function() {
            $j('.overlay').fadeIn('slow', function() {
                $j('.branche').css('display', 'block');
            });
        });
    }

    if ($j('.btnSort').length > 0) {
        $j('.btnSort').click(function() {
            $j('.overlay').fadeIn('slow', function() {
                $j('.sort').css('display', 'block');
            });
        });
    }

    if ($j('.btnKarte').length > 0) {
        $j('.btnKarte').click(function() {
            $j('.overlay').fadeIn('slow', function() {
                $j('.karte').css('display', 'block');
            });
        });
    }

    if ($j('.skala').length > 0 && !$j('.skala').parent().hasClass('ratingSmall')) {

        $j('.hiddenfields').find('input').each(function() {
            var inputVal = $j(this).val();
            var index = $j(this).index();
            var curSkala = $j('.skala:eq(' + index + ')');
            for (var i = 0; i < inputVal; i++) {
                curSkala.find('span:eq(' + (i) + ')').addClass('sel');
            }
            html[index] = curSkala.html();
        });


        var skala;
        $j('.minus').click(function() {
            var btnMinus = $j(this);
            var indexSpan = btnMinus.next().find('span.sel:last').index();
            var indexSkala = $j('.ratingBox .skala').index(btnMinus.next());
            if (indexSpan > 0) {
                btnMinus.next().find('span.sel:last').removeClass('sel');
                html[indexSkala] = skala.html();

                $j('.hiddenfields').find('input:eq(' + indexSkala + ')').val(indexSpan);
            }
            return false;
        });

        $j('.plus').click(function() {
            var btnPlus = $j(this);
            skala = btnPlus.prev();
            var indexSpan = skala.find('span.sel:last').index();
            var indexSkala = $j('.ratingBox .skala').index(btnPlus.prev());
            if (indexSpan < 9) {
                skala.find('span:eq(' + (indexSpan + 1) + ')').addClass('sel');
                html[indexSkala] = skala.html();
                $j('.hiddenfields').find('input:eq(' + indexSkala + ')').val(indexSpan + 2);
            }
            return false;
        });

        $j('.skala').hover(function() {
            skala = $j(this);
            skala.find('span').hover(function() {

                var index = $j(this).index();
                var parent = $j(this).parent();

                for (var i = 0; i < index; i++) {
                    parent.find('span:eq(' + (i + 1) + ')').addClass('sel');
                }

            }, function() {
                $j(this).parent().find('span').each(function(index) {
                    if (index != 0) {
                        $j(this).removeClass('sel');
                    }
                });

            });

            skala.find('span').click(function() {
                var index = $j(this).index();
                var parent = $j(this).parent();

                for (var i = 0; i < index; i++) {
                    parent.find('span:eq(' + (i + 1) + ')').addClass('sel');
                }

                html[$j('.ratingBox .skala').index(skala)] = skala.html();

                $j('.hiddenfields').find('input:eq(' + $j('.ratingBox .skala').index(skala) + ')').val(index + 1);
            });

        }, function() {
            skala.html(html[$j('.ratingBox .skala').index(skala)]);
        });

    }

    var curIndex = -1;
    if ($j('.detailImg').length > 0 && $j('.thumbs').length > 0) {

        var thumbs = $j('.thumbs');
        var detailImg = $j('.detailImg');
        $j('.detailImg').find('img').resize();
        thumbs.find('a').each(function() {
            var link = $j(this);
            link.click(function() {
                detailImg.find('img').fadeOut('slow', function() {
                    var str = "<img src='" + link.attr('href') + "' alt='' />";
                    detailImg.find('td').html(str).delay(500);
                    detailImg.find('img').css('display', 'none').resize().delay(200).fadeIn('slow');
                });

                //                var str = "<img src='" + link.attr('href') + "' alt='' />";
                //                detailImg.find('td').html(str);
                //                detailImg.find('img').css('display', 'none').resize().delay(1000).fadeIn('slow');

                //                detailImg.find('img')
                //                .fadeOut('slow', function () {
                //                    detailImg.find('td').html();
                //                    $j('<img />')
                //                    .attr('src', link.attr('href'))
                //                    .css('display', 'none')
                //                    .load(function () {
                //                        detailImg.find('td').html($j(this));
                //                        $j(this).resize();
                //                    })
                //                    .fadeIn('slow');
                //                });

                return false;
            });
        });
    }
});

$j.fn.center = function () {
    this.css("position", "absolute");
    this.css("top", ($j(window).height() - this.height()) / 2 + "px");
    this.css("left", ($j(window).width() - this.width()) / 2 + "px");
    return this;
}

$j.fn.resize = function () {

    var ratio = 0;  // Used for aspect ratio
    var width = this.width();    // Current image width
    var height = this.height();  // Current image height
    // Check if the current width is larger than the max
    if (width > maxWidth) {
        ratio = maxWidth / width;   // get ratio for scaling image
        this.css("width", maxWidth); // Set new width
        this.css("height", height * ratio);  // Scale height based on ratio
        height = height * ratio;
        width = maxWidth;   // Reset height to match scaled image
    }

    // Check if current height is larger than max
    if (height > maxHeight) {
        ratio = maxHeight / height; // get ratio for scaling image
        this.css("height", maxHeight);   // Set new height
        this.css("width", width * ratio); 
           // Scale width based on ratio
        width = width * ratio;    // Reset width to match scaled image
    }
    return this;

}





