            x_offset = 0;
            y_offset = 0;

            function dim_layer (lid, w, h)
            {
              if (document.getElementById) {                        // IE 5+, NS 6, O5
                 if (w) document.getElementById(lid).style.width = w;
                 if (h) document.getElementById(lid).style.height  = h;
              } else {
                 if (document.all) {                                // IE 4+
                    if (w) document.all[lid].style.width = w;
                    if (h) document.all[lid].style.height  = h;
                 } else {
                    if (document.layers) {                          // Netscape 4
                       if (w) document.layers[lid].width = w;
                       if (h) document.layers[lid].height  = h;
                    }
                 }
              }
            }

            function move_layer (lid, x, y)
            {
              if (document.getElementById) {                        // IE 5+, NS 6, O5
                 if (x) document.getElementById(lid).style.left = x;
                 if (y) document.getElementById(lid).style.top  = y;
              } else {
                 if (document.all) {                                // IE 4+
                    if (x) document.all[lid].style.left = x;
                    if (y) document.all[lid].style.top  = y;
                 } else {
                    if (document.layers) {                          // Netscape 4
                       if (x) document.layers[lid].left = x;
                       if (y) document.layers[lid].top  = y;
                    }
                 }
              }
            }

            function show_layer (lid)
            {
               if (document.getElementById) {                        // IE 5+, NS 6, O5
                  document.getElementById(lid).style.visibility = "visible";
               } else {
                  if (document.all) {                                // IE 4+
                     document.all[lid].visibility = "visible";
                  } else {
                     if (document.layers) {                          // Netscape 4
                        document.layers[lid].visibility = "show";
                     }
                  }
               }
            }

            function hide_layer (lid)
            {
               if (document.getElementById) {                        // IE 5+, NS 6, O5
                  document.getElementById(lid).style.visibility = "hidden";
               } else {
                  if (document.all) {                                // IE 4+
                     document.all[lid].visibility = "hidden";
                  } else {
                     if (document.layers) {                          // Netscape 4
                        document.layers[lid].visibility = "hide";
                     }
                  }
               }
            }

            function get_ww()
            {
              if (window.innerWidth) return window.innerWidth;
              else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
              else return 0;
            }

            function get_wh()
            {
              if (window.innerHeight) return window.innerHeight;
              else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
              else return 0;
            }
