
/*
 * jquery.socialshareprivacy.js | 2 Klicks fuer mehr Datenschutz (1.6)
 *
 * http://www.heise.de/extras/socialshareprivacy/
 * http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html
 *
 * Copyright (c) 2011-2014 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',
                    'perma_option'      : 'on',
                    'referrer_track'    : '',
                    'action'            : 'recommend',
                    'layout'            : 'button_count',
                    'sharer'            : {
                        'status'        : 'off',
                        'dummy_img'     : 'socialshareprivacy/images/dummy_facebook_share_de.png',
                        'img'           : 'socialshareprivacy/images/dummy_facebook_share_active_de.png'
                    }
                },
                'twitter' : {
                    'status'            : 'on',
                    'dummy_img'         : 'socialshareprivacy/images/dummy_twitter.png',
                    'perma_option'      : 'on',
                    'referrer_track'    : '',
                    'tweet_text'        : getTweetText,
                    'count'             : 'horizontal'
                },
                'gplus' : {
                    'status'            : 'on',
                    'dummy_img'         : 'socialshareprivacy/images/dummy_gplus.png',
                    'perma_option'      : 'on',
                    'referrer_track'    : '',
                    'size'              : 'medium'
                }
            },
            'info_link'         : 'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html',
            'cookie_path'       : '/',
            'cookie_domain'     : document.location.host,
            'cookie_expires'    : '365',
            'css_path'          : 'socialshareprivacy/socialshareprivacy.css',
            'css_include'       : false,
            'uri'               : getURI,
            'language'          : 'de',
            'lang_path'         : 'socialshareprivacy/lang/',
            'skin'              : 'light',
            'alignment'         : 'horizontal',
            'switch_alignment'  : 'left',
            'perma_orientation' : 'down'
        };

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

        var facebook_on        = (options.services.facebook.status === 'on');
        var facebook_sharer_on = (options.services.facebook.sharer.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 && $(window).data('socialshareprivacy_css') != '1') && options.css_include === true) {
            // IE fix (noetig fuer IE < 9 - wird hier aber fuer alle IE gemacht)
            if (document.createStyleSheet) {
                document.createStyleSheet(options.css_path);
            }
            else {
                $('head').append('<link rel="stylesheet" type="text/css" href="' + options.css_path + '" />');
            }

            $(window).data('socialshareprivacy_css','1');
        }

        var language;

        function loadLangFile() {
            var d = $.Deferred();

            $.getJSON(options.lang_path + options.language+'.lang', function(data) {
                language = data;
                d.resolve();
            }).fail(function(s){
                if(typeof console !== "undefined") {
                    console.log('Error ' + s.status + ' while loading the language file ('+options.lang_path+options.language+'.lang)');
                }
                d.reject();
            });

            return d.promise();
        }

        return this.each(function () {
            var iteration = this;

            $.when(
                loadLangFile())
            .then( function() {
                $(iteration).prepend('<ul class="social_share_privacy_area clearfix"></ul>');
                var context = $('.social_share_privacy_area', iteration);

                // Class for dark skinning
                if(options.skin == 'dark') {
                    $(context).addClass('skin-dark');
                }

                // Class for alignment
                if(options.alignment == 'vertical') {
                    $(context).addClass('vertical');

                    if(options.switch_alignment == 'right' &&
                        ((facebook_on && options.services.facebook.layout == 'box_count') || (!facebook_on)) &&
                        ((twitter_on && options.services.twitter.count == 'vertical') || (!twitter_on)) &&
                        ((gplus_on && options.services.gplus.size == 'tall') || (!gplus_on))) {
                        $(context).addClass('switch_right');
                    }
                }

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

                //
                // Facebook
                //
                if (facebook_on) {
                    var fb_dummy_btn;
                    var fb_code;

                    var fb_height = options.services.facebook.layout == 'box_count' ? '61' : '21';
                    var fb_width  = options.services.facebook.layout == 'box_count' ? '90' : '130';

                    var fb_enc_uri = encodeURIComponent(uri + options.services.facebook.referrer_track);

                    if (facebook_sharer_on) {
                        fb_dummy_btn = '<img src="' + options.services.facebook.sharer.dummy_img + '" width="83" height="20" alt="Facebook &quot;Teilen&quot; aktivieren/deaktivieren" class="fb_like_privacy_dummy" />';
                        fb_code = '<a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u=' + fb_enc_uri + '\', \'facebook-share-dialog\', \'width=626,height=436\'); return false;"><img src="'+options.services.facebook.sharer.img+'" alt="" /></a>';
                    }
                    else {
                        fb_dummy_btn = '<img src="' + options.services.facebook.dummy_img + '" width="83" height="20" alt="Facebook &quot;GefÃ¤llt mir&quot; aktivieren/deaktivieren" class="fb_like_privacy_dummy" />';
                        fb_code = '<iframe src="//www.facebook.com/plugins/like.php?locale=' + language.services.facebook.language + '&amp;href=' + fb_enc_uri + '&amp;width=' + fb_width + '&amp;layout=' + options.services.facebook.layout + '&amp;action=' + options.services.facebook.action + '&amp;show_faces=false&amp;share=false&amp;height=' + fb_height + '&amp;colorscheme=' + options.skin + '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:' + fb_width + 'px; height:' + fb_height + 'px;" allowTransparency="true"></iframe>';
                    }
                    context.append('<li class="facebook help_info clearfix"><span class="info">' + language.services.facebook.txt_info + '</span><a href="#" class="switch off">' + language.services.facebook.txt_fb_off + '</a><div class="fb_like dummy_btn">' + fb_dummy_btn + '</div></li>');

                    var $container_fb = $('li.facebook', context);
                    $(context).on('click', 'li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook .switch', function (e) {
                        e.preventDefault();
                        if ($container_fb.find('.switch').hasClass('off')) {
                            $container_fb.addClass('info_off');
                            $container_fb.find('.switch').addClass('on').removeClass('off').html(language.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('.switch').addClass('off').removeClass('on').html(language.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 tw_height = options.services.twitter.count == 'horizontal' ? '25' : '62';
                    var tw_width  = options.services.twitter.count == 'horizontal' ? '130' : '83';

                    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="//platform.twitter.com/widgets/tweet_button.html?url=' + twitter_enc_uri + '&amp;counturl=' + twitter_count_url + '&amp;text=' + text + '&amp;count=' + options.services.twitter.count + '&amp;lang=' + language.services.twitter.language + '&amp;dnt=true" style="width:' + tw_width + 'px; height:' + tw_height + 'px;"></iframe>';
                    var twitter_dummy_btn = '<img src="' + options.services.twitter.dummy_img + '" width="55" height="20" alt="&quot;Tweet this&quot; aktivieren/deaktivieren" class="tweet_this_dummy" />';

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

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

                    $(context).on('click', 'li.twitter div.tweet img,li.twitter .switch', function (e) {
                        e.preventDefault();
                        if ($container_tw.find('.switch').hasClass('off')) {
                            $container_tw.addClass('info_off');
                            $container_tw.find('.switch').addClass('on').removeClass('off').html(language.services.twitter.txt_twitter_on);
                            $container_tw.find('img.tweet_this_dummy').replaceWith(twitter_code);
                        }
                        else {
                            $container_tw.removeClass('info_off');
                            $container_tw.find('.switch').addClass('off').removeClass('on').html(language.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="' + options.services.gplus.size + '" data-href="' + gplus_uri + '"></div><script type="text/javascript">window.___gcfg = {lang: "' + language.services.gplus.language + '"}; (function() { var po = document.createElement("script"); po.type = "text/javascript"; po.async = true; po.src = "https://apis.google.com/js/platform.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(po, s); })(); </script>';
                    var gplus_dummy_btn = '<img src="' + options.services.gplus.dummy_img + '" width="32" height="20" alt="&quot;Google+1&quot; aktivieren/deaktivieren" class="gplus_one_dummy" />';

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

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

                    $(context).on('click', 'li.gplus div.gplusone img,li.gplus .switch', function (e) {
                        e.preventDefault();
                        if ($container_gplus.find('.switch').hasClass('off')) {
                            $container_gplus.addClass('info_off');
                            $container_gplus.find('.switch').addClass('on').removeClass('off').html(language.services.gplus.txt_gplus_on);
                            $container_gplus.find('img.gplus_one_dummy').replaceWith(gplus_code);
                        }
                        else {
                            $container_gplus.removeClass('info_off');
                            $container_gplus.find('.switch').addClass('off').removeClass('on').html(language.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 ' + options.perma_orientation + '"><div class="settings_info_menu off perma_option_off"><a href="' + options.info_link + '"><span class="help_info icon"><span class="info_text">i</span><span class="info">' + language.txt_help + '</span></span></a></div></li>');

                // Info-Overlays mit leichter Verzoegerung einblenden
                $(context).on('mouseenter', '.help_info:not(.info_off)', function () {
                    var $info_wrapper = $(this);
                    var timeout_id = window.setTimeout(function () { $($info_wrapper).addClass('display'); }, 500);
                    $(this).data('timeout_id', timeout_id);
                });
                $(context).on('mouseleave', '.help_info', 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
                if ((facebook_on && facebook_perma) || (twitter_on && twitter_perma) || (gplus_on && gplus_perma)) {

                    // 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('=');
                        // Spaces and Quotes getting removed
                        foo[0] = $.trim(foo[0].replace(/"/g, ''));
                        foo[1] = $.trim(foo[1].replace(/"/g, ''));
                        cookies += '"' + foo[0] + '":"' + foo[1] + '"';
                        if (i < cookie_list.length - 1) {
                            cookies += ',';
                        }
                    }
                    cookies += '}';
                    cookies = jQuery.parseJSON(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('<a href="#" class="settings">' + language.settings + '</a><form><fieldset><legend>' + language.settings_perma + '</legend></fieldset></form>');


                    var random = 'r' + Math.floor(Math.random()*101);

                    // 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="' + random + '_perma_status_facebook"' + perma_status_facebook + ' /><label for="'+random+'_perma_status_facebook">' + language.services.facebook.perma_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="' + random + '_perma_status_twitter"' + perma_status_twitter + ' /><label for="'+random+'_perma_status_twitter">' + language.services.twitter.perma_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="'+random+'_perma_status_gplus"' + perma_status_gplus + ' /><label for="'+random+'_perma_status_gplus">' + language.services.gplus.perma_display_name + '</label>'
                        );
                    }

                    // Settings-Menue per Tastatur erreichbar machen, die Mouseevents werden getriggert
                    $(context).on('click', 'li.settings_info .settings', function (e) {
                        e.preventDefault();
                        if($(this).data('keyb') == 'on') {
                            $('li.settings_info', context).trigger('mouseleave');
                            $(this).data('keyb','off');
                        }
                        else {
                            $('li.settings_info .settings', context).trigger('mouseenter');
                            $(this).data('keyb','on');
                        }
                    });

                    // Einstellungs-Menue bei mouseover ein-/ausblenden
                    $(context).on('mouseenter', 'li.settings_info .settings', 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);
                    });
                    $(context).on('mouseleave', 'li.settings_info', 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)
                    $(context).on('click', 'li.settings_info fieldset input', 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 .switch', context).click();
                    }
                    if (twitter_on && twitter_perma && cookies.socialSharePrivacy_twitter === 'perma_on') {
                        $('li.twitter .switch', context).click();
                    }
                    if (gplus_on && gplus_perma && cookies.socialSharePrivacy_gplus === 'perma_on') {
                        $('li.gplus .switch', context).click();
                    }
                }
            }); // .then()
        }); // this.each(function ()
    }; // $.fn.socialSharePrivacy = function (settings) {
}(jQuery));
/*!
 * fontResize JavaScript 
 * http://simplersolutions.biz
 *
 * resize the font
 * 
 * LICENSE:   Creative Commons – Attribution required
 *
 * author    simpler solutions <info@simplersolutions.biz>
 * license   Creative Commons – Attribution required
 * version   CVS: $Id$
 * link      http://simplersolutions.biz
 */

