
function DisplayMenu (Level){
	if (qsParm['menu'] != "NoMenu"){
		document.write("<script language='javascript' src='" + Level + "xaramenu.js'><\/script>") ;
		document.write("<script language='javascript' src='" + Level + "wavelet3.js'><\/script>") ;
	}
}


function DisplayPictures(){
	var text = "" ;
	if (eventHeading != ""){text += eventHeading ;}
	if (eventDetails != ""){text += eventDetails + "<br>" ;}
	if (eventHashers != ""){text += "<strong>Travelling Hashers:</strong> " + eventHashers ;}
	if ((eventDetails != "")||(eventHashers != "")){text += "<hr>" ; }
	text += "<table border='0' cellpadding='2' cellspacing='2'>" ;
	for(var i = 0; i < eventPicture.length ; i++){
		if (eventPicture[i][1] == "h"){
				text += "</table>" + eventPicture[i][4] + "<table border='0' cellpadding='2' cellspacing='2'>" ;
		}
		else{
			if (eventPicture[i][1] == "default"){
				text += "<tr><td><img src='" + eventPicture[i][0] + "' border='" + eventPicture[i][2] + "' alt='" + eventPicture[i][3] + "'></td>" ;
			}
			else{
				text += "<tr><td><img width='" + eventPicture[i][1] + "' src='" + eventPicture[i][0] + "' border='" + eventPicture[i][2] + "' alt='" + eventPicture[i][3] + "'></td>" ;
			}
			text += "<td>" + eventPicture[i][4] + "</td></tr>" ; 
		}
	}
	text += "</table>" ;
	if (eventFlasher != ""){
		text += "<hr><div align='center' id='Copyright'>" + eventFlasher + "</div>" ;
	}
	document.write(text);
}



function PlaceInfo(where){

	var requestedPlace = where ;
	var text = "<h3 align='center'>" + Places[requestedPlace][1] ;
	if (Places[requestedPlace][2] != "") {
		text += " (" + Places[requestedPlace][2] + " m" ;
		if (Places[requestedPlace][3] != "") {
			text += " - " + Places[requestedPlace][3] + " ft)" ;
		}
		else{
			text += ")" ;
		}
	}
	else{
		if (Places[requestedPlace][3] != "") {
			text += " - " + Places[requestedPlace][3] + " ft)" ;
		}
	}
	text += "</script></h3>" ;
	if (Places[requestedPlace][4] != "") {
		text += "<p>Conquered by BH3: " + Places[requestedPlace][4] + "</p>" ;
	}
	if (Places[requestedPlace][13] != "") {
		text += Places[requestedPlace][13];
	}

	if (Places[requestedPlace][9] > "0"){
		text += "<applet archive='pmvr.jar' code='pmvr.class' width='" + Places[requestedPlace][7] + "' height='" + Places[requestedPlace][8] + "'>" ;
		text += "<param name='image' value='" + Places[requestedPlace][6] + "'>" ;
		text += "<param name='view' value='" + Places[requestedPlace][9] + "'>" ;
		text += "<param name='auto' value='" + Places[requestedPlace][10] + "'>" ;
		text += "<param name='delay' value='" + Places[requestedPlace][11] + "'>" ;
		text += "<param name='zoom' value='" + Places[requestedPlace][12] + "'></applet>" ;
	}
	else{
		text += "<img width='" + Places[requestedPlace][7] + "' src='" + Places[requestedPlace][6] + "' alt=''>" ;
	}

	if (Places[requestedPlace][5] != ""){
		text += "<br><br><div align='center' id='Copyright'>Photo by " + Places[requestedPlace][5] + "</div>" ;
	}
	document.write(text);
}

