var imageCount=0;

var imageCurrent=1;

var effectInProgress=false;

var homeDelay=5000;


window.onload=function()
{
	if (document.getElementById('boxMenu').childNodes.length>0)
	{
		for (var i=0;i<document.getElementById('boxMenu').childNodes.length;i++)
		if (document.getElementById('boxMenu').childNodes[i].id!=null && document.getElementById('boxMenu').childNodes[i].id.substr(0,14)=="imageContainer") imageCount++;
	}
	
	if (imageCount>0) window.setTimeout("slide()",homeDelay);
	
	if (document.getElementById('boxMenuNav'))
	{
		var menuDivs=document.getElementById('boxMenuNav').childNodes;
		
		for (var i=0;i<menuDivs.length;i++)
		{
			if (menuDivs[i].className.indexOf('menuItemActive')!=-1)
			{
				document.getElementById('menuHighlight').style.display='block';
				
				document.getElementById('menuHighlight').style.top=menuDivs[i].offsetTop;
			}
		}
	}
};


function slide()
{
	if (!effectInProgress)
	{
		var thisImg=imageCurrent;
				
		if (imageCurrent<imageCount)
		imageCurrent++;
		else if (imageCurrent==imageCount)
		imageCurrent=1;

		if (thisImg!=imageCurrent)
		new Effect.Parallel([
			new Effect.Fade('imageContainer'+thisImg, { from: 1, to: 0, sync: true}),
			new Effect.Appear('imageContainer'+imageCurrent, { from: 0, to: 1, sync: true})
		], {duration: 2, fps: 70, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){effectInProgress=false;}});
		
		window.setTimeout("slide()",homeDelay);
	}
}


function showPage(obj)
{
	switch (obj.id)
	{
		case 'hotel':
		{
			ajaxSendRequest("/data/m_hotel.php?mode=get");
			break;
		}
		
		case 'preise':
		{
			ajaxSendRequest("/data/m_preise.php?mode=get");
			break;
		}
		
		case 'reservierung':
		{
			ajaxSendRequest("/data/m_reservierung.php?mode=get");
			break;
		}
		
		case 'service':
		{
			ajaxSendRequest("/data/m_service.php?mode=get");
			break;
		}
		
		case 'galerie':
		{
			ajaxSendRequest("/data/m_galerie.php?mode=get");
			break;
		}
		
		case 'kontakt':
		{
			ajaxSendRequest("/data/m_kontakt.php?mode=get");
			break;
		}		
	}
	
	if (obj.id.indexOf('r_')!=-1) ajaxSendRequest("/data/m_zimmer.php?status=details&cat="+obj.id.substr(2)+"&mode=get");

	if (obj.id.indexOf('p_golf')!=-1) ajaxSendRequest("/data/m_partner.php?status=golf&mode=get");
	
	if (obj.id.indexOf('p_restaurants')!=-1) ajaxSendRequest("/data/m_partner.php?status=restaurants&mode=get");

	if (obj.id.indexOf('p_freizeit')!=-1) ajaxSendRequest("/data/m_partner.php?status=freizeit&mode=get");
		
	if (!effectInProgress && obj.id.indexOf('r_')==-1 && obj.id.indexOf('p_')==-1)
	{
		if (obj.id=='zimmer')
		{
			if (document.getElementById('boxSubmenu2').style.display!='none') new Effect.SlideUp('boxSubmenu2',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
			
			if (document.getElementById('boxSubmenu').style.display=='none') new Effect.SlideDown('boxSubmenu',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
		}
		else if (obj.id=='partner')
		{
			if (document.getElementById('boxSubmenu').style.display!='none') new Effect.SlideUp('boxSubmenu',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
			
			if (document.getElementById('boxSubmenu2').style.display=='none') new Effect.SlideDown('boxSubmenu2',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
		}
		else
		{
			if (document.getElementById('boxSubmenu2').style.display!='none') new Effect.SlideUp('boxSubmenu2',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
			
			if (document.getElementById('boxSubmenu').style.display!='none') new Effect.SlideUp('boxSubmenu',{duration: 1.0, queue: 'end', beforeStart: function(){effectInProgress=true;}, afterFinish: function(){new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}}); effectInProgress=false;}});
		}
	}

	if (!effectInProgress) new Effect.Move('menuHighlight', {x: 0, y: obj.offsetTop, mode: 'absolute', duration: 0.7, transition: Effect.Transitions.sinoidal, afterFinish: function(){if (document.getElementById('menuHighlight').style.display=='none') document.getElementById('menuHighlight').style.display='block';}});
}


function ajaxSendRequest(url)
{
	var 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("Error: Could not create ajax request object!"); 
	req.open("GET",url,true);	req.onreadystatechange = function()
	{            		switch(req.readyState)
		{			case 4:			if (req.status!=200)
			{				alert("Error: "+req.status); 			}
			else
			{
				if (req.responseXML!=null)
				{
					ajaxHandleResult(req.responseXML);
				}
				else alert("Error: AJAX returned nothing");
			}			break;
			
			default:			return false;			break;     		}	}; 	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	
	req.send(null);		}


function ajaxHandleResult(response)
{
	var statusCode=response.getElementsByTagName('npStatus')[0].childNodes[0].nodeValue;
	
	if (statusCode==1)
	{
		var strMenuContent=response.getElementsByTagName('npMenuContent')[0];
		
		document.getElementById('boxMenuContent').innerHTML=strMenuContent.firstChild.nodeValue;
		
		var strContent=response.getElementsByTagName('npContent')[0];

		if (strContent.firstChild.nodeValue=="")
		document.getElementById('boxContent').style.display='none';
		else
		{
			if (document.getElementById('boxContent').style.display=='none') document.getElementById('boxContent').style.display='block';

			document.getElementById('boxContent').innerHTML=strContent.firstChild.nodeValue;
		}
	}
	else alert("Error: unknown status code #"+statusCode);
}