/**
 * Resize the font on your page
 * 
 * @example $('#fontResizer').fontResize();
 * @desc Add the font resizer logic into node 'fontResizer'.
 * @example $('#fontResizer).fontResize({defaultLabels :'<a href="" class="decreaseFont fontresize">smaller</a><a href="" class="normalizeFont fontresize">normal</a><a href="" class="increaseFont fontresize">bigger</a>'});
 * @desc Add the font resizer logic into node 'fontResizer' and change how the html looks
 * @example $('#fontResizer').fontResize({defaultSize :'16px'});
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author simplersolutions.biz
 */
( function($) {
	$.fn.fontResize = function(parms) {

		// set the options include any overrides
		var opts = $.extend( {}, $.fn.fontResize.defaults, parms);

		
		this.each( function() {
			
				// create the node with the links
				$(this).append(opts.defaultLabels);

				// if the cookie exists then use it
				if ($.cookie(opts.defaultCookieName)) {
					$.fn.fontResize.reSize(false, $.cookie(opts.defaultCookieName));
				}

				// bind increases
				$('.' + opts.defaultIncreaseClass).click( function() {
					$.fn.fontResize.reSize(true);
					return false;
				});

				// bind decreases
				$('.' + opts.defaultDecreaseClass).click( function() {
					$.fn.fontResize.reSize(false);
					return false;
				});

				// bind reset to default size
				$('.' + opts.defaultNormalizeClass).click( function() {
					$.fn.fontResize.reSize(false, opts.defaultSize);
					return false;
				});
			});
	};

	$.fn.fontResize.reSize = function(increase, absoluteValue) {
		

		// if setting absolute value use that rather than calculating new value
		if (absoluteValue) {
			$($.fn.fontResize.defaults.defaultTargetNode).css("font-size",
					absoluteValue);
			// delete the cookie if it is the default size anyway
			if (absoluteValue == $.fn.fontResize.defaults.defaultSize) {
				$.cookie($.fn.fontResize.defaults.defaultCookieName, null,$.fn.fontResize.defaults.defaultcookieParms);
			}
			return;
		}

		// calculate change factor
		var changeFactor = increase ? 1 + ($.fn.fontResize.defaults.defaultChangePercent / 100)
				: 1 - ($.fn.fontResize.defaults.defaultChangePercent / 100);

		// find existing target element to resize
		var nodeCurrentSize = $($.fn.fontResize.defaults.defaultTargetNode).css(
				"font-size");

		// split out the numeric element
		var numericPart = parseInt(nodeCurrentSize);

		// if we got garbage leave now
		if (isNaN(numericPart)) {
			return;
		}

		// split out the units eg %,px,em
		var unitsPart = nodeCurrentSize.replace(numericPart, "");

		// calculate new font size
		var newFontSize = Math.round(parseInt(nodeCurrentSize) * changeFactor)
				+ unitsPart;

		// resize
		$($.fn.fontResize.defaults.defaultTargetNode)
				.css("font-size", newFontSize);
		return $.cookie($.fn.fontResize.defaults.defaultCookieName, newFontSize,
				$.fn.fontResize.defaults.defaultcookieParms);

	};
})(jQuery);

  /*
	 * ! Abstract defaults into properties, change if you wish note that
	 * available defaultcookieParms are { expires: n, path: '/abc', domain:
	 * 'yourdomain', secure: boolean }
	 * place function outside of closure so that it can be overriden
	 * 
	 */
	$.fn.fontResize.defaults = {

		defaultTargetNode :"body",
		defaultChangePercent :5,
		defaultSize :"14px",
		defaultLabels :'<a href="" title="Schriftgrad kleiner" class="decreaseFont fontresize"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></a><a href="" title="Schriftgrad normal" class="normalizeFont fontresize"><span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span></a><a href="" title="Schriftgrad gr&ouml;sser" class="increaseFont fontresize"><span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span></a>',
		defaultDecreaseClass :"decreaseFont",
		defaultIncreaseClass :"increaseFont",
		defaultNormalizeClass :"normalizeFont",
		defaultInsertionNode :"fontResizer",
		defaultCookieName :"fontResizer",
		defaultcookieParms : {
			expires :3,
			path :'/'
			}
	};
	

