var actualImgTrans = 0;
var actualHolderTrans = 0;
var maxTrans = 1;
var transStepsHolder = 0.08;
var transStepsImg = 0.1;
var fadeRunTime = 25;
var actualHolderObj;
var actualImgObj;
var dir = 1;
var actualImgIndex = 0;
var imgSrc = "";
var imgPath = "";
var actualSub = "";
var galDirectHolder = "";

function getInternetExplorerVersion() {
	var rv = -1; // Return value assumes failure.
	if(navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null)
		rv = parseFloat( RegExp.$1 );
	}
	return rv;
}

function setHoverFunctions() {
	var galList = document.getElementById("innerMain").getElementsByTagName("ul")[0].getElementsByTagName("li");
	for(var i = 0; i < galList.length; i++) {
		var anA = galList[i].getElementsByTagName("a")[0];
		if(anA) {
			anA.onclick = fadeInGal;
			if(actualGalSection == "referenzen") {
				anA.onmouseover = setHover;
				//anA.onmouseout = resetHover;
			}
		}
	}
}

function fadeInGal() {
	actualSub = this.id;
	getObjData();
	actualHolderObj = document.getElementById("transHolder");
	actualImgObj = document.getElementById("imgHolder");
	setTransGrade(actualHolderObj,0);
	setTransGrade(actualImgObj,0);
	actualImgTrans = 0;
	actualHolderTrans = 0;
	dir = 1;
	document.getElementById("imgGallery").className = "";
	fadeIt();
	this.blur();
	return false;
}

function fadeIt() {
	if(actualImgTrans < maxTrans) {
		actualHolderTrans = Math.round(((transStepsHolder*dir)+actualHolderTrans)*10000)/10000;
		setTransGrade(actualHolderObj,actualHolderTrans);
		actualImgTrans = Math.round(((transStepsImg*dir)+actualImgTrans)*10000)/10000;
		setTransGrade(actualImgObj,actualImgTrans);
		setTimeout("fadeIt()",fadeRunTime);
	}
}

function setTransGrade(wObj, val) {
	if(document.all) {
		if(getInternetExplorerVersion() >= 8.0) {
			wObj.filters[0].Opacity = (val*100);
		} else {
			wObj.filters.alpha.opacity = (val*100);
		}
	} else {
		wObj.style.opacity = val;
	}
}

function closeGal() {
	document.getElementById("imgGallery").className = "inv";
	document.getElementById("galImg").src = imgPath + "e.gif";
	document.getElementById("imgHolder").getElementsByTagName("h2")[0].firstChild.nodeValue = " ";
	galDirectHolder.className = "inv";
	document.getElementById("galLinks").getElementsByTagName("ul")[1].style.display = "none";
}

function changeImg() {
	changeMainImg(this.imageSrc);
	var directLIs = document.getElementById("galDirect").getElementsByTagName("li");
	for(var i = 0; i < directLIs.length; i++) {
		directLIs[i].className = "";
	}
	this.parentNode.className = "actualOne";
	actualImgIndex = this.liIndex;
	return false;
}

function changeMainImg(imgName) {
	var pathToSub = getPathToSub();
	document.getElementById("galImg").src = pathToSub + imgName + ".jpg";
}

function getPhpParamsForObj() {
	return ("galTec=js&galType="+actualGalSection + "&galObj=" + actualSub);
}

function getPathToSub() {
	return (imgPath + actualGalSection + "/" + actualSub + "/");
}

function getObjData() {
	var galObj = dataObj[actualGalSection];
	var galSubObj = galObj[actualSub];
	setLayerContent(galSubObj[0],galSubObj[1]);
}

function setLayerContent(headlineText,imgCount) {
	document.getElementById("imgHolder").getElementsByTagName("h2")[0].firstChild.nodeValue = headlineText;
	var newImgUl = document.createElement("ul");
	for(var i = 1; i <= imgCount; i++) {
		var newLiToAppend = generateSingleGalLi(i);
		if(i == 1) {
			changeMainImg(i);
			newLiToAppend.className = "actualOne";
			newLiToAppend.id = "galDirectFirst";
			actualImgIndex = 0;
		}
		newImgUl.appendChild(newLiToAppend);
	}
	galDirectHolder.replaceChild(newImgUl,galDirectHolder.getElementsByTagName("ul")[0]);
	galDirectHolder.className = "";
	document.getElementById("galLinks").getElementsByTagName("ul")[1].style.display = "block";
}

function generateSingleGalLi(imgSrc) {
	var newLi = document.createElement("li");
	var newA = document.createElement("a");
	newA.href = "javascript:void(0);";
	newA.onclick = changeImg;
	newA.imageSrc = imgSrc+"";
	newA.liIndex = imgSrc-1;
	var newImg = document.createElement("img");
	newImg.src = imgPath + "e.gif";
	newA.appendChild(newImg);
	newLi.appendChild(newA);
	return newLi;
}

function scrollImg(direction) {
	var allLIs = galDirectHolder.getElementsByTagName("li");
	actualImgIndex += direction;
	if(actualImgIndex ==  galDirectHolder.getElementsByTagName("li").length) {
		actualImgIndex = 0;
	} else if(actualImgIndex < 0) {
		actualImgIndex = galDirectHolder.getElementsByTagName("li").length-1;
	}
	allLIs[actualImgIndex].getElementsByTagName("a")[0].onclick();
}

function setHover() {
	var hoverImg = document.getElementById("hoverImg");
	hoverImg.src = imgPath + actualGalSection + "/"  + this.id + "/hover.jpg";
}

function init() {
	imgSrc = document.getElementsByTagName("img")[0].src;
	imgPath = imgSrc.substring(0,imgSrc.lastIndexOf("/")+1);
	galDirectHolder = document.getElementById("galDirect");
	setHoverFunctions();
}
