/* * utility.js * * Scripts supporting image handling and navigation * * 2001-11-12/euh@email.dk: * - initial release * 2001-09-15/euh@email.dk: * - tilføjet diverse funktioner til dynamisk reload *   af sider i framesets *//* * The following scripts are standard Dreamweaver scripts * for image handling. * Inserted in this script file to minimize file size. */function MM_preloadImages() { //v3.0  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}function MM_findObj(n, d) { //v3.0  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;}function MM_swapImgRestore() { //v3.0  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}function MM_swapImage() { //v3.0  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}function MM_nbGroup(event, grpName) { //v3.0  var i,img,nbArr,args=MM_nbGroup.arguments;  if (event == "init" && args.length > 2) {    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();      nbArr[nbArr.length] = img;      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {        if (!img.MM_up) img.MM_up = img.src;        img.src = img.MM_dn = args[i+1];        nbArr[nbArr.length] = img;    } }  } else if (event == "over") {    document.MM_nbOver = nbArr = new Array();    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {      if (!img.MM_up) img.MM_up = img.src;      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];      nbArr[nbArr.length] = img;    }  } else if (event == "out" ) {    for (i=0; i < document.MM_nbOver.length; i++) {      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }  } else if (event == "down") {    if ((nbArr = document[grpName]) != null)      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }    document[grpName] = nbArr = new Array();    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {      if (!img.MM_up) img.MM_up = img.src;      img.src = img.MM_dn = args[i+1];      nbArr[nbArr.length] = img;  } }}/* * The following scripts supports correct appearance of menues * when navigating to specific pages. Correct functioning of * the scripts depends on page-specific variables initilized * on all pages. */function reset_menu() {    document.location.href = this.location.href;}function adjust_menu(imgname, imgsrc) {    MM_nbGroup('down', 'group1', imgname, rootPath + imgsrc, 1);}var rootPath = rootPathForDocument(this.location.pathname);var parentMenu;var parentMenuArea = "";var parentMenuImageSrc = "";function getMainMenu() {    if (parent.parent.menu) {        return parent.parent.menu;    }}function getSubMenu() {    if (parent.submenu || parent.parent.submenu) {        return (parent.submenu) ? parent.submenu : parent.parent.submenu;    }    return null;}function getSpecialMenu() {    if (parent.specialmenu || parent.parent.specialmenu) {        return (parent.specialmenu) ? parent.specialmenu : parent.parent.specialmenu;    }    return null;}function adjustParentMenu() {    if (null == parentMenu) {        return;    }    if ((parentMenuArea == "") || (parentMenuImageSrc == "")) {        return;    }    parentMenu.adjust_menu(parentMenuArea, parentMenuImageSrc);}function rootPathForDocument(path) {    var rootPath = "";    var lastSlash = path.lastIndexOf("/");    if ((lastSlash > 0) && (lastSlash < path.length)) {        rootPath = path.substring(0, lastSlash + 1);    }    return correctRootPathForInternetExplorerOnMac(rootPath);}function correctRootPathForInternetExplorerOnMac(rootPath) {    if (rootPath != "") {        return rootPath;    }    if ((this.location.protocol != "http:") && (this.location.protocol != "HTTP:")) {        return rootPath;    }    if (navigator.appVersion.indexOf("MSIE 5.0; Macintosh;") == -1) {        return rootPath;    }    return "/" + rootPath;}/* * Various utility functions. */  /*   * This function returns the value for a given   * parameter passed to the page in the search   * part of the url, eg.   *   http://www.name.org/index.html?page=my_page   */  function getSearchParameter(key) {    var parameterValue = "";    if (location.search.length < 2) {      return parameterValue;    }    searchArray = location.search.substring(1).split("&");    for (var i = 0; i < searchArray.length; i++) {      var parameterPair = searchArray[i].split("=");      if (parameterPair.length != 2) {        continue;      }      if (parameterPair[0] == key) {        parameterValue = parameterPair[1];        break;      }    }    return unescape(parameterValue);  }  function reloadIfNotTop() {    if (top != self) {      if (frames[0].name != "top") {        /* Special case handling: Only reload if top-most frame is *not* named 'top' */        top.location.href = self.location.href;      }    }  }  function getPageUrlForThisHomepage() {    var pathArray = location.pathname.split("/");    if (pathArray.length < 2) {      return "";    }    return pathArray[pathArray.length - 2];  }  function reloadIfNotInFrameset() {    if (top == self) {      top.location.href = "../../index.html?page=" + getPageUrlForThisHomepage();    }  }