

var xmlObject=loadXMLDoc("gallerydata.xml");

var cat=searchparam("cat");
if(cat.length < 1)
  cat="fragrance";
  
if(xmlObject != null){
//alert(isNan(xmlObject.getElementsByTagName(cat)));
  if(xmlObject.getElementsByTagName(cat).length > 0)
    if(xmlObject.getElementsByTagName(cat)[0].getElementsByTagName("image").length > 0)
      createcontent(xmlObject.getElementsByTagName(cat)[0].getElementsByTagName("image"));
    else
      alert(cat + " has no images.");
  else
    alert(cat + " has no images.");
}

document.getElementById(cat).setAttribute("class","linked");
document.getElementById(cat).innerHTML=cat.toUpperCase();
switch(cat){
case "fragrance":
  createNavLink("jewelry");
  createNavLink("portraits");
  createNavLink("polaroids");
  createNavLink("personal");
  createNavLink("tearsheets");
break;
case "jewelry":
  createNavLink("fragrance");
  createNavLink("portraits");
  createNavLink("polaroids");
  createNavLink("personal");
  createNavLink("tearsheets");
break;
case "portraits":
  createNavLink("fragrance");
  createNavLink("jewelry");
  createNavLink("polaroids");
  createNavLink("personal");
  createNavLink("tearsheets");
break;
case "polaroids":
  createNavLink("fragrance");
  createNavLink("jewelry");
  createNavLink("portraits");
  createNavLink("personal");
  createNavLink("tearsheets");
break;
case "personal":
  createNavLink("fragrance");
  createNavLink("jewelry");
  createNavLink("portraits");
  createNavLink("polaroids");
  createNavLink("tearsheets");
break;
case "tearsheets":
  createNavLink("fragrance");
  createNavLink("jewelry");
  createNavLink("portraits");
  createNavLink("polaroids");
  createNavLink("personal");
break;
}

function createNavLink(cat){
  var lnk=document.createElement("a");
  lnk.setAttribute("href","?cat="+cat);
  lnk.setAttribute("title","");
  lnk.innerHTML=cat.toUpperCase();
  document.getElementById(cat).appendChild(lnk)
}

function loadXMLDoc(dname){
  var xmlDoc=ajaxRequest();
  if(xmlDoc != null){
    if (window.XMLHttpRequest){
      xmlDoc.open("GET",dname,false);
      xmlDoc.send("");
      return xmlDoc.responseXML;
    }else if (window.ActiveXObject){
      xmlDoc.async=false;
      xmlDoc.load(dname);
      return xmlDoc;
    }
  }else{
    alert("Error loading document");
    return null;
  }
}

function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else
  return false
}

