var fadeTimer=new Array();
var mv_id=0;
var kat=0;
var bereich=0;
var featured=false;
var galerieContainer=null;
var imageContainer=null;
var footerDiv=null;
var galerieContainerPosition=null;
var imageContainerPosition=null;
var bmx=0;
var bmy=0;
var sliderPosition=0;
var bigImage=false;
var imageXML;
var curImgIndex=0;
var showTime=0;
var slideZIndex=0;
var runSlideShow;
var curContainer=null;
var altContainer=null;
var oldContainer=null;
var galerieNameDiv=null;
var imageNameDiv=null;
var controllerDiv=null;
var imageNameTxt=null;
var imageTextDiv=null;
var audioDiv=null;
var statusDiv=null;
var showText=null
var imageXML=null;
var galerieName;
var galerieTime=5000; 
var galMusik;
var sinfo=false;
var actPicNum=0;
//var contWidth=400;


var sNavTimer=null;
function initGalerie(){
	initMenue();
	footerDiv=document.getElementById('footer');
	galerieNameDiv=document.getElementById("galerieName");
	imageNameDiv=document.getElementById("imageName");
	imageNameTxt=document.getElementById("textContainer");
	imageTextDiv=document.getElementById("textDiv");
	blindPicNav=document.getElementById("blindPicNav");
	controllerDiv=document.getElementById("controller");
	audioDiv=document.getElementById("audio");
	statusDiv=document.getElementById("status");
	galerieContainer=document.getElementById("galerieContainer");
	imageContainer=document.getElementById("galeriebild");
	infoBtnContainer=document.getElementById("infoBtn");
	showText=document.getElementById("showTextDiv");
	blindPicDiv=document.getElementById("blindPicNavi");
	//blindSubNavi=document.getElementById('blindSubNavi');
	galerieContainerPosition=getPosition(galerieContainer); 
	//featured=false;
	if(featured){
		initFeaturedSlideShow();
	}else{
		initThumbnails();
	}
	galerieSubNavi(document.getElementById("movMenue"),178)
}


// mouseover galerienaviiuaction
function galerieSubNavi(obj,katId){
//alert(bereich+" : bereichID");
	if(bereich && katId == kat){
		if(!document.getElementById("navDiv")){
			mPoint=getPosition(obj);
			menue = new biXml("webservice/galerieActionXML.php","&action=getSubNavigation&pk="+bereich);
			menueXML=menue.xmlDoc.responseXML.getElementsByTagName("navigation");
			navDiv=document.createElement("div");
			navDiv.style.position="absolute";
			//navDiv.style.border="1px solid white";
			navDiv.style.left=(mPoint.pxleft+0)+"px";
			navDiv.style.top=(mPoint.pxtop+25)+"px";
			navDiv.style.zIndex=1000;
			navDiv.style.padding="2px";
			navDiv.id="navDiv";
			navDivContent="<ul>";
			//alert("galerieSubNavi"+menueXML.length);
			
			for(var i=0; i< menueXML.length;i++){
				//if(i==menueXML[i])navBrdClr="white"; else navBrdClr="#99CC33";
				 navBrdClr="#99CC33";
				navDivContent+="<li style=\"border:1px solid "+navBrdClr+";\" onclick=\"initThumbnails("+menueXML[i].attributes[1].value+")\" onmouseover=\"this.style.backgroundColor='#f4f4f4'\" onmouseout=\"this.style.backgroundColor='#FFFFFF'\"><img width=\"100\" height=\"60\" src=\"diaGalerie/mvimg/thumb_"+menueXML[i].attributes[1].value+"-"+menueXML[i].attributes[2].value+".jpg \" />"+menueXML[i].attributes[0].value+"</li>";
			}
			navDivContent+="</ul>";
			navDiv.innerHTML=navDivContent;
			//navDiv.onmouseout=function(){
				//hideSNavi(this.id);
			//}
			document.getElementsByTagName("body")[0].appendChild(navDiv);
		}else{
			clearTimeout(sNavTimer);
			sNavTimer=null;
			document.getElementById("navDiv").style.opacity=1;
			document.getElementById("navDiv").style.filter="alpha(opacity=100)";
		}
	}
}
function hideSNavi(id){
	/*clearTimeout(sNavTimer);
	func="fadeObj('"+id+"',100,-8,1,1)";
	sNavTimer=setTimeout(func,1000);
*/}

