/**
 * @author Arne
 */

function UnCryptMailto(s, shift) {
	var n=0;
	var r="";
	for(var i=0;i<s.length;i++) { 
		n=s.charCodeAt(i); 
		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n-(shift)); 
	}
	return r;
}
function linkTo_UnCryptMailto(s, shift)	{
	location.href=UnCryptMailto(s, shift);
}

$(document).ready(function(){
	
	function autoclear(e) {
		e.focus(function() {
			if($(this).val() == $(this).attr('defaultValue')) {
				$(this).val('');
				$(this).removeClass('default');
			}
		});
		e.blur(function() {
			if($(this).val() == '') {
				$(this).val($(this).attr('defaultValue'));
				$(this).addClass('default');
			} else if($(this).val() == $(this).attr('defaultValue')) {
				$(this).addClass('default');
			}
		})
	}
		
	/* Autoclear für Formularfelder */
	autoclear($('#direktkontakt_name'));
	autoclear($('#direktkontakt_telefon'));
	autoclear($('#direktkontakt_email'));
	autoclear($('#direktkontakt_nachricht'));
	
	// Direktkontakt mail
	$('#direktkontakt a').click(function() {
		direktkontakt();
		return false;
	});
	$('#direktkontakt').submit(function() {
		direktkontakt();
		return false;
	});
	
	function direktkontakt() {
		var ok = true;
		
		var focusObj;
		var mietenKaufen = "Der Kunde wünscht, das entsprechende Objekt zu ";
		mietenKaufen += ($('#direktkontakt_mieten').attr('checked')) ? "mieten." : "kaufen.";
		var name = $('#direktkontakt_name').val();
		var telefon = $('#direktkontakt_telefon').val();
		var email = $('#direktkontakt_email').val();
		var nachricht = $('#direktkontakt_nachricht').val();
		
		if(jQuery.trim(nachricht) < 15 || $('#direktkontakt_nachricht').val() == $('#direktkontakt_nachricht').attr('defaultValue')) {
			$('#direktkontakt div').hide();
			$('#direktkontakt div.ausfuellen').show();
			focusObj = $('#direktkontakt_nachricht');
			ok = false;
		}
		
		var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
		if (!filter.test(email)) {
			$('#direktkontakt div').hide();
			$('#direktkontakt div.ausfuellen').show();
			focusObj = $('#direktkontakt_email');
			ok = false;
		}
		
		if(jQuery.trim(name).length < 4 || $('#direktkontakt_name').val() == $('#direktkontakt_name').attr('defaultValue')) {
			$('#direktkontakt div').hide();
			$('#direktkontakt div.ausfuellen').show();
			focusObj = $('#direktkontakt_name');
			ok = false;
		}
		
		if(jQuery.trim(telefon).length < 4 || $('#direktkontakt_telefon').val() == $('#direktkontakt_telefon').attr('defaultValue')) {
			$('#direktkontakt div').hide();
			$('#direktkontakt div.ausfuellen').show();
			focusObj = $('#direktkontakt_telefon');
			ok = false;
		}
		
		if(!ok) {
			focusObj.focus();
		}
		
		if(ok === true) {
			var data = {
				'name': name,
				'mietenKaufen': mietenKaufen,
				'telefon': telefon,
				'email': email,
				'nachricht': nachricht,
				'type': 'sofort'
			}
			
			$.post('mail.php', data, function(data) {
				if(data == "true") { 
					$('#direktkontakt div').hide();
					$('#direktkontakt div.ok').show();
				} else {
					$('#direktkontakt div').hide();
					$('#direktkontakt div.error').show();
				}
			}, 'text');
		}
	}
	
	autoclear($('#kontakt_name'));
	autoclear($('#kontakt_mail'));
	autoclear($('#kontakt_tele'));
	autoclear($('#kontakt_betreff'));
	autoclear($('#kontakt_text'));
	
	$('#kontaktform a.absenden').click(function() {
		kontakt();
		return false;
	});
	$('#kontaktform').submit(function() {
		kontakt();
		return false;
	});
	
	function kontakt() {
		
		var ok = true;
		
		var name = $('#kontakt_name').val();
		var email = $('#kontakt_mail').val();
		var telefon = $('#kontakt_tele').val();
		var betreff = $('#kontakt_betreff').val();
		var nachricht = $('#kontakt_text').val();
		var focusObj;
		
		if(jQuery.trim(nachricht).length < 15 || $('#kontakt_text').val() == $('#kontakt_text').attr('defaultValue')) {
			focusObj = $('#kontakt_text');
			$('#kontakt_text').next().show();
			ok = false;
		} else {
			$('#kontakt_text').next().hide();
		}
		
		if(jQuery.trim(betreff).length < 5 || $('#kontakt_betreff').val() == $('#kontakt_betreff').attr('defaultValue')) {
			focusObj = $('#kontakt_betreff');
			$('#kontakt_betreff').next().show();
			ok = false;
		} else {
			$('#kontakt_betreff').next().hide();
		}
		
		if(jQuery.trim(telefon).length < 5 || $('#kontakt_tele').val() == $('#kontakt_tele').attr('defaultValue')) {
			focusObj = $('#kontakt_tele');
			$('#kontakt_tele').next().show();
			ok = false;
		} else {
			$('#kontakt_tele').next().hide();
		}
		
		var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
		if (!filter.test(email)) {
			focusObj = $('#kontakt_mail');
			$('#kontakt_mail').next().show();
			ok = false;
		} else {
			$('#kontakt_mail').next().hide();
		}
		
		if(jQuery.trim(name).length < 4 || $('#kontakt_name').val() == $('#kontakt_name').attr('defaultValue')) {
			focusObj = $('#kontakt_name');
			$('#kontakt_name').next().show();
			ok = false;
		} else {
			$('#kontakt_name').next().hide();
		}
		
		
		if (!ok) {
			focusObj.focus();
		}
		
		if(ok === true) {
			var data = {
				'name': name,
				'email': email,
				'telefon' : telefon,
				'betreff': betreff,
				'nachricht': nachricht,
				'type': 'kontakt'
			}
			
			$.post('mail.php', data, function(data) {
				if(data == "false") { 
					$('DIV#content.kontakt div.warningMSG').slideUp('normal');
					$('DIV#content.kontakt div.warningMSG.ok').slideDown('normal');
				} else {
					$('DIV#content.kontakt div.warningMSG').slideUp('normal');
					$('DIV#content.kontakt div.warningMSG.error').slideDown('normal');
				}
			}, 'text');
		}
	}
	
	// wohnungsuebersicht hover
	$('#content.uebersicht div.left a').hover(function() {
		$(this).children(':first').stop(true, false).fadeTo(300, 0);
	}, function() {
		$(this).children(':first').fadeTo(300, 1);
	});
	
	
	// wohnungsuebersicht change
	$('#content.uebersicht div.left a').click(function() {
		if($(this).children(':first').attr('class') != 'hidden') {
			$('#content.uebersicht div.left a img:hidden').css('opacity', '0').removeClass('hidden').fadeTo(300, 1);;
			$(this).children(':first').addClass('hidden');
			var visId = $(this).attr('href');
			$('#content div.right > div.detailansicht:visible').fadeOut(400, function() {
				$(visId).fadeIn(400);
			});
		}
		
		return false;
	});
	
});

