Drupal.locale = { 'pluralFormula': function ($n) { return Number(($n!=1)); }, 'strings': {"An AJAX HTTP error occurred.":"Ein AJAX-HTTP-Fehler ist aufgetreten","HTTP Result Code: !status":"HTTP-R\u00fcckgabe-Code: !status","An AJAX HTTP request terminated abnormally.":"Eine AJAX-Anfrage ist abnormal beendet worden.","Debugging information follows.":"Im Folgenden finden Sie Debugging-Informationen.","Path: !uri":"Pfad: !uri","StatusText: !statusText":"Statustext: !statusText","ResponseText: !responseText":"Antworttext: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Disabled":"Deaktiviert","Enabled":"Aktiviert","Edit":"Bearbeiten","Done":"Schlie\u00dfen","Show":"Anzeigen","Select all rows in this table":"Alle Zeilen dieser Tabelle ausw\u00e4hlen","Deselect all rows in this table":"Alle Zeilen dieser Tabelle abw\u00e4hlen","Not published":"Nicht ver\u00f6ffentlicht","Please wait...":"Bitte warten...","Hide":"Ausblenden","Loading":"Laden","By @name on @date":"Von @name am @date","By @name":"Von @name","Not in menu":"Nicht im Men\u00fc","Alias: @alias":"Alias: @alias","No alias":"Kein Alias","New revision":"Neue Version","Drag to re-order":"Ziehen um die Reihenfolge zu \u00e4ndern","Changes made in this table will not be saved until the form is submitted.":"\u00c4nderungen in dieser Tabelle werden nicht gespeichert, bis dieses Formular abgesendet wurde.","The changes to these blocks will not be saved until the \u003cem\u003eSave blocks\u003c\/em\u003e button is clicked.":"Die \u00c4nderungen an diesen Bl\u00f6cken werden nicht gespeichert, bis auf dem \u003cem\u003eBl\u00f6cke speichern\u003c\/em\u003e-Button geklickt wurde.","Show shortcuts":"Tastaturkombinationen anzeigen","This permission is inherited from the authenticated user role.":"Diese Berechtigung wird von der Rolle \u201aAuthentifizierte Benutzer\u2018 ererbt.","No revision":"Keine Version","@number comments per page":"@number Kommentare pro Seite","Requires a title":"Ben\u00f6tigt einen Titel","Not restricted":"Uneingeschr\u00e4nkt","(active tab)":"(aktiver Reiter)","Not customizable":"Nicht anpassbar","Restricted to certain pages":"Auf bestimmte Seiten eingeschr\u00e4nkt","The block cannot be placed in this region.":"Der Block kann nicht in dieser Region abgelegt werden.","Customize dashboard":"Dashboard anpassen","Hide summary":"Zusammenfassung verbergen","Edit summary":"Zusammenfassung bearbeiten","Don't display post information":"Beitragsinformationen nicht anzeigen","@title dialog":"@title Dialog","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Die ausgew\u00e4hlte Datei %filename konnte nicht gespeichert werden. Nur Dateien mit den folgenden Erweiterungen sind zul\u00e4ssig: %extensions.","Re-order rows by numerical weight instead of dragging.":"Zeilen mittels numerischer Gewichtung ordnen statt mit Drag-and-Drop","Show row weights":"Zeilenreihenfolge anzeigen","Hide row weights":"Zeilenreihenfolge ausblenden","Autocomplete popup":"Popup zur automatischen Vervollst\u00e4ndigung","Searching for matches...":"Suche \u2026","Hide shortcuts":"Shortcuts ausblenden","Loading...":"Laden...","An error occurred at @path.":"Ein Fehler ist auf @path aufgetreten.","jQuery UI Tabs: Not enough arguments to add tab.":"jQuery UI-Reiter: Nicht genug Argumente, um einen Reiter hinzuzuf\u00fcgen.","Show layout designer":"Layout-Designer anzeigen","Hide layout designer":"Layout-Designer ausblenden","Split summary at cursor":"Anrisstext an Cursorposition trennen","Join summary":"Anrisstext zusammenf\u00fcgen","Content can be only inserted into CKEditor in WYSIWYG mode.":"Inhalt kann nur im WYSIWYG-Modus in den CKEditor eingef\u00fcgt werden.","Insert Teaser Break":"Anrisstext-Grenze einf\u00fcgen","Insert Page Break":"Seitenumbruch einf\u00fcgen","The document already contains a teaser break. Do you want to proceed by removing it first?":"Das Dokument enth\u00e4lt bereits eine Anrisstext-Grenze. Soll diese zuerst entfernt werden?","Error !msg":"Fehler !msg","Error on retrieving data from module.":"Fehler beim Abrufen von Daten des Moduls.","Embed Media Dialog":"Medien-Dialog einbetten","Embed media code":"Medien-Code einbetten","Paste embed code here":"eingebetteten Code hier einf\u00fcgen","Scheduled for publishing":"Zur Ver\u00f6ffentlichung geplant","Scheduled for unpublishing":"Zum Offline-nehmen geplant","Not scheduled":"Nicht geplant","Unspecified error":"Unbekannter Fehler","Your server has been successfully tested to support this feature.":"Der Server wurde erfolgreich getestet und unterst\u00fctzt diese Funktionalit\u00e4t.","Testing clean URLs...":"Lesbare URLs werden getestet\u2026","An error occurred. \n@uri\n@text":"Ein Fehler ist aufgetreten. \n@uri\n@text","An error occurred. \n@uri\n(no information available).":"Ein Fehler ist aufgetreten. \n@uri\n(keine Information verf\u00fcgbar).","An HTTP error @status occurred. \n@uri":"Ein HTTP-Fehler @status ist aufgetreten. \n@uri"} };;
/**
 * jQuery.labelify - Display in-textbox hints
 * Stuart Langridge, http://www.kryogenix.org/
 * Released into the public domain
 * Date: 25th June 2008
 * @author Stuart Langridge
 * @version 1.3
 *
 *
 * Basic calling syntax: $("input").labelify();
 * Defaults to taking the in-field label from the field's title attribute
 *
 * You can also pass an options object with the following keys:
 *   text
 *     "title" to get the in-field label from the field's title attribute
 *      (this is the default)
 *     "label" to get the in-field label from the inner text of the field's label
 *      (note that the label must be attached to the field with for="fieldid")
 *     a function which takes one parameter, the input field, and returns
 *      whatever text it likes
 *
 *   labelledClass
 *     a class that will be applied to the input field when it contains the
 *      label and removed when it contains user input. Defaults to blank.
 *
 */