//set the thumbnails to the imageContainer
function initThumbnails(mvid){
	//alert("initThumbnails :"+mvid);
	//blindSubNavi.style.display="none";

	//fadeObj('navDiv',100,-8,1,1);
	runSlideShow=false;
	controllerDiv.innerHTML="";
	statusDiv.innerHTML="";
	imageNameDiv.innerHTML="";
	if(curContainer==null)
		curContainer=imageContainer;
	if(oldContainer!=null){
		oldContainer.style.zIndex=8;
		oldContainer.style.filter="alpha(opacity=0)";
		oldContainer.style.opacity=0;
		
		
	}
	curContainer.style.zIndex=100;
	if(mvid)mv_id=mvid;
	if(mv_id){
		bilder = new biXml("webservice/galerieActionXML.php","&action=getFotosXML&pk="+mv_id);
		//alert(mvid);
	}
	else
	{
		//alert("ELSE"+bereich);
		bilder = new biXml("webservice/galerieActionXML.php","&action=getFeaturedFotosXML&pk="+bereich);
	}
	showImgDescText();
	imageXML=bilder.xmlDoc.responseXML.getElementsByTagName("pic");
	//alert(bilder.xmlDoc.responseText);
	galerieName=bilder.xmlDoc.responseXML.firstChild.attributes[0].value;
	galerieNameDiv.innerHTML=galerieName;
	galerieTime=bilder.xmlDoc.responseXML.firstChild.attributes[1].value;
	if(bilder.xmlDoc.responseXML.firstChild.attributes[2].value)
		setAudio(bilder.xmlDoc.responseXML.firstChild.attributes[2].value);
	if(bilder.xmlDoc.responseXML.firstChild.attributes[3].value){
		sinfo=true;
		galerieNameDiv.innerHTML=galerieName;
	}
	var tcontWidth=0;
	///galerieContainer.style.opacity=.6;
	thumbcontent="<div id=\"thumbBg\">";
	//alert(bilder.xmlDoc.responseText);
	var thumbPos = new Array();
	
	/*for(var i=0; i< imageXML.length;i++){
		thumbcontent+="<div class=\"thumbPic\" onmouseover=\" this.style.opacity=1;dispImgName('"+imageXML[i].attributes[0].value+"'); getStatusContent("+i+"); \" onmouseout=\"this.style.opacity=0.6;  \" onclick=\"setBigImage("+i+");showBigPic('')\" style='opacity:.8; cursor:pointer; float:left; padding:1px; height:"+imageXML[i].attributes[3].value+"px;'><img src='diaGalerie/mvimg/thumb_"+imageXML[i].attributes[1].value+"'></div>";
		tcontWidth+=parseInt(imageXML[i].attributes[2].value)+6;
		//alert(imageXML[i].attributes[0].value); thumbNav+="onmouseover=\"changePic('"+pfad+"','"+bii+"'); ";
		thumbPos.push(parseInt(imageXML[i].attributes[2].value)+4);
	}*/
	
	for(var i=0; i< imageXML.length;i++){
		thumbcontent+="<div class=\"thumbPic\" style='opacity:1;  float:left; padding:1px; height:"+imageXML[i].attributes[3].value+"px;'><img src='diaGalerie/mvimg/thumb_"+imageXML[i].attributes[1].value+"'></div>";
		tcontWidth+=parseInt(imageXML[i].attributes[2].value)+6;
		//alert(imageXML[i].attributes[0].value); thumbNav+="onmouseover=\"changePic('"+pfad+"','"+bii+"'); ";
		thumbPos.push(parseInt(imageXML[i].attributes[2].value)+4);
	}
	thumbcontent+="</div>";
	
	curContainer.style.width=tcontWidth+"px";
	curContainer.innerHTML=thumbcontent;
	imgContH=curContainer.offsetHeight;
	galContH=galerieContainer.offsetHeight;
	document.getElementById("thumbBg").style.height=imgContH;
	rest=galContH - imgContH;
	tp=rest/2;
	if(sliderPosition < (contWidth*-1))
		sliderPosition=((contWidth*-1)+galerieContainer.offsetWidth);
	tp=parseInt(tp);
	curContainer.style.top=tp+"px";
	curContainer.style.left=sliderPosition+"px";
	document.onmousemove=movePics;
	imageContainerPosition=getPosition(curContainer);
	imageThumbLoop();
	bigImage=false;
	blindPicDiv.style.display="none";
	
	if(actPicNum>0){ 
		sliderLeftPos=0;
		for(var pos=0;pos<actPicNum;pos++){
			sliderLeftPos=parseInt(thumbPos[pos])+sliderLeftPos;
		}
		if(sliderLeftPos>imageContainer.offsetWidth-galerieContainer.offsetWidth){
			sliderLeftPos=(parseInt(sliderLeftPos)-100);
		}
		imageContainer.style.left="-"+(parseInt(sliderLeftPos)-150)+"px";
	}
			galerieSubNavi(document.getElementById("movMenue"),178)

}


