//*************************************************************
//
// common JavaScript functions 
//
// from Lutz Stiege, (c) SEF GmbH 2004
//
//*************************************************************

var rootDir;
var params  = new Array();

//*************************************************************
// determine root directory and parameters
//************************************************************* 
with (window.location) {
    str             = new String(href);
    // online directory on server?
    if (protocol == "http:") {
	    rootDir     = protocol + "//" + hostname + "/";
    }
    // offline directory (for testing purposes)
    else if (protocol == "file:") {
        // This only works if the calling html-file is in the rootdir
	    rootDir     = str.substring(0,str.lastIndexOf('/')+1);   	
    } 
    // if there are parameter appended to the URL
    if (str.lastIndexOf('?') != "-1") {        
        getParams(str.substring(str.lastIndexOf('?')+1,str.length)); 
    }  
    
//    var zwStr       = "";    
//    for (var prop in params) {
//        zwStr       = zwStr + prop + "=" + params[prop] + "; ";
//    }     
    // alert(zwStr);
   // alert(rootDir);
}

//*************************************************************
// buffers the parameter in global array 'param[]'
//************************************************************* 
function getParams(paramStr) {
    var i;
    
    // get every key-value pair
    var zwisiArray  = paramStr.split('&');
        
    for (i = 0; i < zwisiArray.length; i++) {
        // split to key and value
        var zwisiArray2     = zwisiArray[i].split('=');
        var key             = String(zwisiArray2[0]);
        var value           = String(zwisiArray2[1]); 
        params[key]         = value; 
    }
}

//*************************************************************
// Quicknav functionality
//************************************************************* 
function QuickGo(str) {		
	if ((str != "0")&&(str != "-")) {
		strarray = str.split(/\,/);
		// alert(strarray[0]);
        	document.location.href = strarray[0];
		qindex = 0;
	}
}

//*************************************************************
// generates a random integer between 1 and number
//************************************************************* 
function getRandomInt(number) {
	today=new Date();
	jran=today.getTime();
	
	var random_number="";
	jran = (jran*9301+49297) % 233280;
	random_number = Math.ceil( (jran/(233280*1.0)) *number);
	return random_number;
}

//*************************************************************
// loads random image from a random image directory
//************************************************************* 
function LoadRandomImage(number) {
	ranNumber = getRandomInt(number);	
	image= rootDir + "images/random/" + ranNumber + ".jpg";
	return image;
}

//*************************************************************
// prints an entry on the sitemap
//************************************************************* 
function printSitemapContent(nr) {    
	with(document) {
		var	i;		
		var urlName     = eintraege[nr].name;
		
		// toplevel?
        if(eintraege[nr].level == 1) {
            write("<tr>\n<td>");

        }
        else {
            // Check whether previous entry was a level higher
            if(eintraege[nr-1].level < eintraege[nr].level) {
                if (eintraege[nr-1].level == 1) {
                    writeln("<tr>\n<td>");
                }
                else {
                    writeln("<tr>\n<td>&nbsp;</td>\n<td>");
                }
                writeln("<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">");
                writeln("<colgroup width=\"100%\">\n<col width=\"10%\">\n<col width=\"90%\">\n</colgroup>");
            }
            write("<tr>\n<td>&nbsp;</td>\n<td>");          
        }
        				
		write("<a " +
		        (eintraege[nr].url ? ("href=\"" + eintraege[nr].url + "\" ") : "") +
				(eintraege[nr].target ? ("target=\"" + eintraege[nr].target + "\" ") : "") +
				"title=\"" + urlName + "\"" +				
				">"+ urlName + "</a>");
				
		writeln("</td>\n</tr>");
		
		if(nr < (eintraege.length-1) ) {
		    if(eintraege[nr+1].level < eintraege[nr].level) {
		        var i;
		        for (i = eintraege[nr+1].level; i < eintraege[nr].level; i++)  {
		            writeln("</table>\n</td>\n</tr>");
		        }
		    }           
        }		
	}
}
	
//*************************************************************
// prints the sitemap with all sublevels specified by content
//************************************************************* 
function printSitemap(lvl, start) {
	var	i;
	with(document)	{
		for(i = start; i < eintraege.length; i++) {
			// Just take care of the entries with the correct level
			if(eintraege[i].level < lvl) {
				return;
			}
			if(eintraege[i].level == lvl) {
			    	// show the entry
				printSitemapContent(i);
				// if entry has subfolder and is open, show the entries of its subfolder 
				if (eintraege[i].node) {
				    printSitemap(lvl + 1, i + 1);
				}
			}
		}
	}
}

//*************************************************************
// displays the sitemap specified by content
//************************************************************* 
function showContent(content) {
    switch(content) {
        case "sitemap":   
            displaySitemap();
            break;
        default:
            var myImage = LoadRandomImage(4);			
			document.write("<img src='" + myImage + "'>");
			break;	
    }
} 

//*************************************************************
// displays the sitemap specified by content
//************************************************************* 
function displaySitemap() {
	with (document) {	    
	    writeln('<div align="center">');
		writeln('<table border="0" cellpadding="5" width="90%" cellspacing="5">');
		writeln('<tr>\n<td><h2 align="left">Sitemap</h2></td>\n</tr>');
		printSitemap(1, 0);
		writeln("</table>");
		writeln("</div>");
	}
}	

