--- zogiLib/js/Attic/option.js 2004/06/22 13:35:50 1.1 +++ zogiLib/js/Attic/option.js 2005/11/08 10:13:31 1.5 @@ -1,39 +1,44 @@ var digilibWin = null; -if (window.opener) { - if (window.opener.setParameter) { - digilibWin = window.opener; - } else { - alert("window.opener but no setParameter!"); - } -} else { + +function findWin() { + // put a reference of the current digilib window in digilibWin if (window.setParameter) { - digilibWin = window; - } else { - alert("no window.setParameter either!"); + 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!"); } +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; }