function dispImgName(imgName){
	if(sinfo==true){
		if(imgName.length>1){
			imageNameDiv.style.display="block";
			imageNameDiv.innerHTML=imgName;
			
		} else {
			imageNameDiv.innerHTML="";
			imageNameDiv.style.display="none";
		}
	}else imageNameDiv.style.display="none";
}
function showBigPic(pfad){	
	galerieContainer.style.backgroundImage="url(diaGalerie/mvimg/big_"+pfad+")";
	//alert(imageContainer.style.opacity)
}

function setBigImage(n){
	if(document.getElementById("thumbBg"))
	document.getElementById("thumbBg").style.backgroundColor="transparent";
	bigImage=true;
	//set controller
	image=imageXML[n].attributes[1].value;
	w=imageXML[n].attributes[4].value;
	h=imageXML[n].attributes[5].value;
	//if(controllerDiv.innerHTML.indexOf("img")<1)
		controllerDiv.innerHTML=getControllerContent(n);
	getStatusContent(n);
	if(sinfo){
		galerieNameDiv.innerHTML=galerieName;
		galerieNameDiv.style.display="block";
	}
		
	dispImgName(imageXML[n].attributes[0].value);
	curContainer.style.width="0";
	curContainer.style.filter="alpha(opacity=0)";
	curContainer.style.opacity=0;
	curContainer.innerHTML="<img src='diaGalerie/mvimg/big_"+image+"'>";
	hgt=h;
	wdt=w;
	curContainer.style.left=((galerieContainer.offsetWidth-wdt)/2)+"px";
	curContainer.style.top=((galerieContainer.offsetHeight-hgt)/2)+"px";
	fadeObj(curContainer.id,0,5,2,0);
	if(imageXML[n].attributes[6].value){
		showImgDescText(imageXML[n].attributes[6].value);
	}else{
		showImgDescText();
	}
	if(blindPicDiv.style.display!="block")
		blindPicDiv.style.display="block";
}
var showTextPos;
var descTextTimerID=null;
function showImgDescText(txt){
	/*if(sinfo){
		if(txt && descTextInfo){
			txt=txt;
			dsply1="block";
			dsply2="none";
		}else{
			txt="";
			dsply1="none";
			dsply2="block";
		}
		imageNameTxt.innerHTML=txt;
		imageNameTxt.style.display=dsply1;
		imageTextDiv.style.display=dsply1;
		showText.style.display=dsply1;
		
		showTextPos=(showText.offsetWidth+imageNameTxt.offsetWidth)-2;
		showText.style.left=showTextPos+"px";
		showText.onmouseup=function(){descText(dsply2)};
		imageTextDiv.style.height=imageNameTxt.offsetHeight+"px";
		imageTextDiv.style.width=imageNameTxt.offsetWidth+"px";
		
		if(descTextInfo){
			clearTimeout(descTextTimerID);
			func="descText(dsply2);";
			descTextTimerID = window.setTimeout (func,'800');
		}else descText(dsply2);
		
	}*/
}
var descTextInfo=true;
function descText(x){
	if(x=="block"){
		descTextInfo=true;
		lftPos=showTextPos+"px";
		dsply="none";
		inHtml="X";
	} else {
		descTextInfo=false;
		lftPos="12px";
		dsply="block";
		inHtml="T";
	}
	imageNameTxt.style.display=x;
	imageTextDiv.style.display=x;
	showText.style.left=lftPos;	
	showText.innerHTML=inHtml;	
	showText.onmouseup=function(){descText(dsply)};
}

