var pic = new Image();
var maxh;
function hoverin(element){colorFade(element,'color','ffffff','BA0000',15,8);}
function hoverout(element){colorFade(element,'color','BA0000','ffffff',15,8);}
function fadein(element){
	element.style.color = '#ffffff';
	colorFade(element,'background','ffffff','BA0000',15,10);
	}
function fadeout(element){
	element.style.color = '#000000';
	colorFade(element,'background','BA0000','ffffff',15,15);
	}
function relocate(url){location.href = url;}
function stopfading(){
	if(!document.getElementById('fadediv'))return;
	if(blendstatus)clearTimeout(blendstatus);
	blendimagewt("divbg", "imagebg", "images/slide_bg_act.png",1000);
}
function restartfading(){
	if(!document.getElementById('fadediv'))return;
	blendimage(aktid , 'fadediv','fadeimage', src[aktid],100); 
	clear_bg();
}
function checkinput(element, defaultvalue){ if(element.value == defaultvalue) element.value = ''; }
function recheckinput(element, defaultvalue){ if(element.value.length == 0) element.value = defaultvalue; }
var aktid = 1;
function clear_bg(){
	document.getElementById("divbg").style.backgroundImage = "url(images/slide_bg.png)";
	document.getElementById("imagebg").src = "images/slide_bg.png";
}
function colorFade(target,element,start,end,steps,speed) {
	var startrgb,endrgb,er,eg,eb,step,rint,gint,bint,step;
	steps = steps || 20;	
	speed = speed || 20;
	clearInterval(target.timer);
	endrgb = colorConv(end);
	er = endrgb[0];
	eg = endrgb[1];
	eb = endrgb[2];
	if(!target.r) {
		startrgb = colorConv(start);
		r = startrgb[0];
		g = startrgb[1];
		b = startrgb[2];
		target.r = r;
		target.g = g;
		target.b = b;
	}
  rint = Math.round(Math.abs(target.r-er)/steps);
  gint = Math.round(Math.abs(target.g-eg)/steps);
  bint = Math.round(Math.abs(target.b-eb)/steps);
  if(rint == 0) { rint = 1 }
  if(gint == 0) { gint = 1 }
  if(bint == 0) { bint = 1 }
  target.step = 1;
  target.timer = setInterval( function() { animateColor(target,element,steps,er,eg,eb,rint,gint,bint) }, speed);
}

function animateColor(target,element,steps,er,eg,eb,rint,gint,bint) {
  var color;
  if(target.step <= steps) {
    var r = target.r;
    var g = target.g;
    var b = target.b;
    if(r >= er) {r = r - rint;}
	else {r = parseInt(r) + parseInt(rint);}
    if(g >= eg) {g = g - gint;}
	else {g = parseInt(g) + parseInt(gint);}
    if(b >= eb) {b = b - bint;}
	else {b = parseInt(b) + parseInt(bint);}
	
    color = 'rgb(' + r + ',' + g + ',' + b + ')';
    if(element == 'background') {
      target.style.backgroundColor = color;
    } else if(element == 'border') {
      target.style.borderColor = color;
    } else {target.style.color = color;}
    target.r = r;
    target.g = g;
    target.b = b;
    target.step = target.step + 1;
  } else {
    clearInterval(target.timer);
    color = 'rgb(' + er + ',' + eg + ',' + eb + ')';
    if(element == 'background') {
      target.style.backgroundColor = color;
    } else if(element == 'border') {
      target.style.borderColor = color;
    } else {
      target.style.color = color;
    }
  }
}

function colorConv(color) {
  var rgb = [parseInt(color.substring(0,2),16), 
    parseInt(color.substring(2,4),16), 
    parseInt(color.substring(4,6),16)];
  return rgb;
}
var blendstatus;

