/**
 * @author gharbusch
 */
$(document).ready(function()
{

	// *** Save Default-Data from Message textarea
	var WIB_contact_prefillValues = {
		'Message': $('textarea#Message').val()
	};
	
	jQuery.validator.addMethod("notPrefillValue", function(value, element)
	{
		var elemID = $(element).attr('id');
		if (value == WIB_contact_prefillValues[elemID])
		{
			return false;
		}
		return true;
	}, "Please modify the prefill value");
	
	
	// *** Register focus/blur events for Message textarea
	$('textarea#Message').focus(function()
	{
		if ($(this).val() == WIB_contact_prefillValues.Message) 
			$(this).val('');
	});
	$('textarea#Message').blur(function()
	{
		if ($(this).val() == '') 
			$(this).val(WIB_contact_prefillValues.Message);
	});
	
	/**
	 * Validate Contact Form Data
	 */
	if ($('form#WIB_contactForm').size() > 0) 
	{
		$('form#WIB_contactForm').validate({
			focusCleanup: true,
			rules: {
				name: 'required',
				email: {
					email: true,
					required: true
				},
				subject: 'required',
				message: {
					required: true,
					notPrefillValue: true
				}
			},
			errorClass: 'WIB_warning',
			errorLabelContainer: "#WIB_formError ul",
			focusInvalid: false,
			messages: {
				name: 'Name: Dieses Feld ist ein Pflichtfeld.',
				email: {
					required: 'E-Mail: Dieses Feld ist ein Pflichtfeld.',
					email: 'E-Mail: Bitte geben Sie eine gültige E-Mail-Adresse an.'
				},
				subject: 'Betreff: Dieses Feld ist ein Pflichtfeld.',
				message: {
					required: 'Nachricht: Dieses Feld ist ein Pflichtfeld.',
					notPrefillValue: 'Nachricht: Bitte ändern Sie den Standard-Inhalt dieses Feldes.'
				}
			},
			wrapper: 'li',
			invalidHandler: function(form, validator)
			{
				var errors = validator.numberOfInvalids();
				if (errors) 
				{
					var message = errors == 1 ? 'Ein Feld wurde nicht oder nicht korrekt ausgefüllt:' : errors + ' Felder wurden nicht oder nicht korrekt ausgefüllt:';
					$('li#WIB_formHint').html(message);
					$("div#WIB_formError ul").show();
				}
				else 
				{
					$("div#WIB_formError ul").hide();
				}
			}
			
		});
	}
});

