
/*
 * -------------------------------------------------------------------------
 * @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');
						
						




/*
function isEmail(str) {
  return ((str != "") && (str.indexOf("@") != -1) && (str.indexOf(".") != -1));}
*/


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) {

	$(this).bind('submit', function(event) {
	 
			var submitButton = $('#submitButton');

			event.preventDefault();
	 	
 			var goSubmit = true;
			var cf = this;
	 			
	 		$('.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) );
	 					
/* 	 				$('label[for="' + elid + '"]').addClass("error"); */

/* 	 				$(this).addClass("error") */
	 				$(this).keyup(function() { 
/* 	 							$(this).removeClass("error").parent('p') */

					

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

				submitButton.replaceWith('<img id="loading" src="/resources/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 	--------------------------------------------------------------------------------------					 */			


$('#ContactFormSet').bindForm(null);	



			
	
	
	$("#twitter").getTwitter({
					userName: "vision_teilen",
					numTweets: 3,
					loaderText: "Loading tweets...",
					slideIn: true,
					slideDuration: 750,
					showHeading: true,
					headingText: "Twitter",
					showProfileLink: true,
					showTimestamp: true
				});
	
	
	
	
	
	
	
	
	
});