function PlaceInfoText(where){

	var requestedPlace = where ;
	var tekst = "" ;

	if (Places[requestedPlace][5] != ""){
		tekst = "Photo by " + Places[requestedPlace][5] ;
	}
	tekst += "<h3>" + Places[requestedPlace][1] ;

	if (Places[requestedPlace][2] != "") {
		tekst += " (" + Places[requestedPlace][2] + " m" ;
		if (Places[requestedPlace][3] != "") {
			tekst += " - " + Places[requestedPlace][3] + " ft)" ;
		}
		else{
			tekst += ")" ;
		}
	}
	else{
		if (Places[requestedPlace][3] != "") {
			tekst += " - " + Places[requestedPlace][3] + " ft)" ;
		}
	}
	tekst += "</script></h3>" ;
	if (Places[requestedPlace][4] != "") {
		tekst += "<p>Conquered by BH3: " + Places[requestedPlace][4] + "</p>" ;
	}
	if (Places[requestedPlace][13] != "") {
		tekst += Places[requestedPlace][13];
	}

	document.write(tekst);
}

function displayDataSorted(){
    // This function displays data which i sortable. The intention is that this function will replace the Useless-function
    
	// Displays a message on the screen:
	//log('Sorting') ;
	var text = "<table width='" + UselessWidth + "' border='0' cellspacing='1' cellpadding='1'>" ;
	text += "<tr class='StatsHead2' align='center'><td>" ;
	for(var i = 0; i < UselessText.length ; i++){
		text += UselessText[i] + "<br>" ; 
	}
	text += "</td></tr></table>" ;
	
	text += "<table class='" + UselessTableClass + "' width='" + UselessWidth + "' border='0' cellspacing='1' cellpadding='1' name='" + UselessTableName + "' id=" + UselessTableId + ">" ;
	text += "<tr>";

	for(var i = 0; i < UselessHeading.length ; i++){
		text += "<th align='" + UselessAlign[i] + "' class='" + UselessColumnSort[i] + "'>" + UselessHeading[i] + "</th>" ;
	}
	text += "</tr>" ;
	
	for(var app = 0; app < UselessData.length; app++){
		for(var i = 0; i < UselessData[app].length; i++){
			text += "<td align=" + UselessAlign[i] + ">" + UselessData[app][i] + "</td>" ;
		}
		text += "</tr>";
	}
	text += "</table>";
	document.write(text);
}


function displaySortedData(){

	var bColour = 1 ;
	var text = "<table WIDTH='" + UselessWidth + "' BORDER=0 CELLSPACING=1 CELLPADDING=1>" ;

	text += "<tr class='StatsHead2' align='center'><td>" ;
	for(var i = 0; i < UselessText.length ; i++){
		text += UselessText[i] + "<br>" ; 
	}
	text += "</td></tr></table><table WIDTH='" + UselessWidth + "' BORDER=0 CELLSPACING=1 CELLPADDING=1 name='" + UselessTableName + "' id=" + UselessTableId + " cols=" + UselessHeading.length + ">" ;
	text += "<tr class='StatsHead3'>";

	for(var i = 0; i < UselessHeading.length ; i++){
		text += "<td align=" + UselessAlign[i] + ">" + UselessHeading[i] + "</td>" ;
	}
	text += "</tr>" ;
	
	for(var app = 0; app < UselessData.length; app++){
		if (bColour == 1) {
			text += "<tr>";
			bColour = 0;
		}
		else{
			text += "<tr bgcolor='#EBEBEB'>";
			bColour = 1;
		}
		for(var i = 0; i < UselessData[app].length; i++){
			text += "<td align=" + UselessAlign[i] + ">" + UselessData[app][i] + "</td>" ;
		}
		text += "</tr>";
	}
	text += "</table>";
	document.write(text);
}

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setDataType(cValue)
  {
    // THIS FUNCTION CONVERTS DATES AND NUMBERS FOR PROPER ARRAY
    // SORTING WHEN IN THE SORT FUNCTION
    var isDate = new Date(cValue);
    if (isDate == "NaN")
      {
        if (isNaN(cValue))
          {
            // THE VALUE IS A STRING, MAKE ALL CHARACTERS IN
            // STRING UPPER CASE TO ASSURE PROPER A-Z SORT
            cValue = cValue.toUpperCase();
            return cValue;
          }
        else
          {
            // VALUE IS A NUMBER, TO PREVENT STRING SORTING OF A NUMBER
            // ADD AN ADDITIONAL DIGIT THAT IS THE + TO THE LENGTH OF
            // THE NUMBER WHEN IT IS A STRING
            var myNum;
            myNum = String.fromCharCode(48 + cValue.length) + cValue;
            return myNum;
          }
        }
  else
      {
        // VALUE TO SORT IS A DATE, REMOVE ALL OF THE PUNCTUATION AND
        // AND RETURN THE STRING NUMBER
        //BUG - STRING AND NOT NUMERICAL SORT .....
        // ( 1 - 10 - 11 - 2 - 3 - 4 - 41 - 5  etc.)
        var myDate = new String();
        myDate = isDate.getFullYear() + " " ;
        myDate = myDate + isDate.getMonth() + " ";
        myDate = myDate + isDate.getDate(); + " ";
        myDate = myDate + isDate.getHours(); + " ";
        myDate = myDate + isDate.getMinutes(); + " ";
        myDate = myDate + isDate.getSeconds();
        //myDate = String.fromCharCode(48 + myDate.length) + myDate;
        return myDate ;
      }
  }
  
