/* JavaScript-Datei fuer Possehl-DFT Spezialbau */
// Bugfix fuer IEx bei Hintergrund-Bildern
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch (e) {}

// Funktion, um E-Mail zu verbergen
function openmailurl(prefix, postfix) {
	location.href= 'mailto:' + prefix + '@' + postfix;
}
function settext(text,field) {
	if (field.value == '') {
		field.value = text;
	}
}
function cleartext(text,field) {
	if (field.value == text) {
		field.value='';
	}
}

/* Formulareeingaben pruefen */
function checkForm(formname, werte) {
	var fields = new Array();
	var check = 0;
	var regex=/^[\w,_,\-,.]*$/;
	
	for (var i=0; i<werte.length; i++) {
		fields[i] = document[formname][werte[i]].value;
	}
	
	for (var i=0; i<fields.length; i++) {
		if (fields[i] == "") {
			alert('Sie müssen alle mit * gekennzeichneten Felder ausfüllen!');
			return false;
		} else {
			check++;
		}
	}
	if (check == werte.length) {
		return true;
	} else {
		return false;
	}
}

// Funktion zum Unterbinden von Mehrfachausfuehrungen
var only_once_list = new Array();
function only_once(obj) {
	if(only_once_list[obj.name] == 1) {
		return true;
	}
	if(obj.href) {
		obj.disabled;
		if(obj.style) {
			obj.style.color = "#999999";
			obj.style.textDecoration = "none";
			obj.style.cursor = 'wait';
		}
		return true;
	}
	for(var i = 0; ; i++) {
		if(!obj[i]) { break; }
		if(obj[i].type != 'button' && obj[i].type != 'submit') { continue; }
		if(obj[i].name == 'execonce') {
			obj[i].disabled;
			if(obj[i].style) {
				obj[i].style.backgroundColor = "#CCCCCC";
				obj[i].style.color = "#999999";
				obj[i].style.border = "solid #999999 1px";
			}
		}
	}
	only_once_list[obj.name] = 1;
	return true;
}

$(function(){
  var imgSwap_it = 0;
  var imgSwap_num = $('.leaderimage img').length;
  
  imgSwap = function () {
  	$('.leaderimage img:eq('+imgSwap_it+')').effect('puff', null, 2000, function() {
  		//console.log("---- ", imgSwap_num);
  		$('.leaderimage img').each(function (index) {
  			var zIndex = parseInt($(this).css("zIndex")) % imgSwap_num;
  			zIndex++;
  			//console.log(index, zIndex);
  			$(this).css({zIndex : zIndex, opacity : 1}).show();
  		});
  		imgSwap_it = (imgSwap_it + 1) % $('.leaderimage img').length;
  		window.setTimeout("imgSwap()", 3000);
  	});
  };
  
	if ($('.leaderimage img').length > 1) {
		$('.leaderimage br').remove();
		$('.leaderimage img').each(function (index) {
			$(this).css("zIndex", imgSwap_num-index);
		});
		setTimeout("imgSwap()", 3000);
	}
});


