function Kontaktform_init()
{

	if(typeof(CharCounter_init) == 'function')
	{
		CharCounter_init();
		$j('#Form_KontaktForm_Text').charCounter(500 , 
				{
					container: "<span style='font-size:12px;'></span>",
					classname: "",
					format: "(%1 Zeichen verbleibend)",
					pulse: false,
					delay: 0
			
				});		
	}
	

	
	$j("#Form_KontaktForm").submit(function()		
			{		

				// @see sapphire/javascript/Validator.js for method hasHadFormError() 
				if(!hasHadFormError()) 
				{		
				
				        var inputs = $j('#Form_KontaktForm :input');
				        var values = {};
				        inputs.each(function() 
				        {
				        	if(this.name == 'SecurityID' || this.name == 'action_doKontaktFormSubmit') { return; } 
				            values[this.name] = $j(this).val();
				        });		        		        
				    		        
				        var KID = $j('#Form_KontaktForm_KID').val();
				        if(KID == 'undefined' || KID == '')
				        {
				        	var KID = 0;
				        }

				        $j.ajax( {
						url : CURSITE_AJAX_URL+"/AjaxKontakt/send/?KID="+KID+"&ajax=?",			
						global : false,
						async : false,
						cache : false,
						type : "GET",
						data : values,
						dataType : 'json',
						success : function(response) {
							/*
							 * !FIXME Statt ein nerviges alert lieber ein div für 2 Sekunden
							 * einfaden. Globale Funktion zum einblenden von Meldungen.
							 */
										
							var msgElement = $j('#Form_KontaktForm_error');
							msgElement.html('');
						
							if(response.status == 'OK')
							{				
								$j('#Form_KontaktForm :submit').attr('disabled','true');
								setTimeout("Kontaktform_cleanAjaxForm('Form_KontaktForm')",6000);														        
							}
							else
							{
								msgElement.css("background-color","#ec8686");								
							}
							
							
							msgElement.html(response.message);
							
							// Meldung einfaden
							msgElement.fadeIn(1000);
									
							// Meldung in 5 Sekunden wieder ausblenden.
							setTimeout("$j('#Form_KontaktForm_error').fadeOut(1000)",5000);
							// Text bzw. Meldung entfernen sonst gibt es Probleme
							setTimeout("$j('#Form_KontaktForm_error').html('')",7000);
							
							
				
						},
						error : function(xhr,textStatus,errorThrown)
						{
							alert("Status : " + xhr.status + "\n\n Error :\n" + errorThrown);				
						}		
					});			
					
					

					
				}
				
				// Formular wird nicht gesendet!
				return false;
				
			});


}

function Kontaktform_cleanAjaxForm(formID)
{
    var inputs = $j('#'+formID+' :input');
    inputs.each(function() {
    	if($j(this).is(':submit'))
    	{    	
    		$j(this).removeAttr('disabled');
    	}
    	else
    	{
    		$j(this).val('');	
    	}
    });	
        
    
}
