function MM_reloadPage(init) {  //reloads the window if Nav4 resized
		if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
		else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImagesXX() { //v3.0
		var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
 		var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var preloaded = new Array();
function MM_preloadImages() {
	var strImg = "";
    for (var i = 0; i < arguments.length; i++){
        preloaded[i] = document.createElement('img');
        preloaded[i].setAttribute('src',arguments[i]);
        //preloaded[i] = new Image();
        //preloaded[i].src = arguments[i];
        strImg = strImg + arguments[i] + "\r\n";
    }
    //alert(strImg);
}

function GetHeight()
{
	var y = 800;
	if (self.innerHeight)
	{
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		y = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		y = document.body.clientHeight;
	}
	return y;
}

function GetRandom( min, max ) {
if( min > max ) {
	return( -1 );
}
if( min == max ) {
        return( min );
}
return( min + parseInt( Math.random() * ( max-min+1 ) ) );
}

function SetOpacity(elem, opacityAsInt)
{
    var opacityAsDecimal = opacityAsInt;
    if (opacityAsInt > 100)
        opacityAsInt = opacityAsDecimal = 100; 
    else if (opacityAsInt < 0)
         opacityAsInt = opacityAsDecimal = 0;  
    opacityAsDecimal /= 100;
    if (opacityAsInt < 1)
        opacityAsInt = 1; // IE7 bug, text smoothing cuts out if 0    
    elem.style.opacity = (opacityAsDecimal);
    elem.style.filter  = "alpha(opacity=" + opacityAsInt + ")";
}

function Fade(elemId, fromOpacity, toOpacity, time, fps, repeatTime, actPic)
{
     var steps = Math.ceil(fps * (time / 1000));
     var delta = (toOpacity - fromOpacity) / steps;
	 var nextPic = GetRandomImage(actPic);
     FadeOpacityStep(elemId, 0, steps, fromOpacity, delta, (time / steps));
     var sfunc="MM_swapImage(\'header\',\'\',\'../grafik/" + nextPic + "\',1);";
     setTimeout(sfunc,time+500);
     var sfunc2="FadeOpacityStep(\'" + elemId + "\', 0, " + steps + ", " + toOpacity + "," + (-1)*delta + ", " + (time / steps) + ");";
     setTimeout(sfunc2,time+1500);
     var sfunc3="Fade(\'" + elemId + "\',100, 1, " + time +", " + fps + ", " + repeatTime + ", \'" + nextPic + "\')";
     setTimeout(sfunc3, repeatTime);
}
 
function FadeOpacityStep(elemId, stepNum, steps, fromOpacity, delta, timePerStep)
{
    SetOpacity(document.getElementById(elemId), Math.round(parseInt(fromOpacity) + (delta * stepNum)));
    if (stepNum < steps) setTimeout("FadeOpacityStep('" + elemId + "', " + (stepNum+1) + ", " + steps + ", " + fromOpacity + ", " + delta + ", " + timePerStep + ");", timePerStep);
}

//gmaps-api


function Gload() {
	if (GBrowserIsCompatible()) {
 		map = new GMap2(document.getElementById("karte"));
		gdir = new GDirections(map, document.getElementById("route"));
        GEvent.addListener(gdir, "error", getErrors);
        showDiv("route",0);
		showDiv("karte",0);
		showDiv("bez",0);
		showDiv("bez2",0);
	}
}

function getRoute(fromAddress, toAddress, locale, lBez) {
	document.getElementById("bez2").innerHTML=lBez;
	document.getElementById("bezerr").innerHTML="";
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
	showDiv("route",1);
	showDiv("karte",1);
	showDiv("bez",1);
	showDiv("bez2",1);
}

function getErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS){
		   	showDiv("route",0);
		   	showDiv("karte",0);
		   	showDiv("bez",0);
		   	showDiv("bez2",0);
		   	document.getElementById("bezerr").innerHTML="<h1><b>Fehler: Die gewünschte Route wurde nicht gefunden!</h1></b>";
   		}
}

