spardaHelper = {};

spardaHelper.changeTab = function(aTab) {
	jQuery('.pane').removeClass('selected');
	jQuery('.tab').removeClass('selected');
	jQuery('#pane-'+aTab).addClass('selected');
	jQuery('#tab-'+aTab).parent().addClass('selected');
}


spardaHelper.setThumbIndex = function(aNumber) {
	jQuery('#thumbs-counter').val(aNumber);
	spardaHelper.showThumb();
}
spardaHelper.changeThumbIndex = function(aDir) {
	var thumbIndex = parseInt(jQuery('#thumbs-counter').val());
	var	thumbCount = jQuery('.thumb').length;
	
	thumbIndex = thumbIndex + aDir;
	if (thumbIndex < 0) thumbIndex = (thumbCount-1);
	if (thumbIndex >= thumbCount) thumbIndex = 0;
	
	jQuery('#thumbs-counter').val(thumbIndex);
	
	spardaHelper.showThumb();
}

spardaHelper.showThumb = function() {
	var thumbIndex = jQuery('#thumbs-counter').val();
	var $thumb = jQuery('#thumb-'+thumbIndex);
	var $img = jQuery('#main-picture-picture IMG');
	var $imgTxt = jQuery('#main-picture-text');
	
	var thumbSrc = $thumb.attr('src');
	var thumbTxt = $thumb.attr('title');
	
	$img.attr('src', thumbSrc);
	$img.attr('alt', thumbTxt);
	$img.attr('title', thumbTxt);
	$imgTxt.html(thumbTxt);
	
	jQuery('.thumb').removeClass('selected');
	jQuery('#thumb-'+thumbIndex).parent().addClass('selected');
}

spardaHelper.changeNeubauThumbIndex = function(aDir, $tgt) {
	var $thumbCounter = $tgt.parent().children('INPUT');
	var thumbIndex = parseInt($thumbCounter.val());
	var	thumbCount = $tgt.parent().children('.thumb-wrapper').length;

	thumbIndex = thumbIndex + aDir;
	if (thumbIndex < 0) thumbIndex = (thumbCount-1);
	if (thumbIndex >= thumbCount) thumbIndex = 0;
	
	$thumbCounter.val(thumbIndex);
	
	spardaHelper.showNeubauThumb($tgt);
}

spardaHelper.showNeubauThumb = function($tgt) {
	var $thumbCounter = $tgt.parent().children('INPUT');
	var thumbIndex = parseInt($thumbCounter.val());
	
	$tgt.parent().children('.thumb-wrapper').removeClass('selected');
	$tgt.parent().children('.thumb-wrapper').eq(thumbIndex).addClass('selected');
}


/* ============================================== */
jQuery(document).ready(function() {
	
	// CLICK: Tab
	jQuery('.tpl-immobiliedetails .tab A').click(function(ev){
		var $tgt = jQuery(ev.target);
		var clickedTab = $tgt.attr('id').split('-')[1];
		
		spardaHelper.changeTab(clickedTab);
		return false;
	});
	
	// CLICK: Thumb-Einklinker
	jQuery('.tpl-immobiliedetails .immo-picture A').click(function(ev) {
		spardaHelper.changeTab('bilder');
		return false;
	});
	
	// CLICK: Thumb -> Großansicht
	jQuery('.tpl-immobiliedetails #thumbs-wrapper .thumb IMG').click(function(ev) {
		var $tgt = jQuery(ev.target);
		var clickedThumb = $tgt.attr('id').split('-')[1];
		spardaHelper.setThumbIndex(parseInt(clickedThumb));
		return false;
	});
	
	// CLICK: Thumb -> Weiterschalten
	jQuery('.tpl-immobiliedetails #thumb-prev').click(function(ev) {
		spardaHelper.changeThumbIndex(-1);
		return false;
	});
	jQuery('.tpl-immobiliedetails #thumb-next').click(function(ev) {
		spardaHelper.changeThumbIndex(1);
		return false;
	});
	jQuery('#objekt-prev').click(function(ev) {
		spardaHelper.changeNeubauThumbIndex(-1, jQuery(this));
		return false;
	});
	jQuery('#objekt-next').click(function(ev) {
		spardaHelper.changeNeubauThumbIndex(1, jQuery(this));
		return false;
	});
	jQuery('#lage-thumb-prev').click(function(ev) {
		spardaHelper.changeNeubauThumbIndex(-1, jQuery(this));
		return false;
	});
	jQuery('#lage-thumb-next').click(function(ev) {
		spardaHelper.changeNeubauThumbIndex(1, jQuery(this));
		return false;
	});
	
	// CLICK: Submit-Check
	jQuery('#submit-email-neubau').click(function(ev){
		var isError = false;
		
		var fieldsToBeChecked = ['vorname', 'nachname', 'strasse', 'plz', 'ort', 'telefon', 'email'];
		// Error-Labels löschen
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			jQuery(selector).next('.error').html = '';
			jQuery(selector).next('.error').addClass('disabled');
		});
		
		// Sind Felder leer?
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			if (jQuery(selector).val().length == 0) {
				jQuery(selector).next('.error').html('Das Feld muss ausgefüllt sein!');
				jQuery(selector).next('.error').removeClass('disabled');
				isError = true;
			}
				
		});
		// Check eMail
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			
			if (jQuery(selector).hasClass('email')) {
				if (!emailPattern.test(jQuery(selector).val())) {
					jQuery(selector).next('.error').html('Dies ist keine gültige eMail-Adresse');
					jQuery(selector).next('.error').removeClass('disabled');
					isError = true;
				}			
			}
		});
		
		
		if (isError) return false;
		
	});
	// CLICK: Submit-Check
	jQuery('#submit-email-details').click(function(ev){
		var isError = false;
		
		var fieldsToBeChecked = ['vorname', 'nachname', 'strasse', 'plz', 'ort', 'telefon', 'email'];
		// Error-Labels löschen
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			jQuery(selector).next('.error').html = '';
			jQuery(selector).next('.error').addClass('disabled');
		});
		
		// Sind Felder leer?
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			if (jQuery(selector).val().length == 0) {
				jQuery(selector).next('.error').html('Das Feld muss ausgefüllt sein!');
				jQuery(selector).next('.error').removeClass('disabled');
				isError = true;
			}
				
		});
		// Check eMail
		jQuery.each(fieldsToBeChecked, function(index, value){
			var selector = '#'+value;
			var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			
			if (jQuery(selector).hasClass('email')) {
				if (!emailPattern.test(jQuery(selector).val())) {
					jQuery(selector).next('.error').html('Dies ist keine gültige eMail-Adresse');
					jQuery(selector).next('.error').removeClass('disabled');
					isError = true;
				}			
			}
		});
		
		
		if (isError) return false;
		
	});
});


