

// constants
var stepSize = 5;
var stepTime = 1;
var offsX = 285;
var offsY = 32;
var startPosY = 200;
var maxSizeX = 600;
// init
var img = null;
var maxSizeY = 0;
var curSizeX = 0;
var curSizeY = 0;
var posX = 0;
var posY = 0;


// constants
var zStepSize = 2;
var zStepTime = 1;
var zMaxSizeX = 140;
var zMaxSizeY = 149;
// init
var img1 = null;
var img2 = null;
var img3 = null;
var count1 = 0;
var count2 = 50;
var count3 = 100;
var curSizeX1 = 0;
var curSizeX2 = 0;
var curSizeX3 = 0;


// constants
var tStepTime = 2500;


// called by all pages; zoom images, if existant
function loadPage(){
	img = document.getElementById("bImage");
	img1 = document.getElementById("zImage1");
	img2 = document.getElementById("zImage2");
	img3 = document.getElementById("zImage3");
	imgT = document.getElementById("tImage");
	if(img){
		maxSizeY = (document.getElementById("bImage").height * maxSizeX) / document.getElementById("bImage").width;
		setTimeout("UpdateImg()", 0);
	};
	if(img1 && img2 && img3){
		setTimeout("UpdateImgZ('1')", 0);
		setTimeout("UpdateImgZ('2')", 0);
		setTimeout("UpdateImgZ('3')", 0);
	};
	if(imgT){
		setTimeout("UpdateImgT()", tStepTime);
	};
};


// zoom "img"
function UpdateImg(){
	curSizeX += stepSize;
	curSizeY = maxSizeY * (curSizeX / maxSizeX);
	posX = offsX + ((maxSizeX - curSizeX) / 2);
	posY = offsY + startPosY - (startPosY * (curSizeY / maxSizeY));
	img.style.marginLeft = posX + "px";
	img.style.marginTop = posY + "px";
	img.style.width = curSizeX + "px";
	img.style.height = curSizeY + "px";
	if(curSizeX < maxSizeX){setTimeout("UpdateImg()", stepTime);};
};


// zoom "img1..3"
function UpdateImgZ(mIndex){
	switch (mIndex){
	case '1' :
		if(count1 > 0){count1--;}else{curSizeX1 += zStepSize;};
		img1.style.marginLeft = ((zMaxSizeX - curSizeX1) / 2) + "px";
		img1.style.marginTop = (30 * (zMaxSizeX - curSizeX1) / zMaxSizeX) + "px";
		img1.style.width = curSizeX1 + "px";
		img1.style.height = (zMaxSizeY * (curSizeX1 / zMaxSizeX)) + "px";
		if(curSizeX1 <= zMaxSizeX){setTimeout("UpdateImgZ('1')", zStepTime); };
		break;
	case '2' :
		if(count2 > 0){count2--;}else{curSizeX2 += zStepSize;};
		img2.style.marginLeft = ((zMaxSizeX - curSizeX2) / 2) + "px";
		img2.style.marginTop = (30 * (zMaxSizeX - curSizeX2) / zMaxSizeX) + "px";
		img2.style.width = curSizeX2 + "px";
		img2.style.height = (zMaxSizeY * (curSizeX2 / zMaxSizeX)) + "px";
		if(curSizeX2 <= zMaxSizeX){setTimeout("UpdateImgZ('2')", zStepTime); };
		break;
	case '3' :
		if(count3 > 0){count3--;}else{curSizeX3 += zStepSize;};
		img3.style.marginLeft = ((zMaxSizeX - curSizeX3) / 2) + "px";
		img3.style.marginTop = (30 * (zMaxSizeX - curSizeX3) / zMaxSizeX) + "px";
		img3.style.width = curSizeX3 + "px";
		img3.style.height = (zMaxSizeY * (curSizeX3 / zMaxSizeX)) + "px";
		if(curSizeX3 <= zMaxSizeX){setTimeout("UpdateImgZ('3')", zStepTime); };
		break;
	};
};


// zoom "imgT"
function UpdateImgT(){
	var indx = imgT.src.slice(imgT.src.lastIndexOf("/") + 2, imgT.src.lastIndexOf("/") + 3);
	if(indx == "9"){
		indx = "2";
	}else{
		indx = (indx / 1) + 1;
	};
	var nsrc = imgT.src.slice(0, imgT.src.lastIndexOf("/") + 2) + indx + "_theater.JPG";
	imgT.src = nsrc;
	setTimeout("UpdateImgT()", tStepTime);
};


