var teaserindex=0;
var oid=0;
var interaction=true;
var teaseranim;
var bganim;

var animtime=2.0;
var bganimtime=4.3;
var fadetime=0.1;
var elems=new Array();
var teaserinit=false;

Event.observe(window, 'load', startteaseranim, false);

function netvtbd_over(id){
	if(teaserinit){
		if(elems[teaserindex].id!=id){
			var atag1=Element.immediateDescendants(elems[teaserindex]);
			var funcout_=atag1[0].onmouseout;
			funcout_.call(atag1[0]);
		}
		oid=id;
	}
}


function netvtbd_out(id){
	
}

function netvtbd_over_(){
	if(teaserinit){
		teaseranim.stop();
	}
}

function netvtbd_out_(){
	if(teaserinit){
		teaseranim.stop();
		teaseranim.registerCallback();
	}
}


var bgimages=['01.jpg','02.jpg','03.jpg','04.jpg','05.jpg','06.jpg','07.jpg'];
var bgindex=0;

function startteaseranim(){
	bgindex=Math.floor(Math.random()*bgimages.length);
	$('bg-img').src="/fileadmin/templates/html/bgimages_homepage/"+bgimages[bgindex];


	teaserinit=true;
	var elems_=Element.immediateDescendants($('menu'));
	for(var i=0; i<elems_.length; i++){
		if(!elems_[i].hasClassName("breaker")){
			elems.push(elems_[i]);
		}
	}
	if(elems.length>1){
		teaseranim=new PeriodicalExecuter(nextslide, animtime);
	}
	bganim = new PeriodicalExecuter(nextbg, bganimtime);
}

function nextbg(){
		/*
		bganim.stop();
		Element.replace('bg-img', new Element("img", {id: 'bg-img', src:"/fileadmin/templates/html/bgimages_homepage/"+bgimages[bgindex]}).observe('load', function() {bganim.registerCallback();}));
		*/
		bgindex=(bgindex<bgimages.length-1)? bgindex+1: 0;
		$('bg-img').src="/fileadmin/templates/html/bgimages_homepage/"+bgimages[bgindex];
}

function nextslide(){
	interaction=false;
	if(!interaction){
		var atag1=Element.immediateDescendants(elems[teaserindex]);
		var funcout=elems[teaserindex].onmouseout;
		funcout.call(elems[teaserindex]);
		var funcout_=atag1[0].onmouseout;
		funcout_.call(atag1[0]);
		
		teaserindex=(teaserindex<elems.length-1)? teaserindex+1: 0;
		
		var atag2=Element.immediateDescendants(elems[teaserindex]);
		
		var funcover=elems[teaserindex].onmouseover;
		funcover.call(elems[teaserindex]);
		var funcover_=atag2[0].onmouseover;
		funcover_.call(atag2[0]);
		interaction=true;
	}
}

/////////////////////////////////resize
var contentHeight = 0;
var contentWidth = 0;
var divLeft = 0;
var divTop = 0;



function onResizeFunc(imgobj, divobj, imgOrigHeight, imgOrigWidth) {
	if(document.viewport.getHeight){
		newContentHeight = document.viewport.getHeight();
		newContentWidth = document.viewport.getWidth() + 30;
	}
	else{
		newContentHeight=1192;
		newContentWidth=1600;
	}
	//get bg object
	
	var imgWidth;
	var imgHeight;

	//check for window resize
	if (contentHeight !=  newContentHeight || contentWidth !=  newContentWidth) {
		//window has been resized
		contentWidth = newContentWidth;
		contentHeight = newContentHeight;
		
		if (contentWidth/contentHeight > imgOrigWidth/imgOrigHeight) {
			//overheight
			imgWidth = contentWidth;
			imgHeight = contentWidth*imgOrigHeight/imgOrigWidth;
		} else {
			//overwidth
			imgWidth = contentHeight*imgOrigWidth/imgOrigHeight;
			imgHeight = contentHeight;
		}
		
		//clac vertical middle
		var ytrend = 0.9; // < 1: tendenz zu top-alignment, > 1: tendenz zu bottom-alignment im overheight-modus
		var ydiff = (newContentHeight - imgHeight)/2*ytrend;
		ydiff = Math.round(ydiff);
		
		
		if (ydiff) {
			divTop = ydiff;
			divLeft = -30 + 10;
		}
		
		//clac horizontal middle
		var xtrend = 1.1; // < 1: tendenz zu left-alignment, > 1: tendenz zu right-alignment im overwidth-modus
		var xdiff = (newContentWidth - imgWidth)/2*xtrend;
		if (xdiff) {
			divTop = 0;
			divLeft = (xdiff - 30);
		}
	
		divobj.style.top = divTop.toString() + 'px';
		divobj.style.left = divLeft.toString() + 'px';
		
		divobj.style.width = (-divLeft + document.viewport.getWidth()) + 'px';
		divobj.style.height = (-divTop + document.viewport.getHeight()) + 'px';
		
		
		imgobj.style.width = imgWidth + 'px';
		imgobj.style.height = imgHeight + 'px';		

		//repeat viewport detection as scrollbar may disappear after setting divobj sizes
		divobj.style.height = (-divTop + document.viewport.getHeight()) + 'px';
	}
	return true;
}
