function menuClass () {
  this.iedom  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
  this.opera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
  this.safari = (navigator.appName == "Safari") ? true : false;

  this.mac = (navigator.platform.indexOf("Mac") != -1) ? true : false;
  this.linux = (navigator.platform.indexOf("Linux") != -1) ? true : false;
  this.unix = (navigator.platform.indexOf("X11") != -1) ? true : false;

  this.sbody = "#ffffff";

  this.bMenuInit = false;

  this.smenuColor = 'silver';
  this.smenuColorHighlight = "#b7b5bb";
  
  //this.amenuColorsEventOver = ['#7fb75f', '#ded432', '#99b8c9', '#a4dbe4', '#c80004', '#004000', '#ff80ff', '#c841ff'];   

  this.amenuColorsEventOver = ['#008000', '#c00000', '#774b8f', '#fed700', '#f1ee09', '#800000', '#00c0c0'];   

  this.sselectColor = '#c00000';

  //this.sselectColor = '#774b8f';

  this.smenuColorsEventOut = '#E6E5D6';   

  this.amenuTextArray = new Array();

  this.amenuTextArray = [['Træffetider', 'Bestyrelsesmedlemmer'],
                         ['Åbningstider', 'Funktionærer', 'Vagttelefon uden for normal arbejdstid'],
                         ['Kontortid'],
                         ['Ledige boliger', 'Tildelte boliger'],
                         ['Bestyrelsen', 'Driftkontoret', 'Administration'],
                         [],
                         [],
                         []];

  this.amenuLinkArray = new Array();

  this.amenuLinkArray = [['traeffetider.html', 'bestyrelsesmedlemmer.html'],
                         ['driftkontoret_aabningstider.html', 'funktionaerer.html','page_abningstider.html'],
                         ['administration_aabningstider.html'],
                         ['page_ledigeboliger.html', 'page_tildelteboliger.html'],
                         ['meddelelser_bestyrelsen.html','meddelelser_driftkontoret.html', 'meddelelser_administration.html'],
                         ['page6.html#Anchor1', 'page6.html#Anchor2', 'page6.html#Anchor3'],
                         ['page7.html#Anchor1', 'page7.html#Anchor2', 'page7.html#Anchor3','page7.html#anchor4'],
                         []];

  this.smenuFrameColorLeftSide = "#000000";

  this.amenuLabels = ['Bestyrelsen', 'Driftskontoret', 'Administration', 'Boliger', 'Meddelelser'];

  this.amenuLabelLinks = new Array(); 

  this.amenuLabelLinks = ['#', '#', '#', '#', '#', '#'];

  this.imenuWidthLeftSide = 175;

  this.bpMode = false;

  menuClass.prototype.changePmode = function (bValue)  {
        this.bpMode = bValue;
  }
}

var oMenu = new menuClass(); 

var PageUtils = new Object;

String.prototype.trim = function () {
  var reExtraSpace = /^\s+(.*?)\s+$/;
  return this.replace(reExtraSpace, "$1");
};

PageUtils.changeBackGround = function (oCell, bEvent) {
PageUtils.setCursorStyle(oCell);
if (bEvent)
oCell.style.backgroundColor = oMenu.smenuColorHighlight;
else
oCell.style.backgroundColor = oMenu.smenuColor;
}

PageUtils.clearInnerHTML = function (oElement)
{
   while(oElement.firstChild) oElement.removeChild(oElement.firstChild);
}

