 
 var news = false;
 var newsCounter = 0;	 
 var htmlPage = new Array();
 

      function makeRequest(url, parameters) 
      {
 	var http_request = false;       

	 if (window.XMLHttpRequest) 
	 { // Mozilla, Safari,...
	  http_request = new XMLHttpRequest();
	   if (http_request.overrideMimeType) 
	   { 
	    http_request.overrideMimeType('text/xml');
           }

         } 
          else if (window.ActiveXObject) { // IE
            try 
	    {
		 http_request = new ActiveXObject('Microsoft.XMLHTTP');
            
      
	}  catch (e) {
            try {
		http_request = new ActiveXObject('Msxml2.XMLHTTP');                
            } catch (e) {alert(e);}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = function() { handleXml(http_request) } ;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function init()
   {
	//document.getElementById('nyheder').innerHTML = "<center>Din browser venter p&aring; data, vent venligst</center>";
	//document.getElementById('display').innerHTML = "<center>Din browser venter p&aring; data, vent venligst</center>";
	htmlPage['fejlside'] = "<center><h1>Der er opst&aring;et en fejl</h1>";
	htmlPage['fejlside'] += "Send en e-mail til "; 
	htmlPage['fejlside'] += "<a href='mailto:olsen.thomas@gmail.com'>";
	htmlPage['fejlside'] += "hjemmesidekonstrukt&oslash;ren</a></center>";
	makeRequest("data.xml","");
	
   }   

  function setHtmlPage(page)
  {	
	if (htmlPage[page] == undefined)
	{ 
		document.getElementById('display').innerHTML = htmlPage['fejlside'];
		dhtmlHistory.add('fejlside', htmlPage['fejlside']);	
	}
	else
	{	
	 	document.getElementById('display').innerHTML = htmlPage[page];
		dhtmlHistory.add(page, htmlPage[page]);
	} 
  
  } 

   function handleXml(http_request)
   {  

	
     if (http_request.readyState == 4) 
	  {
	    if (http_request.status == 200) 
	    { 

	     	var xml = http_request.responseXML.documentElement;	
	     	var page = xml.getElementsByTagName('page');		
	     	news = xml.getElementsByTagName('news');	
	     	var menu = '<ul class="menu">';	
	    
	    
			for(var i = 0; i < page.length ; i++)
			{

		   	var type = page[i].attributes[1].value;
		   	var name = page[i].attributes[0].value;	 
	         var useInMenu = page[i].attributes[2].value;
	         var menuName = page[i].attributes[3].value;		  	

		

	      	if ( type == "html") 
					htmlPage[name] = getCData(page[i]);
		   	else if ( type == "slides")
		      	getSlides(name,page[i]);
		      else if ( type == "images")
		      	getImages(name,page[i]);
						      
				if ( useInMenu == "yes") 	
		      		menu += '<li class="menu"><a href="javascript:setHtmlPage(\'' + name  + '\');" class="menu">' + menuName +'</a></li>';	

			}	
		

	   
		 	htmlPage['newsPage'] = "<ul>";
		
			for(var i = 0; i < news.length ; i++)
			{
				htmlPage['newsPage'] += "<li>" + getCData(news[i]) + "</li>";
			}
		
			htmlPage['newsPage'] += "</ul>";
		
		   if (news.length > 0)
				menu += '<li class="menu"><a href="javascript:setHtmlPage(\'newsPage\');" class="menu">Nyheder</a></li>';
			
			menu += '</ul>';

			document.getElementById('menu').innerHTML = menu;

			if (news.length > 0)
			{ 			
		  	displayNews();
			}

			if (dhtmlHistory.isFirstLoad())
				setHtmlPage('forside'); 

	    }			
	    else
	    {
	     document.getElementById('display').innerHTML = '<center>Det er ikke muligt at hente det nødvendige <br/> data fra serveren. Prøv at genopfriske denne side</center>';
	     document.getElementById('nyheder').innerHTML = '';
	    }  
	    
	    
          }        
  
   }


   function getCData(node)
	{
		var cData = '';

		 for(var i = 0; i < node.childNodes.length; i++)
			{
				
				if(node.childNodes[i].nodeType == 4)
				{
				 cData = node.childNodes[i].data;	
				 break;
				}
			}		

		return cData;
	}

    function getText(node)
   {
		var text = '';

		 for(var i = 0; i < node.childNodes.length; i++)
			{
				
				if(node.childNodes[i].nodeType == 3)
				{
				 text = node.childNodes[i].data;	
				 break;
				}
			}		

		return text;

   }

   function getElementText(node, elementName)
   {
		var elements = node.getElementsByTagName(elementName);

		if (elements.length != 1)
	 		return '';
 	
 		//if (elementName == 'indexDescription')
 		//	alert('elements = ' + elements.length + ' name = ' + elementName + ' contents = ' + getText(elements[0] ));	
 		
		return getText(elements[0]);
   }	
		    

   function makeLink(text)
	{
		return '<a href="javascript:changePage(\'' + text + '\')">' + text + '</a>;'
	}	

  
   function displayNews()
	{
	  if ( news.length != 0)
	  {
	    document.getElementById('nyheder').innerHTML = getCData(news[newsCounter]);
	    newsCounter = (newsCounter + 1) % news.length;
	    setTimeout('displayNews()',8000);
	  }					


	}

function getSlides(name, node)
{
    
     var title = getElementText(node,'title');				
     htmlPage[name] = '<center><h1>' + title + '</h1></center>';
     htmlPage[name] += getElementText(node, 'description');
     htmlPage[name] += '<table>';
     var indices = node.getElementsByTagName('index');		

     for (var j = 0; j < indices.length ; j++)
     {

	 htmlPage[name] += '<td>';	
	 var index = indices[j];
	 var indexThumb = getElementText(index,'indexThumb'); 
	 var indexSlide = getElementText(index, 'indexSlide');
         htmlPage[name] += '<tr><td><a href="javascript:setHtmlPage(\'' + indexThumb + '\');"><image src="' + indexThumb + '"/></a></td><td>' + getElementText(index, 'indexDescription'); 		
	 if (indexSlide != '')
	  htmlPage[name] +=  ' Klik p&aring; billedet for at se det i stor st&oslash;rrelse.';
         else
	  htmlPage[name] +=  ' Klik p&aring; billedet for at se en oversigt.';

	 htmlPage[name] +=  '</td></tr>';

	 //htmlPage[indexThumb] = '<a href="javascript:setHtmlPage(\'' + name  + '\');">Tilbage</a>';
	  htmlPage[indexThumb] = '<center><h3>'+ title +'</h3></center>';	 

	 

	 if (indexSlide != '')
	 { 
	   htmlPage[indexThumb] += '<center><table><tr><td align="center"><image src="' + indexSlide+ '"/></td></tr>';
	   htmlPage[indexThumb] += '<tr><td>' + getElementText(index, 'indexDescription') + '</td></tr></table></center>';
	   continue;
	 }
	else
	{        	
          htmlPage[indexThumb] += '<br/>' + getElementText(index, 'indexDescription') + ' Klik p&aring; et billede.';
	}

	 var images = index.getElementsByTagName('image');		
	 htmlPage[indexThumb] += "<center><table><tr>";			  
	 for (var x = 0; x < images.length ; x++)
	 {
		var image = images[x];
	  	var imageThumb = getElementText(image,'imageThumb');
	  	var imageLink = getElementText(image,'imageLink');

			
	   if ( (imageLink != '') || ((x != 0) && (x % 4 == 0)))
	     htmlPage[indexThumb] += '</tr><tr>';	
	   
	  	htmlPage[indexThumb] += '<td align="center">';
	  
	  	if (imageLink != '')
	  	{
	  		htmlPage[indexThumb] += '<a href="' + imageLink + '" target="_blank"><image src="' + imageThumb + '"/></a>';
	  	}
	  	else
	  	{ 
	  		htmlPage[indexThumb] += '<a href="javascript:setHtmlPage(\'' + imageThumb + '\');"><image src="' + imageThumb + '"/></a>';		
	 		htmlPage[indexThumb] += '</td>';		  //htmlPage[imageThumb] = '<a href="javascript:setHtmlPage(\'' + indexThumb + '\');">Tilbage</a>';
	  		htmlPage[imageThumb] = '<center><h3>'+ title +'</h3></center>'; 	
	  		htmlPage[imageThumb] += '<center><table><tr><td align="center"><a href="javascript:setHtmlPage(\'' + indexThumb + '\');"><image src="' + getElementText(image, 'imageSlide') + '"/></a></td></tr><tr><td>' + getElementText(image, 'imageDescription') + ' Klik p&aring; billedet for at komme tilbage til billedeoversigten</td></tr></table></center>';
	  	}

	   
    }	
			  	
    htmlPage[indexThumb] += "</tr><table></center>"; 			  	
  }
 htmlPage[name] += '</table>';	
}

function getImages(name, node)
{
    
     var title = getElementText(node,'title');				
     htmlPage[name] = getElementText(node, 'description');
     htmlPage[name] += '<table><tr>';
	
	 var images = node.getElementsByTagName('image');				  

	 for (var x = 0; x < images.length ; x++)
	 {
		var image = images[x];
	  	var imageThumb = getElementText(image,'imageThumb');

			
	   if ((x != 0) && (x % 4 == 0))
	     htmlPage[name] += '</tr><tr>';	
	   
	  	htmlPage[name] += '<td align="center">';
	  	  
	  	htmlPage[name] += '<a href="javascript:setHtmlPage(\'' + imageThumb + '\');"><image src="' + imageThumb + '"/></a>';		
	 	htmlPage[name] += '</td>';		  	  	
	  	htmlPage[imageThumb] = '<center><table><tr><td align="center"><a href="javascript:setHtmlPage(\'' + name + '\');"><image src="' + getElementText(image, 'imageSlide') + '"/></a></td></tr><tr><td>' + getElementText(image, 'imageDescription') + ' Klik p&aring; billedet for at komme tilbage til billedeoversigten</td></tr></table></center>';
	   
    }	
			  	
 htmlPage[name] += '</tr></table>';	
}
