home *** CD-ROM | disk | FTP | other *** search
- // debugging... functie onderaan pagina
- debug = false;
- /*
- versie 1.5 dHTML: Andre van Groenestein
- versie 2.0: algemene scripts toegevoegd (popupVenster)
- versie 2.5: idem (rollovers)
- 6 - 9 - 00 functies dw en ldw: write vervangen door writeln
- versie 3.0: compatibiteit met DOM tbv Netscape 6
- versie 4.0: navigatie via toetsenbord toegevoegd
- */
-
- // Nummer van de uitgave: gebruikt in o.a. oops (ophalen.htm) en webinzendingen
- var pcaNummer = 1412;
-
- var isIE = (navigator.appName.indexOf('Microsoft') != -1);
- var isIE4 = (navigator.appVersion.indexOf('MSIE 4') != -1);
- var isIE55 = (navigator.appVersion.indexOf('MSIE 5.5') != -1);
- var Netscape = (navigator.appName == 'Netscape');
-
- var dom1, dom2; dom1 = dom2 = false;
- if (document.getElementById)
- { dom1 = dom2 = true;
- }
-
- var drag = false; // bij bepaalde objecten wordt deze true tijdens een mousedown event
- var X; // positie van het drag & drop venster
- var Y;
- var objX; // uitgangspositie v/h object tijdens mousedown
- var objY;
- var mouseX; // uitgangspositie v/d muis tijdens mousedown
- var mouseY;
- var huidigObject; // het venster dat getoond/verplaatst moet worden
-
- LAYERS = (isIE) ? "document.all" : "document.layers";
- HIDDEN = (isIE) ? "hidden" : "hide";
- VISIBLE = (isIE || dom1) ? "visible" : "show";
- ZICHTBAAR = (isIE || dom1) ? "style.visibility" : "visibility";
-
- // DOM controle (NS => 5.0, IE => 5.0)
- if (dom1)
- { LAYERS = document.getElementById;
- }
-
- //if (document.getElementsByTagName("*")) // geeft foutmelding in IE4...
- //{ LAYERS = document.getElementById;
- //}
-
-
- // breedte van het huidige venster
- function getVensterBreedte()
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- if (isIE) return document.body.clientWidth;
- else return window.innerWidth;
- }
-
- // hoogte van het huidige venster
- function getVensterHoogte()
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- if (isIE) return document.body.clientHeight;
- else return window.innerHeight;
- }
-
- // breedte van het huidige object
- function getObjectBreedte(obj)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- // dat %^%$^ Mozilla/NS6 kan de width van een object niet bepalen. Onderstaande werkt dus niet.
- if (dom1 && !isIE) return parseInt(obj.style.width);
- else if (isIE) return obj.clientWidth + 2; // 2 bij optellen, want width klopt niet...?
- else return obj.clip.width + 2; // heeft mogelijk met de padding te maken!
- }
-
- // lengte van het huidige object
- function getObjectHoogte(obj)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- // dat %^%$^ Mozilla/NS6 kan de height van een object niet bepalen. Onderstaande werkt dus niet.
- if (dom1 && !isIE) return parseInt(obj.style.height);
- else if (isIE) return obj.clientHeight + 2; // 2 bij optellen, want height klopt niet...?
- else return obj.clip.height + 2; // heeft mogelijk met de padding te maken!
- }
-
- // plaats object op positie x, y
- function setPositie(obj, x, y)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- if(dom2)
- { obj.style.left = x + 'px';
- obj.style.top = y + 'px';
- }
- else if (Netscape) obj.moveTo(x, y);
- else
- { obj.style.pixelLeft = x;
- obj.style.pixelTop = y;
- }
- }
-
- function getPositieX(obj)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- // if(dom2)
- //{ return obj.style.left; // plaatst 'px' achter het getal...
- //}
- if (Netscape) // code...?
- {}
- else
- { return obj.style.pixelLeft;
- }
-
- }
-
- function getPositieY(obj)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- // if(dom2)
- //{ return obj.style.top; // plaatst 'px' achter het getal...
- //}
- if (Netscape) // code...?
- {}
- else
- { return obj.style.pixelTop;
- }
- }
-
- function setBoundaries(obj)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- objectBreedte = getObjectBreedte(obj);
- objectHoogte = getObjectHoogte(obj);
- if (objectBreedte > (getVensterBreedte() - X) )
- X = getVensterBreedte() - objectBreedte - 5;
- if (objectHoogte > (getVensterHoogte() - Y) )
- Y = getVensterHoogte() - objectHoogte - 5;
-
- dbg('objectBreedte: ' + objectBreedte);
- dbg('objectHoogte: ' + objectHoogte);
- dbg('getVensterBreedte(): ' + getVensterBreedte());
- dbg('X: ' + X);
- }
-
- function sluitPopup(nummer)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- var popup = "popup" + nummer;
- if (dom1)
- { document.getElementById(popup).style.visibility = 'hidden';
- }
- else
- eval(LAYERS + "['" + popup + "']." + ZICHTBAAR + "= '" + HIDDEN + "'");
- }
-
- function toonPopup(nummer)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- var popup = "popup" + nummer;
- if (dom1)
- document.getElementById(popup).style.visibility = 'visible';
- else
- eval(LAYERS + "['" + popup + "']." + ZICHTBAAR + "= '" + VISIBLE + "'");
- }
-
- function openPopup(nummer)
- { if (debug)
- { dbg_functie = arguments.callee.toString();
- eind = dbg_functie.indexOf("{") - 1;
- dbg_functieNaam = dbg_functie.substr(0, eind);
- dbg('<b>' + dbg_functieNaam + '</b>')
- for (var i = 0; i < arguments.length; i++)
- { dbg(' argument ' + i + ': ' + arguments[i])
- }
- dbg('');
- }
-
- var popup = "popup" + nummer;
- if (dom1)
- huidigObject = document.getElementById(popup);
- else
- huidigObject = eval(LAYERS + "['" + popup + "']");
- if (isIE) X = eval(window.event.clientX + 8);
- if (isIE) Y = eval(window.event.clientY + 17);
- setBoundaries(huidigObject);
- setPositie(huidigObject, X, Y);
- toonPopup(nummer);
- }
-
- function dragDrop()
- { if (isIE) X = window.event.clientX;
- if (isIE) Y = window.event.clientY;
- if (drag)
- { X = objX + X - mouseX;
- Y = objY + Y - mouseY;
- setBoundaries(huidigObject);
- setPositie(huidigObject, X, Y);
- return false; // zonder deze wordt de mousedown doorgegeven aan Windows
- }
- }
-
- // drag & drop venster
- function initDrag(obj)
- { if (dom1)
- huidigObject = document.getElementById(obj);
- else
- huidigObject = eval(LAYERS + "['" + obj + "']");
- drag = true;
- mouseX = event.clientX;
- mouseY = event.clientY;
- objX = getPositieX(huidigObject);
- objY = getPositieY(huidigObject);
- document.onmousemove = dragDrop;
- }
-
- if (isIE)
- { document.onmouseup = new Function("drag = false")
- }
-
-
- var actief = false;
- function muis(nummer)
- { if (actief) document["img" + nummer].src = eval("img" + nummer + "off.src");
- else document["img" + nummer].src = eval("img" + nummer + "on.src");
- actief = (!actief);
- }
-
- function muisNS(evt)
- { X = eval(evt.pageX + 8);
- Y = eval(evt.pageY + 17);
- routeEvent(evt);
- }
-
-
- // coordinaten van de linkerbovenhoek van de interface
- var search = top.location.search.substring(1);
- variabelen = search.split(",");
- PCAinterfaceX = variabelen[3];
- PCAinterfaceY = variabelen[4];
-
- //PCAinterfaceX = (screen.availWidth - 640) / 2;
- //PCAinterfaceY = (screen.availHeight - 480) / 2;
-
- var PopupWeergave = "resizable=no,status=no,scrollbars=yes";
- var PopupWeergaveScroll = "resizable=no,status=no,scrollbars=yes";
-
- PositieX = (isIE) ? "left" : "screenX";
- PositieY = (isIE) ? "top" : "screenY";
-
- // definitie van de vensternaam voor popups
- var lokaalVenster = null;
-
- // sluit alle openstaande html popups en verwijder selecties rondom knoppen
- function menuFocus()
- { if (lokaalVenster != null && lokaalVenster.open)
- lokaalVenster.close();
- if (parent.menu && parent.menu.lokaalVenster != null && parent.menu.lokaalVenster.open)
- parent.menu.lokaalVenster.close(); // in HandsOn's staat de window.open in het menu-frame
- // if (parent.parent.script)
- // parent.parent.script.HerstartMuziek();
-
- focus;
- }
-
- function scriptFout()
- { if (arguments[0].indexOf('RPC') == -1) // remote procedure call: venster is al gesloten, maar IE heeft dat nog niet door...
- { var fouts = 'Er is iets foutgegaan.'
- fouts += '\nAls u deze problemen vaker hebt of de cd-rom niet';
- fouts += '\ngoed kan gebruiken, mail dan onderstaande gegevens';
- if (isIE)
- fouts += '\nvia internet naar de redactie.';
- else
- fouts += '\nnaar cdbug@pc-active.nl.';
- regel = arguments[2];
- bug = arguments[0];
- pagina = arguments[1];
- uitgave = pcaNummer;
- browser = navigator.appName + ' ' + navigator.appVersion;
-
- if (isIE)
- { foutje = "regel: " + regel + "<br>error: " + bug + "<br>pagina: " + pagina + "<br>uitgave: " + uitgave + "<br>browser: " + browser;
- document.getElementById('errorIntro').innerHTML = fouts;
- document.getElementById('errorMelding').innerHTML = foutje;
- document.getElementById('regel').value = regel;
- document.getElementById('bug').value = bug;
- document.getElementById('pagina').value = pagina;
- document.getElementById('uitgave').value = uitgave;
- document.getElementById('browser').value = browser;
- document.getElementById('errorPopup').style.visibility = 'visible';
- }
- else
- alert(fouts + '\n\nregel: ' + regel + '\nerror: ' + bug + '\npagina: ' + pagina + '\nuitgave: ' + uitgave + '\nbrowser: ' + browser);
- }
- return true;
- }
-
- function closeError()
- { errorPopup.style.visibility = "hidden";
- }
-
-
- strError = '<div id="errorPopup">';
- strError += '<span id=errorTitle onMousedown="initDrag(\'errorPopup\')"> Error</span>';
- strError += '<span id="errorIntro"> </span>';
- strError += '<span id="errorMelding"> </span>';
- strError += '<center>';
- strError += '<form name="cdbug" action="http://www.pcactive.nl/cdrom/cdbug.asp" method="POST">';
- strError += '<input type=hidden name="regel" value="">';
- strError += '<input type=hidden name="bug" value="">';
- strError += '<input type=hidden name="pagina" value="">';
- strError += '<input type=hidden name="uitgave" value="">';
- strError += '<input type=hidden name="browser" value="">';
- strError += '<input type=submit value="verstuur via internet">';
- strError += '<input type=button value="annuleren" onclick="closeError()">';
- strError += '</form>';
- strError += '</center>';
- strError += '</div>';
-
- function getErrorPopup()
- { if (isIE)
- document.write(strError);
- window.onerror = scriptFout;
- }
-
- window.onfocus = menuFocus;
-
-
- // *** Begin standaardfuncties *** //
-
- function niets() { void(parent.menu.focus()); }
-
- function dw(string) { document.writeln(string); }
-
- function ldw(string) { lokaalVenster.document.writeln(string); }
-
- // images van de 4 hoofdschermen
- imgxon = new Image(); imgxon.src = "../media/images/menu_hm1.gif";
- imgaon = new Image(); imgaon.src = "../media/images/menu_sw1.gif";
- imgbon = new Image(); imgbon.src = "../media/images/menu_ol1.gif";
- imgcon = new Image(); imgcon.src = "../media/images/menu_pc1.gif";
- imgdon = new Image(); imgdon.src = "../media/images/menu_cd1.gif";
-
- imgxoff = new Image(); imgxoff.src = "../media/images/menu_hm.gif";
- imgaoff = new Image(); imgaoff.src = "../media/images/menu_sw.gif";
- imgboff = new Image(); imgboff.src = "../media/images/menu_ol.gif";
- imgcoff = new Image(); imgcoff.src = "../media/images/menu_pc.gif";
- imgdoff = new Image(); imgdoff.src = "../media/images/menu_cd.gif";
-
- menux = new Image(); menux.src = "../media/images/hfd_hm1.gif"
- menua = new Image(); menua.src = "../media/images/hfd_sw.gif"
- menub = new Image(); menub.src = "../media/images/hfd_ol.gif"
- menuc = new Image(); menuc.src = "../media/images/hfd_pc.gif"
- menud = new Image(); menud.src = "../media/images/hfd_cd.gif"
-
- // image functies van de 4 hoofdschermen
- function rollIn(imgName)
- { document[imgName].src = eval(imgName + "on.src"); }
-
- function rollOut(imgName)
- { document[imgName].src = eval(imgName + "off.src"); }
-
- function DualImageChange(imageID, imageName, imageID2, imageName2)
- { if (KnoppenGeladen)
- { document.images[imageID].src = eval(imageName + ".src");
- document.images[imageID2].src = eval(imageName2 + ".src");
- }
- }
-
- // debugging unit
- if (debug)
- { var geopend = true;
- var debugTimeoutID;
- debugWeergave = "top=0,left=0,"+"resizable=yes,status=no,scrollbars=yes";
- schermBreedte = 380; //(screen.availWidth - 640) / 2;
- schermHoogte = screen.availHeight - 100;
- debugVenster = window.open("", "Debugwindow", "width=" + schermBreedte + ",height=" + schermHoogte + debugWeergave);
- debugVenster.document.write("<html><body bgcolor=white><font face=helvetica size=2>")
- debugVenster.document.write('<p><b>Debugscript ingeladen vanuit:</b><br>');
- debugVenster.document.write(location.href + '<br>');
- focus();
- }
- function dbg(string)
- { if (debug)
- { if (!geopend)
- { debugVenster.document.open();
- debugVenster.document.write("<html><body bgcolor=white><font face=helvetica size=2>")
- geopend = true;
- }
- debugVenster.document.write(string + '<br>')
- if (debugTimeoutID)
- debugVenster.clearTimeout(debugTimeoutID);
- debugTimeoutID = setTimeout("debugVenster.document.close(); geopend = false;", 2500);
- }
- }
-
- function schrijfDebugMelding(string)
- { debugVenster.document.write(string + '<br>');
- }
- // eind debugging unit
-
-
- // vang mouseover en mouseouts af om X en Y coordinaat te bepalen
- if (Netscape)
- { document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
- document.onmouseover = muisNS;
- document.onmouseout = muisNS;
- // window.onresize = opnieuwLaden;
- }
-
- var inhoudVenster = null;
- function setInhoudPosition()
- { if (Netscape && !dom1)
- { dx = window.screenX - PCAinterfaceX;
- dy = window.screenY - PCAinterfaceY;
- PCAinterfaceX = window.screenX;
- PCAinterfaceY = window.screenY;
- if (inhoudVenster != null && inhoudVenster.open)
- { inhoudVenster.moveBy(dx, dy);
- }
- }
- }
-
- // detectie van browsermovement om inhoudsopgave te positioneren
- // IE (kent onmove niet), Netscape 6 kent geen van beide
- if (Netscape && !dom1)
- { window.onmove = setInhoudPosition; }
- else if (isIE)
- { top.document.onmouseout = setInhoudPosition; }
-
-
- function load()
- { focus();
- } window.onload = load;
-
-
-
- // functies van de HandsOn's. Deze komen uit /intface/pca/handson.js, maar
- // IE6 vindt de functie dan te laat (?) wat een error genereert op pag0 van
- // de HandsOns.
- function Ga(nummer)
- { parent.menu.HuidigePagina = nummer;
- self.location.href = "pag" + nummer + ".htm";
- parent.overzicht.document.bladeren.location.selectedIndex = nummer;
- parent.menu.SetKnoppen();
- }
-
- function setStyle(obj, actie)
- { if (actie == 'over')
- { obj.style.backgroundColor = '#ffffee';
- obj.style.border = '1 groove #CCCCCC';
- }
- else
- { obj.style.backgroundColor = '#ffffff';
- obj.style.border = '1 solid #ffffff';
- }
- }
-