
/*
 * -------------------------------------------------------------------------
 * @file 		dom.js
 * @version 	1.0.0
 * @date 		2010-08-24 12:39:52 +0200 (Tue, 24 Aug 2010)
 * @author 		Matthias Mertiens <mail@mertiens.biz>
 * --------------------------------------------------------------------------
 * Copyright (c) 2010 mertiens. ideas for communication <http://mertiens.biz>
 * -------------------------------------------------------------------------- 
 */
 

$(function() {


	$('li', 'menu').hover(
		function() { $(this).addClass('hover'); },
		function() { $(this).removeClass('hover'); }
		);

	$('.external_link').attr('target','_blank');
						
					
					
	$('a','#fotogalerie').attr('rel', 'gallery').fancybox();
	
	
	
					
						




function isEmail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
} 
					
					
						
/* 	Easy Form Validation   -------------------------------------------------------------					 */
										
$.fn.bindForm = function(link) {

	var cf = this;

	var submitButtonOld = $('#submitButton',cf).css('display','none');
	var submitButton = $('<a href="#" class="button gradient">' + ( $(submitButtonOld).val() || $(submitButtonOld).text() ) + '</a>').appendTo( $(submitButtonOld).parent() );


	$(submitButton).bind('click', function(event) {
	
			event.preventDefault();
	 	
 			var goSubmit = true;
	 			
	 			
	 		$('.required',cf).each(function(){
	 				
	 				
	 			var elid = $(this).attr('id');	

				$(this).val( $.trim($(this).val()) );
	 				
	 				 						 			
	 			if( $(this).val()=="" || ( $(this).hasClass('email') && !isEmail( $(this).val() )) || ( $(this).attr('type')=='checkbox' && !$(this).attr('checked') ) ) {
	 				
	 				var parentP = $(this).parent('p');
	 				
	 				var errorMsg = $('<span class="errormsg">Bitte ausfüllen!</span>');
	 				
	 				if( $(this).hasClass('email') && !isEmail( $(this).val()) )
	 				var errorMsg = $('<span class="errormsg">Bitte tragen Sie eine gültige Mail-Adresse ein!</span>');
	 				
	 				
	 				if( $('.errormsg',parentP).length == 0)
	 				parentP.addClass('error').append( $(errorMsg).hide().fadeIn(800) );

	 				$(this).keyup(function() { 

								if( ($.trim($(this).val())!="" &&  !( $(this).hasClass('email') && !isEmail( $(this).val() ) ) )	 || 	( $(this).attr('type')=='checkbox' && $(this).attr('checked') )  ) {
	 							parentP.removeClass("error");
	 							errorMsg.remove();
	 							}
	 						});
	 				
	 				goSubmit = false;
	 					
	 				} // /if	
	 			});
	 			
	 			
	 		
	 		
	 		// Formular senden ---------------------		
	 		if( goSubmit ) {	

				submitButton.replaceWith('<img id="loading" src="/resources/templates/img/ajax-loader.gif" alt="Loading" >');

	 			var formulardata = $(cf).serialize();
	 			var url = $(cf).attr('action'),
	 				on_success = function() { $('#loading')
	 												.replaceWith('<p class="gesendet">Die E-Mail wurde versendet.</p>'); 
	 												$('fieldset,#hinweis',cf).not('.buttonbox').animate({ opacity: 0.2 }); 
	 												$(link).unbind().click(function(){return false;}).css({ opacity: 0.3 }); 
	 												};
	 												
	 			//alert(formulardata);									
	 			$.ajax({ 	
	 					type: 'POST',
	 					url: url, 
	 					data: formulardata, 
	 					success: on_success 
	 					});

	 			}
	 				
			});

	return this;
} 
/* fct bindForm 	--------------------------------------------------------------------------------------					 */			


$('#MietenFormSet').bindForm(null);	
$('#GrillenFormSet').bindForm(null);	
			
			
			
			
			
			
			
			
			
			
			
$('#Calendar .prev a, #Calendar .next a').live('click', function() {
	$('#Calendar .calendar').css('opacity', '0.3');
	date = $(this).attr('rel');
	$.post('news-uebersicht/', {action: 'refreshCalendar', date: date},
			function(data) {
			$('#Calendar').html(data);
			$('#Calendar .calendar').css('opacity', '1');
			});
	return false;
});
$('#Calendar .isevent').live('mouseenter',function() {
		id = this.id;
		$('#' + id + ' .event').show();
		});
$('#Calendar .isevent').live('mouseleave',function() {
		id = this.id;
		$('#' + id + ' .event').hide();
		});





$('#fullSiteCalendar .prev a, #fullSiteCalendar .next a').live('click', function() {
	$('#fullSiteCalendar .calendar').css('opacity', '0.3');
	date = $(this).attr('rel');
	$.post('termine/', {action: 'refreshCalendar', date: date},
			function(data) {
			$('#fullSiteCalendar').html(data);
			$('#fullSiteCalendar .calendar').css('opacity', '1');
			});
	return false;
});

/*
$('#fullSiteCalendar .isevent').live('mouseenter',function() {
		id = this.id;
		$('#' + id + ' .event').show();
		});
$('#fullSiteCalendar .isevent').live('mouseleave',function() {
		id = this.id;
		$('#' + id + ' .event').hide();
		});
*/
			
	
			
			
			
			
			
			
			
			
	
	
});
