--- zogiLib/js/Attic/option.js 2004/08/22 14:26:32 1.2 +++ zogiLib/js/Attic/option.js 2005/11/08 10:13:31 1.5 @@ -1,42 +1,44 @@ var digilibWin = null; -if (window.opener) { - if (window.opener.setParameter) { - digilibWin = window.opener; - alert("digilibwin="+digilibWin); - return; + +function findWin() { + // put a reference of the current digilib window in digilibWin + if (window.setParameter) { + digilibWin = window; + return; } + // we try window.opener later because it might cause an exception + if (window.opener) { + if (window.opener.setParameter) { + digilibWin = window.opener; + return; + } + } + alert("unable to find setParameter!"); } -if (window.setParameter) { - digilibWin = window; - alert("digilibwin="+digilibWin); - return; -} else { - alert("no window.setParameter either!"); -} -alert("huhu!:"+digilibWin); +findWin(); function setDLParam(e, s) { /*var tt = ""; for (var t in s) {tt += "par:"+t+" = "+s[t]+", ";} alert(tt);'*/ if (digilibWin) { - var nam; - var val; - if (s.type && (s.type == "select-one")) { - nam = s.name; - val = s.options[s.selectedIndex].value; - } else if (s.name && s.value) { - nam = s.name; - val = s.value; - } - if (nam && val) { - digilibWin.setParameter(nam, val); - digilibWin.display(); - } + var nam; + var val; + if (s.type && (s.type == "select-one")) { + nam = s.name; + val = s.options[s.selectedIndex].value; + } else if (s.name && s.value) { + nam = s.name; + val = s.value; + } + if (nam && val) { + digilibWin.setParameter(nam, val); + digilibWin.display(); + } } else { - alert("unable to find parent window!"); + alert("unable to find parent window!"); } return true; }