/*!
 * jQuery Cookie Plugin v1.3
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2011, Klaus Hartl
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.opensource.org/licenses/GPL-2.0
 */
(function ($, document, undefined) {

  var pluses = /\+/g;

  function raw(s) {
    return s;
  }

  function decoded(s) {
    return decodeURIComponent(s.replace(pluses, ' '));
  }

  var config = $.cookie = function (key, value, options) {

    // write
    if (value !== undefined) {
      options = $.extend({}, config.defaults, options);

      if (value === null) {
        options.expires = -1;
      }

      if (typeof options.expires === 'number') {
        var days = options.expires, t = options.expires = new Date();
        t.setDate(t.getDate() + days);
      }

      value = config.json ? JSON.stringify(value) : String(value);

      return (document.cookie = [
        encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
        options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
        options.path    ? '; path=' + options.path : '',
        options.domain  ? '; domain=' + options.domain : '',
        options.secure  ? '; secure' : ''
      ].join(''));
    }

    // read
    var decode = config.raw ? raw : decoded;
    var cookies = document.cookie.split('; ');
    for (var i = 0, l = cookies.length; i < l; i++) {
      var parts = cookies[i].split('=');
      if (decode(parts.shift()) === key) {
        var cookie = decode(parts.join('='));
        return config.json ? JSON.parse(cookie) : cookie;
      }
    }

    return null;
  };

  config.defaults = {};

  $.removeCookie = function (key, options) {
    if ($.cookie(key) !== null) {
      $.cookie(key, null, options);
      return true;
    }
    return false;
  };

})(jQuery, document);
jQuery(document).ready(function(){
		var cookieName = "steinburg-nav_tools";
		var elementName = "#nav_tools";
		if((jQuery.cookie(cookieName) == "closed") || (jQuery.cookie(cookieName) == null)){
			jQuery(elementName).css("top","-30px");
		}
		jQuery(elementName).click(function(){
			if((jQuery.cookie(cookieName) == null) || (jQuery.cookie(cookieName) == "closed") || (jQuery(elementName).hasClass("closed"))){
				jQuery(elementName).animate({top:'0px'},500, function(){
					jQuery.cookie(cookieName,"open",{expires: 7, path: '/'});
					jQuery(elementName).addClass("open").removeClass("closed");
				});
			}else if((jQuery.cookie(cookieName) == "open") || (jQuery(elementName).hasClass("open"))){
				jQuery(elementName).animate({top:'-30px'},500, function(){
					jQuery.cookie(cookieName,"closed",{expires: 7, path: '/'});
					jQuery(elementName).addClass("closed").removeClass("open");
				});
			}
		});
});
var Stil = "Standard";
var Keks = "Layout";
var Tage = 30;