PageUtils.getQueryString = function (sLoc, sParam) {
var iPos1;
var iPos2;
var iPos3;
var sTemp;

sLoc = sLoc.toString();              
iPos1 = sLoc.search(sParam);
if (oMenu.safari || oMenu.mac)
  iPos2 = sLoc.substring(iPos1-1, sLoc.length-(sLoc.length-1))
else
  iPos2 = sLoc.substr(iPos1-1, sLoc.length-(sLoc.length-1))

if (iPos2 == "%") {

  iPos3 = sLoc.lastIndexOf("%");

  if (oMenu.safari || oMenu.mac)
    sTemp = sLoc.substring(iPos3, sLoc.length)
  else
    sTemp = sLoc.substr(iPos3, sLoc.length)
   
  sLoc = sLoc.replace("%", "&");

  var sTemp2;
 
  if (oMenu.safari || oMenu.mac)    
    sTemp2 = sLoc.substring(0, iPos3-1)
  else
    sTemp2 = sLoc.substr(0, iPos3-1);

  sLoc = sTemp2 + sTemp;

  iPos2 = "&";
  
}

if ((iPos2 != "&") && (iPos2 != "?")) 
return "";

if (oMenu.safari || oMenu.mac)    
  sLoc = sLoc.substring(iPos1, sLoc.length)
else
  sLoc = sLoc.substr(iPos1, sLoc.length)

iPos1 = sLoc.search("=");

if (oMenu.safari || oMenu.mac)
  sLoc = sLoc.substring(iPos1, sLoc.length)
else
  sLoc = sLoc.substr(iPos1, sLoc.length)

iPos1 = sLoc.search("&");

var bFound = (iPos1 != -1) ? true : false;
if (bFound)
  if (oMenu.safari || oMenu.mac)
    sLoc = sLoc.substring(0, iPos1-1)
  else
    sLoc = sLoc.substr(0, iPos1-1)

else
{
iPos1 = sLoc.search("#");
bFound = (iPos1 != -1) ? true : false;
if (bFound)
  if (oMenu.safari || oMenu.mac)      
    sLoc = sLoc.substring(1, iPos1-1)
  else
    sLoc = sLoc.substr(1, iPos1-1)

}
if (!bFound)
  if (oMenu.safari || oMenu.mac)
    sLoc = sLoc.substring(1, sLoc.length-1)
  else
    sLoc = sLoc.substr(1, sLoc.length-1)

return sLoc.toString();
}


PageUtils.writeCSS = function (sCssFile, sMedia) {
  with (document)
  {
     writeln("<link rel='stylesheet' href='"+sCssFile+"'"+" type='text/css'>");
  }
}

PageUtils.removeRequests = function  () {
  var sLocation = new String();
  var sNewStr = new String();
  var iPos;
  var iPos1;
  var sExtension;

  sLocation = window.location.toString();
  iPos = sLocation.lastIndexOf("/");
  iPos1 = sLocation.lastIndexOf("html");

  if (pos1 == -1)
  {
    pos1 = sLocation.lastIndexOf("asp");
    SExtension = ".asp";
    sNewStr = sLocation.substring(iPos+1, iPos1-1);  
  }
  else
  {
    pos1 = sLocation.lastIndexOf("html");
    sExtension = ".html";
    sNewStr = sLocation.substring(iPos+1, iPos1-1);  
  }
return sNewStr+sExtension;
}

PageUtils.afterPrint = function  () {
if (window.confirm("Ønsker du at lukke vinduet?"))
  window.close();
}

PageUtils.checkCSS = function () {
  var sMenuID = PageUtils.getQueryString(window.location, "MenuID");
  var sMenu  = "MenuID"+sMenuID;

  var iWidth = screen.width;
  var iHeight = screen.height;

  oMenu.bpMode = PageUtils.getQueryString(window.location, "print", true);  

  if (oMenu.bpMode == "true")
  {
     PageUtils.writeCSS("print.css", "print")
     window.setTimeout("window.print()", 500);
     window.setTimeout("PageUtils.confirm()", 2500);
     return;
  }     

  if ((oMenu.iedom) && (screen.availWidth > 1280))
    PageUtils.writeCSS ("pagestyle1280.css", "screen")
  else
    PageUtils.writeCSS ("pagestyle.css", "screen");
}

PageUtils.moveObject = function  (sLayer, iCorX, iCorY) {
  var oElement;
  oElement = document.getElementById(sLayer);

  if (iCorX != "x")
    iCorX = Math.round(iCorX*100)/100;

  if (iCorY != "y")
    iCorY = Math.round(iCorY*100)/100;

  if (oMenu.safari)
  {
    if (iCorX != "x")
    {
      PageUtils.setStyleObj (sLayer, "left", iCorX);
    }
    if (corY != "y")
    {
      PageUtils.setStyleObj (sLayer, "top", iCorY);
    }
    return;
  }

  if (oMenu.iedom)
  {
    if (iCorX != "x")
      oElement.style.pixelLeft = iCorX;
    if (iCorY != "y")
      oElement.style.pixelTop = iCorY;
    return;
  }
  else
  {
    if (iCorX != "x")
      oElement.style.left = iCorX+"px";
    if (iCorY != "y")
      oElement.style.top = iCorY+"px";
    return;
  }
}

