jQuery(document).ready(function($){
	/* contact */
	var contact = $("#contact_us");
	var contact_short = $("#contact_us_short");

	var email = contact_short.find('input[name="email"]');
	var message = contact_short.find('textarea[name="message_body"]');
	var nl_email = $('input[name="newsletter_email"]');
	var request = contact.find('select[name="request"]');
	var order_id_container = $('#order_id_container');

	var default_msg_text = 'Ihr Anliegen...';
	var default_email_text = 'Ihre Email...';

	var emailReg = 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);

	function clear(elem) {
		elem.removeClass('redborder');
		elem.next().remove();
		elem.css('color', '#333');
	}

	/* contact page */
	if (request.val() == 'Frage zu Ihrer Bestellung' || request.val() == 'Lieferstatus Ihrer Bestellung'){
		order_id_container.show();
	} else {
		order_id_container.hide();
	}
	request.change(function(){
		var option = $(this).val();
		if (option == 'Frage zu Ihrer Bestellung' || option == 'Lieferstatus Ihrer Bestellung'){
			order_id_container.show();
		} else {
			order_id_container.hide();
		}
	});

	/* contact footer */
	message.focusin(function(){
		clear($(this));
		if ($(this).val() == default_msg_text) {
			$(this).val('');
		}
	}).focusout(function(){
		$(this).css('color', '#999');
		if ($(this).val() == '') {
			$(this).val(default_msg_text);
		}
	});
	email.focusin(function(){
		clear($(this));
		if ($(this).val() == default_email_text) {
			$(this).val('');
		}
	}).focusout(function(){
		$(this).css('color', '#999');
		if ($(this).val() == '') {
			$(this).val(default_email_text);
		}
	});

	contact_short.submit(function(e){
		e.preventDefault();

		var hasError = false;
		$('div.small').remove();
		email.removeClass('redborder');
		message.removeClass('redborder');

		if (email.val() == '' || email.val() == 'Ihre Email...') {
			email.addClass('redborder');
			email.after('<div class="small redtext">Bitte geben Sie Ihre Email-Adresse an.</span>');
			hasError = true;
		} else if (!emailReg.test(email.val())) {
			email.addClass('redborder');
			email.after('<div class="small redtext">Ihre angegebene Email-Adresse ist nicht korrekt.</span>');
			hasError = true;
		}
		if (message.val() == '' || message.val() == 'Ihr Anliegen...') {
			message.addClass('redborder');
			message.after('<div class="small redtext">Bitte geben Sie eine Nachricht an.</span>');
			hasError = true;
		}

		if (hasError == false) {
			$(this).hide();
			$('#contact_us_wait').show();

			$.post('contact_form.php', {
				submitted:true,
				email:email.val(),
				message:message.val()
			}, function(data){
				$('#contact_us_wait').hide();
				$('#contact_us_success').html(data).fadeIn();
				email.val('');
				message.val('');
			});
		}
	});

	$('#contact_continue').live('click', function(){
		$('#contact_us_success').hide();
		contact_short.fadeIn();
	});


	/* newsletter */
	nl_email.focusin(function(){
		clear($(this));
		if ($(this).val() == default_email_text) {
			$(this).val('');
		}
	}).focusout(function(){
		$(this).css('color', '#999');
		if ($(this).val() == '') {
			$(this).val(default_email_text);
		}
	});

	$("#newsletter").submit(function(e){
		e.preventDefault();
		var hasError = false;
		$('div.small').remove();
		nl_email.removeClass('redborder');

		if (nl_email.val() == '' || nl_email.val() == 'Ihre Email...') {
			nl_email.addClass('redborder');
			nl_email.after('<div class="small redtext" style="padding:5px 5px 0">Bitte geben Sie Ihre Email-Adresse an.</span>');
			hasError = true;
		} else if (!emailReg.test(nl_email.val())) {
			nl_email.addClass('redborder');
			nl_email.after('<div class="small redtext" style="padding:5px 5px 0">Ihre angegebene Email-Adresse ist nicht korrekt.</span>');
			hasError = true;
		}

		// submit if no error
		if (hasError == false) {
			$(this).hide();
			$('#newsletter_wait').show();
			$.post('newsletter.php', {
				submitted:true,
				email:nl_email.val(),
			}, function(data){
				$('#newsletter_wait').hide();
				$('#newsletter_success').html(data).fadeIn();
				nl_email.val('');
			});
		}
	});

	$('#newsletter_continue').live('click', function(){
		$('#newsletter_success').hide();
		$('#newsletter').fadeIn();
	});

});