// Style Switcher

function switchStyle(s) {
  if (!document.getElementsByTagName) return;
  var el = document.getElementsByTagName("link");
  for (var i = 0; i < el.length; i++ ) {
    if (el[i].getAttribute("rel").indexOf("style") != -1 && el[i].getAttribute("title")) {
      el[i].disabled = true;
      if (el[i].getAttribute("title") == s) el[i].disabled = false;
    }
  }
}

function loadStyle() { 
  var c = getStyleCookie();
  if (c && c != Stil) {
    switchStyle(c);
    Stil = c;
  }
}

function setStyleNeu(s) {
  if (s != Stil) {
    switchStyle(s);
    Stil = s;
  }
  delStyleCookie();
  setStyleCookie();
}

// Cookie-Funktionen

function setCookie(name, value, expdays) {   // gültig expdays Tage
  $.cookie(name, value, { expires: expdays, path: '/' });
}

function delCookie(name) {   // expires ist abgelaufen
  $.removeCookie(name);
}

function getCookie(name) {
  if($.cookie(name))
  	return $.cookie(name);
  else
	return null;
}

function setStyleCookie() {
  setCookie(Keks, Stil, Tage);
}

function getStyleCookie() {
  return getCookie(Keks);
}

function delStyleCookie() {
  delCookie(Keks);
}
//## Laden der Scripte ###
if(window.onload)
{
	var temp = window.onload;
    window.onload=function(e) {
		temp(e);
		loadStyle();
  };
}
else
{
	
	window.onload=function(e) {
    	loadStyle();
  	};
}
if(window.onunload) {
    var temp = window.onunload;
    window.onunload=function(e){
	temp(e);
	setStyleNeu(Stil);
    }
}
else {
    window.onunload=function(e) {
	setStyleNeu(Stil);
    }
}
/**
 * @preserve
 * Project: Bootstrap Hover Dropdown
 * Author: Cameron Spear
 * Version: v2.0.11
 * Contributors: Mattia Larentis
 * Dependencies: Bootstrap's Dropdown plugin, jQuery
 * Description: A simple plugin to enable Bootstrap dropdowns to active on hover and provide a nice user experience.
 * License: MIT
 * Homepage: http://cameronspear.com/blog/bootstrap-dropdown-on-hover-plugin/
 */