function content(link, nav){

opacity("loading", 0, 100, 500);
opacity("left", 100, 0, 3);					
opacity("right", 100, 0, 3);
document.getElementById('right').scrollTop = 0;

if(blendstatus)clearTimeout(blendstatus);
	if(typeof lastone == "undefined")lastone = nav;//document.getElementById("navhome");
	lastone.style.backgroundImage = "url(images/nav." + type + ")";
	lastone = nav;
	nav.style.backgroundImage = "url(images/nav_a." + type + ")";
	var right = document.getElementById('right');
	var left = document.getElementById('left');
	var outer = document.getElementById('outercontent');

	req = null;
	try{req = new XMLHttpRequest();}
	catch (ms){
		try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
		catch (nonms){
			try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
			catch (failed){req = null;}
		}  
	}
	if (req == null)
			alert("Interner Fehler!");
	var url = "content.php";
	var requrl = url + "?id=" + link + "&SID=" + sid;
	
	req.open('GET', requrl, true);
	req.onreadystatechange = function getrequest(){  
		switch(req.readyState) {
				case 4:
					if(req.status!=200) {alert("Interner Fehler:"+req.status);}
					else{    
					
						response  = req.responseXML.documentElement;
							var rightc = response.getElementsByTagName('right')[0].firstChild.data;
							var leftc = response.getElementsByTagName('left')[0].firstChild.data;
							var outerc = response.getElementsByTagName('outercontent')[0].firstChild.data;
							right.innerHTML = rightc;
							outer.innerHTML = outerc;
							
							left.innerHTML = leftc;
							evalScript(leftc);
							evalScript(rightc);
							opacity("left", 1, 100, 300);					
							opacity("right", 1, 100, 300);	
							opacity("loading", 100, 0, 500);	

							checkScrolls();
					}
				break;
				default:
					return false;
				break;     
			}
		};
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(null);
}
function evalScript(scripts)
{	try
	{	if(scripts != '')	
		{	var script = "";
			scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
	       	                         if (scripts !== null) script += arguments[1] + '\n';
 	        	                        return '';});
			if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
		}
		return false;
	}
	catch(e)
	{	alert("Interner Fehler!");
	}
}
function blendimagewt(divid, imageid, imagefile, millisec) { 
	if(blendstatus)clearTimeout(blendstatus);
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
	
    changeOpac(0, imageid); 
    document.getElementById(imageid).src = imagefile; 
	for(i = 0; i <= 100; i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed)); 
        timer++; 
    } 
}
function blendimage(imgid, divid, imageid, imagefile, millisec) { 
	/* preload */
	var pic = new Image;
	pic.src = ( src[(imgid+1)] ) ? src[(imgid+1)] : src[0];
	
	var pic_big = new Image;
	if(src[imgid])pic_big.src = src[imgid].replace(/_sw/, '');
	
	
	aktid = imgid;
	if(blendstatus)clearTimeout(blendstatus);
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
	
    changeOpac(0, imageid); 
    document.getElementById(imageid).src = imagefile; 
	for(i = 0; i <= 100; i++) { 
        setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed)); 
        timer++; 
    } 
	imgid++;
	if(imgid == src.length)imgid=0;
	blendstatus = setTimeout("blendimage(" + imgid + ", 'fadediv','fadeimage', src[" + imgid + "],1000);", 3000);
}
function opacity(id, opacStart, opacEnd, millisec) { 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 

function changeOpac(opacity, id) { 
    var element = document.getElementById(id); 
    if(element != null)
	{
		var object = element.style; 
		object.opacity = (opacity / 100); 
		object.MozOpacity = (opacity / 100); 
		object.KhtmlOpacity = (opacity / 100); 
		object.filter = "alpha(opacity=" + opacity + ")"; 
	}
}

function showplaylist(){opacity('playlist', 0, 100, 500); setTimeout("hideplaylist()", 2000);}
function hideplaylist(){opacity('playlist', 100, 0, 500);}

function show(id){opacity(id, 0, 50, 500);}
function hide(id){opacity(id, 90, 0, 500);}

var scrollright;
var scrollleft;
function scrollDownRight(){
	scrollright = setTimeout("scrollDownRight()", 50);
	document.getElementById('right').scrollTop += 15;
}
function scrollUpRight(){
	scrollright = setTimeout("scrollUpRight()", 50);
	document.getElementById('right').scrollTop -= 15;
}
function scrollDownLeft(){
	scrollright = setTimeout("scrollDownLeft()", 50);
	document.getElementById('left').scrollTop += 15;
}
function scrollUpLeft(){
	scrollright = setTimeout("scrollUpLeft()", 50);
	document.getElementById('left').scrollTop -= 15;
}
function stopScroll(){
	clearTimeout(scrollright);
	clearTimeout(scrollleft);
}

function loadRight(link){
opacity("loading", 0, 100, 500);
document.getElementById('right').scrollTop = 0;
//opacity("right", 100, 0, 3);
if(blendstatus)clearTimeout(blendstatus);
var right = document.getElementById('right');
		req = null;
		try{req = new XMLHttpRequest();}
		catch (ms){
			try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (nonms){
				try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
				catch (failed){req = null;}
			}  
		}
		if (req == null)
				alert("Interner Fehler!");
		var url = "content.php";
		var requrl = url + "?id=" + link + "&right=1&SID=" + sid;
		
		req.open('GET', requrl, true);
		req.onreadystatechange = function getrequest(){  
			switch(req.readyState) {
					case 4:
						if(req.status!=200) {alert("Interner Fehler:"+req.status);}
						else{    
							response  = req.responseXML.documentElement;
								var rightc = response.getElementsByTagName('right')[0].firstChild.data;
								evalScript(rightc);
								right.innerHTML = rightc;
								//	opacity("right", 1, 100, 300);					
								opacity("loading", 100, 0, 500);
								checkScrolls();
						}
					break;
					default:
						return false;
					break;     
				}
			};
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);

}
function loadLeft(link){
opacity("loading", 0, 100, 500);
document.getElementById('left').scrollTop = 0;
//opacity("right", 100, 0, 3);
if(blendstatus)clearTimeout(blendstatus);
var left = document.getElementById('left');
		req = null;
		try{req = new XMLHttpRequest();}
		catch (ms){
			try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (nonms){
				try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
				catch (failed){req = null;}
			}  
		}
		if (req == null)
				alert("Interner Fehler!");
		var url = "content.php";
		var requrl = url + "?id=" + link + "&left=1&SID=" + sid;
		
		req.open('GET', requrl, true);
		req.onreadystatechange = function getrequest(){  
			switch(req.readyState) {
					case 4:
						if(req.status!=200) {alert("Interner Fehler:"+req.status);}
						else{    
							response  = req.responseXML.documentElement;
								var leftc = response.getElementsByTagName('left')[0].firstChild.data;
								evalScript(leftc);
								left.innerHTML = leftc;
								//	opacity("right", 1, 100, 300);					
								opacity("loading", 100, 0, 500);
						}
					break;
					default:
						return false;
					break;     
				}
			};
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);

}
function showLayer(){
	var src = document.getElementById("fadeimage").src.replace(/_sw/, "");
	opacity("loading", 0, 100, 500);
	mkLayerToBlock(src);
	
}
function showLayerFromGal(id){
	var src = document.getElementById(id).style.backgroundImage.replace(/_th/, "").replace(/url\(/, "").replace(/\)/, "");
	src = src.replace(/"/, "").replace(/"/, "");
	opacity("loading", 0, 100, 500);
	mkLayerToBlock(src);
}

