      dojo.require("dojo.event.*");
		dojo.require("dojo.widget.Textbox");
		dojo.require("dojo.widget.ValidationTextbox");
		dojo.require("dojo.widget.InternetTextbox");
      dojo.require("dojo.widget.Button");
      dojo.require("dojo.widget.validate");

		function textRange (min, max)
		{
			this.length = null;
			this.minlength = min;
			this.maxlength = max;
		}

		function emailFlags ()
		{
			this.allowCruft = false;
		}

		function save()
		{
			if(!extraValidation())
				return;
			dojo.io.bind({
		               url: '/lib/dojo.php',
		               handler: saveCallback,
		               mimetype: 'text/xml',
		               formNode: dojo.byId('newcomment')
		            });
		}

		function saveCallback(type, data, evt)
		{
			debugger
			if (type == 'error')
			  alert('Leider ist beim senden ein Fehler aufgetreten.\nVersuchen Sie es bitte noch einmal, Danke.');
			else
			{
			  	alert(data);
				var root_node = data.getElementsByTagName('result').item(0);
				if(root_node.firstChild.data != "-1" && root_node.firstChild.data != "0")
				{
					alert("Ihr Kommentar wurde erfolgreich gespeichert.");
					location.href = location.href+"&c=0";
				}
				else
					alert("Ihr Kommentar konnte aus nicht bekannten Gr?nden gespeichert werden.");
			 }
		}

		function extraValidation()
		{
			var isValid = true;
			var range = new textRange(3, 20);
			var rangeMain = new textRange(10, 350);
			var eFlags = new emailFlags();
			var name = document.forms[0].commentname.value;
			var email = document.forms[0].commentemail.value;
			var text = document.forms[0].commenttext.value;
			if(!dojo.validate.isText(name, range))
			{
				document.getElementById('cname').innerHTML = '<br/>Der Name mu&szlig; zwischen 3 und 20 Zeichen lang sein.';
				isValid = false;
			}
			else
				document.getElementById('cname').innerHTML = '';
			if(email.length > 0 && !dojo.validate.isEmailAddress(email, eFlags))
			{
				document.getElementById('cmail').innerHTML += '<br/>Die Email Addresse ist optional, mu&szlig; aber wenn Sie genutzt g&uuml;ltig sein.';
				isValid = false;
			}
			if(!dojo.validate.isText(text, rangeMain))
			{
				document.getElementById('carea').innerHTML = '<br/>Der Text mu&szlig; zwischen 10 und 350 Zeichen lang sein.';
				isValid = false;
			}
			else
				document.getElementById('carea').innerHTML = '';

			return isValid;
		}

		function init()
		{
			if(location.search.indexOf('&c=0') != -1)
			{
				document.getElementById('newcommentdiv').innerHTML = '';
			}


			if(document.forms[0])
			{
				document.forms[0].domain.value = location.host;
				var search = location.search.split('&');
				for(var i=0; i < search.length; i++)
				{
					var kv = search[i].split('=');
					if(kv[0] == 'blogcategory')
						document.forms[0].catid.value = kv[1];
				}

				var addCommentButton = dojo.widget.byId('addCommentButton');
				dojo.event.connect(addCommentButton, 'onClick', 'save')
			}
		}

		dojo.addOnLoad(init);