function jewelryViewer() {	// constructor
	var imgDir= "jewelrypix/";

	var nImages= 4;		// number of images to display horizontally	
	var nLines= 4;			// maximum 4 lines
	var MAXWIDTH= 550;
	var NORMALWIDTH= 350;
	var idPrefix= "img";
	var divPrefix= "divImg";
	var detailImgId= "detailImage";
	var detailTxtId= "detailText";

	var detailItem= null;	// holds current display item
	var curIndex= 0;		// current index into array
	var pageStartIndex= 0;	// index of top of page
	
	var sourcejs="BambooCollection.js";	// default if can't parse query	
	var pageTitle="Bamboo Collection";
	
	// Parse query string to input appropriate source arrays
	var query = window.location.search.substring(1);	// retrieve ?queryString after the ?
	var pos = query.indexOf('=');
	// each must define itemsArr ********************************************
	if (pos > 0) {
		var key = query.substring(0,pos);
		var val = query.substring(pos+1);
		if (val=="1") {
			pageTitle="Bamboo Collection";
			sourcejs="BambooCollection.js";
		} else if (val=="2") {
			pageTitle="Candy Collection";
			sourcejs="CandyCollection.js";
		} else if (val=="3") {
			pageTitle="Circles Collection";
			sourcejs="CircleCollection.js";
		} else if (val=="4") {
			pageTitle="Zen Collection";
			sourcejs="ZenCollection.js";
		} else if (val=="5") {
			pageTitle="Glass and Metal Collection";
			sourcejs="GlassAndMetalCollection.js";
		}
//alert("key= "+ key + "val= " + val);
		
	}	
	document.write("<script src='"+sourcejs+"'><\/script>");
	
	function displayPageButtons(arr) {
		if (curIndex>nImages*nLines)
			document.getElementById("pageLeftButton").style.visibility= "visible";
		else
			document.getElementById("pageLeftButton").style.visibility= "hidden";
		if (arr && curIndex < arr.length)
			document.getElementById("pageRightButton").style.visibility= "visible";
		else
			document.getElementById("pageRightButton").style.visibility= "hidden";
	}

	this.doPageLeft= function() {
		curIndex= curIndex-(nImages*nLines*2);
		if (curIndex < 0) curIndex= 0;
		displayItems(itemsArr);
		displayDetails(detailItem);
		displayPageButtons(itemsArr);
	}
	
	this.doPageRight= function() {
//		if (itemsArr && curIndex < itemsArr.length) 
//			curIndex++;
		displayItems(itemsArr);
		displayDetails(detailItem);
		displayPageButtons(itemsArr);
	}	
	
	function displayItems(arr) {
		if (arr) {
			detailItem= null;
			var last= curIndex + nImages*nLines;
			pageStartIndex= curIndex;
			for (; curIndex < arr.length && curIndex < last; curIndex++) {
				document.getElementById(divPrefix + (curIndex-pageStartIndex + 1)).style.visibility="visible";			
				var arrItem= arr[curIndex];
				if (arrItem!=null) {			
						document.getElementById(idPrefix + (curIndex-pageStartIndex + 1)).src= imgDir + arrItem[0];
						if (detailItem==null) detailItem= arrItem;	// inital filling of page, 1st displayed image= large image					
				}
			}
		}
		for (var i=curIndex; i < last; i++) { // blank out columns that have no image
			document.getElementById(divPrefix + (i-pageStartIndex+1)).style.visibility="hidden";
		}
		return curIndex; 	// current index
	}
	
	function displayDetails(detailsArr) {
		// item array format:  image, description, itemName, itemNumber, price
//	alert("displayDetails " + itemArray.join(""));
		if (detailsArr && detailsArr.length>1) {
			var obj= document.getElementById(detailImgId);
			if (obj) {
				obj.style.width="";
				obj.src= imgDir + detailsArr[0];
				if (detailsArr.length > 3) {
					obj.alt= detailsArr[3];
					obj.title= detailsArr[3];
				}
				if (obj.offsetWidth > MAXWIDTH) obj.style.width= MAXWIDTH;
			}
			document.getElementById(detailTxtId).innerHTML= detailsArr[1];
			if (detailsArr.length > 4 && detailsArr[4]!="") {
				// add price + cart info ...
				document.getElementById(detailTxtId).innerHTML+= "<br>$" + detailsArr[4];
				document.getElementById("item_name").value= detailsArr[2];
				document.getElementById("item_number").value= detailsArr[3];
				document.getElementById("item_amt").value= detailsArr[4];
				document.getElementById("cart_email").value= "postmaster@jewelrybykaia.com";
				document.getElementById("cartText").style.visibility= 'visible';
			}
			else {
				document.getElementById("cartText").style.visibility= 'hidden';
			}
		}
		detailItem= detailsArr;
	}
	
    this.getDetails= function(targetObj) {		
		if (targetObj) {
			var s= targetObj.id;
			if (s) {
				var i= parseInt(s.substring(idPrefix.length));
				i= i+pageStartIndex-1;
				if(i < 0) i= 0;	// shouldn't be!!
				displayDetails(itemsArr[i]);
			}
		}
	}	

	// Initial Display
	this.doPageLoad= function() {
		var t= document.getElementById("pageTitle");
		if (t!=null)
			t.innerHTML=pageTitle;

		if (itemsArr) {
			curIndex= 0;		
			displayItems(itemsArr);			
			displayDetails(detailItem);
		}
		displayPageButtons(itemsArr);
//		document.getElementById("pageLeftButton").style.visibility= "hidden";
	}			
}