function mkLayerToBlock(src){
	
	pic.onload = function(){
		var thisw = pic.width;
		maxh = pic.height;
		document.getElementById("layerpic").src = src;
		document.getElementById("layerpic").style.width = thisw + "px";
		document.getElementById("layerpic").style.marginLeft = "-"+(thisw-75) + "px";
	
		setDisplay("layer", "block");
		setDisplay("layerpic", "block");
		setDisplay("layercon", "block");
		loadComm();
		fadeInLayer();
	}
	pic.src = src.replace(/_sw/, '');;
	
	if(document.getElementById('error'))
		document.getElementById('error').innerHTML = '';
	
}
function showGalLayers(did){
	show(did);
	var divs = document.getElementsByClassName('trans');
	for(var i=0; i < divs.length; i++)if(divs[i].id != did)setOpac(50, divs[i].id);

}
function fadeInLayer(){
	startFading('layer', 1, 80, 500);
	startFading('layerpic', 1, 100, 500);
	startFading('layercon', 1, 100, 500);
}


var timeout;
function incheight(){

 var h = document.getElementById("layerpic").style.height.replace(/px/, "");
 
 if(h.length == 0){
  document.getElementById("layerpic").style.height = "1px";
  timeout = setTimeout("incheight()", 2);
  
 } else if(h < maxh){
 
  document.getElementById("layerpic").style.height = ((1*h)+50) + "px";
  timeout = setTimeout("incheight()", 2);
  
 } else {
	clearTimeout(timeout);
 }
}
var timeoutYT;
function incYTheight(id){
 var h = document.getElementById(id).style.height.replace(/px/, "");
 if(h.length == 0){
  document.getElementById(id).style.height = "1px";
  timeoutYT = setTimeout("incYTheight(id)", 2);
 } else if(h < 500){
  document.getElementById(id).style.height = ((1*h)+50) + "px";
  timeoutYT = setTimeout("incYTheight(id)", 2);
 } else clearTimeout(timeoutYT);
 
}
function hideLayer(){
restartfading();
 startFading('layer', 60, 0, 500);
 startFading('layerpic', 100, 0, 500);
 startFading('layercon', 100, 0, 500);
}
function hideLayerFromGal(){
startFading('layer', 60, 0, 500);
 startFading('layerpic', 100, 0, 500);
 startFading('layercon', 100, 0, 500);
}
function startFading(id, start, end, time) {

     var speed = Math.round(time / 100);
     var timer = 0;
     if(start > end) {
         for(i = start; i >= end; i--) {
			setTimeout("setOpac(" + i + ",'" + id  + "')",(timer * speed));
            timer++;
         }
     } else if(start < end) {
         for(i = start; i <= end; i++)
             {
             setTimeout("setOpac(" + i + ",'" + id  + "')",(timer * speed));
             timer++;
         }
     }
}
function setOpac(opac, id) {
     var style = document.getElementById(id).style;
     style.opacity = (opac / 100);
     style.MozOpacity = (opac / 100);
     style.filter = "alpha(opacity=" + opac + ")";
  style.KhtmlOpacity = (opac / 100);
  if(opac == 0){
  style.display = "none";
  if(!id.match(/com/))document.getElementById("layerpic").style.height = "1px";
  }
  if(!id.match(/com/) && opac == 100)incheight();
}


