
function testFormMail(form) {	
	var ok=true;
	
	String.prototype.trim = function() {
		return this.replace(/^\s+|\s+$/g,"");
	}
	
	try {		
		for (var i=0; i<form.elements.length; i++) {
			var element=form.elements[i];
			var type=element.className.charAt(0);
			var required=element.className.charAt(1)=='r';		
			
			switch (type) {
				case 't':
					element.value=element.value.trim();
					if (required && element.value=='') {
						element.style.border="1px solid red";
						ok=false;
					} else {
						element.style.border="1px solid #BEBCAF";
					}
					break;
				case 'c':
					if (required) {
						var checkboxes=document.getElementsByName(element.name);
						var checked=false;
						for (var j=0; j<checkboxes.length;j++) {
							if (checkboxes[j].checked) {
								checked=true;
								break;
							}
						}
						if (!checked) {
							element.parentNode.style.color="red";
							ok=false;
						} else {
							element.parentNode.style.color="";
						}
					}
					break;
				case 'r':
					if (required) {
						var radiobuttons=document.getElementsByName(element.name);
						var checked=false;
						for (var j=0; j<radiobuttons.length;j++) {
							if (radiobuttons[j].checked) {
								checked=true;
								break;
							}
						}
						if (!checked) {
							element.parentNode.style.color="red";
							ok=false;
						} else {
							element.parentNode.style.color="";
						}
					}
					break;
				case 'e':
					element.value=element.value.trim();
					if (required && /^[^\s]+\@[^\s]+\.[^\s]{2,}$/.test(element.value)==false) {
						element.style.border="1px solid red";
						ok=false;
					} else {
						element.style.border="1px solid #BEBCAF";
					}
					break;
			}
		}
	} catch(ex) {
		ok=false;
	}	
	
	return ok;
}

function rot13(input) {
	var coding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMabcdefghijklmnopqrstuvwxyzabcdefghijklm';
	
	for (var text = '',i=0;i<input.length;i++) {
		character = input.charAt(i);
		position = coding.indexOf(character);
		if (position > -1)
			character = coding.charAt(position + 13);
		text += character;
	}
	
	return text;
}

function ontRot() {
	if (this.href.indexOf('mailto:')!=0) {
		this.href=rot13(this.href);
	}
}

$("a.antispam").mouseover(ontRot);

$(function () {

	function nextPage() {
		var currentPage = $('div.albumPage.selected');

		currentPage.removeClass('selected');
		currentPage.
			css('zIndex','1').
			animate(
				{
					left: -165,
					opacity: 0
				},
				'400',
				function () {
					$(this).
						hide().
						css('zIndex','0').
						css('left','0').
						css('opacity','1');
				}
			);
		currentPage.next().addClass('selected').show();
	}

	function prevPage() {
		var currentPage = $('div.albumPage.selected');

		currentPage.removeClass('selected');
		currentPage.prev().
			addClass('selected').
			css('opacity','0').
			css('left','-165px').
			css('zIndex','1').
			show().
			animate(
				{
					left: 0,
					opacity: 1
				},
				'400',
				function () {
					$(this).next().hide();
					$(this).css('zIndex','0');
				}
			);
	}

	function nextPhoto() {
		var currentPhoto = $("div.albumPage a.photo.selected");

		var nextPhoto = currentPhoto.next('a.photo');

		if (nextPhoto.length == 0) {
			nextPhoto = currentPhoto.parent().next().find('a.photo').first();
			if (currentPhoto.parent().hasClass('selected')) {
				nextPage();
			}
		}

		nextPhoto.click();
	}

	function prevPhoto() {
		var currentPhoto = $("div.albumPage a.photo.selected");

		var prevPhoto = currentPhoto.prev('a.photo');

		if (prevPhoto.length == 0) {
			prevPhoto = currentPhoto.parent().prev().find('a.photo').last();
			if (currentPhoto.parent().hasClass('selected')) {
				prevPage();
			}
		}

		prevPhoto.click();
	}

	$("div.albumPage a.photo").click(function () {
		var center = $("div.center");
		var clickedAnchor = $(this);

		center.children().fadeOut(
			'fast',
			function () {
				$(this).remove();
			}
		);

		var photoPage = clickedAnchor.parent();
		if (!photoPage.hasClass('selected')) {
			$('div.albumPage.selected').removeClass('selected').fadeOut('fast');
			photoPage.addClass('selected').fadeIn('fast');
		}

		clickedAnchor.parent().parent().find('a.photo.selected').removeClass('selected');
		clickedAnchor.addClass('selected');

		var imgBox = $("<div class='albumPhoto'></div>").hide();
		var img = $(new Image());
		
		img.load(function () {
			if (this.height < this.width) {
				imgBox.css('top','178px');
			}
			imgBox.fadeIn('fast');
			window.document.location.hash=clickedAnchor.data('id');
		});
		img.attr('src', clickedAnchor.attr('href'));
		imgBox.append(img);

		if (clickedAnchor.prev("a.photo").length > 0 || clickedAnchor.parent().prev().length > 0) {
			var buttonPrev = $("<div class='prev' title='vorige'></div>");
			buttonPrev.click(prevPhoto);
			imgBox.append(buttonPrev);
		}

		if (clickedAnchor.next("a.photo").length > 0 || clickedAnchor.parent().next().length > 0) {
			var buttonNext = $("<div class='next' title='volgende'></div>");
			buttonNext.click(nextPhoto);
			imgBox.append(buttonNext);
		}

		center.append(imgBox);
		return false;
	});

	$("div.albumPage button.next").click(nextPage);

	$("div.albumPage button.prev").click(prevPage);

	if (window.document.location.hash && window.document.location.hash != '' ) {
		var id = parseInt(window.document.location.hash.substring(1));
		$("div.albumPage").hide();
		$("div.albumPage a.photo[data-id='"+id+"']").click().parent().addClass('selected').show();
	} else {
		$("div.albumPage").first().addClass('selected').find("a.photo").first().click();
	}

	$(document).keydown(function (e) {
		switch (e.keyCode) {
			case 37:
				$("div.albumPhoto div.prev").click();
				break;
			case 39:
				$("div.albumPhoto div.next").click();
				break;
		}
	})
})

