/*
 * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz
 *
 * http://www.heise.de/extras/socialshareprivacy/
 * http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html
 *
 * Copyright (c) 2011 Hilko Holweg, Sebastian Hilbig, Nicolas Heiringhoff, Juergen Schmidt,
 * Heise Zeitschriften Verlag GmbH & Co. KG, http://www.heise.de
 *
 * is released under the MIT License http://www.opensource.org/licenses/mit-license.php
 *
 * Spread the word, link to us if you can.
 */
(function ($) {

    "use strict";

	/*
	 * helper functions
	 */ 

    // abbreviate at last blank before length and add "\u2026" (horizontal ellipsis)
    function abbreviateText(text, length) {
        var abbreviated = decodeURIComponent(text);
        if (abbreviated.length <= length) {
            return text;
        }

        var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' ');
        abbreviated = encodeURIComponent(abbreviated.substring(0, lastWhitespaceIndex)) + "\u2026";

        return abbreviated;
    }

    // returns content of <meta name="" content=""> tags or '' if empty/non existant
    function getMeta(name) {
        var metaContent = $('meta[name="' + name + '"]').attr('content');
        return metaContent || '';
    }
    
    // create tweet text from content of <meta name="DC.title"> and <meta name="DC.creator">
    // fallback to content of <title> tag
    function getTweetText() {
        var title = getMeta('DC.title');
        var creator = getMeta('DC.creator');

        if (title.length > 0 && creator.length > 0) {
            title += ' - ' + creator;
        } else {
            title = $('title').text();
        }

        return encodeURIComponent(title);
    }

    // build URI from rel="canonical" or document.location
    function getURI() {
        var uri = document.location.href;
        var canonical = $("link[rel=canonical]").attr("href");

        if (canonical && canonical.length > 0) {
            if (canonical.indexOf("http") < 0) {
                canonical = document.location.protocol + "//" + document.location.host + canonical;
            }
            uri = canonical;
        }

        return uri;
    }

    function cookieSet(name, value, days, path, domain) {
        var expires = new Date();
        expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
        document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() + '; path=' + path + '; domain=' + domain;
    }
    function cookieDel(name, value, path, domain) {
        var expires = new Date();
        expires.setTime(expires.getTime() - 100);
        document.cookie = name + '=' + value + '; expires=' + expires.toUTCString() + '; path=' + path + '; domain=' + domain;
    }

    // extend jquery with our plugin function
    $.fn.socialSharePrivacy = function (settings) {
        var defaults = {
            'services' : {
                'facebook' : {
                    'status'            : 'on',
                    'dummy_img'         : 'socialshareprivacy/images/dummy_facebook.png',
                    'txt_info'          : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.',
                    'txt_fb_off'        : 'nicht mit Facebook verbunden',
                    'txt_fb_on'         : 'mit Facebook verbunden',
                    'perma_option'      : 'on',
                    'display_name'      : 'Facebook',
                    'referrer_track'    : '',
                    'language'          : 'de_DE',
                    'action'            : 'recommend'
                }, 
                'twitter' : {
                    'status'            : 'on', 
                    'dummy_img'         : 'socialshareprivacy/images/dummy_twitter.png',
                    'txt_info'          : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.',
                    'txt_twitter_off'   : 'nicht mit Twitter verbunden',
                    'txt_twitter_on'    : 'mit Twitter verbunden',
                    'perma_option'      : 'on',
                    'display_name'      : 'Twitter',
                    'referrer_track'    : '', 
                    'tweet_text'        : getTweetText,
                    'language'          : 'en'
                },
                'gplus' : {
                    'status'            : 'on',
                    'dummy_img'         : 'socialshareprivacy/images/dummy_gplus.png',
                    'txt_info'          : '2 Klicks f&uuml;r mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie k&ouml;nnen Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte &uuml;bertragen &ndash; siehe <em>i</em>.',
                    'txt_gplus_off'     : 'nicht mit Google+ verbunden',
                    'txt_gplus_on'      : 'mit Google+ verbunden',
                    'perma_option'      : 'on',
                    'display_name'      : 'Google+',
                    'referrer_track'    : '',
                    'language'          : 'de'
                }
            },
            'info_link'         : 'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html',
            'txt_help'          : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter oder Google in die USA &uuml;bertragen und unter Umst&auml;nden auch dort gespeichert. N&auml;heres erfahren Sie durch einen Klick auf das <em>i</em>.',
            'settings_perma'    : 'Dauerhaft aktivieren und Daten&uuml;ber&shy;tragung zustimmen:',
            'cookie_path'       : '/',
            'cookie_domain'     : document.location.host,
            'cookie_expires'    : '365',
            'css_path'          : 'socialshareprivacy/socialshareprivacy.css',
            'uri'               : getURI
        };

        // Standardwerte des Plug-Ings mit den vom User angegebenen Optionen ueberschreiben
        var options = $.extend(true, defaults, settings);

        var facebook_on = (options.services.facebook.status === 'on');
        var twitter_on  = (options.services.twitter.status  === 'on');
        var gplus_on    = (options.services.gplus.status    === 'on');

        // check if at least one service is "on"
        if (!facebook_on && !twitter_on && !gplus_on) {
            return;
        }

        // insert stylesheet into document and prepend target element
        if (options.css_path.length > 0) {
            $('head').append('<link rel="stylesheet" type="text/css" href="' + options.css_path + '" />');
        }
        $(this).prepend('<ul class="social_share_privacy_area"></ul>');
        var context = $('.social_share_privacy_area', this);

        // canonical uri that will be shared
        var uri = options.uri;
        if (typeof uri === 'function') {
            uri = uri();
        }

        return this.each(function () {

            //
            // Facebook
            //
            if (facebook_on) {
                var fb_enc_uri = encodeURIComponent(uri + options.services.facebook.referrer_track);
                var fb_code = '<iframe src="http://www.facebook.com/plugins/like.php?locale=' + options.services.facebook.language + '&amp;href=' + fb_enc_uri + '&amp;send=false&amp;layout=button_count&amp;width=120&amp;show_faces=false&amp;action=' + options.services.facebook.action + '&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:145px; height:21px;" allowTransparency="true"></iframe>';
                var fb_dummy_btn = '<img src="' + options.services.facebook.dummy_img + '" alt="Facebook &quot;Like&quot;-Dummy" class="fb_like_privacy_dummy" />';

                context.append('<li class="facebook help_info"><span class="info">' + options.services.facebook.txt_info + '</span><span class="switch off">' + options.services.facebook.txt_fb_off + '</span><div class="fb_like dummy_btn">' + fb_dummy_btn + '</div></li>');

                var $container_fb = $('li.facebook', context);

                $('li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook span.switch', context).live('click', function () {
                    if ($container_fb.find('span.switch').hasClass('off')) {
                        $container_fb.addClass('info_off');
                        $container_fb.find('span.switch').addClass('on').removeClass('off').html(options.services.facebook.txt_fb_on);
                        $container_fb.find('img.fb_like_privacy_dummy').replaceWith(fb_code);
                    } else {
                        $container_fb.removeClass('info_off');
                        $container_fb.find('span.switch').addClass('off').removeClass('on').html(options.services.facebook.txt_fb_off);
                        $container_fb.find('.fb_like').html(fb_dummy_btn);
                    }
                });
            }

            //
            // Twitter
            //
            if (twitter_on) {
                var text = options.services.twitter.tweet_text;
                if (typeof text === 'function') {
                    text = text();
                }
                // 120 is the max character count left after twitters automatic url shortening with t.co
                text = abbreviateText(text, '120');

                var twitter_enc_uri = encodeURIComponent(uri + options.services.twitter.referrer_track);
                var twitter_count_url = encodeURIComponent(uri);
                var twitter_code = '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?url=' + twitter_enc_uri + '&amp;counturl=' + twitter_count_url + '&amp;text=' + text + '&amp;count=horizontal&amp;lang=' + options.services.twitter.language + '" style="width:130px; height:25px;"></iframe>';
                var twitter_dummy_btn = '<img src="' + options.services.twitter.dummy_img + '" alt="&quot;Tweet this&quot;-Dummy" class="tweet_this_dummy" />';

                context.append('<li class="twitter help_info"><span class="info">' + options.services.twitter.txt_info + '</span><span class="switch off">' + options.services.twitter.txt_twitter_off + '</span><div class="tweet dummy_btn">' + twitter_dummy_btn + '</div></li>');

                var $container_tw = $('li.twitter', context);

                $('li.twitter div.tweet img,li.twitter span.switch', context).live('click', function () {
                    if ($container_tw.find('span.switch').hasClass('off')) {
                        $container_tw.addClass('info_off');
                        $container_tw.find('span.switch').addClass('on').removeClass('off').html(options.services.twitter.txt_twitter_on);
                        $container_tw.find('img.tweet_this_dummy').replaceWith(twitter_code);
                    } else {
                        $container_tw.removeClass('info_off');
                        $container_tw.find('span.switch').addClass('off').removeClass('on').html(options.services.twitter.txt_twitter_off);
                        $container_tw.find('.tweet').html(twitter_dummy_btn);
                    }
                });
            }

            //
            // Google+
            //
            if (gplus_on) {
                // fuer G+ wird die URL nicht encoded, da das zu einem Fehler fuehrt
                var gplus_uri = uri + options.services.gplus.referrer_track;
                
                // we use the Google+ "asynchronous" code, standard code is flaky if inserted into dom after load
                var gplus_code = '<div class="g-plusone" data-size="medium" data-href="' + gplus_uri + '"></div><script type="text/javascript">window.___gcfg = {lang: "' + options.services.gplus.language + '"}; (function() { var po = document.createElement("script"); po.type = "text/javascript"; po.async = true; po.src = "https://apis.google.com/js/plusone.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); </script>';
                var gplus_dummy_btn = '<img src="' + options.services.gplus.dummy_img + '" alt="&quot;Google+1&quot;-Dummy" class="gplus_one_dummy" />';

                context.append('<li class="gplus help_info"><span class="info">' + options.services.gplus.txt_info + '</span><span class="switch off">' + options.services.gplus.txt_gplus_off + '</span><div class="gplusone dummy_btn">' + gplus_dummy_btn + '</div></li>');

                var $container_gplus = $('li.gplus', context);

                $('li.gplus div.gplusone img,li.gplus span.switch', context).live('click', function () {
                    if ($container_gplus.find('span.switch').hasClass('off')) {
                        $container_gplus.addClass('info_off');
                        $container_gplus.find('span.switch').addClass('on').removeClass('off').html(options.services.gplus.txt_gplus_on);
                        $container_gplus.find('img.gplus_one_dummy').replaceWith(gplus_code);
                    } else {
                        $container_gplus.removeClass('info_off');
                        $container_gplus.find('span.switch').addClass('off').removeClass('on').html(options.services.gplus.txt_gplus_off);
                        $container_gplus.find('.gplusone').html(gplus_dummy_btn);
                    }
                });
            }

            //
            // Der Info/Settings-Bereich wird eingebunden
            //
            context.append('<li class="settings_info"><div class="settings_info_menu off perma_option_off"><a href="' + options.info_link + '"><span class="help_info icon"><span class="info">' + options.txt_help + '</span></span></a></div></li>');

            // Info-Overlays mit leichter Verzoegerung einblenden
            $('.help_info:not(.info_off)', context).live('mouseenter', function () {
                var $info_wrapper = $(this);
                var timeout_id = window.setTimeout(function () { $($info_wrapper).addClass('display'); }, 500);
                $(this).data('timeout_id', timeout_id);
            });
            $('.help_info', context).live('mouseleave', function () {
                var timeout_id = $(this).data('timeout_id');
                window.clearTimeout(timeout_id);
                if ($(this).hasClass('display')) {
                    $(this).removeClass('display');
                }
            });

            var facebook_perma = (options.services.facebook.perma_option === 'on');
            var twitter_perma  = (options.services.twitter.perma_option  === 'on');
            var gplus_perma    = (options.services.gplus.perma_option    === 'on');

            // Menue zum dauerhaften Einblenden der aktiven Dienste via Cookie einbinden
            // Die IE7 wird hier ausgenommen, da er kein JSON kann und die Cookies hier ueber JSON-Struktur abgebildet werden
            if (((facebook_on && facebook_perma)
                || (twitter_on && twitter_perma)
                || (gplus_on && gplus_perma))
                    && (!$.browser.msie || ($.browser.msie && $.browser.version > 7.0))) {

                // Cookies abrufen
                var cookie_list = document.cookie.split(';');
                var cookies = '{';
                var i = 0;
                for (; i < cookie_list.length; i += 1) {
                    var foo = cookie_list[i].split('=');
                    cookies += '"' + $.trim(foo[0]) + '":"' + $.trim(foo[1]) + '"';
                    if (i < cookie_list.length - 1) {
                        cookies += ',';
                    }
                }
                cookies += '}';
                cookies = JSON.parse(cookies);

                // Container definieren
                var $container_settings_info = $('li.settings_info', context);

                // Klasse entfernen, die das i-Icon alleine formatiert, da Perma-Optionen eingeblendet werden
                $container_settings_info.find('.settings_info_menu').removeClass('perma_option_off');

                // Perma-Optionen-Icon (.settings) und Formular (noch versteckt) einbinden
                $container_settings_info.find('.settings_info_menu').append('<span class="settings">Einstellungen</span><form><fieldset><legend>' + options.settings_perma + '</legend></fieldset></form>');


                // Die Dienste mit <input> und <label>, sowie checked-Status laut Cookie, schreiben
                var checked = ' checked="checked"';
                if (facebook_on && facebook_perma) {
                    var perma_status_facebook = cookies.socialSharePrivacy_facebook === 'perma_on' ? checked : '';
                    $container_settings_info.find('form fieldset').append(
                        '<input type="checkbox" name="perma_status_facebook" id="perma_status_facebook"'
                            + perma_status_facebook + ' /><label for="perma_status_facebook">'
                            + options.services.facebook.display_name + '</label>'
                    );
                }

                if (twitter_on && twitter_perma) {
                    var perma_status_twitter = cookies.socialSharePrivacy_twitter === 'perma_on' ? checked : '';
                    $container_settings_info.find('form fieldset').append(
                        '<input type="checkbox" name="perma_status_twitter" id="perma_status_twitter"'
                            + perma_status_twitter + ' /><label for="perma_status_twitter">'
                            + options.services.twitter.display_name + '</label>'
                    );
                }

                if (gplus_on && gplus_perma) {
                    var perma_status_gplus = cookies.socialSharePrivacy_gplus === 'perma_on' ? checked : '';
                    $container_settings_info.find('form fieldset').append(
                        '<input type="checkbox" name="perma_status_gplus" id="perma_status_gplus"'
                            + perma_status_gplus + ' /><label for="perma_status_gplus">'
                            + options.services.gplus.display_name + '</label>'
                    );
                }

                // Cursor auf Pointer setzen fuer das Zahnrad
                $container_settings_info.find('span.settings').css('cursor', 'pointer');

                // Einstellungs-Menue bei mouseover ein-/ausblenden
                $($container_settings_info.find('span.settings'), context).live('mouseenter', function () {
                    var timeout_id = window.setTimeout(function () { $container_settings_info.find('.settings_info_menu').removeClass('off').addClass('on'); }, 500);
                    $(this).data('timeout_id', timeout_id);
                }); 
                $($container_settings_info, context).live('mouseleave', function () {
                    var timeout_id = $(this).data('timeout_id');
                    window.clearTimeout(timeout_id);
                    $container_settings_info.find('.settings_info_menu').removeClass('on').addClass('off');
                });

                // Klick-Interaktion auf <input> um Dienste dauerhaft ein- oder auszuschalten (Cookie wird gesetzt oder geloescht)
                $($container_settings_info.find('fieldset input')).live('click', function (event) {
                    var click = event.target.id;
                    var service = click.substr(click.lastIndexOf('_') + 1, click.length);
                    var cookie_name = 'socialSharePrivacy_' + service;

                    if ($('#' + event.target.id + ':checked').length) {
                        cookieSet(cookie_name, 'perma_on', options.cookie_expires, options.cookie_path, options.cookie_domain);
                        $('form fieldset label[for=' + click + ']', context).addClass('checked');
                    } else {
                        cookieDel(cookie_name, 'perma_on', options.cookie_path, options.cookie_domain);
                        $('form fieldset label[for=' + click + ']', context).removeClass('checked');
                    }
                });

                // Dienste automatisch einbinden, wenn entsprechendes Cookie vorhanden ist
                if (facebook_on && facebook_perma && cookies.socialSharePrivacy_facebook === 'perma_on') {
                    $('li.facebook span.switch', context).click();
                }
                if (twitter_on && twitter_perma && cookies.socialSharePrivacy_twitter === 'perma_on') {
                    $('li.twitter span.switch', context).click();
                }
                if (gplus_on && gplus_perma && cookies.socialSharePrivacy_gplus === 'perma_on') {
                    $('li.gplus span.switch', context).click();
                }
            }
        }); // this.each(function ()
    };      // $.fn.socialSharePrivacy = function (settings) {
}(jQuery));
/*
 * jquery.socialshareprivacy.js ende
 */