function reloadCaptcha(){
	document.getElementById("captchaimg").src = "captcha.php?t=" + Math.random()*50;
}

function saveGb(url){
document.getElementById("error").innerHTML = "<br>";

if(url != "newsletter")
{
	var name = encodeURIComponent(document.getElementById('name').value);
	var nachricht = encodeURIComponent(document.getElementById('nachricht').value);
}

if(url == "gb")
{
	var right = document.getElementById('right');
	var mail = encodeURIComponent(document.getElementById('email').value);
	var captcha = encodeURIComponent(document.getElementById('captcha').value);
	var params='name=' + name + '&mail=' + mail + '&nachricht=' + nachricht + '&captcha=' + captcha;
	var requrl = "includes/save_gb.php";
}else if(url == "kontakt")
{
	var right = document.getElementById('right');
	var mail = encodeURIComponent(document.getElementById('email').value);
	var captcha = encodeURIComponent(document.getElementById('captcha').value);
	var params='name=' + name + '&mail=' + mail + '&nachricht=' + nachricht + '&captcha=' + captcha;
	var requrl = "includes/save_kontakt.php";
}else if(url == "newsletter")
{
	var right = document.getElementById('right');
	var mail = encodeURIComponent(document.getElementById('email').value);
	var captcha = encodeURIComponent(document.getElementById('captcha').value);
	var params='mail=' + mail + '&captcha=' + captcha;
	var requrl = "includes/save_newsletter.php";
}
else {
	var right = document.getElementById('comm');
	var picid = document.getElementById("layerpic").src;
	
	var params='name=' + name + '&nachricht=' + nachricht + '&picid=' + picid;
	var requrl = "includes/save_comment.php";
}
		req = null;
		try{req = new XMLHttpRequest();}
		catch (ms){
			try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (nonms){
				try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
				catch (failed){req = null;}
			}  
		}
		if (req == null)
				alert("Interner Fehler!");
		
		req.open('POST', requrl, true);
		req.onreadystatechange = function getrequest(){  
			switch(req.readyState) {
					case 4:
						if(req.status!=200) {alert("Interner Fehler:"+req.status);}
						else{    
							response  = req.responseXML.documentElement;
								var rightc = response.getElementsByTagName('right')[0].firstChild.data;
								if(rightc.length > 0)
								{	
									right.innerHTML = rightc;
									//clearGbForm(); 
																
								}
								else {
									var error = response.getElementsByTagName('error')[0].firstChild.data;
									document.getElementById("error").innerHTML = error;
									if(url != "gb")
									{
										loadComm();
										clearCommForm();
									}
								}
								
						}
					break;
					default:
						return false;
					break;     
				}
			};
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.setRequestHeader("Content-length", params.length);
		req.setRequestHeader("Connection", "close");
		req.send(params);
}
function clearGbForm(){
	reloadCaptcha();
	document.getElementById('name').value = "Name";	
	document.getElementById('email').value = "eMail";	
	document.getElementById('nachricht').value = "Nachricht";	
	document.getElementById('captcha').value = "Sicherheitscode";	
	document.getElementById('right').scrollTop = 0;
}
function clearCommForm(){
	document.getElementById('name').value = "Name";	
	document.getElementById('nachricht').value = "Kommentar";	
	document.getElementById('comm').scrollTop = 0;
}