jQuery.fn.labelify = function(settings) {
  settings = jQuery.extend({
    text: "title",
    labelledClass: ""
  }, settings);
  var lookups = {
    title: function(input) {
      return $(input).attr("title");
    },
    label: function(input) {
      return $("label[for=" + input.id +"]").text();
    }
  };
  var lookup;
  var jQuery_labellified_elements = $(this);
  return $(this).each(function() {
    if (typeof settings.text === "string") {
      lookup = lookups[settings.text]; // what if not there?
    } else {
      lookup = settings.text; // what if not a fn?
    };
    // bail if lookup isn't a function or if it returns undefined
    if (typeof lookup !== "function") { return; }
    var lookupval = lookup(this);
    if (!lookupval) { return; }

    // need to strip newlines because the browser strips them
    // if you set textbox.value to a string containing them
    $(this).data("label",lookup(this).replace(/\n/g,''));
    $(this).focus(function() {
      if (this.value === $(this).data("label")) {
        this.value = this.defaultValue;
        $(this).removeClass(settings.labelledClass);
      }
    }).blur(function(){
      if (this.value === this.defaultValue) {
        this.value = $(this).data("label");
        $(this).addClass(settings.labelledClass);
      }
    });

    var removeValuesOnExit = function() {
      jQuery_labellified_elements.each(function(){
        if (this.value === $(this).data("label")) {
          this.value = this.defaultValue;
          $(this).removeClass(settings.labelledClass);
        }
      })
    };

    $(this).parents("form").submit(removeValuesOnExit);
    $(window).unload(removeValuesOnExit);

    if (this.value !== this.defaultValue) {
      // user already started typing; don't overwrite their work!
      return;
    }
    // actually set the value
    this.value = $(this).data("label");
    $(this).addClass(settings.labelledClass);

  });
};

