function getXmlHttpObject() {
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}
plalbums=[]

function jpalbums() {
  xo = getXmlHttpObject();
  if (xo!=null)  {
    xo.onreadystatechange= function() {
        // in IE it's XO - in FF/Opera it's 'this'
        if (this.readyState) {
          xx=this;
        } else {
          xx=xo;
        }
        if(xx.readyState!=4) return;
        if(xx.status!=200) {
          return;
        }      
        yp = document.getElementById('albums');
        x=xx.responseXML.documentElement.getElementsByTagName("entry");
        nl = new Array();
        nlm = new Array();
        for (j=0;j<x.length;j++) {
          nl[j]=x[j].getElementsByTagName('name')[0].firstChild.nodeValue
          nlm[nl[j]]=x[j].getElementsByTagName('title')[0].firstChild.nodeValue;
        }
        nl.sort();
        for (j=0;j<nl.length;j++) {
          li = document.createElement('li');
          nm = nl[j]
          ttl = nlm[nm];
          if (j == 0) {
            li.className = "selected";
            fnm = nm;
          }
          plalbums[ttl] = nm;
          li.onclick = function() {sm(this);};
          li.innerHTML = ttl;
          yp.appendChild(li);
        }
        jpgal(fnm);
        j++;
    }
    xo.open("GET",'getall.php',true);
    xo.send(null);
  } else {
    alert("Your browser does not support XMLHTTP.");
  }
}

function jpgal(galname) {
  yp = document.getElementById('picstrip');
  if (yp.hasChildNodes()) {
    yp.removeChild(yp.firstChild);
  }
  xo = getXmlHttpObject();
  if (xo!=null)  {
    xo.onreadystatechange= function() {
        // in IE it's XO - in FF/Opera it's 'this'
        if (this.readyState) {
          xx=this;
        } else {
          xx=xo;
        }
        if(xx.readyState!=4) return;
        if(xx.status!=200) {
          return;
        }      
        yp = document.getElementById('picstrip');
        dv = document.createElement('div');
        yp.appendChild(dv);
        x=xx.responseXML.documentElement.getElementsByTagName("entry");
        for (j=0;j<x.length;j++) {
          id = document.createElement('div');
          id.className = "galcont";
          thm = x[j].getElementsByTagName('thumbnail')[0].childNodes[0].nodeValue;
          id.onclick = function() {
            var imagezoom = new Imagezoom({
            image: this.style.backgroundImage.replace("url(","").replace(")","").replace('s144','s800').replace(/"/g,""),
            startElement: this,
            duration: 200,
            rel: 'imagezoom'
            });
            imagezoom.show();
          };
          id.style.backgroundColor = "transparent";
          id.style.backgroundImage = "url('" + thm + "')";
          id.style.backgroundPosition = "center";
          id.style.backgroundRepeat = "no-repeat";
          dv.appendChild(id);
        }

    }
    xo.open("GET",'getall.php?album=' + galname,true);
    xo.send(null);
  } else {
    alert("Your browser does not support XMLHTTP.");
  }
}

function sm(obj) {
  if (obj.className == "selected" && obj.parentNode.className.indexOf('selectOpen') == -1) {
    obj.parentNode.className += ' selectOpen';
  } else {
    obj.parentNode.className = ' selectReplacement';
    var lis = obj.parentNode.getElementsByTagName('li');
    for (var i=0; i<lis.length; i++) {
      lis[i].className = "";
    }
    obj.className = "selected";
    tw['scrim'] = null; // reset scrollwidth
    jpgal(plalbums[obj.innerHTML]); // Ajax load new images
  }
}

function bfwd(elem) {
  elem.style.zIndex = 99;
}

xo = new Array();
function jpnewsgal() {
  gals = document.getElementsByTagName('div');
  for (i=0;i<gals.length;i++) {
    if (gals[i].className == "gal") {
      xo[i] = getXmlHttpObject();
      if (xo[i] != null)  {
        xo[i].onreadystatechange= function() {
            // in IE it's XO - in FF/Opera it's 'this'
            if (this.readyState) {
              xx=this;
            } else {
              xx=xo[i];
            }
            if(xx.readyState!=4) return;
            if(xx.status!=200) {
              return;
            }      
            yp = document.getElementById(xx.responseXML.documentElement.getElementsByTagName("params")[0].firstChild.data);
            x=xx.responseXML.documentElement.getElementsByTagName("entry");
            dv = document.createElement('div');
            la = document.createElement('div');
            la.className = "leftarrow";
            la.onclick = function() {
              scrollpic(this.parentNode.parentNode.id,80,5);
            }
            im = document.createElement('img');
            im.src = "images/arrow1.gif";
            im.width = 30;
            im.height = 30;
            la.appendChild(im);
            dv.appendChild(la);
            dv.className = 'scwin';
            la = document.createElement('div');
            la.className = "rightarrow";
            la.onclick = function() {
              scrollpic(this.parentNode.parentNode.id,-80,5);
            }
            im = document.createElement('img');
            im.src = "images/arrow2.gif";
            im.width = 30;
            im.height = 30;
            la.appendChild(im);
            dv.appendChild(la);
            yp.appendChild(dv);
            ct = document.createElement('div');
            ct.className = "ct";
            ct.innerHTML = "Click to zoom";
            dv.appendChild(ct);
            for (j=0;j<x.length;j++) {
              md = document.createElement('div');
              md.style.position = "relative";
              md.style.width = 400;
              md.style.styleFloat = "left";
              md.style.cssFloat = "left";
              im = document.createElement('img');
              im.src = x[j].getElementsByTagName('thumbnail')[0].childNodes[0].nodeValue;
              im.className = 'scrim1img';
              im.onclick = function() {
              	var imagezoom = new Imagezoom({
              		image: this.src.replace('s400','s800'),
              		startElement: this,
              		duration: 200,
              		rel: 'imagezoom'
              	});
              	imagezoom.show();
              };
              md.className = yp.id;
              md.appendChild(im)
              dv.appendChild(md);
            }

        }
        xo[i].open("GET",'getall.php?tag='+gals[i].id,true);
        xo[i].send(null);
      } else {
        alert("Your browser does not support XMLHTTP.");
      }
    }
  }
}

function jpstartpage(pagenm) {
  if (pagenm == "gallery") {
    jpalbums();
  } else if (pagenm == "") {
    jpintro();
  }
  jpnewsgal();
}