PageUtils.setColorMarker = function (sColor) {
for (var i=1; i<=5; i++) {
  document.getElementById("b"+i+"c").style.backgroundColor = sColor;
}
document.getElementById("bc").style.backgroundColor = sColor;
}

PageUtils.AddImage = function  (oElement, iWidth, iHeight, sSrc, sId) {
  oElement = new Image(iWidth, iHeight); 
  oElement.setAttribute("src", sSrc);
  oElement.setAttribute("width", iWidth+"px");
  oElement.setAttribute("height", iHeight+"px");
  oElement.setAttribute("alt", sSrc);
  oElement.setAttribute("id", sId);  
return oElement;
}

PageUtils.setColorMarkerOption = function (oEls) {
var oSubRow = document.getElementById("cellsub");
var oSelected;
var sSelectedValue;

oSelected = document.getElementById("BackGroundTab");
sSelectedValue = oSelected[oSelected.selectedIndex].value;

PageUtils.setColorMarker(sSelectedValue);
oMenu.sselectColor = sSelectedValue;
}


PageUtils.extractNumber = function (otdElement) {
var sTmpString = otdElement.substring(2, otdElement.length);
return parseInt(sTmpString);
} 

PageUtils.redirectURL = function (sSource) {
  document.location = sSource;
}


PageUtils.fillSubMenu = function (iNumber) {
var oDiv = document.getElementById("subMenuDiv");
PageUtils.clearInnerHTML(oDiv);

var oTextNode;
var oFragment;
var oSeperator;
var oElement;
var sString;
var oSpan;
var oLink;

oFragment = document.createDocumentFragment();

for (var i=0; i < oMenu.amenuTextArray[iNumber-1].length; i++) {  

  oSeperator = PageUtils.AddImage (oElement, 14, 30, 'grafik/s1.gif', 'Img'+(i+1));
  oSeperator.style.verticalAlign = "middle"; 
 
  sString = oMenu.amenuTextArray[iNumber-1][i];

  sURLstring = oMenu.amenuLinkArray[iNumber-1][i];

  oTextNode = document.createTextNode(sString);

  oSpan = document.createElement('span');

  oSpan.setAttribute("id", "ospanID"+(i+1));

  PageUtils.setCursorStyle(oSpan);

  PageUtils.addEvent(oSpan, "mouseover", new Function("window.status='"+sURLstring+"'; this.style.textDecoration='underline';"));

  PageUtils.addEvent(oSpan, "mouseout", new Function("window.status='"+sURLstring+"'; this.style.textDecoration='none';"));

  
  PageUtils.addEvent(oSpan, "click", new Function("PageUtils.gotoPage('"+sURLstring+"');"));

  //PageUtils.addEvent(oLink, "click", new Function("PageUtils.gotoPage('"+sURLstring+"');"));

  oSpan.appendChild(oTextNode);

  oFragment.appendChild(oSpan);

  if (i != (oMenu.amenuTextArray[iNumber-1].length-1))
     oFragment.appendChild(oSeperator);
}

oDiv.appendChild(oFragment);
}

PageUtils.changeBackGroundTr = function (oElement) {
var oSubRow = document.getElementById("cellsub");
var oSelected;
var sSelectedValue;

oSelected = document.getElementById("trBackGround");
sSelectedValue = oSelected[oSelected.selectedIndex].value;

oSubRow.style.backgroundImage="url(grafik/"+sSelectedValue+")";
}

PageUtils.addEvent = function (oElement, sType, fn) {
 if (oElement.addEventListener) {
   oElement.addEventListener(sType,fn,false);
  return true;
 } else if (oElement.attachEvent) {
  oElement['e'+sType+fn] = fn;
  oElement[sType+fn] = function() { oElement['e'+sType+fn]( window.event );}
  var o = oElement.attachEvent('on'+sType, oElement[sType+fn]);
  return o;
 } else {
  oElement['on'+sType] = fn;
  return true;
 }
}

PageUtils.removeEvent = function (oElement, sType, fn) {
 if (oElement.removeEventListener) {
   oElement.removeEventListener(sType, fn, false);
        } else if (oElement.detachEvent){
            oElement.detachEvent("on" + sType, fn);
        } else {
            oElement["on" + sType] = null;
        }
}

