function loadXML(url,id) {
	var xmlHttp=null;
	var currId=id;
	if (window.ActiveXObject) { 
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
	} else if (window.XMLHttpRequest) { 
        xmlHttp=new XMLHttpRequest(); 
	}
	if (xmlHttp!=null) {
		xmlHttp.onreadystatechange=function() {
			onResponse(xmlHttp,currId);
		};
	    xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
	} else {
		alert('Your browser does not support XMLHTTP.');
	}
	// clean up
	delete xmlHttp;
}  

function checkReadyState(obj) {
	if (obj.readyState == 4) {
		if (obj.status == 200) {
			return true;
		} else {
			alert("Problem retrieving XML data.");
		}
		xmlHttp=null;
	}
}

function onResponse(xmlHttp,currId) {

	if (checkReadyState(xmlHttp)) {
		var strBook=xmlHttp.responseXML.getElementsByTagName("book");

		var intPerRow=3;
		var intRowCount=0;
		var intItemCount=0;
		var intRowTotal=Math.ceil(strBook.length/intPerRow);
		var strULOpen='<ul>';
		var strULClose='</ul>';
		var strLIOpen='<li>';
		var strLIClose='</li>';
		var strPage='';
		var strArrTemp;
		var strTemp=strTemp2='';
		var strCover=strTitle=strAge=strDescription=strPrice=strPages=strDimensions=strSpread=strSpreadDesc='';
		
		for (var i=0;i<strBook.length;i++) {
			try {
				strCover=strBook[i].getElementsByTagName("cover")[0].childNodes[0];
				strTitle=strBook[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
				strAge=strBook[i].getElementsByTagName("age")[0].childNodes[0].nodeValue;
				strDescription=strBook[i].getElementsByTagName("description")[0].childNodes[0].nodeValue;
				strPrice=strBook[i].getElementsByTagName("price")[0].childNodes[0].nodeValue;
				strPages=strBook[i].getElementsByTagName("pages")[0].childNodes[0].nodeValue;
				strDimensions=strBook[i].getElementsByTagName("dimensions")[0].childNodes[0].nodeValue;
			} catch(e) {
				alert(e);
			}
			
			if (!strBook[i].getElementsByTagName("spread")[0].hasChildNodes()) {
				strSpread="none";
			} else {
				strSpread=strBook[i].getElementsByTagName("spread")[0].childNodes[0].nodeValue;
			}
			if (!strBook[i].getElementsByTagName("spreaddesc")[0].hasChildNodes()) {
				strSpreadDesc="none";
			} else {
				strSpreadDesc=strBook[i].getElementsByTagName("spreaddesc")[0].childNodes[0].nodeValue;
			}
//		var strSpread=strBook[i].getElementsByTagName("spread")[0].childNodes[0].nodeValue;
//		var strSpeadDesc=strBook[i].getElementsByTagName("spreaddesc")[0].childNodes[0].nodeValue;
		//alert(strCover.childNodes[0].nodeValue);
			
			// process description
			strArrTemp=strDescription.split("<br />");
			for (var j=0;j<strArrTemp.length;j++) {
				strTemp=strTemp+strLIOpen+
				strArrTemp[j]+strLIClose;
			}
			strDescription=strULOpen+strTemp+strULClose;
			
			// process pages
			if ((strPages!='') && (strPages>0)) {
				if (parseInt(strPages)>1) {
					strPages=strPages+' spreads';
				} else {
					strPages=strPages+' spread';
				}
			}

			if (strCover==undefined) {
				strCover="";
			}

			if (intRowCount<intRowTotal) {
				if ((intItemCount%intPerRow)==0) {
					if (i==0) {
						strPage=strULOpen+strPage;
					} else {
						strPage=strPage+strULClose;
						strPage=strPage+strULOpen;
					}
					//
					intItemCount++;
				} else if ((intItemCount%intPerRow)==2) {
					intItemCount=0;
					intRowCount++;
					//
					strTemp2=strTemp2+strPage;
					strPage="";
					strLIOpen='<li class="last">';
				} else {
					//
					intItemCount++;
				}
			}
			
			strPage=strPage+strLIOpen+
			'<div class="cover"><img src="/littlescholastic/images/covers/'+strCover.nodeValue+'" alt="'+strTitle+'"/></div>';

			if ((strSpread=='') || (strSpread=='none')) {
				strPage=strPage+'<div class="button"></div>';
			} else {
				strPage=strPage+'<div class="button"><a href="#" onclick="popup(this);return false;");><img src="/littlescholastic/images/btn_look-inside.gif" alt="Look Inside" width="128" height="19" border="0" /></a></div>';				
			}
			
			strPage=strPage+'<div class="title">'+strTitle+'</div>'+
			'<div class="age">'+strAge+'</div>'+
			'<div class="price">'+strPrice+'</div>'+
			'<div class="dimensions">'+strDimensions+'</div>'+
			'<div class="pages">'+strPages+'</div>'+
			'<div class="description">'+strDescription+'</div>'+
			'<div class="popup">'+
			'<div class="spread">'+strSpread+'</div><div class="spreaddesc">'+strSpreadDesc+'</div>'+
			'</div>'+
			strLIClose;			
			strArrTemp=null;
			strTemp="";
			strLIOpen='<li>';

			
		}
		// last item
		strPage=strPage+strULClose;
		strTemp2+=strPage;

		strPage=strTemp2;
//		writeSource(strPage);
		document.getElementById("xmlData_"+currId).innerHTML=strPage;
		document.getElementById("xmlData_"+currId).style.visibility='visible';
		document.getElementById("xmlData_"+currId).style.display='block';
		document.getElementById("divider_"+currId).style.visibility='visible';
		document.getElementById("divider_"+currId).style.display='block';
		
	}
}

function display(id) {
	var obj=document.getElementById("xmlData_"+id);
	document.getElementById("xmlData_"+currId).style.visibility='hidden';
	document.getElementById("xmlData_"+currId).style.display='none';
	document.getElementById("divider_"+currId).style.visibility='hidden';
	document.getElementById("divider_"+currId).style.display='none';
	currId=id;

	if (obj.innerHTML=="") {
		loadXML("books"+id+".xml");
	} else {
		document.getElementById("xmlData_"+currId).style.visibility='visible';
		document.getElementById("xmlData_"+currId).style.display='block';
		document.getElementById("divider_"+currId).style.visibility='visible';
		document.getElementById("divider_"+currId).style.display='block';
	}
}

function popup(obj) {
	var strTemp="";
	var spread=spreaddesc=title="";
	
	var parent=obj.parentNode.parentNode;
	var children=parent.childNodes;

	for(var i=0;i<children.length;i++) {
		if (children[i].className=="title") {
			title=children[i].innerHTML;
		}
		if (children[i].className=="popup") {
			spread=children[i].childNodes[0].innerHTML;
			spreaddesc=children[i].childNodes[1].innerHTML;
		}
	}
	
	var strHTML='<html><head><title>'+title+'</title></head><body style="margin:0;padding:0"><div><img src="/littlescholastic/images/spreads/'+spread+'" /></div><div style="font:11px Arial;color:#000;padding:5px 10px;text-align:center">'+spreaddesc+'</div><div style="font:11px Arial;color:#000;padding:0 10px;text-align:right"><a href="#" onclick="window.close()">Close window</a></div></body></html>';
	var popup=window.open('','source','width=500,height=320');
	
	popup.document.write(strHTML);
	popup.document.close();

}

function writeSource(strHTML) {
	var popup=window.open('','source','width=300,height=300');
	popup.document.write(strHTML);
	popup.document.close();
}

function init() {
	loadXML("books1.xml",1);
	loadXML("books2.xml",2);
	loadXML("books3.xml",3);	
}

init();