function loadXML(URL) {
	var xmlHttp=null;

	if (window.ActiveXObject) { 
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
	} else if (window.XMLHttpRequest) { 
        xmlHttp=new XMLHttpRequest(); 
	}
	if (xmlHttp!=null) {
		xmlHttp.onreadystatechange=function() {
			onResponse(xmlHttp);
		};
	    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) {

	if (checkReadyState(xmlHttp)) {
		cleanWhitespace(xmlHttp.responseXML);
		var strLeftNav='';
		var expert=displayLeftNav(xmlHttp,'expert');
		var quicktips=displayLeftNav(xmlHttp,'quicktips');
		var tools=displayLeftNav(xmlHttp,'tools');
		var games=displayLeftNav(xmlHttp,'games');
		getQuote(xmlHttp);
		getBook(xmlHttp);


		strLeftNav+=expert+quicktips+tools+games;
//alert(strPage);
//		writeSource(strPage);
		document.getElementById("leftNav").innerHTML=strLeftNav;
		rotateQuote();
		rotateBook();
	}
}
var arrCallout=new Array();
function displayLeftNav(xmlHttp,obj) {
	var strNav=xmlHttp.responseXML.getElementsByTagName(obj);
	var lstNav=strNav[0].getElementsByTagName("item");
		
	var strDivOpen='<div class="lstLinks">';
	var strDivClose='</div>';
	var strULOpen='<ul>';
	var strULClose='</ul>';
	var strLIOpen='<li>&#149;&nbsp;<a href="';
	var strLIClose='</a></li>';
	var strPage='';
	var strTemp='';
	var strText=strLink=strCallout='';
	var intCount=0;

/*
	<div class="lstLinks">
		<div class="gfxHead"><img src="/littlescholastic/images/h_expert-advice.gif" alt="EXPERT ADVICE AND ARTICLES" width="246" height="20" /></div>
		<ul>
			<li>&#149;&nbsp;<a href="/earlylearner/experts/language/3_5_learninghabit.htm" onmouseover="displayCallout(this);" onmouseout="hideCallout(this);">The Learning Habit</a></li>
			<li>&#149;&nbsp;<a href="http://content.scholastic.com/browse/article.jsp?id=1505" onmouseover="displayCallout(this);" onmouseout="hideCallout(this);">Enticing a Restless Reader</a></li>
			<li>&#149;&nbsp;<a href="http://content.scholastic.com/browse/article.jsp?id=10215" onmouseover="displayCallout(this);" onmouseout="hideCallout(this);">Exploring Books with Babies</a></li>
			<li class="last"><img src="/littlescholastic/images/bul_arr_blue.gif" width="6" height="6" /> <a href="#">See All</a></li>
		</ul>
	</div>
*/
		for (var i=0;i<lstNav.length;i++) {
			try {
				strText=lstNav[i].getElementsByTagName("text")[0].childNodes[0].nodeValue;
				strLink=lstNav[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
				strCallout=lstNav[i].getElementsByTagName("callout")[0].childNodes[0];
			} catch(e) {
				alert(e);
			}

			if ((strCallout!=undefined)||(strCallout!=null)) {
				strTemp+=strLIOpen+strLink+'" onmouseover="displayCallout(this);" onmouseout="hideCallout(this);" id="'+obj+intCount+'">'+strText+strLIClose;

				arrCallout[obj+intCount]=strCallout.nodeValue;

				intCount++;
			} else {
				strTemp+='<li class="last"><img src="/littlescholastic/images/bul_arr_blue.gif" width="6" height="6" />&nbsp;<a href="'+strLink+'">'+strText+strLIClose;				
			}
		}

		strPage+=strDivOpen+'<div class="gfxHead"><img src="/littlescholastic/images/'+strNav[0].getAttribute('image')+'" alt="'+strNav[0].getAttribute('alt')+'" width="246" height="20" /></div>'+
		strULOpen;
		strPage+=strTemp;
		strPage+=strULClose+strDivClose;
		return strPage;
}

function popup(objId) {
	var strTemp="";
	var spread=spreaddesc=title="";
	
	spread=arrBooksSpread[objId];
	spreaddesc=arrBooksSpreadDesc[objId];
	title=arrBooksTitle[objId];
	
	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();
}

var arrQuoteText=new Array();
var arrQuoteSource=new Array();

var arrBooksTitle=new Array();
var arrBooksCover=new Array();
var arrBooksDescription=new Array();
var arrBooksSpread=new Array();
var arrBooksSpreadDesc=new Array();
var arrBooksURL=new Array();

var q_count=b_count=0;

function getQuote(xmlHttp) {
	var xmlQuote=xmlHttp.responseXML.getElementsByTagName('upperquote');
	var lstQuote=xmlQuote[0].getElementsByTagName('quote');

	for (var i=0;i<lstQuote.length;i++) {
		strQuote=lstQuote[i].getElementsByTagName('text');
		strSource=lstQuote[i].getElementsByTagName('source');
		arrQuoteText[i]=strQuote[0].childNodes[0].nodeValue;
		arrQuoteSource[i]=strSource[0].childNodes[0].nodeValue;
	}
}

function rotateQuote() {
	var objQuote=document.getElementById('txtQuote');
	var objSource=document.getElementById('txtSource');
	
	if (q_count==arrQuoteText.length) {
		q_count=0;
	}
	objQuote.innerHTML='';
	objQuote.innerHTML=arrQuoteText[q_count];
	objSource.innerHTML='';
	objSource.innerHTML='&#151; '+arrQuoteSource[q_count];
	q_count++;
	setTimeout("rotateQuote()",5000);
}

function getBook(xmlHttp) {
	var strBook=xmlHttp.responseXML.getElementsByTagName("book");
	var strCover=strTitle=strDescription=strURL=strSpread=strSpreadDesc='';

	for (var i=0;i<strBook.length;i++) {
		try {
			strCover=strBook[i].getElementsByTagName("cover")[0].childNodes[0].nodeValue;
			strTitle=strBook[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
			strDescription=strBook[i].getElementsByTagName("description")[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("spread_desc")[0].hasChildNodes()) {
			strSpreadDesc="none";
		} else {
			strSpreadDesc=strBook[i].getElementsByTagName("spread_desc")[0].childNodes[0].nodeValue;
		}

		arrBooksTitle[i]=strTitle;
		arrBooksCover[i]=strCover;
		arrBooksDescription[i]=strDescription;
		arrBooksSpread[i]=strSpread;
		arrBooksSpreadDesc[i]=strSpreadDesc;
		arrBooksURL[i]='';
	}
}

function rotateBook() {
	var objCover=document.getElementById('imgCover');
	var objTitle=document.getElementById('txtTitle');
	var objSummary=document.getElementById('txtSummary');
	var objLink=document.getElementById('txtLink');
	var objSpread=document.getElementById('txtSpread');
	var objSpreadDesc=document.getElementById('txtSpreadDesc');
	var b_count=Math.floor(Math.random()*(arrBooksTitle.length));

	objCover.innerHTML='';
	objCover.innerHTML='<a href="#" onclick="popup('+b_count+');return false;"><img src="images/home/'+arrBooksCover[b_count]+'" width="217" height="217"  border="0" /></a>';
	objTitle.innerHTML='';
	objTitle.innerHTML=arrBooksTitle[b_count];
	objSummary.innerHTML='';
	objSummary.innerHTML=arrBooksDescription[b_count];
	objLink.innerHTML='';
	objLink.innerHTML='&#149;&nbsp;<a href="#" onclick="popup('+b_count+');return false;">LOOK INSIDE THE BOOK</a>';
	objSpread.innerHTML='';
	objSpread.innerHTML=arrBooksSpread[b_count];
	objSpreadDesc.innerHTML='';
	objSpreadDesc.innerHTML=arrBooksSpreadDesc[b_count];
	
	setTimeout("rotateBook()",7000);
}

function displayCallout(obj) {
	var callout=document.getElementById('callout');
	var text=document.getElementById('txtCallout');

	callout.style.top=findPos(obj.id)[1]-34+'px';
	callout.style.left=obj.offsetWidth+93+'px';
	callout.style.display='block';
	text.innerHTML='';
	text.innerHTML=arrCallout[obj.id];
}

function hideCallout(obj) {
	var callout=document.getElementById('callout');
	callout.style.display='none';
}

function findPos(obj) {
	var objE=document.getElementById(obj);
	var curleft = curtop = 0;
	if (objE.offsetParent) {
		curleft = objE.offsetLeft
		curtop = objE.offsetTop
		while (objE = objE.offsetParent) {
			curleft += objE.offsetLeft
			curtop += objE.offsetTop
		}
	}
	topE_left=curleft;
	topE_top=curtop;
	return [curleft,curtop];
}

function cleanWhitespace(node) {
  var notWhitespace = /\S/;
  for (var x = 0; x < node.childNodes.length; x++) {
    var childNode = node.childNodes[x]
    if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) {
// that is, if it's a whitespace text node
      node.removeChild(node.childNodes[x])
      x--
    }
    if (childNode.nodeType == 1) {
// elements can have text child nodes of their own
      cleanWhitespace(childNode)
    }
  }
}

function init() {
/*	var counter=0;

	var objLeftNav=document.getElementById('leftNav');
	var arrAList=objLeftNav.getElementsByTagName('a');

	for (var i=0;i<arrAList.length;i++) {
		if (arrAList[i].parentNode.className!='last') {
			arrAList[i].id=counter;
			counter++;
		}
	}
*/
	loadXML("homepage.xml");
	
}

init();