function GloadCleanDB() {
	if (GBrowserIsCompatible()) {
 		map = new GMap2(document.getElementById("karte"));
		gdir = new GDirections(map, document.getElementById("route"));
        GEvent.addListener(gdir, "error", getErrorsCleanDB);
	}
}

function getRouteCleanDB(fromAddress, toAddress, locale, lBez) {
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
	document.getElementById("kid").innerHTML=lBez;
}

function getErrorsCleanDB(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS){
		   	document.getElementById("bezerr").innerHTML+=document.getElementById("kid").innerHTML+"<br />";
   		}
}


function showDiv(id, hide){ // 1 visible, 0 hidden 
    if(document.layers)	 {
       document.layers[id].display = hide ? "block" : "none";
    }
    else if(document.getElementById) {
        var obj = document.getElementById(id);
        obj.style.display = hide ? "block" : "none";
    }
    else if(document.all)	 {
        document.all[id].style.display = hide ? "block" : "none";
    }
}

function CreateObject()
	{
		var objReq;
		try
		{
			objReq = new XMLHttpRequest();
		}
		catch(e) {objReq = null;}
		if (objReq==null) alert('kein objekt!');
		return objReq;
	}
	
function GetHTML(XML, node)
{
	try
	{
		return FilterXMLValue(XML.getElementsByTagName(node)[0].firstChild.nodeValue);
	}
	catch (e)
	{
		return "";
	}
}

function statehandler()
{
	if (objRequest.readyState==4)
	{
		var XMLResponse = objRequest.responseXML;
		
		if (sDrt=="r"){
			MoveDivLeft(10, 350, 0, new Array(GetHTML(XMLResponse, 'img_small_right'), GetHTML(XMLResponse, 'img_mid_right'), GetHTML(XMLResponse, 'img_center'), GetHTML(XMLResponse, 'img_mid_left'), GetHTML(XMLResponse, 'img_small_left'), FilterXMLValue(document.getElementById('img_small_left').innerHTML.replace(/image_small_left/gi, 'image_temp').replace(/image_small_right/gi, 'image_temp'))));
		}
		else if (sDrt=="l"){
			MoveDivRight(10, 350, 0, new Array(GetHTML(XMLResponse, 'img_small_left'), GetHTML(XMLResponse, 'img_mid_left'), GetHTML(XMLResponse, 'img_center'), GetHTML(XMLResponse, 'img_mid_right'), GetHTML(XMLResponse, 'img_small_right'), FilterXMLValue(document.getElementById('img_small_right').innerHTML.replace(/image_small_left/gi, 'image_temp').replace(/image_small_right/gi, 'image_temp'))));
		}
		else
		{
			RefreshDOM_HTML(XMLResponse, 'img_small_left');
			RefreshDOM_HTML(XMLResponse, 'img_small_right');
			RefreshDOM_HTML(XMLResponse, 'img_mid_left');
			RefreshDOM_HTML(XMLResponse, 'img_mid_right');	
			RefreshDOM_HTML(XMLResponse, 'img_center');
		}
		
		RefreshDOM_HTML(XMLResponse, 'artikel_nw');
		RefreshDOM_HTML(XMLResponse, 'artikel_title');
			
		RefreshDOM_HTML(XMLResponse, 'artikel_awardpic')
		RefreshDOM_HTML(XMLResponse, 'artikel_awardtext')
		
		RefreshDOM_HTML(XMLResponse, 'artikel_pikto')
		RefreshDOM_HTML(XMLResponse, 'img_pfeil_left')
		RefreshDOM_HTML(XMLResponse, 'img_pfeil_right')
		RefreshDOM_HTML(XMLResponse, 'selektor_title')
		
		RefreshDOM_SRC(XMLResponse, 'main_img')
		RefreshDOM_SRC(XMLResponse, 'main_btl')
		
		RefreshDOM_HREF(XMLResponse, 'main_img_link')
		RefreshDOM_HREF(XMLResponse, 'main_btl_link')
		
		RefreshDOM_Title(XMLResponse, 'main_img','artikel_title' )
		RefreshDOM_Title(XMLResponse, 'main_btl','artikel_title')
		
		RefreshDOM_Title(XMLResponse, 'main_img_link','artikel_title' )
		RefreshDOM_Title(XMLResponse, 'main_btl_link','artikel_title')
		
	}
}