// navigate in books
function nav(direction){
	var img1 = document.getElementById("img1");
	var img2 = document.getElementById("img2");
	var imgPrev = document.getElementById("imgPrev");
	var imgNext = document.getElementById("imgNext");
	var imgText = document.getElementById("imgText");

	var imgBase1 = img1.src.slice(0, img1.src.length - 7);
	var imgBase2 = img1.src.slice(img1.src.length - 4, img1.src.length);

	var maxIndex = (imgText.innerHTML.slice(imgText.innerHTML.length - 3, imgText.innerHTML.length) - 0) + 2;
	var curIndex = img1.src.slice(img1.src.length - 7, img1.src.length - 4);
	
	var newIndex1 = (curIndex / 1) + direction; 								// implicit cast
	if(newIndex1 < 0)					{newIndex1 = 0;};
	if(newIndex1 > maxIndex)	{newIndex1 = maxIndex;};
	var newIndex2 = newIndex1 + 1;

	var ni1Txt = "000" + newIndex1 + "";
	ni1Txt = ni1Txt.slice(ni1Txt.length - 3, ni1Txt.length);
	var ni2Txt = "000" + newIndex2 + "";
	ni2Txt = ni2Txt.slice(ni2Txt.length - 3, ni2Txt.length);

	img1.src = imgBase1 + ni1Txt + imgBase2
	img2.src = imgBase1 + ni2Txt + imgBase2
	
	if((newIndex1 == 0) || (newIndex1 == maxIndex)){
		if(newIndex1 == 0){
			imgText.innerHTML = "Titelseite aus " + (maxIndex - 2);
			imgPrev.style.visibility = "hidden";
			imgPrev.style.display = "none";
		}else{
			imgText.innerHTML = "Seite " + (maxIndex - 2) + " aus " + (maxIndex - 2);
			imgNext.style.visibility = "hidden";
			imgNext.style.display = "none";
		};
	}else{
		var imgTxt = "Seiten " + (newIndex1 - 2) + " und " + (newIndex2 - 2) + " aus " + (maxIndex - 2);
		if(imgTxt.slice(0, 8) == "Seiten 0"){imgTxt = "Seite 1 aus " + (maxIndex - 2)};
		imgText.innerHTML = imgTxt;
		imgPrev.style.visibility = "visible";
		imgPrev.style.display = "inline";
		imgNext.style.visibility = "visible";
		imgNext.style.display = "inline";
	};
};

// trim strings
String.prototype.trim = function(){
	return this.replace(/^\s+|\s+$/g, "");
};

// validate "form01"
function validate01(){
	var f = document.forms[0];
	var errS = "";
	var errF = "";
	var emailFilter = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
	
	f.Name.value = f.Name.value.trim();
	f.Vorname.value = f.Vorname.value.trim();
	f.Email.value = f.Email.value.trim();

	if(f.Name.value == ""){
		errS += "- Ihr Name\n";
		errF = f.Name;
		f.Name.style.backgroundColor = "red";
	}else{
		f.Name.style.backgroundColor = "white";
	};
	if(f.Vorname.value == ""){
		errS += "- Ihr Vorname\n";
		errF = f.Vorname;
		f.Vorname.style.backgroundColor = "red";
	}else{
		f.Vorname.style.backgroundColor = "white";
	};
	if(!(emailFilter.test(f.Email.value))){
		errS += "- Ihre Email Adresse, im Format \"name@domain.tld\"\n";
		errF = f.Email;
		f.Email.style.backgroundColor = "red";
	}else{
		f.Email.style.backgroundColor = "white";
	};
	
	if(errS == ""){
		return(true);
	}else{
		alert("Bitte machen Sie die folgenden Angaben:\n\n" + errS);
		return(false);
	};

};

// OLD FUNCTION: USE OF "Math.sin" & "Math.PI"
//		if(pxb == 0){
//			pxb = Math.round(800*Math.random()) + 1;
//			pyb = Math.round(600*Math.random()) + 1;
//			pxe = Math.round(800*Math.random()) + 1;
//			pye = Math.round(600*Math.random()) + 1;
//			spd = Math.round( 10*Math.random()) + 1;
//			px = pxb;
//			py = pyb;
//		};
//
//		img.style.marginLeft = px;
//		img.style.marginTop = py;
//		img.style.height = zom + "%";
//		px += ((pxe - pxb)/1000);
//		py += ((pye - pyb)/1000);
//		zom = 80 * Math.sin(Math.PI * Math.abs(((pxe - px)/(pxe - pxb))));
//		if(zom == 0){zom = 0.001};