jQuery(document).ready(function(){
  $("#edit-name").labelify();
  $("#edit-pass").labelify();
});;
(function ($) {

Drupal.behaviors.biermann = {
attach: function(context, settings) {
	// Den aktuellen Wert übernehmen nachdem die Seite geladen ist.	
	$(window).load(function() {
		if ( $('span#exposedForm_selectedTid').length > 0 ) {
			var selectedTid = $('span#exposedForm_selectedTid').text();
			
			// ändere die Selection, bevor du...
			$('.views-widget-filter-term_node_tid_depth select option:selected').attr('selected',false);
			$('.views-widget-filter-term_node_tid_depth select option[value='+selectedTid+']').attr('selected',true);
			adjustBreadcrumbs();
		}
		// ...den Ajax-Befehl abfeuerst
		$('#views-exposed-form-article-content-overview-content-overview-block input#edit-submit-article-content-overview', context).trigger('click');
		
		// Overlay (FadeIn)
		fadeInOverlay();
	});
		
	/* Kategorie-Übersichten: Selectbox-Hack 
		-> value 740 muss im html beim rendern drin sein, damit views die term-liste validiert.  */
	$(document).ready(function() {
		$('.views-widget-filter-term_node_tid_depth select option[value="740"]').remove();
	});

	//overwrite exposed-forms default-behaviour: ajax-call on change-event
    $('select#edit-term-node-tid-depth', context).change(function () { 
		adjustBreadcrumbs();
		
		$('#views-exposed-form-article-content-overview-content-overview-block input#edit-submit-article-content-overview').trigger('click');
		
		// Overlay (FadeIn)
		fadeInOverlay();
	});
	
	// ----------------------------------------------------------
	// OVERLAY FUNCTIONS (Warning: Copy changes to ajax_views.js, too!!!)
	// ----------------------------------------------------------
	
	function fadeInOverlay() {
		// Filter Overlays erstellen
		var overlayFilterOben = jQuery('<div id="overlay"></div>');
		var overlayFilterUnten = jQuery('<div id="overlay"></div>');
		
		// Content Overlay erstellen
		var overlayContent = jQuery('<div id="overlay"></div>');
		overlayContent.css("display","none");
		
		// Filter Overlays an die Seite pappen
		$('.top_pager_wrapper .item-list').append(overlayFilterOben);
		$('.view-article-content-overview .item-list').append(overlayFilterUnten);
		
		// Content Overlay an die Seite pappen, und ein faden
		$('.view-article-content-overview div.view-content').append(overlayContent);
		overlayContent.fadeIn('slow');
	}
	
	function fadeOutOverlay() {
		// Content Overlay erstellen
		var overlayContent = jQuery('<div id="overlay"></div>');
		
		// Content Overlay an die Seite pappen, und aus faden
		$('.view-article-content-overview div.view-content').append(overlayContent);
		overlayContent.fadeOut('slow');
		
		// Ad Hack?
		//document.write('<div style="position:absolute; left:0px; top:0px;"><img border="0" width="1" height="1" alt="" src="http://biermann.adspirit.de/adview.php?tz=1310773252&pid=312&kid=41&wmid=127&wsid=7&uid=1&nvc=1&target1=-" /></div><scr'+'ipt language="Javascr'+'ipt1.1" type="text/javascr'+'ipt">\r\nvar ftClick = "http://biermann.adspirit.de/adclick.php?tz=1310773252&pid=312&kid=41&wmid=127&wsid=7&uid=1&ord=1310773252&target=";\r\nvar ftX = "";\r\nvar ftY = "";\r\nvar ftZ = "";\r\nvar ftContent = "";\r\nvar ft180x300_OOBclickTrack = "";\r\nvar ftRandom = Math.random()*1000000;\r\nvar ftBuildTag1 = "<scr";\r\nvar ftBuildTag2 = "</";\r\nvar ftTag = ftBuildTag1 + \'ipt language="javascr'+'ipt1.1" type="text/javascr'+'ipt" \';\r\nftTag += \'src="http://servedby.flashtalking.com/imp/2/15770;122066;201;js;biermannnetDE;offenerFachbereichCA/?click=\'+escape(escape(ftClick))+\'&ftx=\'+ftX+\'&fty=\'+ftY+\'&ftadz=\'+ftZ+\'&ftscw=\'+ftContent+\'&cachebuster=\'+ftRandom+\'" id="ftscr'+'ipt_180x300" name="ftscr'+'ipt_180x300"\';\r\nftTag += \'">\' + ftBuildTag2 + \'scr'+'ipt>\';\r\ndocument.write(ftTag);\r\n</scr'+'ipt>\r\n<noscr'+'ipt>\r\n<a href="http://biermann.adspirit.de/adclick.php?tz=1310773252&pid=312&kid=41&wmid=127&wsid=7&uid=1&ord=1310773252&target=http://servedby.flashtalking.com/click/2/15770;122066;0;209;0/?url=345485" target="_blank">\r\n<img border="0" src="http://servedby.flashtalking.com/imp/2/15770;122066;205;jpg;biermannnetDE;offenerFachbereichCA/?"></a>\r\n</noscr'+'ipt>\r\n\r\n');		
	}
	
	// ----------------------------------------------------------
	
	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
	}

	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}

	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}
	
	function adjustBreadcrumbs() {
		var selectItems = $('.views-widget-filter-term_node_tid_depth select option');
		
		if ( $('span#exposedForm_selectedTid').length > 0 ) {
		    var selectedTid = $('span#exposedForm_selectedTid').text();
			
			var optionArr = [];

			$.each( selectItems, function(index, value) {
				optionArr.push( selectItems[index]['value'] );
			});

			// wenn die ID auch vorkommt
			if ( jQuery.inArray(selectedTid, optionArr) >= 0 ) {
				// breadcrumb accessible machen
				$('#breadcrump .breadcrumb-trail').append('<span id="bc_subterm">&nbsp;&rsaquo;&nbsp;'+$('.views-widget-filter-term_node_tid_depth select option[value='+selectedTid+']').text().substring(1)+'</span>');
				
				//Element löschen
				$('span#exposedForm_selectedTid').remove();
			} 
		} 
		else {
			// wenn die Auswahl der Oberste Punkt ist
		    if( selectItems[0]['value'] == $('.views-widget-filter-term_node_tid_depth select option:selected').val() ) {
				$('#breadcrump #bc_subterm').remove();
			}
			else {
				var label = trim($('.views-widget-filter-term_node_tid_depth select option:selected').text(), '-'); //hierarchie-minus entfernen
//				var label = $('.views-widget-filter-term_node_tid_depth select option:selected').text().substring(0); //substring hierarchie-minus entfernen
				if ( $('#breadcrump .breadcrumb-trail #bc_subterm').length > 0 ) {
					$('#breadcrump .breadcrumb-trail #bc_subterm').html('&nbsp;&rsaquo;&nbsp;'+label);
				} else {
					$('#breadcrump .breadcrumb-trail').append('<span id="bc_subterm">&nbsp;&rsaquo;&nbsp;'+label+'</span>');
				}
			}
		}
	}
	}
};

})(jQuery);;
/**
 * @file base.js
 *
 * Some basic behaviors and utility functions for Views.
 */
