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();
});;
﻿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();
  
  // -------------------------------------------------------
});
;

