   var gallery = {
      setup: function(obj) {
         gallery.galleries = new Array();
         var divarr = obj.getElementsByTagName("div");

//         for(i=0; i<divarr.length; i++) {
//            if(divarr[i].className == "gallery")
//               gallery.galleries[gallery.galleries.length] = divarr[i];
//         }

//         gallery.debugit(gallery.galleries.length);
//         for(i=0; i<gallery.galleries.length; i++) {
//            divarr = gallery.galleries[i].getElementsByTagName("div");
//            gallery.debugit(divarr.length);
            for(j=0; j<divarr.length; j++) {
               if(divarr[j].className == "stripitemcontainer") {
                  gallery.debugit(divarr[j].childNodes[0].href);
                  divarr[j].childNodes[0].href = "javascript:void(gallery.popup('"+divarr[j].childNodes[0].href+"'))";
               }
            }
//         }

         gallery.state = 0;
         gallery.frame = document.getElementById("imgframe");
         gallery.box = document.getElementById("imgbox");
         gallery.loading = document.getElementById("loading");
         gallery.frame.style.display = "none";
      },

      popup: function(img) {
         gallery.debugit("in popup");

         var pagewidth = document.documentElement.clientWidth;
         var pageheight = document.documentElement.clientHeight;

         if(img != undefined) {
            gallery.closeit();
         }

         switch(gallery.state) {
            case 0:
               var regex = /^[\S\D]*.[jpg|gif|png]$/gi;
               var results = img.match(regex);
               if(results == null) {
                  location = img;
                  return;
               }
               gallery.imgobj = new Image();
               gallery.imgobj.src = img;
               if(gallery.imgobj.complete)
                  gallery.state = 2;
               else
                  gallery.state = 1;
               var topspace = document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
               gallery.frame.style.top = (Math.round((pageheight-72)/2)+(topspace))+"px";
               gallery.frame.style.left = Math.round((pagewidth-72)/2)+"px";
               gallery.frame.style.display = "block";

               setTimeout("gallery.popup()", 1000);
               break;
            case 1:
               gallery.debugit("loading");
               if(gallery.imgobj.complete)
                  gallery.state = 2;
               setTimeout("gallery.popup()", 1000);
               break;
            case 2:
               gallery.debugit("original size: "+gallery.imgobj.width+" x "+gallery.imgobj.height);
               if(gallery.imgobj.width == 0 && gallery.imgobj.height == 0)
                  return;

               gallery.debugit("page size: "+pagewidth+" "+pageheight);
               if(pagewidth >= gallery.imgobj.width) {
                  var newwidth = gallery.imgobj.width;
               }
               else {
                  var newwidth = pagewidth-150;
                  var newheight = Math.round(((pagewidth-150)*gallery.imgobj.height)/gallery.imgobj.width);
               }
               if(pageheight >= gallery.imgobj.height) {
                  var newheight = gallery.imgobj.height;
               }
               else {
                  var newheight = pageheight-150;
                  var newwidth = Math.round(((pageheight-150)*gallery.imgobj.width)/gallery.imgobj.height);
               }
               gallery.debugit("new size: "+newwidth+" "+newheight);
               gallery.newwidth = newwidth;
               gallery.newheight = newheight;

               gallery.state = 3;
//               gallery.frame.style.top = "0px";
//               gallery.frame.style.left = "0px";
               gallery.frame.style.width = "72px";
               gallery.frame.style.height = "72px";

               gallery.box.style.width = "52px";
               gallery.box.style.height = "52px";

               gallery.loading.style.top = "0px";

//gallery.box.onmouseup = function() { clearInterval(gallery.timer); };

//               slide.stopslide();
//               praise.pause();

               gallery.timer = setInterval("gallery.expandbox()", 50);
               break;
            case 3:
               var img = document.createElement("img");
               img.setAttribute("src", gallery.imgobj.src);
               img.setAttribute("width", (gallery.newwidth));
               img.setAttribute("height", (gallery.newheight));
               gallery.box.appendChild(img);

               var xbox = document.createElement("div");
               xbox.setAttribute("id", "xbox");
               var x = document.createElement("a");
               x.setAttribute("href", "javascript:void(gallery.closeit())");
               x.appendChild(document.createTextNode("X"));
               xbox.appendChild(x);
               gallery.box.appendChild(xbox);

               xbox = document.getElementById("xbox");
               xbox.style.left = (gallery.newwidth - 8)+"px";

//               slide.startslide();
//               praise.resume();

               break;
         }

         
      },

      closeit: function() {
         clearInterval(gallery.timer);
         gallery.timer = null;
         gallery.box.innerHTML = "<img src=\"ajax-loader-white.gif\" width=\"32\" height=\"32\" alt=\"loading\" id=\"loading\" />";
         gallery.loading = document.getElementById("loading");
         gallery.state = 0;
         gallery.imgobj = null;
         gallery.frame.style.display = "none";

         gallery.frame.style.top = "0px";
         gallery.frame.style.left = "0px";
         gallery.frame.style.width = "52px";
         gallery.frame.style.height = "52px";

         gallery.box.style.width = "32px";
         gallery.box.style.height = "32px";

         gallery.loading.style.top = "10px";
         gallery.loading.style.left = "10px";
      },

      expandbox: function() {
         var pagewidth = document.documentElement.clientWidth;
         var pageheight = document.documentElement.clientHeight;

         var toppos = parseInt(gallery.box.style.top);
         var leftpos = parseInt(gallery.box.style.left);
         var widthpos = parseInt(gallery.box.style.width);
         var heightpos = parseInt(gallery.box.style.height);

         var twidth = Math.ceil((gallery.newwidth-widthpos)/2);
         var theight = Math.ceil((gallery.newheight-heightpos)/2);

         if(widthpos < (gallery.newwidth))
            if((twidth+widthpos) > (gallery.newwidth)) {
               gallery.box.style.width = (gallery.newwidth)+"px";
               gallery.frame.style.width = (gallery.newwidth+20)+"px";
            }
            else {
               gallery.box.style.width = (twidth+widthpos)+"px";
               gallery.frame.style.width = (twidth+widthpos+20)+"px";
            }
         if(heightpos < (gallery.newheight))
            if((theight+heightpos) > (gallery.newheight)) {
               gallery.box.style.height = (gallery.newheight)+"px";
               gallery.frame.style.height = (gallery.newheight+20)+"px";
            }
            else {
               gallery.box.style.height = (theight+heightpos)+"px";
               gallery.frame.style.height = (theight+heightpos+20)+"px";
            }

         toppos = parseInt(gallery.box.style.top);
         leftpos = parseInt(gallery.box.style.left);
         widthpos = parseInt(gallery.box.style.width);
         heightpos = parseInt(gallery.box.style.height);

         var topspace = document.documentElement.scrollTop>document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
         var leftspace = document.documentElement.scrollLeft>document.body.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;

         gallery.frame.style.top = (Math.round((pageheight-(heightpos+20))/2)+topspace)+"px";
         gallery.frame.style.left = (Math.round((pagewidth-(widthpos+20))/2)+leftspace)+"px";
         gallery.loading.style.top = Math.round((heightpos-32)/2)+"px";
         gallery.loading.style.left = Math.round((widthpos-32)/2)+"px";

         var done = 1;
         if(widthpos < (gallery.newwidth))
            done = 0;
         if(heightpos < (gallery.newheight))
            done = 0;

         if(done == 1) {
            clearInterval(gallery.timer);
            gallery.timer = null;
            gallery.popup();
         }
      },

      getid: function(e) {
         var idname = "";
         if(!e)
            if(window.event)
               e = window.event;
            else
               return;
         if(document.layers)
            idname = e.target.id;
         else if(window.event && window.event.srcElement)
            idname = window.event.srcElement.id;
         else if(e && e.stopPropagation && !window.opera)
            if(e.target.nodeType == 1)
               idname = e.target.id;
            else
               if(e.target.parentNode != null)
                  idname = e.target.parentNode.id;
         else if (window.opera && e)
            idname = e.target.id;

         return idname;
      },

      debugit: function(msg) {
         document.getElementById("debugbox").innerHTML += msg+"<br />";
      }
   };