(function ($) {

Drupal.Views = {};

/**
 * jQuery UI tabs, Views integration component
 */
Drupal.behaviors.viewsTabs = {
  attach: function (context) {
    if ($.viewsUi && $.viewsUi.tabs) {
      $('#views-tabset').once('views-processed').viewsTabs({
        selectedClass: 'active'
      });
    }

    $('a.views-remove-link').once('views-processed').click(function(event) {
      var id = $(this).attr('id').replace('views-remove-link-', '');
      $('#views-row-' + id).hide();
      $('#views-removed-' + id).attr('checked', true);
      event.preventDefault();
   });
  /**
    * Here is to handle display deletion 
    * (checking in the hidden checkbox and hiding out the row) 
    */
  $('a.display-remove-link')
    .addClass('display-processed')
    .click(function() {
      var id = $(this).attr('id').replace('display-remove-link-', '');
      $('#display-row-' + id).hide();
      $('#display-removed-' + id).attr('checked', true);
      return false;
  });
  }
};

/**
 * Helper function to parse a querystring.
 */
Drupal.Views.parseQueryString = function (query) {
  var args = {};
  var pos = query.indexOf('?');
  if (pos != -1) {
    query = query.substring(pos + 1);
  }
  var pairs = query.split('&');
  for(var i in pairs) {
    if (typeof(pairs[i]) == 'string') {
      var pair = pairs[i].split('=');
      // Ignore the 'q' path argument, if present.
      if (pair[0] != 'q' && pair[1]) {
        args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' '));
      }
    }
  }
  return args;
};