$(document).ready(function() {
	$('#news h1:gt(0)').css('margin', '25px 0px 15px 0px');
	
	$('#submit').hover(
		function () {
			$(this).css({'background-position' : '0px -22px'});
		}, 
		function () {
			$(this).css({'background-position' : '0px 0px'});
		}
	);
	
	$('.toggle_fieldset').click(function() {
	    $(this).next().slideToggle();
	    
	    imgSrc = $(this).children('img').attr('src');
	
	    if (imgSrc == '/images/minus_icon.gif') {
	        $(this).children('img').attr('src', '/images/plus_icon.gif');
	    } else {
	        $(this).children('img').attr('src', '/images/minus_icon.gif');   
    	}
      
		if ($('#emailform_fieldset3').is(':visible')) {
			$('#table_submit').css('border-top', '2px solid #FFFFFF');
		} else {
			$('#table_submit').css('border-top', 'none');
		}
	});
	
	$('.cleaning_instruction, .downloads h3').hover(function () { $(this).toggleClass("red"); }).click(function() {
	    $(this).next().slideToggle();
	    imgSrc = $(this).children('img').attr('src');
	    if (imgSrc == '/images/minus_icon.gif') {
	        $(this).children('img').attr('src', '/images/plus_icon.gif');
	    } else {
	        $(this).children('img').attr('src', '/images/minus_icon.gif');   
    	}
	});
	
	$('.body_home #content_right .teaser_outer:eq(0)').css('padding-top', '30px');
	
	$('.product_table table').each(function() {
		$('tr:eq(0) td', this).css({ color : '#FFFFFF', backgroundColor : '#A9A9A9', verticalAlign : 'top', fontWeight : 'bold' });;
	});
	
	$('.product_table table tr').each(function() {
		$('td:eq(0)', this).css({ textAlign : 'left', paddingRight : '4px' });
	});
	
	$("map area").hover(function() {
        stClass='standort_'+$(this).attr('name');
	  	$('#image_standortkarte').addClass(stClass).attr('src','/images/dummy.gif');
	}, function() {
       stClass='standort_'+$(this).attr('name');
	  $('#image_standortkarte').removeClass(stClass);
	});
	
	$("map area").click(function(){
		return false;
	});
	
	/**
	* Singleton zum abwechselnden Anzeigen von '.product_table's
	*
	* @author Lars-Erik Kimmel
	*/
	var productTableDisplay = {
		/**
		 * Zeigt nur die aktuelle Tabelle an und blendet alle anderen mit der selben 
		 * CSS-Klasse aus
		 */
		apply: function () {
			$('.product_table:visible').hide();
			$('.product_table:eq('+ this.indexVisibleProductTable +')').show();
			this.disableButtons();
		},

		/**
		 * Setzt '.disabled' bei Buttons, wenn ein Ende (erste oder letzte Tabelle)
		 * erreicht wurde.
		 */
		disableButtons: function () {
			// Next-Button auf '.disabled' setzen oder entfernen
			if (this.indexVisibleProductTable < this.numProductTables-1) {
				$('#link_products_next').removeClass("disabled");
			} else {
				$('#link_products_next').addClass("disabled");
			}
			// Back-Button auf '.disabled' setzen oder entfernen
			if (this.indexVisibleProductTable > 0) {
				$('#link_products_back').removeClass("disabled");
			} else {
				$('#link_products_back').addClass("disabled");
			}
		},

		/**
		 * Zeigt die n??chste Tabelle an, sofern nicht die letzte.
		 * Ist die letzte, erreicht wird der Button '.link_products_next' auf
		 * '.disabled' gesetzt.
		 */
		next: function () {
			if (this.indexVisibleProductTable < this.numProductTables-1) {
				this.indexVisibleProductTable++;
				this.apply();
			}
		},

		/**
		 * Zeigt die vorherige Tabelle an, sofern nicht die erste.
		 * Ist die erste, erreicht wird der Button '.link_products_next' auf
		 * '.disabled' gesetzt.
		 */
		prev: function () {
			if (this.indexVisibleProductTable > 0) {
				this.indexVisibleProductTable--;
				this.apply();
			}
		},

		/**
		 * Gleicht die H??he der Kopfzeile aller Tabellen an die gr????te Kopfzeile an.
		 */
		adjustTableHeaderHeight: function () {
			var height = 0;
			var $tableheaders = $('.product_table tr:first-child');
			for (var i = 0; i < $tableheaders.length; ++i) {
				height = Math.max(height, $($tableheaders[i]).height());
			}
			$tableheaders.height(height);
		},

		/**
		 * Setzt die erste Tabelle sichtbar und blendet alle anderen aus
		 */
		init: function () {
			this.indexVisibleProductTable = 0;
			this.numProductTables = $('.product_table').length;
		  
			if (this.numProductTables > 1) {
				$('#link_products_next').click(function() {
					productTableDisplay.next();
					$(this).blur();
					return false;  
				});
				  
				$('#link_products_back').click(function() {
					productTableDisplay.prev();
					$(this).blur();
					return false;  
				});
				
				this.adjustTableHeaderHeight();
			}
			
			this.apply();
		}
	}
	// Initialisiere das Objekt
	productTableDisplay.init();
});



