﻿var EmailPattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);

jQuery.fn.extend({
	HandleDefaultText: function() {
		this.focus(function() {
			var $this = $(this);
			var textVal = $this.val();
			var defaultVal = $this.data("Default");
			if (defaultVal == null || defaultVal == "") {
				$this.data("Default", $this.val());
				$this.val("");
			} else {
				if (textVal == null || textVal == "" || textVal == defaultVal) {
					$this.val("");
				}
			}
		}).blur(function() {
			var $this = $(this);
			var textVal = $this.val();
			var defaultVal = $this.data("Default");
			if (textVal == null || textVal == "") {
				$this.val(defaultVal);
			}
		});
		return this;
	},
	CheckEmailAddress: function() {		
		return EmailPattern.test(this.val());
	},
	LimitChars: function(limit, infoDivId) {
		this.keyup(function(){
		var $this = $(this);
			var text = $this.val(); 
			var textlength = text.length;
			if(textlength > limit) {
				$('#' + infoDivId).html('Es sind nur '+limit+' Zeichen erlaubt!');
				$this.val(text.substr(0,limit));				
			}  else  {
				$('#' + infoDivId).html('Noch '+ (limit - textlength) +' Zeichen übrig.');				
			}
		});
	}
});