function sortTable(col, tableToSort)
  {
    var iCurCell = col + tableToSort.cols;
    var totalRows = tableToSort.rows.length;
    var bSort = 0;
    var colArray = new Array();
    var oldIndex = new Array();
    var indexArray = new Array();
    var bArray = new Array();
    var newRow;
    var newCell;
    var i;
    var c;
    var j;
    // ** POPULATE THE ARRAY colArray WITH CONTENTS OF THE COLUMN SELECTED
    for (i=1; i < tableToSort.rows.length; i++)
      {
        colArray[i - 1] = setDataType(tableToSort.cells(iCurCell).innerText);
        iCurCell = iCurCell + tableToSort.cols;
      }
    // ** COPY ARRAY FOR COMPARISON AFTER SORT
    for (i=0; i < colArray.length; i++)
      {
        bArray[i] = colArray[i];
      }
    // ** SORT THE COLUMN ITEMS
    //alert ( colArray );
    colArray.sort();
    //alert ( colArray );
    for (i=0; i < colArray.length; i++)
      { // LOOP THROUGH THE NEW SORTED ARRAY
        indexArray[i] = (i+1);
        for(j=0; j < bArray.length; j++)
          { // LOOP THROUGH THE OLD ARRAY
            if (colArray[i] == bArray[j])
              {  // WHEN THE ITEM IN THE OLD AND NEW MATCH, PLACE THE
                // CURRENT ROW NUMBER IN THE PROPER POSITION IN THE
                // NEW ORDER ARRAY SO ROWS CAN BE MOVED ....
                // MAKE SURE CURRENT ROW NUMBER IS NOT ALREADY IN THE
                // NEW ORDER ARRAY
                for (c=0; c<i; c++)
                  {
                    if ( oldIndex[c] == (j+1) )
                    {
                      bSort = 1;
                    }
                      }
                      if (bSort == 0)
                        {
                          oldIndex[i] = (j+1);
                        }
                          bSort = 0;
                        }
          }
    }
  // ** SORTING COMPLETE, ADD NEW ROWS TO BASE OF TABLE ....
	var bColour = 1 ;
  for (i=0; i<oldIndex.length; i++)
    {
      newRow = tableToSort.insertRow();

	  if (bColour == 1) {
			bColour = 0;
		}
		else{
			eval(newRow).style.backgroundColor="#EBEBEB"
			bColour = 1;
		}

      for (c=0; c<tableToSort.cols; c++)
        {
          newCell = newRow.insertCell();
          newCell.innerHTML = tableToSort.rows(oldIndex[i]).cells(c).innerHTML;
			eval(newCell).style.align="right"
        }
      }

	  //MOVE NEW ROWS TO TOP OF TABLE ....
  for (i=1; i<totalRows; i++)
    {
      tableToSort.moveRow((tableToSort.rows.length -1),1);
    }
  //DELETE THE OLD ROWS FROM THE BOTTOM OF THE TABLE ....
  for (i=1; i<totalRows; i++)
    {
      tableToSort.deleteRow();
    }
  }
//  End -->