function initFeaturedSlideShow(){
	showImgDescText();
	//blindSubNavi.style.display="block";
	curContainer=null;
	imageContainer.style.border="5px";
	bilder = new biXml("webservice/galerieActionXML.php","&action=getFeaturedFotosXML&pk="+bereich);
	imageXML=bilder.xmlDoc.responseXML.getElementsByTagName("pic");
	//alert(bilder.xmlDoc.responseText);
	if(bilder.xmlDoc.responseXML.firstChild.attributes[2].value)
		setAudio(bilder.xmlDoc.responseXML.firstChild.attributes[2].value);
	if(bilder.xmlDoc.responseXML.firstChild.attributes[3].value)
		sinfo=true;
	galerieName=bilder.xmlDoc.responseXML.firstChild.attributes[0].value;
	galerieTime=bilder.xmlDoc.responseXML.firstChild.attributes[1].value;
	//if(sinfo){
		if(galerieNameDiv.innerHTML="featured"){
			galerieNameDiv.innerHTML="...best of";
		} else {
			galerieNameDiv.innerHTML=galerieName;	
		}
	//}else galerieNameDiv.style.display="none";
	showTime=galerieTime;
	runSlideShow=true;
	slideShow();
}
function initSlideShow(mv_id,n){
	curContainer=null;
	showTime=galerieTime;
	curImgIndex=n;
	runSlideShow=true;
	slideShow();
}
function slideShow(){
	showImgDescText();
	if(curImgIndex == imageXML.length) {
		curImgIndex=0;
	}
	if(runSlideShow==true){
		ImgNode=imageXML[curImgIndex];
		hgt=ImgNode.attributes[5].value;
		wdt=ImgNode.attributes[4].value;
		slideImg=ImgNode.attributes[1].value;
		sImage =new Image();
		sImage.src="diaGalerie/mvimg/big_"+slideImg;	
		if(altContainer==null){
			altContainer=document.createElement("div");
			altContainer.style.position="absolute";
			altContainer.id="altContainer";
			altContainer.style.filter="alpha(opacity=0)";
			altContainer.style.opacity=0;
			galerieContainer.appendChild(altContainer);
		}
		if(curContainer && curContainer.id=="galeriebild"){
			curContainer=altContainer;
			oldContainer=imageContainer;
		}else{
			curContainer=imageContainer;
			oldContainer=altContainer;
		}
		curContainer.style.left=((galerieContainer.offsetWidth-wdt)/2)+"px";
		curContainer.style.top=((galerieContainer.offsetHeight-hgt)/2)+"px";
		curContainer.innerHTML="<img name=\"mov\" src=\""+sImage.src+"\">";
		
		if(showTime<999){
		fadeObj(oldContainer.id,100,-50,1,0);
		fadeObj(curContainer.id,0,50,2,0);
		}
		else if(showTime>999 && showTime<1999){
		fadeObj(oldContainer.id,100,-20,1,0);
		fadeObj(curContainer.id,0,20,2,0);
		}
		else if(showTime>1999 && showTime<3999){
		fadeObj(oldContainer.id,100,-10,1,0);
		fadeObj(curContainer.id,0,10,2,0);
		}
		else if(showTime>3999 && showTime<4999){
		fadeObj(oldContainer.id,100,-5,1,0);
		fadeObj(curContainer.id,0,5,2,0);
		}
		else if(showTime>4999){
		fadeObj(oldContainer.id,100,-2,1,0);
		fadeObj(curContainer.id,0,2,2,0);
		}
		
		
		dispImgName(ImgNode.attributes[0].value);
		getStatusContent(curImgIndex);
		curImgIndex++;
		window.setTimeout('slideShow()',showTime);
		
	}
}
function movePics(evt){
	if(evt){
		bmx=parseInt(evt.pageX)-galerieContainerPosition.pxleft;
		bmy=parseInt(evt.pageY);
	}else{
		bmx=parseInt(event.clientX)-galerieContainerPosition.pxleft;
		bmy=parseInt(event.clientY);
	}
}
var navInfo=true;
function ICloop(){
	diaGalTxtDiv=document.getElementById("fbBox");
	if(diaGalTxtDiv){
		//alert(diaGalTxtDiv.style.display)
	}
	if(navInfo==true &&!diaGalTxtDiv){
		if(bmx > 0 
			&& bmx < parseInt(galerieContainer.offsetWidth) 
			&& bmy > imageContainerPosition.pxtop+156
			&& bmy < (imageContainerPosition.pxtop+parseInt(curContainer.offsetHeight+156))
			&& bigImage==false )
			return true;
		else
			return false;
	}
}
function imageThumbLoop(){
	if(ICloop()){
		//alert("imageThumbLoop");
		lpos=parseInt(curContainer.style.left);
		mx=bmx-parseInt(galerieContainer.offsetWidth)/2;
		n=parseInt(mx*0.03);
		if(n>0)n--;
		if(n<0)n++;
		if(n>0)n--;
		if(n<0)n++;
		max=0-(parseInt(curContainer.offsetWidth)-parseInt(galerieContainer.offsetWidth));
		if(mx < 0 && lpos < 0){
			lpos-=n;
		}else if(mx > 0 && lpos > max){
			lpos-=n;
		}
		//sliderPosition=lpos;
		curContainer.style.left=lpos+"px";
	}
	window.setTimeout("imageThumbLoop()",5);
}

