var oA = document.createElement('a');

var TimeLapseQT = {
	sLatestMovie: 'timelapse1800s', //edit this line to be the latest movie eg. 'timelapse1900'
	oMovieBox: new Object(),
	oMovieNav: new Object(),
	aAds: new Array(),
	oCurrentMovie: new Object(),
	oLastMovie: false,
	sNoQTLink: '<a href="/go/quicktime/"><img src="http://images.apple.com/home/2006/images/retailfifthaveheroquicktime20060519.jpg" width="720" height="400" border="0" alt="Quicktime required."></a>',
	sMovieLink: 'http://images.apple.com/movies/us/apple/fifthavenue/',
	iLastNavNum: 0,
	bAddMovieAnchor: true,
	
	init: function() {
		TimeLapseQT.oMovieBox = $('moviebox');
		TimeLapseQT.oMovieNav = $('numbers');
		
		var aNavSpans = TimeLapseQT.oMovieNav.getElementsByTagName('span');
		if(TimeLapseQT.sLatestMovie.length > 0) {
			for(var i=0; i<aNavSpans.length; i++) {
				var oNavSpan = aNavSpans[i];
				var sFileName = oNavSpan.id;
				var sMoviePath = TimeLapseQT.sMovieLink+sFileName+'.mov';
				if(TimeLapseQT.bAddMovieAnchor == true) {
					var oTime = oNavSpan.firstChild;
					var oAnchor = oA.cloneNode(true);
					oAnchor.href = sMoviePath;
					oNavSpan.replaceChild(oAnchor,oTime);
					oAnchor.appendChild(oTime);
					if(TimeLapseQT.sLatestMovie == sFileName) { TimeLapseQT.bAddMovieAnchor = false;}
				}
			}
		}
		var oAds = TimeLapseQT.oMovieNav.getElementsByTagName('span');
		for(var i=0; i<oAds.length; i++) {
			var oAd = oAds[i];
			if(oAd.getElementsByTagName('a')[0]) {
				var oAdAnchor = oAd.getElementsByTagName('a')[0];
				addEventToObject(oAdAnchor,'onclick',TimeLapseQT.processMovie);
				addEventToObject(oAdAnchor,'onmouseover',TimeLapseQT.hideStatus);
				var sHref = oAd.getElementsByTagName('a')[0].getAttribute('href');
				TimeLapseQT.aAds[i] = {
					id: oAd.id,
					href: sHref,
					movieobj: false,
					isplaying: false,
					span: new HTMLObject(oAd)
				};
			}
		}
		for(var i=0; i<TimeLapseQT.aAds.length; i++) {
			TimeLapseQT.aAds[TimeLapseQT.aAds[i].id] = TimeLapseQT.aAds[i];
		}

		var sLocation = document.location.href;
		if(sLocation.indexOf('?') != -1) {
			var sSearchStr = sLocation.split('?')[1];
			TimeLapseQT.oCurrentMovie = TimeLapseQT.aMovies[sSearchStr];
		} else {
			TimeLapseQT.oCurrentMovie = TimeLapseQT.aAds[TimeLapseQT.aAds.length-1];
		}
		TimeLapseQT.playMovie();

	},
	hideStatus: function(ev) {
		stopDefaultAction(ev);
		window.status='';
	},
	processMovie: function(ev) {
		stopDefaultAction(ev);
		var oClickedLink = getClickedLink(ev);
		var sHref = oClickedLink.getAttribute('href');
		var sMovieName = sHref.substring((sHref.lastIndexOf('/')+1),sHref.lastIndexOf('.'));
		TimeLapseQT.oCurrentMovie = TimeLapseQT.aAds[sMovieName];
		TimeLapseQT.playMovie();
	},
	stopMovie: function(oMovie) {
		oMovie.isplaying = false;
	},
	playMovie: function() {
		if(TimeLapseQT.oLastMovie && TimeLapseQT.oLastMovie.isplaying == true) {
			try { 
				TimeLapseQT.oLastMovie.movieobj.Stop();
				TimeLapseQT.oLastMovie.movieobj.style.display = 'none';
				TimeLapseQT.oLastMovie.movieobj.parentNode.removeChild(TimeLapseQT.oLastMovie.movieobj);
			}
			catch (err) { TimeLapseQT.oMovieBox.innerHTML = TimeLapseQT.sNoQTLink; }
			TimeLapseQT.stopMovie(TimeLapseQT.oLastMovie);
		}
		if(isQTInstalled()) {
			var sMoviePath = TimeLapseQT.oCurrentMovie.href;
			var sMovieWidth = '720';
			var sMovieHeight = '400';

			if(TimeLapseQT.oCurrentMovie != TimeLapseQT.oLastMovie) {
				if(TimeLapseQT.oLastMovie && TimeLapseQT.oLastMovie.span.hasClass('hi')) {
					TimeLapseQT.oLastMovie.span.removeClass('hi');
				}
				if(!TimeLapseQT.oCurrentMovie.span.hasClass('hi')) {
					TimeLapseQT.oCurrentMovie.span.addClass('hi');
				}
				TimeLapseQT.oLastMovie = TimeLapseQT.oCurrentMovie;
			}
			TimeLapseQT.oCurrentMovie.isplaying = true;
			
			TimeLapseQT.oMovieBox.innerHTML = QT_GenerateOBJECTText_XHTML(
				sMoviePath,
				sMovieWidth,
				sMovieHeight,
				'',
				'id',
				'movie',
				'emb#name',
				'movie',
				'emb#id',
				'movieID',
				'autoplay',
				'TRUE',
				'cache',
				'FALSE',
				'bgcolor',
				'#000000',
				'controller',
				'FALSE',
				'enablejavascript',
				'TRUE',
				'qtnext1',
				'javascript:TimeLapseQT.stopMovie(TimeLapseQT.oCurrentMovie);'
			);
			TimeLapseQT.oCurrentMovie.movieobj = document.getElementById('movie') || document.getElementById('movieID') || document['movie'];
		} else {
			TimeLapseQT.oMovieBox.innerHTML = TimeLapseQT.sNoQTLink;
		}
	}
}