function loadComm(){
var picid = document.getElementById("layerpic").src;

opacity("loading", 0, 100, 500);
var con = document.getElementById("comm");
		req = null;
		try{req = new XMLHttpRequest();}
		catch (ms){
			try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (nonms){
				try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
				catch (failed){req = null;}
			}  
		}
		if (req == null)
				alert("Interner Fehler!");
		var url = "content.php";
		var requrl = url + "?id=" + picid + "&comment=1&SID=" + sid;
		
		req.open('GET', requrl, true);
		req.onreadystatechange = function getrequest(){  
			switch(req.readyState) {
					case 4:
						if(req.status!=200) {alert("Interner Fehler:"+req.status);}
						else{    
							response  = req.responseXML.documentElement;
								var conc = response.getElementsByTagName('right')[0].firstChild.data;
								con.innerHTML = conc;
								//	opacity("right", 1, 100, 300);					
								opacity("loading", 100, 0, 500);
						}
					break;
					default:
						return false;
					break;     
				}
			};
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);

}
function setDisplay(id, value){
	document.getElementById(id).style.display = value;
}
function mark(id){
	var imgs = document.getElementsByClassName('listimg');
	for(var i = 0; i < imgs.length; i++)imgs[i].src = "images/list_r.gif";
	document.getElementById(id).src = "images/list.gif";
}
function saveRating(id, rating){
var con = document.getElementById('right');
		req = null;
		try{req = new XMLHttpRequest();}
		catch (ms){
			try{req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (nonms){
				try{req = new ActiveXObject("Microsoft.XMLHTTP");} 
				catch (failed){req = null;}
			}  
		}
		if (req == null)
				alert("Interner Fehler!");
		var url = "content.php";
		var requrl = url + "?id=suggest&rid=" + id + "&rating=" + rating + "&right=1&SID=" + sid;
		
		req.open('GET', requrl, true);
		req.onreadystatechange = function getrequest(){  
			switch(req.readyState) {
					case 4:
						if(req.status!=200) {alert("Interner Fehler:"+req.status);}
						else{    
							response  = req.responseXML.documentElement;
								var conc = response.getElementsByTagName('right')[0].firstChild.data;
								con.innerHTML = conc;
								//	opacity("right", 1, 100, 300);					
								opacity("loading", 100, 0, 500);
								var newid = id.replace(/&site=/, "");
								document.getElementById("rating").innerHTML = document.getElementById(newid).innerHTML;
						}
					break;
					default:
						return false;
					break;     
				}
			};
		req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.send(null);



}

function checkScrolls()
{
	var right = document.getElementById('right');
	if(right.scrollHeight)
	{
	
		if(right.scrollHeight > right.offsetHeight)
		{
			document.getElementById('scrollTop').style.display = "block";
			document.getElementById('scrollBottom').style.display = "block";
		} else {
			document.getElementById('scrollTop').style.display = "none";
			document.getElementById('scrollBottom').style.display = "none";
		}
	
	}
}