function fadeObj(fadeObjectID,val,incr,n,del){
	fadeObject=document.getElementById(fadeObjectID);
	if(fadeObject){
		clearTimeout();
		fadeObject.style.filter="alpha(opacity="+val+")";
		fadeObject.style.opacity=val/100;
		val+=incr;
		if(val < 100 && val > 0){
			setTimeout("fadeObj('"+fadeObjectID+"',"+val+","+incr+","+n+","+del+")",50);
		}else if(del==1){
			document.getElementsByTagName("body")[0].removeChild(fadeObject);
		}
	}
}






function getControllerContent(n){
	if(n-1 >= 0)prev=n-1;
	else prev=imageXML.length-1;
	if(n+1 < imageXML.length)next=n+1;
	else next=0;
	cont="<div id=\"c1\" class=\"floatLeft\" title=\"<< Prev Image "+(prev+1)+"\" onmouseover=\"alphaThis(this.id,100)\" onmouseout=\"alphaThis(this.id,85)\" onmousedown=\"alphaThis(this.id,50);\" onmouseup=\"setBigImage("+prev+");\"><<</div>";
	cont+="<div id=\"c2\" class=\"floatLeft\" title=\"< Image Slider Pic "+(n+1)+" >\" onmouseover=\"alphaThis(this.id,100)\" onmouseout=\"alphaThis(this.id,85)\" onmousedown=\"alphaThis(this.id,50);\" onmouseup=\"actPicNum="+n+";initThumbnails();\"><-></div>";
	cont+="<div id=\"c3\" class=\"floatLeft\" title=\"Next Image "+(next+1)+" >>\" onmouseover=\"alphaThis(this.id,100)\" onmouseout=\"alphaThis(this.id,85)\" onmousedown=\"alphaThis(this.id,50);\"  onmouseup=\"setBigImage("+next+")\">>></div>";
	cont+="<div id=\"c4\" class=\"floatLeft playBtn\" title=\"Start Slideshow @ Pic "+(n+1)+"\" onmouseover=\"alphaThis(this.id,100)\" onmouseout=\"alphaThis(this.id,85)\" onmousedown=\"alphaThis(this.id,50);\"  onmouseup=\"initSlideShow("+mv_id+","+n+");setSlideButton(this);\">>>></div>";
	if(sinfo)cont+="<div id=\"infoBtn\" title=\"Hide Infos\" class=\"floatLeft infoDivs\" onclick=\"showInfos(this,'none')\">(O)</div>";
	blindPicNavDiv(prev,next,n);
	//alert(controllerDiv.style.display);
	return cont;
}