PageUtils.markMenu = function  (oTd, otdElement) {
var oBc = document.getElementById("bc");
var oElement = document.getElementById("container");
var iNumber = PageUtils.extractNumber(otdElement);
var oTextNode = document.createTextNode(oMenu.amenuLabels[iNumber-1]);
var sColor;
var sLink = oMenu.amenuLabelLinks[iNumber-1];

PageUtils.clearInnerHTML(oBc);

sColor = oMenu.sselectColor;

var oContent = document.getElementById("bc");

var oSubRow = document.getElementById("cellsub");

oSubRow.style.backgroundColor = sColor;

oContent.className = "labelMenu";

oContent.appendChild(oTextNode);

window.status = sLink;

var handler = function () {
  window.location = sLink;
};

PageUtils.removeEvent(oContent, "click", handler);

PageUtils.addEvent(oContent, "click", handler);

PageUtils.setCursorStyle(oElement);

oElement.style.backgroundColor = "transparent";

PageUtils.setColorMarker(sColor);

oElement.style.visibility = "visible";

var oElement2 = document.getElementById(otdElement);

var iOffsetX = getElementLeft(oElement2);
var iOffsetY = getElementTop(oElement2);

PageUtils.setWidthObject("container", oElement2.offsetWidth);

PageUtils.moveObject("container", iOffsetX, iOffsetY);

PageUtils.fillSubMenu(iNumber);
}

PageUtils.initMenu = function () {
var oCell = document.getElementById("cellsub");
oCell.style.backgroundImage="url(grafik/grey.jpg)";
var oTextNode;
var oElement;
var oLink;
var sURLstring;

for (var i=0; i < oMenu.amenuLabels.length; i++) {
   oTextNode = document.createTextNode(oMenu.amenuLabels[i]);
   oElement = document.getElementById("td"+(i+1));
   PageUtils.clearInnerHTML(oElement);     
   oElement.appendChild(oTextNode);
}

if (document.getElementById("dragor_logo1")) {
  var iX =  getElementLeft(oCell);
  var iY =  getElementTop(oCell);

  PageUtils.moveObject("dragor_logo1", iX, iY+70);
  PageUtils.moveObject("dragor_logo2", iX, iY+100);
  
  document.getElementById("dragor_logo1").style.visibility = "visible";
  document.getElementById("dragor_logo2").style.visibility = "visible";
}
}
  
function getElementLeft(element) {
var actualLeft = element.offsetLeft;
var current = element.offsetParent;
        
while (current !== null){        
  actualLeft += current.offsetLeft;
  current = current.offsetParent;
}  
  return actualLeft;
}

function getElementTop(element) {
var actualTop = element.offsetTop;
var current = element.offsetParent;
        
while (current !== null){        
  actualTop += current. offsetTop;
  current = current.offsetParent;
}  
  return actualTop;
}
    
PageUtils.setStyleObj = function (sLayer, sAttrib, iValue) {
  var aoldStyles = new Array();

  var oLayer;
  var soldStyleValue;
  var snewStyle = new String();

  var battribFound = false;

  var sAppendStr = new String();

  oLayer = document.getElementById(sLayer);

  soldStyleValue = oLayer.getAttribute("style");

  soldStyleValue = oldStyleValue.toLowerCase();

  if ((sAttrib != "position") && (sAttrib != "visibility") && (sAttrib != "z-index") && (sAttrib != "opacity") && (sAttrib != "filter"))
     appendStr = "px"
  else
     appendStr = "";

  aoldStyles = soldStyleValue.split(";");

  for (var i=0; i<= (aoldStyles.length-1); i++)
  {
     if (aoldStyles[i].lastIndexOf(sAttrib) == 1)
     {
        aoldStyles[i] = sAttrib+":"+iValue+sAppendStr;
        snewStyle += aoldStyles[i]+";"
        battribFound = true;
     }
     else
        snewStyle += aoldStyles[i]+";"
  }

  if (battribFound == false)
    snewStyle += sAttrib+":"+iValue+sAppendStr;

  snewStyle = snewStyle.trim();

  oLayer.removeAttribute("style");
  oLayer.setAttribute("style", snewStyle);

}