!function(n,e,o){var t=n();n.fn.dropdownHover=function(o){return"ontouchstart"in document?this:(t=t.add(this.parent()),this.each(function(){function r(n){t.find(":focus").blur(),l.instantlyCloseOthers===!0&&t.removeClass("open"),e.clearTimeout(i),s.addClass("open"),d.trigger(h)}var i,d=n(this),s=d.parent(),a={delay:500,instantlyCloseOthers:!0},u={delay:n(this).data("delay"),instantlyCloseOthers:n(this).data("close-others")},h="show.bs.dropdown",c="hide.bs.dropdown",l=n.extend(!0,{},a,o,u);s.hover(function(n){return!s.hasClass("open")&&!d.is(n.target)||void r(n)},function(){i=e.setTimeout(function(){s.removeClass("open"),d.trigger(c)},l.delay)}),d.hover(function(n){return!s.hasClass("open")&&!s.is(n.target)||void r(n)}),s.find(".dropdown-submenu").each(function(){var o,t=n(this);t.hover(function(){e.clearTimeout(o),t.children(".dropdown-menu").show(),t.siblings().children(".dropdown-menu").hide()},function(){var n=t.children(".dropdown-menu");o=e.setTimeout(function(){n.hide()},l.delay)})})}))},n(document).ready(function(){n('[data-hover="dropdown"]').dropdownHover()})}(jQuery,this);
/**
 * Project: Organizer Access
 * Description: Validation and login of organizers to maintain event data
 * Dependencies: Bootstrap, jQuery
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){function e(){var e=$("#login-form"),n=e.attr("action"),i=$("#btn-login"),r=e.serialize(),s=e.data("uri"),t=i.data("send"),o=i.data("login");return $.ajax({type:"POST",url:s,data:r,beforeSend:function(){$(".error-registration").fadeOut(),$("#btn-login").html('<span class="glyphicon glyphicon-transfer"></span> &nbsp; '+t+" ...")},success:function(e){e.hasOwnProperty("error")?$(".error-registration").fadeIn(1e3,function(){$(".error-registration").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> &nbsp; '+e.error.message+" </div>"),$("#btn-login").html('<i class="glyphicon glyphicon-log-in"></i>&nbsp; '+o)}):e.hasOwnProperty("succsess")?($("#btn-login").html('<i class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></i> &nbsp; '+o+" ..."),setTimeout(' window.location.href = "'+n+"/index.php?UIN="+e.succsess.uin+"&kdnr="+e.succsess.userId+'"',2e3)):$("#btn-login").html('<i class="glyphicon glyphicon-log-in"></i>&nbsp; '+o)}}),!1}function n(){var e=$("#login-form-register"),n=e.attr("action"),i=$("#btn-login-register"),r=e.serialize(),s=e.data("uri"),t=i.data("send"),o=i.data("login");return $.ajax({type:"POST",url:s,data:r,beforeSend:function(){$(".error-register").fadeOut(),$("#btn-login-register").html('<span class="glyphicon glyphicon-transfer"></span> &nbsp; '+t+" ...")},success:function(e){e.hasOwnProperty("error")?$(".error-register").fadeIn(1e3,function(){$(".error-register").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> &nbsp; '+e.error.message+" </div>"),$("#btn-login-register").html('<i class="glyphicon glyphicon-log-in"></i>&nbsp; '+o)}):e.hasOwnProperty("succsess")?($("#btn-login-register").html('<i class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></i> &nbsp; '+o+" ..."),setTimeout(' window.location.href = "'+n+"/index.php?UIN="+e.succsess.uin+"&kdnr="+e.succsess.userId+'"',2e3)):$("#btn-login-register").html('<i class="glyphicon glyphicon-log-in"></i>&nbsp; '+o)}}),!1}$("#login-form").validate({rules:{"tx_nwsregionalevents_pi1[PWD]":{required:!0,minlength:6},"tx_nwsregionalevents_pi1[USR]":{required:!0,minlength:3}},messages:{"tx_nwsregionalevents_pi1[PWD]":{required:"Bitte geben Sie Ihr Passwort ein.",minlength:"Bitte geben Sie ein korrektes Passwort ein."},"tx_nwsregionalevents_pi1[USR]":{required:"Bitte geben Sie Ihren Benutzernamen ein.",minlength:"Bitte geben Sie ein korrekten Benutzernamen ein."}},submitHandler:e}),$("#login-form-register").validate({rules:{"tx_nwsregionalevents_pi1[PWD]":{required:!0,minlength:6},"tx_nwsregionalevents_pi1[USR]":{required:!0,minlength:3}},messages:{"tx_nwsregionalevents_pi1[PWD]":{required:"Bitte geben Sie Ihr Passwort ein.",minlength:"Bitte geben Sie ein korrektes Passwort ein."},"tx_nwsregionalevents_pi1[USR]":{required:"Bitte geben Sie Ihren Benutzernamen ein.",minlength:"Bitte geben Sie ein korrekten Benutzernamen ein."}},submitHandler:n})});
/**
 * Project: Booking link click submit
 * Dependencies: jQuery
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){$(".tx-nwsregionalevents-booking").bind("click",function(){var t=$(this).data("id"),n=$(this).data("client"),e=$(this).data("provider"),i=$(location).attr("hostname"),o=$(location).attr("protocol")+"//"+$(location).attr("host")+"/"+$(location).attr("pathname");document.images&&((new Image).src=o+"?type=7879&tx_nwsregionalevents_pi1[id]="+t+"&tx_nwsregionalevents_pi1[client]="+n+"&tx_nwsregionalevents_pi1[host]="+i+"&tx_nwsregionalevents_pi1[provider]="+e)})});
/**
 * Project: Calendar Ajax calls
 * Description: The calendar provides the month selection as well as the day selection via Ajax calls
 * Dependencies: jQuery
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){$(document).on("click",".tx-nwsregionalevents-month-link",function(e){var t=e.currentTarget.getAttribute("href"),n=e.currentTarget.getAttribute("data-parent");return $.ajax({type:"GET",url:t,beforeSend:function(){$(".tx-nwsregionalevents-single-calendar").LoadingOverlay("show")},success:function(e){$(n).replaceWith(e),$(".tx-nwsregionalevents-single-calendar").LoadingOverlay("hide")}}),!1}),$(document).on("click",".tx-nwsregionalevents-day-link",function(e){var t=e.currentTarget.getAttribute("href"),n=e.currentTarget.getAttribute("data-parent");e.currentTarget.getAttribute("data-target");return $.ajax({type:"GET",url:t,beforeSend:function(){$(n).LoadingOverlay("show")},success:function(e){$("#tx-nwsregionalevents-calendar-modal .modal-body").html(e),$("#tx-nwsregionalevents-calendar-modal").modal("show"),$(n).LoadingOverlay("hide")}}),!1}),$(document).on("click",".tx-nwsregionalevents-page-link",function(e){var t=e.currentTarget.getAttribute("href"),n=(e.currentTarget.getAttribute("data-parent"),e.currentTarget.getAttribute("data-target"));return $.ajax({type:"GET",url:t,beforeSend:function(){$(n).LoadingOverlay("show")},success:function(e){$("#tx-nwsregionalevents-calendar-modal .modal-body").html(e),$(n).LoadingOverlay("hide")}}),!1})});
/**
 * Project: Shortening the long text
 * Dependencies: jQuery,Collapser - Plugin v2.0
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$(document).ready(function(){var t=$(".tx-nwsregionalevents-collapse-text"),e=t.data("showtext"),n=t.data("hidetext");t.collapser({mode:"lines",truncate:6,showText:e,hideText:n,controlBtn:"btn btn-default btn-secondary"})});
/* jQuery - Collapser - Plugin v2.0 www.aakashweb.com (c) 2014 Aakash Chakravarthy MIT License. */
!function(t,e,o,i){function a(e,o){this.o=t.extend({},n,o),this.e=t(e),this.init()}var n={target:"next",mode:"words",speed:"slow",truncate:10,ellipsis:"...",effect:"fade",controlBtn:"",showText:"Show more",hideText:"Hide text",showClass:"show-class",hideClass:"hide-class",atStart:"hide",lockHide:!1,dynamic:!1,changeText:!1,beforeShow:null,afterShow:null,beforeHide:null,afterHide:null};a.prototype={init:function(){var o=this;o.mode=o.o.mode,o.remaining={},o.ctrlHtml=' <a href="#" data-ctrl class="'+(t.isFunction(o.o.controlBtn)?"":o.o.controlBtn)+'"></a>',t(o.e).each(function(){t(this).data("oCnt",o.e.html());var e=t.isFunction(o.o.atStart)?o.o.atStart.call(o.e):o.o.atStart,e="undefined"!=typeof o.e.attr("data-start")?o.e.attr("data-start"):e;"hide"==e?o.hide(o.e,0):o.show(o.e,0)});var i;t(e).on("resize",function(){o.o.dynamic&&"lines"==o.mode&&(clearTimeout(i),i=setTimeout(function(){o.reInit(o.e)},100))})},show:function(e,o){var i=this,a=t(e);"undefined"==typeof o&&(o=i.o.speed);var n=function(){t.isFunction(i.o.afterShow)&&i.o.afterShow.call(i.e,i)};switch(t.isFunction(i.o.beforeShow)&&i.o.beforeShow.call(i.e,i),i.mode){case"chars":case"words":var s=a.height();a.html(a.data("tHTML"));var l=a.height();a.height(s),a.animate({height:l},o,function(){a.height("auto"),n()}).removeClass(i.o.hideClass).addClass(i.o.showClass),a.data("tHTML",a.html());break;case"lines":0==a.children("div").length&&a.wrapInner("<div>");var c=a.children("div"),s=c.height(),l=c.html(a.data("oCnt")).css("height","").height();c.css("height",s),c.animate({height:l},o,function(){c.height("auto"),n()}),a.removeClass(i.o.hideClass).addClass(i.o.showClass);break;case"block":i.blockMode(a,"show",o,n)}return i.status=1,1==i.o.lockHide?(a.find("[data-ctrl]").remove(),""):void("block"==i.mode?a.off("click.coll").on("click.coll",function(t){t.preventDefault(),i.hide(a)}):(0!=a.find("[data-ctrl]").length||t.isFunction(i.o.controlBtn)||a.append(i.ctrlHtml),i.ctrlBtn=t.isFunction(i.o.controlBtn)?i.o.controlBtn.call(i.e):t(a.find("[data-ctrl]")),i.ctrlBtn.off("click.coll").on("click.coll",function(t){t.preventDefault(),i.hide(a)}).html(i.o.hideText)))},hide:function(e,o){var i=this,a=t(e);"undefined"==typeof o&&(o=i.o.speed);var n=function(){t.isFunction(i.o.afterHide)&&i.o.afterHide.call(i.e,i)};switch(t.isFunction(i.o.beforeHide)&&i.o.beforeHide.call(i.e,i),a.find("[data-ctrl]").remove(),i.mode){case"chars":var s=t.trim(a.text());i.remaining.chars=s.length-i.o.truncate,s.length>i.o.truncate&&(a.data("tHTML",a.html()),s=i.pad(s.slice(0,i.o.truncate),s.slice(i.o.truncate,s.length)),a.html(s).removeClass(i.o.showClass).addClass(i.o.hideClass),n());break;case"words":s=t.trim(a.text()),s=s.split(" "),i.remaining.words=s.length-i.o.truncate,s.length>i.o.truncate&&(a.data("tHTML",a.html()),s=i.pad(s.slice(0,i.o.truncate).join(" "),s.slice(i.o.truncate,s.length).join(" ")),a.html(s).removeClass(i.o.showClass).addClass(i.o.hideClass),n());break;case"lines":0==a.children("div").length&&a.wrapInner("<div>"),s=a.children("div").css("height",""),s.html(s.text());var l=s.height();"undefined"==typeof a.data("lHeight")?(temp=s.clone(),lHeight=temp.text("a").insertAfter(s).height(),a.data("lHeight",lHeight),s.next().remove()):lHeight=a.data("lHeight"),lines=l/lHeight,i.remaining.lines=lines-i.o.truncate,0<i.remaining.lines&&(s.css("overflow","hidden"),s.animate({height:lHeight*i.o.truncate},o).data("tHeight",l),a.removeClass(i.o.showClass).addClass(i.o.hideClass),0!=a.find("[data-ctrl]").length||t.isFunction(i.o.controlBtn)||a.append(i.ctrlHtml),n());break;case"block":i.blockMode(a,"hide",o,n)}i.status=0,"block"==i.mode?a.unbind("click.coll").bind("click.coll",function(t){t.preventDefault(),i.show(a)}):(i.ctrlBtn=t.isFunction(i.o.controlBtn)?i.o.controlBtn.call(i.e):t(a.find("[data-ctrl]")),i.ctrlBtn.off("click.coll").on("click.coll",function(t){t.preventDefault(),i.show(a)}).html(i.o.showText),n=i.o.showText,s={chars:["character","characters"],words:["word","words"],lines:["lines","lines"]},n=n.replace("%s",i.remaining[i.mode]+(1==i.remaining[i.mode]?" "+s[i.mode][0]:" "+s[i.mode][1])),i.ctrlBtn.html(n))},pad:function(e,o){return e+'<span class="coll-ellipsis">'+this.o.ellipsis+"</span>"+(t.isFunction(this.o.ctrlBtn)?"":this.ctrlHtml)+'<span class="coll-hidden" style="display:none">'+o+"</span>"},blockMode:function(e,o,i,a){var n=["fadeOut","slideUp","fadeIn","slideDown"],s="fade"==this.o.effect?0:1,n="hide"==o?n[s]:n[s+2];t.isFunction(this.o.target)?this.o.target.call(this.e)[n](i,a):t.fn[this.o.target]&&t(e)[this.o.target]()[n](i,a),"show"==o?(e.removeClass(this.o.showClass).addClass(this.o.hideClass),this.o.changeText&&e.text(this.o.hideText)):(e.removeClass(this.o.hideClass).addClass(this.o.showClass),this.o.changeText&&e.text(this.o.showText))},reInit:function(t){t.find("[data-ctrl]").remove(),t.html(this.e.data("oCnt")),0==this.status?this.hide(t,0):this.show(t,0)}},t.fn.collapser=function(e){return this.each(function(){t.data(this,"collapser")||t.data(this,"collapser",new a(this,e))})}}(jQuery,window,document);
/***************************************************************************************************
LoadingOverlay - A flexible loading overlay jQuery plugin
    Author          : Gaspare Sganga
    Version         : 1.5.3
    License         : MIT
    Documentation   : http://gasparesganga.com/labs/jquery-loading-overlay/
****************************************************************************************************/
!function(A,B){function C(C,g){C=A(C);var E=C.is("body"),I=C.data("LoadingOverlayCount");if(I===B&&(I=0),0==I){var o=A("<div>",{"class":"loadingoverlay",css:{"background-color":g.color,position:"relative",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center"}});if(g.zIndex!==B&&o.css("z-index",g.zIndex),g.image&&o.css({"background-image":"url("+g.image+")","background-position":g.imagePosition,"background-repeat":"no-repeat"}),g.fontawesome&&A("<div>",{"class":"loadingoverlay_fontawesome "+g.fontawesome}).appendTo(o),g.custom&&A(g.custom).appendTo(o),E?o.css({position:"fixed",top:0,left:0,width:"100%",height:"100%"}):o.css("position","fixed"==C.css("position")?"fixed":"absolute"),Q(C,o,g,E),g.resizeInterval>0){var w=setInterval(function(){Q(C,o,g,E)},g.resizeInterval);C.data("LoadingOverlayResizeIntervalId",w)}g.fade?g.fade===!0?g.fade=[400,200]:"string"!=typeof g.fade&&"number"!=typeof g.fade||(g.fade=[g.fade,g.fade]):g.fade=[0,0],C.data({LoadingOverlay:o,LoadingOverlayFadeOutDuration:g.fade[1]}),o.hide().appendTo("body").fadeIn(g.fade[0])}I++,C.data("LoadingOverlayCount",I)}function g(C,g){C=A(C);var Q=C.data("LoadingOverlayCount");if(Q!==B)if(Q--,g||Q<=0){var E=C.data("LoadingOverlayResizeIntervalId");E&&clearInterval(E),C.data("LoadingOverlay").fadeOut(C.data("LoadingOverlayFadeOutDuration"),function(){A(this).remove()}),C.removeData(["LoadingOverlay","LoadingOverlayCount","LoadingOverlayFadeOutDuration","LoadingOverlayResizeIntervalId"])}else C.data("LoadingOverlayCount",Q)}function Q(B,C,g,Q){if(!Q){var E="fixed"==B.css("position")?B.position():B.offset();C.css({top:E.top+parseInt(B.css("border-top-width"),10),left:E.left+parseInt(B.css("border-left-width"),10),width:B.innerWidth(),height:B.innerHeight()})}var I=Q?A(window):B,o="auto";g.size&&"auto"!=g.size&&(o=Math.min(I.innerWidth(),I.innerHeight())*parseFloat(g.size)/100,g.maxSize&&o>parseInt(g.maxSize,10)&&(o=parseInt(g.maxSize,10)+"px"),g.minSize&&o<parseInt(g.minSize,10)&&(o=parseInt(g.minSize,10)+"px")),C.css("background-size",o),C.children(".loadingoverlay_fontawesome").css("font-size",o)}var E={color:"rgba(255, 255, 255, 0.8)",custom:"",fade:!0,fontawesome:"",image:"data:image/gif;base64,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",imagePosition:"center center",maxSize:"100px",minSize:"20px",resizeInterval:50,size:"50%",zIndex:9999};A.LoadingOverlaySetup=function(B){A.extend(!0,E,B)},A.LoadingOverlay=function(B,Q){switch(B.toLowerCase()){case"show":var I=A.extend(!0,{},E,Q);C("body",I);break;case"hide":g("body",Q)}},A.fn.LoadingOverlay=function(B,Q){switch(B.toLowerCase()){case"show":var I=A.extend(!0,{},E,Q);return this.each(function(){C(this,I)});case"hide":return this.each(function(){g(this,Q)})}}}(jQuery);
/**
 * Project: Map display and data delivery
 * Description: Loading a leaflet with POI and clickable content
 * Dependencies: jQuery,leaflet
 * Author: Alexander Konradi
 * Homepage: http://www.die-netzwerkstatt.de/
 */
!function(e,i){(function(e){return e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1||e.indexOf("Edge/")!==-1})(window.navigator.userAgent);e.shuffle=function(e){var i,t,n;for(n=e.length;n;n--)i=Math.floor(Math.random()*n),t=e[n-1],e[n-1]=e[i],e[i]=t;return e},e.renderImages=function(e,t,n,o){o.empty();for(var a=t/n,r=Math.ceil(o.width()/t),d=o.width()/r,c=0;c<r&&void 0!==e[c];c++){var s=e[c];i("<img/>").attr({src:s.image,width:d,height:d/a,alt:s.name,title:s.name}).appendTo(i("<a/>").attr({href:s.link,target:"_blank",title:s.name+", "+s.postalCode+" "+s.city}).appendTo(o))}},e.map=function(e,t){for(var n=i(t).data("zoom"),o=(L.icon({iconUrl:"typo3conf/ext/nws_regional_events/Resources/Public/Icons/icon-map-pin.svg",iconSize:[26,24],iconAnchor:[13,12],popupAnchor:[0,-12]}),new L.LatLng(e[0].geoLat,e[0].geoLng)),a=L.map(t,{scrollWheelZoom:!1}).setView(o,n),r=0;r<e.length;r++){var d=e[r],c=L.marker(new L.LatLng(d.geoLat,d.geoLng),{title:d.locationName}).addTo(a);if(d.title){var s='<div class="media">';void 0!==d.image&&(s+='<div class="media-left"><a href="'+d.link+'"><img width="100" height="100" src="'+d.image+'" class="media-object"/></a></div>'),s+='<div class="media-body">',s+='<h5 class="media-heading"><a href="'+d.link+'">'+d.title+"</a></h5>",void 0!==d.descriptionShort?s+=d.descriptionShort:void 0!==d.descriptionLong&&(s+=d.descriptionLong),s+="</div>",s+="</div>",c.bindPopup(s)}}L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'}).addTo(a)}}(window.regional_events=window.regional_events||{},jQuery);
/**
 * Project: Organizer
 * Dependencies: jQuery,plugin LoadingOverlay
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){$("#email").bind("change",function(){var a=$(this).val();$("#username").val(a)}),$(".tx-nwsregionalevents-organizer-form").bind("submit",function(){$.LoadingOverlay("show")}),$("#organizerModal").modal({show:!1}).on("show.bs.modal",function(a){var n=$(a.relatedTarget),o=n.attr("href"),t=$(this);t.find(".modal-body").html('<object data="'+o+'" type="application/pdf" width="100%" height="700px"></object>')})});
/**
 * Project: Password generator
 * Description: Generates random passwords with letters and numbers and special characters
 * Dependencies: jQuery
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){function a(a){var t=$(a).attr("data-character-set").split(","),r="";$.inArray("a-z",t)>=0&&(r+="abcdefghijklmnopqrstuvwxyz"),$.inArray("A-Z",t)>=0&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"),$.inArray("0-9",t)>=0&&(r+="0123456789"),$.inArray("#",t)>=0&&(r+="!%&*$#|");for(var i="",n=0;n<$(a).attr("data-size");n++)i+=r.charAt(Math.floor(Math.random()*r.length));return i}$('input[data-rel="gp"]').each(function(){var t=$.trim($(this).val());if(!t){var r=$('input[data-rel="gpc"]');$passString=a($(this)),$(this).val($passString),r.val($passString)}}),$(".getNewPass").click(function(){var t=$(this).closest("div").find('input[data-rel="gp"]'),r=$('input[data-rel="gpc"]');$passString=a(t),t.val($passString),r.val($passString)})});
/**
 * Project: Events
 * Dependencies: jQuery,plugin LoadingOverlay
 * Author: Dirk Meinke
 * Homepage: http://www.die-netzwerkstatt.de/
 */
$("document").ready(function(){$("#tx-nwsregionalevents-monthYear, #tx-nwsregionalevents-province, #tx-nwsregionalevents-district, #tx-nwsregionalevents-place, #tx-nwsregionalevents-category").change(function(){$.LoadingOverlay("show"),$("#tx-nwsregionalevents-button-search").click()})});
/*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation
* Copyright (c) 2013 JÃƒÂ¶rn Zaefferer; Licensed MIT */
!function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return void(e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return!i.settings.submitHandler||(i.submitButton&&(s=t("<input type='hidden'/>").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1)}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var o={};return t.each(i.split(/\s/),function(t,e){o[e]=a[e],delete a[e]}),o}}var u=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(u.required){var l=u.required;delete u.required,u=t.extend({required:l},u)}return u}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=this.check(e)!==!1;return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),!(this.name in i||!e.objectLength(t(this).rules()))&&(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var o={method:a,parameters:s[a]};try{if(i=t.validator.methods[a].call(this,n,e,o.parameters),"dependency-mismatch"===i){r=!0;continue}if(r=!1,"pending"===i)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!i)return this.formatAndAdd(e,o),!1}catch(u){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+o.method+"' method.",u),u}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t]},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"<strong>Warning: No message defined for "+e.name+"</strong>")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(a=s.get(0).getAttribute(n),""===a&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(r===!1)return void delete e[s];if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0===r.param||r.param:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i=0,s=0,r=!1;t=t.replace(/\D/g,"");for(var n=t.length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0===i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=s===!0||"true"===s;if(a){var o=n.formSubmitted;n.prepareElement(i),n.formSubmitted=o,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var u={},l=s||n.defaultMessage(i,"remote");u[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(u)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format}(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery),$.validator.setDefaults({errorElement:"span",errorClass:"help-block",highlight:function(t,e,i){$(t).closest(".form-group").addClass("tx-nwsregionalevents-error has-error")},unhighlight:function(t,e,i){$(t).closest(".form-group").removeClass("tx-nwsregionalevents-error has-error")},errorPlacement:function(t,e){e.parent(".input-group").length||"checkbox"===e.prop("type")||"radio"===e.prop("type")?t.insertAfter(e.parent()):t.insertAfter(e)}});

			// decrypt helper function
		function decryptCharcode(n,start,end,offset) {
			n = n + offset;
			if (offset > 0 && n > end) {
				n = start + (n - end - 1);
			} else if (offset < 0 && n < start) {
				n = end - (start - n - 1);
			}
			return String.fromCharCode(n);
		}
			// decrypt string
		function decryptString(enc,offset) {
			var dec = "";
			var len = enc.length;
			for(var i=0; i < len; i++) {
				var n = enc.charCodeAt(i);
				if (n >= 0x2B && n <= 0x3A) {
					dec += decryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
				} else if (n >= 0x40 && n <= 0x5A) {
					dec += decryptCharcode(n,0x40,0x5A,offset);	// A-Z @
				} else if (n >= 0x61 && n <= 0x7A) {
					dec += decryptCharcode(n,0x61,0x7A,offset);	// a-z
				} else {
					dec += enc.charAt(i);
				}
			}
			return dec;
		}
			// decrypt spam-protected emails
		function linkTo_UnCryptMailto(s) {
			location.href = decryptString(s,-1);
		}
		
	$(function() {
		$("a.lightbox")
		.parents(".csc-textpic-imagewrap,.news-img-wrap")
		.each(function() {
			$(this).magnificPopup({
				delegate: 'a.lightbox',
				type: 'image',
				gallery: {
					enabled: true,
					navigateByImgClick: false
				}
			});
		});
	});