function blindPicNavDiv(prev,next,n){
   	blindcont="";
	blindcont+="<div id=\"leftNav\" title=\"<< Prev Image "+(prev+1)+"\" onmouseover=\"alphaThis('c1',100)\" onmouseout=\"alphaThis('c1',85)\" onmousedown=\"alphaThis('c1',50);\"  onmouseup=\"setBigImage("+prev+")\"></div>";
   	blindcont+="<div id=\"centerNav\" title=\"< Image Slider Pic "+(n+1)+" >\" onmouseover=\"alphaThis('c2',100)\" onmouseout=\"alphaThis('c2',85)\" onmousedown=\"alphaThis('c2',50);\" onmouseup=\"actPicNum="+n+";initThumbnails();\"></div>";
    blindcont+="<div id=\"rightNav\" title=\"Next Image "+(next+1)+" >>\" onmouseover=\"alphaThis('c3',100)\" onmouseout=\"alphaThis('c3',85)\" onmousedown=\"alphaThis('c3',50);\"  onmouseup=\"setBigImage("+next+")\"></div>";
	blindPicDiv.innerHTML=blindcont;
	
}

function alphaThis(id,val){
	//alert(id);
	//val=val/100;//alert(val);
	if(document.getElementById(id)){
		document.getElementById(id).style.filter="alpha(opacity="+val+")";
		document.getElementById(id).style.opacity=val/100;
		}
	}
function setSlideButton(obj){
	for(var i=1;i<=3;i++){document.getElementById("c"+i).style.display="none";}
	blindPicDiv.style.display="none";
	runSlideShow=true;
	obj.innerHTML="X";
	obj.title="Stop Slideshow";
	obj.style.filter="alpha(opacity=40)";
	obj.style.opacity=.4;
	
	obj.onmouseup=function(){
		stopslide(this);
	}
	obj.onmouseout=function(){
		alphaThis(this.id,40)
	}
}
function stopslide(obj){
	//showTime=0;
	for(var i=1;i<=3;i++){document.getElementById("c"+i).style.display="block";}
	blindPicDiv.style.display="block";
	runSlideShow = false;
	obj.innerHTML=">>>";
	obj.title="Start Slideshow @ Pic "+curImgIndex;
	obj.style.filter="alpha(opacity=100)";
	obj.style.opacity=1;
	obj.onmouseup=function(){
		setSlideButton(this);
		slideShow();
	}
	obj.onmouseout=function(){
		alphaThis(this.id,85)
	}
}
function showInfos(obj,val){
	//galerieNameDiv.style.display=val;
	imageNameDiv.style.display=val;
	statusDiv.style.display=val;
	imageNameTxt.style.display=val;
	imageTextDiv.style.display=val;
	showText.style.display=val;
	if(galerieNameDiv.style.display=="none"){
		infoBtnContainer.style.filter="alpha(opacity=40)";
		infoBtnContainer.style.opacity=.4;
		obj.title="Show Infos";
		obj.innerHTML="(<span style=\"color:#99CC33\">O</span>)";
		val="block";
		sinfo=false;
	}else {
		infoBtnContainer.style.filter="alpha(opacity=100)";
		infoBtnContainer.style.opacity=1;
		obj.title="Hide Infos";
		obj.innerHTML="(O)";
		val="none";
		sinfo=true;
	}
	obj.onclick=function(){showInfos(this,val);}
	//alert(infoBtnContainer.display)
}
function getStatusContent(n){
	//statusDiv.style.top="-100px";
	if(sinfo==true)
		statusDiv.innerHTML="Bild "+(n+1)+" von "+imageXML.length;
	else 
		statusDiv.style.display="none";
	//alert(statusDiv.style.top)
}
function stopmusic(mp3){
	audioDiv.innerHTML="<div style=\"cursor:pointer;\" onclick=\"setAudio('"+mp3+"');\">play music</div>";
}
function setAudio(mp3){
	audioDiv.innerHTML="<embed id=\"galeriemusik\" src=\"diaGalerie/mp3/"+mp3+"\" width=\"0\" height=\"0\" autostart=\"true\" /><div style=\"cursor:pointer;\" onclick=\"stopmusic('"+mp3+"');\">stop music</div>";
}
function handleError() {
	return true;
}
//window.onerror = handleError;