jQuery(document).ready(function($){
  if($('#socialshareprivacy-startseite').length > 0){
			$('#socialshareprivacy-startseite').socialSharePrivacy({
				services : {
					facebook : {
						'dummy_img' : '/hw2/gfx/socialshareprivacy/dummy_facebook.png',
						'action' : 'recommend'
					}, 
					twitter : {
						'dummy_img' : '/hw2/gfx/socialshareprivacy/dummy_twitter.png'
					},
					gplus : {
						'dummy_img' : '/hw2/gfx/socialshareprivacy/dummy_gplus.png'
					}
				},
				
				uri : "http://www.hawesko.de",
				'css_path' : ''

			});
  }
});



// generic

var n4 = (document.layers);
var n6 = (document.getElementById && !document.all);
var ie = (document.all);
var mac = (navigator.platform == "MacPPC");
var pc = (navigator.platform == "Win32");
var ie5 = (ie && navigator.appVersion.slice(21,23) == 5);

// windows

// method openWindow() ist declared in GlAbstractContainer!

var packageShopWin;
var paymentWin;
var blueSpotWin;
var newQuantityWin;
var printWin;
var statisticsWin;
var greetingCardWin;
var newCriticismWin;
var catalogWin;
var shoppingListWin;
var recommendationWin;
var imageViewerWin;
var forwardingWin;
var reviewWin;


