function loadCovers(url) { trace('loading...'); var doc = new XML(); doc.onLoad = function(success) { var covers = []; if(success) { for(var newspaperNode = this.childNodes[1].firstChild; newspaperNode; newspaperNode = newspaperNode.nextSibling) { if(newspaperNode.nodeName == 'newspaper') { /* */ var cover = {date: new Date(parseInt(newspaperNode.attributes['date'].substring(0, 4)), parseInt(newspaperNode.attributes['date'].substring(5, 7)) - 1, parseInt(newspaperNode.attributes['date'].substring(8, 10)), 15 /* newseum images are requested at 3pm PDT each day */)}; for(var imageNode = newspaperNode.firstChild; imageNode; imageNode = imageNode.nextSibling) { if(imageNode.nodeType == 1 && imageNode.attributes['src']) { cover[imageNode.nodeName] = imageNode.attributes['src']; } } trace(cover.date+': '+cover.large); covers.push(cover); } } } loadedCovers(covers); }; doc.load(url); } function displayCover(display) { if(_root.lastDisplay != undefined) { _root.lastDisplay._x = -200; } display._x = 25; display._y = 25; _root.lastDisplay = display; } function loadedCovers(covers) { trace('loaded '+covers.length+' covers.'); var hSpace = 20; var vSpace = 75; for(var i = 0; i < covers.length; i += 1) { _root.createEmptyMovieClip('displayCoverClip'+i, 1000 + i); var displayCoverClip = _root['displayCoverClip'+i]; displayCoverClip.loadMovie(covers[i].medium); displayCoverClip._x = -200; _root.createEmptyMovieClip('cover'+i, 100 + i); var coverClip = _root['cover'+i]; // day by day by day var s = Math.floor((covers[i].date.valueOf() - covers[0].date.valueOf()) / (24 * 60 * 60 * 1000)); coverClip._x = 200 + (s * hSpace) % 800; coverClip._y = 25 + Math.floor(s * hSpace / 800) * vSpace; coverClip.cover = covers[i]; coverClip.display = displayCoverClip; coverClip.onRollOver = function() { displayCover(this.display); } coverClip.createEmptyMovieClip('level4', 1); var level4 = coverClip.level4; level4._xscale = 60; level4._yscale = 85; level4.createEmptyMovieClip('level3', 1); var level3 = level4.level3; level3._rotation = -41; level3.createEmptyMovieClip('level2', 1); var level2 = level3.level2; level2._xscale = 150; level2.createEmptyMovieClip('level1', 1); var level1 = level2.level1; level1._rotation = 30; level1.beginFill(0x000000, 20); level1.moveTo(-5, -5); level1.lineTo(35, -5); level1.lineTo(35, 60); level1.lineTo(-5, 60); level1.endFill(); level1.createEmptyMovieClip('cover', 1); var cover = level1.cover; // small covers are known to be 40 x 65 px cover.loadMovie(covers[i].small); } } loadCovers('chronicle.xml');