/**
 * Helper function to return a view's arguments based on a path.
 */
Drupal.Views.parseViewArgs = function (href, viewPath) {
  var returnObj = {};
  var path = Drupal.Views.getPath(href);
  // Ensure we have a correct path.
  if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') {
    var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length));
    returnObj.view_args = args;
    returnObj.view_path = path;
  }
  return returnObj;
};

/**
 * Strip off the protocol plus domain from an href.
 */
Drupal.Views.pathPortion = function (href) {
  // Remove e.g. http://example.com if present.
  var protocol = window.location.protocol;
  if (href.substring(0, protocol.length) == protocol) {
    // 2 is the length of the '//' that normally follows the protocol
    href = href.substring(href.indexOf('/', protocol.length + 2));
  }
  return href;
};

/**
 * Return the Drupal path portion of an href.
 */
Drupal.Views.getPath = function (href) {
  href = Drupal.Views.pathPortion(href);
  href = href.substring(Drupal.settings.basePath.length, href.length);
  // 3 is the length of the '?q=' added to the url without clean urls.
  if (href.substring(0, 3) == '?q=') {
    href = href.substring(3, href.length);
  }
  var chars = ['#', '?', '&'];
  for (i in chars) {
    if (href.indexOf(chars[i]) > -1) {
      href = href.substr(0, href.indexOf(chars[i]));
    }
  }
  return href;
};

})(jQuery);
;
﻿jQuery(document).ready(function() {

  jQuery.fn.counter = function() {
	  jQuery(this).each(function() {
		var max = 53;
		var val = jQuery(this).attr('value');
		var cur = 0;
		if(val) // value="", or no value at all will cause an error
		  cur = val.length;
		var left = max-cur;
		jQuery(this).after("<div class='counter'>noch "
		  + left.toString()+" Zeichen &uuml;brig</div>");
		// You can use something like this to align the
		// counter to the right of the input field.
		var c = jQuery(this).next(".counter");
		c.width(200);
		c.css("background","#E0E0D8");
		c.css("padding-left","1em");
		c.css("font-size","10px");
		c.css("font-size","10px");

		jQuery(this).keyup(function(i) {
		  var max = 53;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  if(val)
			cur = val.length;
		  var left = max-cur;
		  jQuery(this).next(".counter").text("noch " + left.toString()+" Zeichen übrig");		  
		  return this;
		});
	    
	    jQuery(this).change(function(i) {
		  var max = 53;
	      var val = jQuery(this).attr('value');
	      var cur = 0;
	      jQuery(this).val(val.substring(0, 53));
	      if(val)
			cur = val.length;
		  var left = max-cur;
		 if (val < 0)
			jQuery(this).next(".counter").text(0); 
		 else
			jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		 return this;
		});
		 
		jQuery(this).blur(function(i) {
	      var max = 53;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  jQuery(this).val(val.substring(0, 53));
		  if(val)
		    cur = val.length;
		  var left = max-cur;
		  if (val < 0)
		    jQuery(this).next(".counter").text(0); 
		  else
		    jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		  return this;
		});
	  });
	  return this;
}


  jQuery.fn.counterSub = function() {
	  jQuery(this).each(function() {
		var max = 40;
		var val = jQuery(this).attr('value');
		var cur = 0;
		if(val) // value="", or no value at all will cause an error
		  cur = val.length;
		var left = max-cur;
		jQuery(this).after("<div class='counter'>noch "
		  + left.toString()+" Zeichen &uuml;brig</div>");
		// You can use something like this to align the
		// counter to the right of the input field.
		var c = jQuery(this).next(".counter");
		c.width(200);
		c.css("background","#E0E0D8");
		c.css("padding-left","1em");
		c.css("font-size","10px");

		jQuery(this).keyup(function(i) {
		  var max = 40;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  if(val)
			cur = val.length;
		  var left = max-cur;
		  jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		  jQuery(this).val(val.substring(0, 40));
		  return this;
		});
		
		jQuery(this).change(function(i) {
		  var max = 40;
	      var val = jQuery(this).attr('value');
	      var cur = 0;
	      jQuery(this).val(val.substring(0, 40));
	      if(val)
			cur = val.length;
		  var left = max-cur;
		 if (val < 0)
			jQuery(this).next(".counter").text(0); 
		 else
			jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		 return this;
		});
		 
		jQuery(this).blur(function(i) {
	      var max = 40;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  jQuery(this).val(val.substring(0, 40));
		  if(val)
		    cur = val.length;
		  var left = max-cur;
		  if (val < 0)
		    jQuery(this).next(".counter").text(0); 
		  else
		    jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		  return this;
		});
		
	  });
	  return this;
}

jQuery.fn.counterTeaser = function() {
	  jQuery(this).each(function() {
		var max = 255;
		var val = jQuery(this).attr('value');
		var cur = 0;
		if(val) // value="", or no value at all will cause an error
		  cur = val.length;
		var left = max-cur;
		jQuery(this).after("<div class='counter'>noch "
		  + left.toString()+" Zeichen &uuml;brig</div>");
		// You can use something like this to align the
		// counter to the right of the input field.
		var c = jQuery(this).next(".counter");
		c.width(200);
		c.css("background","#E0E0D8");
		c.css("padding-left","1em");
		c.css("font-size","10px");

		jQuery(this).keyup(function(i) {
		  var max = 255;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  if(val)
			cur = val.length;
		  var left = max-cur;
		  jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
    	  jQuery(this).val(val.substring(0, 255));
		  return this;
		});
		
		jQuery(this).change(function(i) {
		  var max = 255;
	      var val = jQuery(this).attr('value');
	      var cur = 0;
	      jQuery(this).val(val.substring(0, 255));
	      if(val)
			cur = val.length;
		  var left = max-cur;
		 if (val < 0)
			jQuery(this).next(".counter").text(0); 
		 else
			jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		 return this;
		});
		 
		jQuery(this).blur(function(i) {
	      var max = 255;
		  var val = jQuery(this).attr('value');
		  var cur = 0;
		  jQuery(this).val(val.substring(0, 255));
		  if(val)
		    cur = val.length;
		  var left = max-cur;
		  if (val < 0)
		    jQuery(this).next(".counter").text(0); 
		  else
		    jQuery(this).next(".counter").text("noch "+ left.toString()+" Zeichen übrig");
		  return this;
		});
		
	  });
	  return this;
}
  
  // -------------------------------------------------------
  // APPLYING THE COUNTER
  // -------------------------------------------------------
  
  // Title
  jQuery(".node-form #edit-title").counter();
  
  // Dachüberschrift
  jQuery("#edit-field-article-subheading-und-0-value").counterSub();
  jQuery("#edit-field-article-subheading-de-0-value").counterSub();
  
  // TeaserText
  jQuery("#edit-field-teaser-text-und-0-value").counterTeaser();
  jQuery("#edit-field-teaser-text-de-0-value").counterTeaser();
  
  // -------------------------------------------------------
  
  // TeaserText (Fix for Kongresse)
  jQuery("#edit-field-teasertext-und-0-value").counterTeaser();
  jQuery("#edit-field-teasertext-de-0-value").counterTeaser();
  
  // -------------------------------------------------------
});
;