function isOpen(win)
{
	return win && !win.closed; 
}

function closeOne(win)
{
	if(isOpen(win))
		win.close();
}

function closeAll()
{
	closeOne(blueSpotWin);
	closeOne(newQuantityWin);
	closeOne(printWin);
	closeOne(statisticsWin);
	closeOne(greetingCardWin);
	closeOne(newCriticismWin);
	closeOne(catalogWin);
	closeOne(shoppingListWin);
	closeOne(recommendationWin);
	closeOne(imageViewerWin);
	closeOne(forwardingWin);
	closeOne(reviewWin);
	closeOne(paymentWin);
}

function openPackageShopWindow(url){
	packageShopWin    = openWindow(packageShopWin,     url, "packageShop",     "width=600,height=800,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openPaymentWindow(url)
{
	paymentWin    = openWindow(paymentWin,     url, "payment",     "width=600,height=363,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openNewQuantityWindow(url)
{
	newQuantityWin    = openWindow(newQuantityWin,     url, "quantity",     "width=600,height=363,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openPrintWindow(url)
{
	pleaseLoginWin = openWindow(printWin,  url, "print",  "width=670,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
}

function openStatisticsWindow(url)
{
	statisticsWin = openWindow(statisticsWin,  url, "statistics",  "width=670,height=450,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
}

function openGreetingCardWindow(url)
{
	greetingCardWin = openWindow(greetingCardWin,     url, "greetingCard",     "width=632,height=750,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
}

function openNewCriticismWindow(url) 
{
	newCriticismWin     = openWindow(newCriticismWin,     url, "criticism",     "width=600,height=425,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openCatalogWindow(url) 
{
	catalogWin = openWindow(catalogWin,     url, "catalogWin",     "width=980,height=810,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=yes");
}

function openShoppingListWindow(url) 
{
	shoppingListWin = openWindow(shoppingListWin,     url, "shoppingListWin",     "width=600,height=425,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openRecommendationWindow(url) 
{
	recommendationWin = openWindow(recommendationWin,     url, "recommendationWin",     "width=600,height=650,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openImageViewerWindow(url) 
{
	imageViewerWin = openWindow(imageViewerWin,     url, "imageViewerWin",     "width=600,height=650,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openForwardingWindow(url) 
{
	forwardingWin = openWindow(forwardingWin,     url, "forwardingWin",     "width=600,height=410,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no");
}

function openReviewWindow(url) 
{
	reviewWin = openWindow(reviewWin,     url, "reviewWin",     "width=680,height=760,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no");
}

function reiter(reiterId)
{
 document.getElementById("rebsorten_reiter_af_high").style.display="none";
 document.getElementById("rebsorten_reiter_gn_high").style.display="none";
 document.getElementById("rebsorten_reiter_pz_high").style.display="none";
 document.getElementById("rebsorten_af").style.display="none";
 document.getElementById("rebsorten_gn").style.display="none";
 document.getElementById("rebsorten_pz").style.display="none";
 switch(reiterId) {
 case "rebsorten_reiter_af":
 document.getElementById("rebsorten_reiter_af_high").style.display="inline";
 document.getElementById("rebsorten_af").style.display="inline";
 break;
 case "rebsorten_reiter_gn":
 document.getElementById("rebsorten_reiter_gn_high").style.display="inline";
 document.getElementById("rebsorten_gn").style.display="inline";
 break;
 case "rebsorten_reiter_pz":
 document.getElementById("rebsorten_reiter_pz_high").style.display="inline";
 document.getElementById("rebsorten_pz").style.display="inline";
 break;
 }
}

function checkAll(name) {
	var elements = document.getElementsByName(name);
	for (i=0;i<elements.length;i++)
		elements[i].checked = true;
 }

function button_mouseover(element) {
	if (element.src.indexOf('_h.')<0) {
	var newsrc = element.src;
	newsrc = newsrc.substring(0, newsrc.lastIndexOf('.'))+'_h'+newsrc.substring(newsrc.lastIndexOf('.'), newsrc.length);
	element.src = newsrc;
	}
}
function button_mouseout(element) {
	if (element.src.indexOf('_h.') > 0) {
	var newsrc = element.src;
	newsrc = newsrc.substring(0, newsrc.lastIndexOf('.')-2)+newsrc.substring(newsrc.lastIndexOf('.'), newsrc.length);
	element.src = newsrc;
	}
}

function showLayer(id) {
	createLayer(id);
	grayOut(true);
	document.getElementById("layer" + id).style.display='block';
}

function hideLayer(id) {
	createLayer(id);
	grayOut(false);
	document.getElementById("layer" + id).style.display='none';
}

function createLayer(id) {
var element=document.getElementById("layer" + id);
if (!element) {
	var tbody = document.getElementsByTagName("body")[0];
	var tnode = document.createElement('div');
	tnode.style.display='none';
	tnode.id="layer" + id;
	tbody.appendChild(tnode);
	element=document.getElementById("layer" + id);
	element.innerHTML = layer[id];
	}
}

function isSafari() {
            return ((navigator.userAgent.toLowerCase().indexOf('safari') != -1 )||(navigator.userAgent.toLowerCase().indexOf('applewebkit') != -1 ));
}

function isSafariAndIE() {
            return ((navigator.userAgent.toLowerCase().indexOf('safari') != -1 )||(navigator.userAgent.toLowerCase().indexOf('applewebkit') != -1 ) ||(navigator.userAgent.toLowerCase().indexOf('msie') != -1 ));
}

function showMenue(menuename) {
            var elem = document.getElementById(menuename);            
            elem.style.visibility = 'visible';
            if (!isSafariAndIE()) elem.style.display = 'block';
            var dropHeight = elem.offsetHeight;
            if (dropHeight > 180) {
                elem.style.height = '180px';
                elem.style.overflow = 'auto';
            }
        }
function hideMenue(menuename) {
            var elem = document.getElementById(menuename);
            if (!isSafariAndIE()) elem.style.display = 'none';
            elem.style.visibility = 'hidden';
        }
function toggleMenue(menuename) {
            var elem = document.getElementById(menuename);
            if (elem.style.display == 'none' || elem.style.display == '' ) elem.style.display = 'block';
            else if (!isSafariAndIE())  elem.style.display = 'none';
            elem.style.visibility = (elem.style.visibility == 'hidden' || elem.style.visibility == '' ) ? 'visible' : 'hidden';
            var dropHeight = elem.offsetHeight;
            if (dropHeight > 180) {
                elem.style.height = '180px';
                elem.style.overflow = 'auto';
            }
}
  function listOn(listItem) {
    listItem.style.background = '#F1ECEA';
  }
  function listOff(listItem) {
    listItem.style.background='#ffffff';
  }
function selectPulldown(formName, fieldName, value, changeId, changeText, submitOnChange, showPleaseWait) {
document.forms[formName].elements[fieldName].value = value;
document.getElementById(changeId).innerHTML = changeText;
if (showPleaseWait)
showPleaseWaitDialog();
if (submitOnChange)
document.forms[formName].submit();
}
  function showPleaseWaitDialog() {
    grayOut();
    document.getElementById("toSearchWait").style.visibility='visible';
    document.getElementById("toSearchWait").style.marginLeft='-300px';    
  }
  function hidePleaseWaitDialog() {
	  grayOut(false);
      document.getElementById("toSearchWait").style.visibility='hidden';
      document.getElementById("toSearchWait").style.marginLeft='-4000px';    
    }
  function grayOut(show) {
    var vis = (show == false) ? false : true;
    var zindex = 192;
    var opacity = 50;
    var opaque = (opacity / 100);
    var bgcolor = '#000000';
    var dark=document.getElementById('darkenScreenObject');
    if (!dark) {
      var tbody = document.getElementsByTagName("body")[0];
      var tnode = document.createElement('div');
          tnode.style.position='absolute';
          tnode.style.top='0px';
          tnode.style.left='0px';
          tnode.style.overflow='hidden';          
          tnode.style.display='none';
          tnode.id='darkenScreenObject';
      tbody.appendChild(tnode);
      dark=document.getElementById('darkenScreenObject');
    }
    if (vis) {
       // Calculate the page width and height 
     if(navigator.appName.indexOf("Explorer") == -1) {
         var pageWidth='100%';
         var pageHeight='100%';
         dark.style.position='fixed';
      } else if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
          var pageWidth = document.body.scrollWidth+'px';
          var pageHeight = document.body.scrollHeight+24+'px'; //24 for IE7
      } else if( document.body.offsetWidth ) {
        var pageWidth = document.body.offsetWidth+'px';
        var pageHeight = document.body.offsetHeight+24+'px';
      } else {
         var pageWidth='100%';
         var pageHeight='100%';
      }
      //set the shader to cover the entire page and make it visible.
      dark.style.opacity=opaque;                      
      dark.style.MozOpacity=opaque;                   
      dark.style.filter='alpha(opacity='+opacity+')'; 
      dark.style.zIndex=zindex;        
      dark.style.backgroundColor=bgcolor;  
      dark.style.width= pageWidth;
      dark.style.height= pageHeight;
      dark.style.display='block';
    } else {
      dark.style.display='none';
    }                 
  }
  
  function salutationDivChange(loc) {
		if (loc.value == "Firma") {
			$("#company1Row").show();
			$("#company1Row label").html("Firma*");
			$("#company2Row").show();
			$("#zu_heanden").show();
		} else {
			$("#company1Row").hide();
			//$("#company1Row .field input").val("");
			$("#company2Row").hide();
			//$("#company2Row .field input").val("");
			$("#zu_heanden").hide();
		}
	}

function salutationChange(loc) {
	trNodes = loc.parentNode.parentNode.parentNode.parentNode.childNodes;
	for (i=0;i<trNodes.length;i++) {
		if (trNodes[i].nodeName == 'TR') {
			trNode = trNodes[i];
			for (j=0;j<trNode.childNodes.length;j++) {
				if (trNode.childNodes[j].nodeName == 'TD' && trNode.childNodes[j].innerHTML == 'Firma' || trNode.childNodes[j].innerHTML == 'Firma*') {
					if (loc.value == 'Firma' && loc.checked) {
						trNode.childNodes[j].innerHTML = 'Firma*';
						if (document.getElementById('shopSuche') != null)
							document.getElementById('shopSuche').style.display = 'none';
						if (document.getElementById('zu_heanden')) {
							try {
								document.getElementById('care_of').style.display = 'none';
								document.getElementById('marker1').style.marginLeft = '0px';
								document.getElementById('marker2').style.marginLeft = '0px';
								document.getElementById('zu_heanden').style.display = 'table-row';
							} catch (e) {
								document.getElementById('zu_heanden').style.display = 'inline';
							}
						}
						showCompanyRowsBefore('zu_heanden');
					} else if (loc.value != 'Firma' && loc.checked) {
						trNode.childNodes[j].innerHTML = 'Firma';
						if (document.getElementById('shopSuche') != null)
							document.getElementById('shopSuche').style.display = 'block';
						if (document.getElementById('zu_heanden')) {
							try {
								document.getElementById('zu_heanden').style.display = 'none';
								document.getElementById('marker1').style.marginLeft = '-2000px';
								document.getElementById('marker2').style.marginLeft = '-2000px';
								document.getElementById('care_of').style.display = 'table-row';
							} catch (e) {
								document.getElementById('care_of').style.display = 'inline';
							}
						}
						showCompanyRowsBefore('streetRow');
					}
				}
			}
		}
	}
	if (document.getElementById('otherSalutation') != null)
		document.getElementById('otherSalutation').value = '';
}

function showCompanyRowsBefore(row_id) {
	var company1Row = document.getElementById("company1Row");
	var company2Row = document.getElementById("company2Row");
	var thisRow = document.getElementById(row_id);
	var table = document.getElementById(row_id).parentNode;
	table.insertBefore(company1Row, thisRow);
	table.insertBefore(company2Row, thisRow);
}


document.onkeydown = keyCheck;
var sgCur = 0;
var sgMax = 0;
var isOverSuggest = false;
var isSuggestOpened = true;
var isSgOff = false;
var isMLCTActivated = false;
function is_ie(v) {
	var agt=navigator.userAgent.toLowerCase();
	var appVer = navigator.appVersion.toLowerCase();
	var is_minor = parseFloat(appVer);
	var is_major = parseInt(is_minor);
	var iePos = appVer.indexOf('msie');
	if (iePos !=-1) {
		is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)))
		is_major = parseInt(is_minor);
	}
	var is_ie = ((iePos!=-1));
	return (is_ie && is_major == v);
}
function clearSearch() {
	if (document.forms.search.searchField.value == 'Suchbegriff oder Artikel-Nr. eingeben') 
		document.forms.search.searchField.value = '';
}
function searchChange() {
	var searchString = document.getElementById('searchForm_searchField').value;
	var url = suggestURL();
	if (url.indexOf('?') >= 0)
		url = url + '&';
	else
		url = url + '?';
	url = url + 'searchString='+searchString;
	$.ajax({ url : url, 
		type: 'get', 
		success: function(data) {
			var otherElem = document.getElementById('search2_drops');
			if (otherElem != null) {
				if (otherElem.style.display == 'block' || issg2Off) {
					otherElem.style.display = 'none';
					isSuggest2Opened = false;
				}
				otherElem.style.visibility = 'hidden';
			}
			var elem = document.getElementById('search_drops');
			if ((elem.style.display == 'none' || elem.style.display == '') && !isSgOff) {
				elem.style.display = 'block';
				sgCur = 0;
				isSuggestOpened = true;
			}
			elem.style.visibility = 'visible';
			document.getElementById('search_list').innerHTML = data;
			sgOn('s'+sgCur); // async!
		}
	}); 
}
function search(text) {
	text = text.replace(/\+/g," ");
	if (!is_ie(7)) text = decodeURI(text); //FF IE6
		else text = unescape(text); //IE7
	if (!is_ie(6)) {
		text = unescape(text);//text.replace(/\%25/,"%");
	}
	document.getElementById('searchForm_searchField').style.color='#aaa';
	document.getElementById('searchForm_searchField').value = text;
	sendMLCT();
	document.forms.search.submit();
	var elem = document.getElementById('search_drops');
	elem.style.display = 'none';
	isSuggestOpened = false;
}
document.onmousedown = function() {
	if (!isOverSuggest) {
		var elem = document.getElementById('search_drops');
		if (elem != null) {
			elem.style.display = 'none';
			isSuggestOpened = false;
		}
	}
}
// keyboard nav
function keyCheck(e) {
	if (isSuggestOpened == true) {
		var keyID = (window.event) ? event.keyCode : e.keyCode;
		var block = false;
		switch(keyID) {
			case 13:
			sgEnter();
			break;
			case 38:
			sgUp(); block = true;
			break;
			case 40:
			sgDown(); block = true;
			break;
			default:
			sgCur = 0;
			sgMax = getSgMax();
		}
		if (block) {
			if (window.event) window.event.returnValue = false;
			else e.preventDefault();
		}
	}
}
function sgDown() {
	if (sgCur == 0) {
		sgMax = getSgMax();
	}
	if (sgMax != 0) {
		if (document.getElementById('s'+(sgCur+1)) != null) {
			if (document.getElementById('s'+sgCur) != null)
				sgOff('s'+sgCur);
			sgOn('s'+(sgCur+1));
			sgCur++;
		}
		else {
			if (document.getElementById('s'+sgCur) != null)
				sgOff('s'+sgCur);
			sgOn('s1');
			sgCur = 1;
		}
	}
}
function sgUp() {
	if (sgCur == 0) {
		sgMax = getSgMax();
	}
	if (sgMax != 0) {
		if (document.getElementById('s'+(sgCur-1)) != null) {
			if (document.getElementById('s'+sgCur) != null)
				sgOff('s'+sgCur);
			sgOn('s'+(sgCur-1));
			sgCur--;
		}
		else {
			if (document.getElementById('s'+sgCur) != null)
				sgOff('s'+sgCur);
			sgOn('s'+sgMax);
			sgCur = sgMax;
		}
	}
}

function sgEnter() {
	if (document.getElementById('s'+sgCur) != null) {
		var functionCall = document.getElementById('s'+sgCur).href;
		var start = functionCall.indexOf('\'')+1;
		var end = functionCall.lastIndexOf('\'');
		var result = functionCall.substring(start,end);
		isSgOff = true;
		search(result);
	}
}
function sgOn(id) {
	var el = document.getElementById(id);
	if (el != null) {
		listOn(el);
		el.style.fontWeight = '700';
		el.style.color='#af2419';
	}
}
function sgOff(id) {
	var el = document.getElementById(id);
	if (el != null) {
		listOff(el);
		el.style.fontWeight = 'normal';
		el.style.color='#333333';
	}
}
function getSgMax() {
	var c=0;
	while (document.getElementById('s'+(c+1)) != null)
		c++;
	return c;
}
function sendMLCT() {
	if (!isMLCTActivated)
		cmCreateManualLinkClickTag('/searchresult');
	isMLCTActivated = true;
}

function showNLPopup() {
	grayOut(true);
	document.getElementById('nwl_popup').style.display='block';
}
function hideNLPopup() {
	document.getElementById('nwl_popup').style.display='none';
	if (document.getElementById('order_popup') != null)
		grayOut(jQuery('#order_popup').is(":visible"));
	else
		grayOut(false);
}
function disableNLPopup() {
	d = new Date();
		d.setMinutes(d.getMinutes() + 60 * 24 * 1005);
	document.cookie='showNLPopup=false;path=/;expires=' + d.toGMTString();
	hideNLPopup();
}

function loadAdvisor(id, url, parameters) {
	showPleaseWaitDialog();
	$.post(url, parameters, function( data ) {
		hidePleaseWaitDialog();$('#' + id).html(data);
	});
}

//Disable caching of AJAX responses
jQuery(document).ready(function() {
	jQuery.ajaxSetup ({
	    cache: false
	});
});

// AddVariation-Layer
(function($){
    $.fn.extend({
        center: function () {
            return this.each(function() {
                var top = ($(window).height() - $(this).height()) / 2;
                var left = ($(window).width() - $(this).width()) / 2;

                if ($.browser.msie && $.browser.version.substr(0,1)<7) {
         			$(this).css({position:'absolute', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'});
         		}else{
                	$(this).css({position:'fixed', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'});
                }
            });
        }
    }); 
})(jQuery);
function showAddVariationLayer(id) {
	if (jQuery('#order_popup').is(":visible"))
	jQuery('#order-layer-miles-and-more-box-left').slideUp('normal');
	jQuery('#order-layer-miles-and-more-box-right').slideUp('normal'); 
	loadAddVariationLayer(id);
}
function addVariationLayerCallback() {
	jQuery('#order_popup').center();
	if (jQuery('#order_popup').is(":hidden")){
		jQuery('#order_popup').show();
		jQuery("input.bestellen_popup:last").focus();
	}else{
		jQuery('#order-layer-recommendation').show();
		jQuery('#order_popup').center();		
		jQuery('#order-layer-miles-and-more-box-left').hide();
		jQuery('#order-layer-miles-and-more-box-right').hide();
		jQuery('#order_popup').show();
		jQuery('#order-layer-miles-and-more-box-left').slideDown('normal');
		jQuery('#order-layer-miles-and-more-box-right').slideDown('normal');
		jQuery("input.bestellen_popup:last").focus();
	}
}

// Lexicon Pop-Over
var lpoExists = false;
var onLpo = false;
$("document").ready(function() {
	if (typeof lexiconLinkPopupsActivated != "undefined" && lexiconLinkPopupsActivated) {
		$('a.lexiconLink').mouseover(function(event) {
			if (lpoExists)
				$('div.lexiconPopup').remove();
			$('<div class="lexiconPopup"><div class="lpo_headline">'+$(this).html()+'</div><div class="lpo_content loading">Inhalt wird geladen...</div><div class="lpo_link"></div></div>').appendTo('body');
			var tPosX = event.pageX -32;
		    var tPosY = event.pageY +14;
		    $('div.lexiconPopup').css({top: tPosY, left: tPosX});
			assignLpoMouseBehaviour();
			lpoExists = true;
		    loadLexiconPopover($(this).html());
		});
		$('a.lexiconLink').mouseout(function(){
		  hideLexiconPopup();
	    });
	}
});
function hideLexiconPopup() {
	lexiconTimeout = setTimeout(directHideLexiconPopup, 180);
}
function directHideLexiconPopup() {
    clearTimeout(lexiconTimeout);
    if (lpoExists && !onLpo) {
         $('div.lexiconPopup').remove();
         lpoExists = false;
    }
}
function keepLpoOpen() {
    onLpo = true;
}
function letLpoClose() {
    onLpo = false;
}
function assignLpoMouseBehaviour() {
    $('div.lpo_headline').mouseover(keepLpoOpen).mouseout(function(){
	  letLpoClose();
	  hideLexiconPopup();
    });
    $('div.lpo_content').mouseover(keepLpoOpen).mouseout(function(){
	  letLpoClose();
	  hideLexiconPopup();
    });
    $('div.lpo_link').mouseover(keepLpoOpen).mouseout(function(){
	  letLpoClose();
	  hideLexiconPopup();
    });
}


/*
 * jQuery Text Overflow v0.7
 *
 * Licensed under the new BSD License.
 * Copyright 2009-2010, Bram Stein
 * All rights reserved.
 */
(function(c){var b=document.documentElement.style,d=("textOverflow" in b||"OTextOverflow" in b),a=function(f,i){var h=0,e=[],g=function(j){var l=0,k;if(h>i){return}for(l=0;l<j.length;l+=1){if(j[l].nodeType===1){k=j[l].cloneNode(false);e[e.length-1].appendChild(k);e.push(k);g(j[l].childNodes);e.pop()}else{if(j[l].nodeType===3){if(h+j[l].length<i){e[e.length-1].appendChild(j[l].cloneNode(false))}else{k=j[l].cloneNode(false);k.textContent=c.trim(k.textContent.substring(0,i-h));e[e.length-1].appendChild(k)}h+=j[l].length}else{e.appendChild(j[l].cloneNode(false))}}}};e.push(f.cloneNode(false));g(f.childNodes);return c(e.pop().childNodes)};c.extend(c.fn,{textOverflow:function(g,e){var f=g||"&#x2026;";if(!d){return this.each(function(){var l=c(this),m=l.clone(),p=l.clone(),k=l.text(),h=l.width(),n=0,o=0,j=k.length,i=function(){if(h!==l.width()){l.replaceWith(p);l=p;p=l.clone();l.textOverflow(g,false);h=l.width()}};l.after(m.hide().css({position:"absolute",width:"auto",overflow:"visible","max-width":"inherit"}));if(m.width()>h){while(n<j){o=Math.floor(n+((j-n)/2));m.empty().append(a(p.get(0),o)).append(f);if(m.width()<h){n=o+1}else{j=o}}if(n<k.length){l.empty().append(a(p.get(0),n-1)).append(f)}}m.remove();if(e){setInterval(i,200)}})}else{return this}}})})(jQuery);
/*jQuery Text Overflow v0.7 ende*/

