var videoTeasers = [];

window.addEvent('domready', function() {
	videoTeasers = $$('h3.videoTeaser');
	updateNextVideoTeaser();
});

function updateNextVideoTeaser () {
	if( videoTeasers.length > 0 ) {
		var e = videoTeasers.pop();
		var id = parseInt(e.get('videoId'));
		var image = e.getElement('img');
		var title = e.getElement('span.videoTitle').get('html');
		
		if( !image || title.length < 1 ) {
			if( !NettTv.API.isLoaded(id) ) {
				loadVideo(id, e);
			} else {
				videoLoaded(id, e);
			}
		} else {
			scaleVideoImageWrap(e);
			updateNextVideoTeaser();
		}
	}
}

function loadVideo (id, teaser) {
	var v = { 'id' : id, 'teaser' : teaser };
	NettTv.API.load(
		id,
		function ( id, teaser ) {
			videoLoaded(this.id, this.teaser);
		}.bind(v)
	);
}

function videoLoaded (id, e) {
	var image = e.getElement('img');
	
	if( !image ) {
		var size = parseInt(e.getElement('div.videoImageWrap').getStyle('width'));
		var a = e.getElement('a');
		image = new Asset.image(
			NettTv.API.getImage(id, size),
			{
				onload : function () { 
					this.removeProperty('width');
					this.removeProperty('height');
					this.inject(a, 'top');
					scaleVideoImageWrap(e);
				}
			}
		);
	} else {
		scaleVideoImageWrap(e);
	}
	
	var titleSpan = e.getElement('span.videoTitle');
	var title = titleSpan.get('html');
	if(title.length < 1) {
		titleSpan.set('html', NettTv.API.getTitle(id));
	}
	updateNextVideoTeaser();
}

function scaleVideoImageWrap ( e ) {
	var wrap = e.getElement('div.videoImageWrap');
	var image = wrap.getElement('img');
	wrap.setStyle('height', image.height);
}