function createcontent(items){
/*
for (i=0;i<items.length;i++)
{
    document.write("{"+i+"}");
    document.write(items[i].nodeName);
    document.write(": ");
    for (j=0;j<items[i].childNodes.length;j++){
      document.write("{"+j+"}");
      if(items[i].childNodes[j].nodeType == 1){
        document.write(items[i].childNodes[j].nodeName);
        document.write("-");
        //document.write(items[i].childNodes[j].childNodes.length);
        if(items[i].childNodes[j].childNodes.length > 0) 
          document.write(items[i].childNodes[j].childNodes[0].nodeValue);
      }
    }
    document.write("<br />");
}
*/
  if(items.length > 0){
    var contentdiv=document.createElement("div");
    contentdiv.setAttribute("id","content");
    var portfoliodiv=document.createElement("div");
    portfoliodiv.setAttribute("class","portfolio");
    contentdiv.appendChild(portfoliodiv);
    var itemaname;
    var itemahref;
    var itemimage;
    //var objimage;
    var buttonahref;
    var itemtable=document.createElement("table");
    var buttonul=document.createElement("ul");
    buttonul.setAttribute("id","button");
//alert(items[0].childNodes.length);
    for(var i=0;i<items.length;i++) {
      itemtd=document.createElement("td");
      //itemdiv.setAttribute("class","item");
      itemaname=document.createElement("a");
      itemaname.setAttribute("name",i);
      itemaname.setAttribute("id",i);
      itemahref=document.createElement("a");
      itemahref.setAttribute("href","#"+i);
      itemimage=document.createElement("img");
      itemimage.setAttribute("class","TipImg");

      for(var j=0;j<items[i].childNodes.length;j++){
        var x=items[i].childNodes[j];
        var imgName;
        switch(x.nodeName){
        case "filename":
          if (window.ActiveXObject){
            imgName=x.text;
          }else if (window.XMLHttpRequest){
            imgName=(x.childNodes.length > 0)?x.childNodes[0].nodeValue:"";
          }
          itemimage.setAttribute("src","".concat("img/",cat,"/",imgName));
          break;
        case "caption":
          if (window.ActiveXObject)
            itemimage.setAttribute("title",x.text);
          else if (window.XMLHttpRequest)
            itemimage.setAttribute("title",(x.childNodes.length > 0)?x.childNodes[0].nodeValue:"");
          break;
        case "width":
          if (window.ActiveXObject)
            itemimage.setAttribute("width",x.text);
          else if (window.XMLHttpRequest)
            itemimage.setAttribute("width",(x.childNodes.length > 0)?x.childNodes[0].nodeValue:"");
          break;
        case "height":
          if (window.ActiveXObject)
            itemimage.setAttribute("height",x.text);
          else if (window.XMLHttpRequest)
            itemimage.setAttribute("height",(x.childNodes.length > 0)?x.childNodes[0].nodeValue:"");
          break;
        }
      }
      
      itemahref.appendChild(itemimage);
      itemtd.appendChild(itemaname);
      itemtd.appendChild(itemahref);
      itemtable.appendChild(itemtd);

      buttonli=document.createElement("li");
      buttonahref=document.createElement("a");
      buttonahref.setAttribute("class","TipNav");
      buttonahref.setAttribute("href","".concat("#",i.toString()));
      buttonahref.setAttribute("title","".concat("::<img src='img/",cat,"/mini/mini_",imgName,"'>"));
      buttonahref.innerHTML=i;

      //buttonahref.appendChild(itemimage);
      buttonli.appendChild(buttonahref);
      buttonul.appendChild(buttonli);
    }

    document.getElementById("content").getElementsByTagName("div")[0].appendChild(itemtable);
    document.getElementById("bottom").appendChild(buttonul);

    for(var hh = 0;hh<document.images.length;hh++){
      if(document.images[hh].className == "TipImg"){
        while(document.images[hh].src.search(/%20/) >= 0)
          document.images[hh].src=document.images[hh].src.replace(/%20/,"_");
      }
    }
    for(var gg = 0;gg<document.getElementsByTagName("a").length;gg++){
      if(document.getElementsByTagName("a")[gg].className == "TipNav"){
//alert(document.getElementsByTagName("a")[gg].title);
        while(document.getElementsByTagName("a")[gg].title.search(/%20/) >= 0)
          document.getElementsByTagName("a")[gg].title=document.getElementsByTagName("a")[gg].title.replace(/%20/,"_");
      }
    }
//alert(/*document.getElementById("content").innerHTML+"\n\n"+*/document.getElementById("bottom").innerHTML);
  }
}

function searchparam(param) {
//alert(location.search.indexOf(param + "="));
	var start = location.search.indexOf(param + "=");
	if( start == -1) {
		return("");
	} else {
//alert(location.search.indexOf("&",start));
		var end = location.search.indexOf("&",start);
		if( end == -1) {
			return(location.search.substring(start+(param + "=").length));
		} else {
//alert(location.search.substring(start+(param + "=").length,end));
			return(location.search.substring(start+(param + "=").length,end));
		}
	}
}