function FilterXMLValue(value)
{
	value = value.replace(/\+\+/gi, '\&');
	value = value.replace(/\&lt\;/gi, '<');
	value = value.replace(/\&gt\;/gi, '>');
	value = value.replace(/\&quot\;/gi, '\"');
	value = value.replace(/\&amp\;/gi, '\&');
	
	//alert(value);
	return value;
}

function RefreshDOM_HTML(XMLResponse, ElementID)
{
	try
	{
		document.getElementById(ElementID).style.visibility = "visible";
		document.getElementById(ElementID).innerHTML = FilterXMLValue(XMLResponse.getElementsByTagName(ElementID)[0].firstChild.nodeValue);
	}
	catch(e)
	{
		document.getElementById(ElementID).style.visibility = "hidden";
		document.getElementById(ElementID).innerHTML = "";
	}
}

function RefreshDOM_SRC(XMLResponse, ElementID)
{
	try
	{
		document.getElementById(ElementID).style.visibility = "visible";
		document.getElementById(ElementID).src = FilterXMLValue(XMLResponse.getElementsByTagName(ElementID)[0].firstChild.nodeValue);
	}
	catch(e)
	{
		document.getElementById(ElementID).style.visibility = "hidden";
		document.getElementById(ElementID).src = "";
	}
}

function RefreshDOM_Title(XMLResponse, ElementID, TextID)
{
	try
	{
		document.getElementById(ElementID).style.visibility = "visible";
		document.getElementById(ElementID).title = FilterXMLValue(XMLResponse.getElementsByTagName(TextID)[0].firstChild.nodeValue);
	}
	catch(e)
	{
		document.getElementById(ElementID).style.visibility = "hidden";
		document.getElementById(ElementID).title = "";
	}
}

function RefreshDOM_HREF(XMLResponse, ElementID)
{
	try
	{
		document.getElementById(ElementID).style.visibility = "visible";
		document.getElementById(ElementID).href = FilterXMLValue(XMLResponse.getElementsByTagName(ElementID)[0].firstChild.nodeValue);
	}
	catch(e)
	{
		document.getElementById(ElementID).style.visibility = "hidden";
		document.getElementById(ElementID).href = "";
	}
}
		
function GetData(art)
{
	objRequest.onreadystatechange = statehandler;
	objRequest.open('get', 'fsopaj.php?art='+art);
	objRequest.send(null);
}	

