/* slider based on prototype / scriptaculo.us ....by felixgoldstein.de */

var sl = new Object(); // Namespace for slideshow

function initSlideshow() {
	sl.current = 0;
	sl.links = $$("#slideNavi > .link");
	sl.timeout = 0;
	sl.images = [$('slideImage1'), $('slideImage2')];
	sl.curImage = 0;
	sl.running = false;
}

function slJump(link) {
	for (var n = 0; n < sl.links.length; n++) {
		if (sl.links[n] == link) {
			sl.current = n;
			break;
		}
	}
	
	sl.curImage = (sl.curImage + 1) % 2;
	var nextImage = sl.images[sl.curImage];
	
	var loaded = function() {
		slSwitch();
		
		Event.stopObserving(arguments.callee.nextImage, "load", arguments.callee);
	}
	
	loaded.nextImage = nextImage;
	
	sl.links.each(function (a) {
		$(a).removeClassName("active");
	});
	
	$(link).addClassName("active");
	
	
	$(nextImage).observe('load', loaded);
	$(nextImage).setOpacity(0);
	nextImage.src = link.rel;	
}

function slNext() {
	sl.current = (sl.current + 1) % sl.links.length;
	slJump(sl.links[sl.current]);
}

function slPrev() {
	sl.current = (sl.current - 1) < 0 ? sl.links.length - 1 : sl.current - 1;
	slJump(sl.links[sl.current]);
}

function slSwitch() {
	$(sl.images[sl.curImage]).style.display = "inline";
	new Effect.Fade($(sl.images[sl.curImage]), {
		duration: 1,
		fps: 50,
		from:0,
		to:1
	});
	
	new Effect.Fade($(sl.images[(sl.curImage + 1) % 2]), {
		duration: 1,
		fps: 50,
		from:1,
		to:0
	});
	
	window.clearTimeout(sl.timeout);
	if (sl.running) {
		sl.timeout = window.setTimeout("slNext()", 3000);
	}
}

function slStart() {
	
}

function slToggle() {
	$('stop').toggle();
	$('play').toggle();
	
	sl.running = !sl.running;
	if (sl.running) {
		slNext();
	} else {
		window.clearTimeout(sl.timeout);
	}
}










function toggleItemUp(id_item, id_list) {
	var item = $(id_item);
	var current = item.style.display;
	var cat = $(id_list);
	
	
	if(current == 'none') {
		new Effect.BlindDown(id_item);		
		cat.addClassName('open');
	}	
	else {
		new Effect.BlindUp(id_item);
		cat.removeClassName('open')
	}
	return true;
}

function toggleItemDown(id_item, id_box) {
	var item = $(id_item);
	var current = item.style.display;
	var box = $(id_box);
	
	
	if(current == 'none') {
		new Effect.BlindDown(id_item);		
		box.removeClassName('hide')
	}	
	else {
		new Effect.BlindUp(id_item);
		box.addClassName('hide');
	}
	return true;
}


function checkForm(id_form) {
	var fElms = $(id_form).getElements();
	var errorMessage = '';
	var texterror = false;

	for(i=0; i < fElms.length; i++) {
		if(fElms[i].getAttribute('rel')) {
			var checktype	= fElms[i].getAttribute('rel');
			var checkvalue	= fElms[i].value;
			
			switch (checktype) {
					
				case 'text':
					if(checkvalue=='' && !texterror) {
						var texterror = true;
						errorMessage += 'Bitte füllen Sie alle nötigen Felder aus!'+"\n";
					}
					break;
					
				case 'email':
					var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if(!filter.test(checkvalue)) {
						errorMessage += 'Die Emailadresse ist leider nicht gültig!'+"\n";
					}
					break;
			}
		}
	}
	
	if(errorMessage!='') {
		alert(errorMessage);
		return false;
	}
	
	return true;
}

Event.observe(window, 'load', function() {
	initSlideshow();
	
	if (slideshowAutostart) {
		window.setTimeout("slToggle()", 3000);
	}
});