layersmenu-see-through.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/
  2. function scanChildren(element)
  3. {
  4. var counter = element.childNodes.length;
  5. for (var i=0; i<counter; i++) {
  6. foobar = element.childNodes.item(i);
  7. if ( ( (Konqueror22 || Konqueror30 || Konqueror31) &&
  8. ( foobar.nodeName == 'INPUT' || foobar.nodeName == 'input'
  9. || foobar.nodeName == 'SELECT' || foobar.nodeName == 'select'
  10. || foobar.nodeName == 'TEXTAREA' || foobar.nodeName == 'textarea'
  11. )
  12. )
  13. ||
  14. // Konqueror 3.2 and 3.3 need hiding only for the following two form elements, but, alas,
  15. // at the time of this writing (Konqueror 3.2.3 and 3.3.0-rc2), hiding of such two form elements
  16. // on Konqueror 3.2 and 3.3 does not work, it is affected by the following bug: http://bugs.kde.org/72885
  17. ( (Konqueror32 || Konqueror33) &&
  18. ( ((foobar.nodeName == 'SELECT' || foobar.nodeName == 'select') && foobar.size > 1)
  19. || foobar.nodeName == 'TEXTAREA' || foobar.nodeName == 'textarea'
  20. )
  21. )
  22. ||
  23. ( IE &&
  24. ( foobar.nodeName == 'SELECT' || foobar.nodeName == 'select' )
  25. )
  26. ) {
  27. toBeHidden[toBeHidden.length] = foobar;
  28. }
  29. if (foobar.childNodes.length > 0) {
  30. scanChildren(foobar);
  31. }
  32. }
  33. }
  34. function seeThroughCoordinatesDetection()
  35. {
  36. if (!((Konqueror && !Konqueror22) || IE5)) {
  37. return;
  38. }
  39. for (i=0; i<toBeHidden.length; i++) {
  40. object = toBeHidden[i];
  41. toBeHiddenLeft[i] = object.offsetLeft;
  42. while (object.tagName != 'BODY' && object.offsetParent) {
  43. object = object.offsetParent;
  44. toBeHiddenLeft[i] += object.offsetLeft;
  45. }
  46. object = toBeHidden[i];
  47. toBeHiddenTop[i] = object.offsetTop;
  48. while (object.tagName != 'BODY' && object.offsetParent) {
  49. object = object.offsetParent;
  50. toBeHiddenTop[i] += object.offsetTop;
  51. }
  52. }
  53. }
  54. //document.write("<br />\nSCANNING STARTED<br />\n");
  55. //scanChildren(document.getElementsByTagName('BODY').item(0));
  56. if ((Konqueror || IE5) && document.getElementById('phplmseethrough')) {
  57. scanChildren(document.getElementById('phplmseethrough'));
  58. }
  59. //document.write("<br />\nSCANNING COMPLETED<br />\n");
  60. seeThroughCoordinatesDetection();