function MoveDivRight(steps, timems, step, divHTML)
{
	var divNames = new Array("img_small_left", "img_mid_left", "img_center", "img_mid_right", "img_small_right", "tempDiv");
	var imgNames = new Array("image_small_left", "image_mid_left", "image_center", "image_mid_right", "image_small_right", "image_temp");
	var divXPos = new Array(0,62,188,375,652,853,1000);
	var divYPos = new Array(100,65,40,0,40,65,100);
		
	var AniPos = step/steps;
	
	if (step==0) {
		for (var i = 0; i < divNames.length; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.innerHTML = divHTML[i];
			element.style.margintop = 0;
			element.style.marginleft = 0;
			element.style.top = divYPos[i];
			element.style.left = divXPos[i];
			element.style.width = divSize[i];
			element.style.visibility = "visible"; 
				
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				if (picElement) picElement.style.width  = imgSize[i+1];
			}
		}
		document.getElementById("tempDiv").style.visibility = "visible"; 
	}
	
	if (step<steps) 
	{
		for (var i = 0; i < divNames.length; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.style.left   = Math.max(0,divXPos[i] + ((divXPos[i+1]-divXPos[i])*AniPos));
			element.style.top    = Math.max(0,divYPos[i] + ((divYPos[i+1]-divYPos[i])*AniPos));
			element.style.width  =  Math.max(0,divSize[i] + ((divSize[i+1]-divSize[i])*AniPos));
			element.style.height =  Math.max(0,imgSize[i] + ((imgSize[i+1]-imgSize[i])*AniPos));
	
			if(i==divNames.length-1)
			{ 
				element.style.fontSize  = Math.max(0,(12 - (12*AniPos)));
			}
			if(i==0)
			{ 
				element.style.fontSize  = Math.max(0,(12 - (12*(1-AniPos))));
			}
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				picElement.style.width  = Math.max(0,imgSize[i] + ((imgSize[i+1]-imgSize[i])*AniPos));
			}
		}
		setTimeout("MoveDivRight(" + steps + ", " + timems + " , " + (step+1) + ",0)",parseInt(timems/steps));
	}
	
	if (step==steps) 
	{
		document.getElementById("tempDiv").style.visibility = "hidden"; 
		for (var i = 0; i < divNames.length-1; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.style.top = divYPos[i+1];
			element.style.left = divXPos[i+1];
			element.style.width = divSize[i+1];
			element.style.overflow = "visible";
			element.style.fontSize  = 12;
			element.style.visibility = "visible"; 
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				if (picElement) picElement.style.width  = imgSize[i+1];
			}
		}
	}
	
}

function MoveDivLeft(steps, timems, step, divHTML)
{
	var divNames = new Array("img_small_right", "img_mid_right", "img_center", "img_mid_left", "img_small_left", "tempDiv");
	var imgNames = new Array("image_small_right", "image_mid_right", "image_center", "image_mid_left", "image_small_left", "image_temp");
	var divXPos = new Array(1000, 853, 652, 375, 188, 62, 0);
	var divYPos = new Array(100,65,40,0,40,65,100);
	
	var AniPos = step/steps;
	
	if (step==0) {
		for (var i = 0; i < divNames.length; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.style.margintop = 0;
			element.style.marginleft = 0;
			element.style.top = divYPos[i];
			element.style.left = divXPos[i];
			element.style.width = divSize[i];
			element.style.visibility = "visible"; 
			element.innerHTML = divHTML[i];
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				if (picElement) picElement.style.width  = imgSize[i];
	
			}
		}
		document.getElementById("tempDiv").style.visibility = "visible"; 
	}
	
	if (step<steps) 
	{
		for (var i = 0; i < divNames.length; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.style.left   = Math.max(0,divXPos[i] + ((divXPos[i+1]-divXPos[i])*AniPos));
			element.style.top    = Math.max(0,divYPos[i] + ((divYPos[i+1]-divYPos[i])*AniPos));
			element.style.width  =  Math.max(0,divSize[i] + ((divSize[i+1]-divSize[i])*AniPos));
			if(i==0)
			{ 
				element.style.fontSize  = Math.max(0,(12 - (12*(1-AniPos))));
			}
			if(i==divNames.length-1)
			{ 
				element.style.fontSize  = Math.max(0,(12 - (12*(AniPos))));
			}
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				if (picElement) picElement.style.width  = Math.max(0,imgSize[i] + ((imgSize[i+1]-imgSize[i])*AniPos));
			}
		}
		setTimeout("MoveDivLeft(" + steps + ", " + timems + " , " + (step+1) + ",0)",parseInt(timems/steps));
	}
	
	if (step==steps) 
	{
		document.getElementById("tempDiv").style.visibility = "hidden"; 
		for (var i = 0; i < divNames.length-1; ++i)
		{
			element = document.getElementById(divNames[i]); 
			element.style.top = divYPos[i+1];
			element.style.left = divXPos[i+1];
			element.style.width = divSize[i+1];
			element.style.overflow = "visible";
			element.style.fontSize  = 12;
			if(element.innerHTML)
			{
				picElement = document.getElementById(imgNames[i]); 
				picElement.style.width  = imgSize[i+1];
			}
		}
	}
	
}

	


	
	



	


	
	