PageUtils.modifyAnchor = function (sLoc) {
  var sString;
  var iPos;

  sString = sLoc.toString(); 

  if (sString.indexOf("#") != -1)
  {
    iPos = sString.indexOf("#");
    sString = sString.substring(0, iPos);
    return sString;
  }
  else
    return sString;
}

PageUtils.getAnchor = function (sLoc) {
  var sString;
  var iPos;

  sString = sLoc.toString(); 

  if (sString.indexOf("#") != -1)
  {
    iPos = sString.indexOf("#");
    sString = sString.substring(iPos, sString.length);
    return sString;
  }
  else
    return sString;
}

PageUtils.jumpToAnchor = function  (sURL) {
  var sLoc = window.location;
  var sString;
  var sAnchor;

  sString = PageUtils.modifyAnchor(sLoc);

  //window.location.hash = "#ANCHOR"+sAnchorID; 

  sAnchor = PageUtils.getAnchor(sURL);
  
  document.location = sString + sAnchor;

  //window.location = sString+"#ANCHOR"+sAnchorID; 
}

PageUtils.changeMenuLabels = function ()
{
var oMenuLabel;

for (var i=0; i <= (oMenu.amenuLabels.length-1); i++)        
{
  oMenuLabel = document.getElementById('MenuID'+(i+1));
  PageUtils.clearInnerHTML(oMenuLabel)
  oMenuLabel.appendChild(document.createTextNode(oMenu.amenuLabels[i]));   
}
}

PageUtils.setCursorStyle = function  (oElement) {
if (oMenu.iedom)
  oElement.style.cursor = "hand";
else
  oElement.style.cursor = "pointer";
}

PageUtils.setColorIfPrint = function () {
var oElement;
oElement = document.getElementById("tdBoxLeft");
oElement.style.backgroundColor = "transparent";
}

PageUtils.checkNavigation = function () {
  var iMenuID = iPageID;

  var oElement = document.getElementById("td"+iMenuID);

  if (!oElement)
    return;

  if (oMenu.bpMode)
    document.getElementById("container").style.visibility = "hidden"; 

  PageUtils.markMenu(oElement, 'td'+iMenuID);

  if (oMenu.bpMode)  
   PageUtils.setColorIfPrint();
}

PageUtils.setWidthObject = function  (sLayer, iW) {
  var oElement;
  oElement = document.getElementById(sLayer);


  if (oMenu.iedom || oMenu.opera)
     oElement.style.pixelWidth = iW
  else
     oElement.style.width = iW+"px";
}

PageUtils.gotoPage = function  (sURL) {
  document.location = sURL;
}

function getObjectLeft (objLayer)
{
  var obj;
  obj = document.getElementById(objLayer);
  if (!!oMenu.iedom)
     return (obj.offsetLeft);
  if (!oMenu.iedom)
     return (obj.style.pixelLeft);
}

PageUtils.getObjectTop = function  (sLayer) {
  var oElement = document.getElementById(sLayer);
  if (!oMenu.iedom)
     return (oElement.offsetTop);
  if (oMenu.iedom)
     return (oElement.style.pixelTop);
}


PageUtils.getObjectLeft = function  (sLayer) {
  var oElement = document.getElementById(sLayer);
  if (!oMenu.iedom)
     return (oElement.offsetLeft);
  if (oMenu.iedom)
     return (oElement.style.pixelLeft);
}

PageUtils.confirm = function () {
if (window.confirm('Hvis du har trykket på OK knappen\nså er dokumentet sendt til printeren. \n \n Luk dette vindue? '))
  window.close();
} 

PageUtils.redirectURLMap = function  () {
  document.location = 'http://maps.google.dk/maps?f=q&source=s_q&hl=da&geocode=&q=Drag%C3%B8r+Andelsboligforen+Engparken&sll=55.586419,12.659951&sspn=0.001473,0.004801&ie=UTF8&hq=Andelsboligforen+Engparken&hnear=Drag%C3%B8r&t=h&ll=55.586189,12.658707&spn=0.001398,0.004801&z=18&iwloc=A';
}

PageUtils.udskrivSide = function  (sURL) {
//sURL = PageUtils.removeSpecialChar(sURL);

//if (document.getElementById("Modtager"))
//  sURL = sURL + "&Kontakt=" + document.getElementById("Modtager").value;
var oWin = window.open(sURL, 'Udskrivningsvindue', 'fullscreen=1');      // Åben vindue på hele siden?
oWin.focus();
}


