That's why I specified it is a prototype.js/window.js pseudo window (actually a floating div)
Reasons to use this "Window"
1. It can be themed more completely than a standard window.
2. Since it is a div on the page, it does not get blocked by pop-up blockers.
3. I was called in as a special consultant to "make JavaScript stuff work" and the pseudo window already existed - I could have changed it, or even used a simpler pseudo window, but I wanted to make the status quo work.
example: http://philosophersguild.com/test_site/index.lasso
Where I wrote the div content from the main page (pseudo-opener) using a window.js method getContent().innerHTML rather than loading the div content in an iframe (also using a native window.js method/constructor) from a HTML file, as a solution to the problem. However, in this solution, I was unable to use the JS Flash loader script and had to load the Flash with HTML.
But I still don't understand why the only property on the parent window I could access from the iframe was location...
I was so disappointed to read your reply, I thought somebody could illuminate the quirks of prototype.js/window.js
To me, your example is unnecessarily verbose, you should use ids to shorten the DOM path of elements. I would also recommend using the definition type="text/javascript" in your script tags for future compatibility. And reusing the function name "go" on the child window, while demonstrating the independence of functions on opener and child, is a great way to get confused. Try to use more descriptive function names, "go" is quite generic. I like the name "change"
In the prototype.js environment you can write document.getElementById('idvalue') as $('idvalue') so I'm sure you can understand the simplicity/productivity increase inherent in using the libraries.
prototype.js/window.js is a very popular library in widespread use but I am interested in discovering its limitations as well as its possibilities.
Here is another window.js test, notable for the advanced debug window object/property inspector (no, you really gotta try it out!): http://philosophersguild.com/test_site/windows_js_test.lasso
I do a lot of work with PHP, and passing values between PHP and JS, and on this site, passing values between Lassoscript and JavaScript.
Personally, I prefer cooking my own code too, but I am impressed by some aspects of the prototype.js library and baffled by why something simple like an iframe close Window (or hide div, as it were) doesn't work.
I have been writing JavaScript since the days when you had to sniff out Netscape2 because IE3 had superior JS support... in other words, a long time.