
function likeIt(e, u, reload)
{
	jQuery(e).block({ message : null });
	jQuery.ajax(
	{
		url : u,
		cache : false,
		type : 'GET',
		dataType : 'xml',
		success : function()
		{
			if (reload)
			{
				document.location.reload(true);
			}
			else
			{
				jQuery(e).unblock();
				jQuery(e).fadeOut();
			}
			
		},
		error : function(x, s, ex)
		{
			alert('Es ist leider ein Fehler aufgetreten!');
			jQuery(e).unblock();
		}
	});
}


function checkForm(id)
{
	var f = document.getElementById(id);
	var ok = true;
	///
	if (f)
	{
		var ea = jQuery('.obligatory', f).get();
		///
		for (var i = 0;i < ea.length;i++)
		{
			var e = ea[i];
			var filled = false;
			///
			switch (e.type)
			{			
				case 'text':
				case 'file':
				case 'textarea':
				case 'password':
					filled = (e.value != '');
					break;
				case 'checkbox':
					filled = e.checked;
					break;
			}
			if (filled && (e.type == 'text') && jQuery(e).hasClass('email'))
			{
				var re = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
				///
				if (!re.test(e.value))
				{
					filled = false;
				}
			}
			if (!filled)
			{
				ok = false;
				jQuery(e).css('background-color', '#ffaaaa');
			}
			else
			{
				jQuery(e).css('background-color', '#ffffff');
			}
		}
		if (!ok)
		{
			alert('Bitte alle Pflichtfelder ausfüllen!');
		}
	}
	return ok;
}


function contactIt(id, u)
{
	var e = document.getElementById(id);
	var f = e;
	var s = function()
	{
		jQuery(e).html('<p>Vielen Dank!</p>');
	};
	///
	if (f.nodeName != 'FORM')
	{
		f = e.getElementsByTagName('form')[0];
	}
	postIt(u, e, collectFields(f), s);
}


function submitIt(id, u)
{
	var e = document.getElementById(id);
	var f = e;
	var s = function()
	{
		document.location.reload(true);
	};
	///
	if (f.nodeName != 'FORM')
	{
		f = e.getElementsByTagName('form')[0];
	}
	postIt(u, e, collectFields(f), s);
}


function postIt(u, e, d, s)
{

	jQuery(e).block({ message : null });
	jQuery.ajax(
	{
		url : u,
		cache : false,
		type : 'POST',
		data : d,
		dataType : 'xml',
		contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
		success : s,
		
	
		
		error : function(x, s, ex)
		{
			alert('Es ist leider ein Fehler aufgetreten! ' + ex + '/' + s + '/' + x.documentElement);
			jQuery(e).unblock();
		}
	});
}


function collectFields(f)
{
	var coll = {};
	///
	for (var i = 0;i < f.elements.length;i++)
	{
		var d = f.elements[i];
		///
		if (!d.disabled)
		{
			if (d.name && (d.name != ''))
			{
				switch (d.type)
				{
					case 'text':
					case 'textarea':
					case 'hidden':
						if (d.value != '')
						{
							coll[d.name] = d.value;
						}
						break;
					case 'checkbox':
						if (d.checked && (d.value != ''))
						{
							coll[d.name] = d.value;
						}
						break;
					case 'select-one':
					coll[d.name] = d.value;
					break;
				}
			}
		}
	}
	return coll;
}


function callIt(u, e, ru, re)
{
	if (e)
	{
		jQuery(e).block({ message : null });
	}
	jQuery.ajax(
		{
			url : u,
			cache : false,
			type : 'GET',
			dataType : 'xml',
			success : function()
			{
				if (ru)
				{
					if (re)
					{
						jQuery(re).load(ru);
						jQuery(e).unblock();
					}
					else
					{
						document.location = ru;
					}
				}
				else
				{
					document.location.reload(true);
				}
			},
			error : function(x, s, ex)
			{
				alert('Es ist leider ein Fehler aufgetreten!');
				if (e)
				{
					jQuery(e).unblock();
				}
			}
		});
	
}


function commentIt(u, r)
{
	var f = document.getElementById('commForm');
	var oblig = [ 'name', 'email', 'text' ];
	var coll = collectFields(f);
	var ok = true;
	///
	for (var i = 0;ok && (i < oblig.length);i++)
	{
		if ((!coll[oblig[i]]) || (coll[oblig[i]] == ''))
		{
			ok = false;
		}
	}
	if (!ok)
	{
		alert('Bitte die Pflichtfelder ausfüllen!');
	}
	else
	{
		jQuery(f).block({ message : null });
		jQuery.ajax(
		{
			url : u,
			cache : false,
			type : 'POST',
			data : coll,
			dataType : 'xml',
			contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
			success : function()
			{
				if (r != '')
				{
					var c = jQuery('#captcha');
					///
					jQuery('#commentList').load(r);
					c.attr('src', c.attr('src') + '&t=' + Math.random());
					jQuery(f).unblock();
				}
				else
				{
					document.location.reload(true);
				}
			},
			error : function(x, s, e)
			{
				alert('Es ist leider ein Fehler aufgetreten!');
				jQuery(f).unblock();
			}
		});
	}
}

