AHVideoPlayer = new Object();

AHVideoPlayer.init = function(){
	$$('#primary .videoplayer').each(function(element){
		if ($(element).hasClassName('section')) {
			element.id = 'videoplayer';
			AHVideoPlayer.processHTML(element);
		}
	});
}

AHVideoPlayer.processHTML = function(n) {
	// process level 3 links : play movie

	
	// set a max of movies per genre
	AHVideoPlayer.maxMovies = 4;
	
	// remove initial class
	$(n).getElementsBySelector('li').each(function(li){
		$(li).removeClassName('singular');
	});

	$(n).getElementsBySelector('ul').each(function(ul){
		$(ul).insert({before: '<div class="videos"></div>'});
		$(ul).previous('div').insert($(ul));
	});
	
	// create tvc container
	if (!$('tvc_movies')) {
		var div = document.createElement('div');
		div.id = 'tvc_movies_container';
		if ($(n).select('div.videos')[0]) $(n).select('div.videos')[0].insert({before: div});
	}

	
	
	
	
	
	$(n).getElementsBySelector('li a').each(function(link, linkCounter){
		if (!link.processed) {
			link.url = link.href;

			var matches = link.url.match(new RegExp('vertoon=([^&\'"]+)','i'));
			if (matches) {
				var movieID = matches[1];
				link.id = 'video_'+ movieID;
				link.href = '#_'+link.id;
			 	
	

				Event.observe(link, 'widget:customClick', function(e) {

					var autoplay = link.autoplay;
					link.autoplay = false;

					if (deconcept.SWFObjectUtil.getPlayerVersion().major >= 8) {
	    				var fo = new SWFObject("/_swf/videoplayer-v2.swf?id="+this.id,"tvc_movies", "527px", "317px", "8", "#FFFFFF");
				        fo.addParam("quality", "high");
				        fo.addParam("menu", "true");
				        fo.addParam("allowFullScreen", "false");
				        fo.addParam("allowScriptAccess","always");
				        fo.addParam("pluginspage", "http://www.macromedia.com/go/getflashplayer");
				        fo.addParam("flashVars", "xmlSource="+escape(this.url+'&xml=true')+((autoplay)?'&autoPlay=true':''));
				        fo.addParam("align","left");
				        fo.addParam("wmode", "transparent");
				        fo.addParam("play", "true");
				        fo.addParam("loop", "true");
				        fo.addParam("devicefont", "false");
				        fo.write("tvc_movies_container");
			        } else {
						// Show the non-flash block (on display the visuals will be downloaded).
						loader.schedule("flash alternative", function () {
							var elementsToHide = $$('.swf_content');
							for (var i = 0; i < elementsToHide.length; i++){
								elementsToHide[i].style.display = "none";
							}
							var elementsToShow = $$('.swf_alternate');
							for (var i = 0; i < elementsToShow.length; i++){
								elementsToShow[i].style.display = "block";
							}
						});
					}
			        
			        if ($('video_actions')) $('video_actions').remove();
			        var videoActions = document.createElement('div');
			        videoActions.id = 'video_actions';
			        
			        
			        var str = '<span class="button dl">';
					str += '<a onclick="window.open(this.href, \'_blank\', \'width=480,height=575,top=0,left=0,scrollbars=yes,location=no,modal\'); return false;" href="/data/video/download?vertoon=' + movieID + '">Download</a><div class="corner corner_tl"></div><div class="corner corner_tr"></div><div class="corner corner_bl"></div><div class="corner corner_br"></div>';

			        str += '</span>';
			        
			        str += '<span class="button">';
			        str += '<a onclick="window.open(this.href, \'_blank\', \'width=420,height=660,top=0,left=0,scrollbars=yes,location=no,modal\'); return false;" href="/commercials/verstuur?videoId=' + movieID + '">Stuur door</a><div class="corner corner_tl"></div><div class="corner corner_tr"></div><div class="corner corner_bl"></div><div class="corner corner_br"></div>';
			        str += '</span>';
			        
			       
			      	videoActions.innerHTML = str; 
			      
			        $('tvc_movies_container').insert({after: videoActions});
			        
			        $(this.parentNode.parentNode).getElementsBySelector('li.active').each(function(a){
						$(a).removeClassName('active');
					});
			        $(link.parentNode).addClassName('active');

			        // sitestat counter
					sitestatTellerFlash('videoplayer.'+link.id);

			       if (autoplay)  {
			       		window.scrollTo(0,$('videoplayer').cumulativeOffset()['top']-40);
			       }

	  			});
	  			Event.observe(link, 'click', function(e) {
	  				this.autoplay=true;
	  				$(this).fire('widget:customClick');
	  			});

	  			link.processed = true;
	  			
	  			
	  			// set image as background image
		        if ($(link).select('img')[0]) {
		        	$(link).style.backgroundImage = 'url(' + $(link).select('img')[0].src + ')';
		        	$(link).select('img')[0].remove();
		        }
		        $(link).insert('<span>speel af</span>');
	  			$(link.parentNode).addClassName('movie');
  			}
  			// no valid link found, so we remove the node
  			else {
  				$(link.parentNode).remove();
  			}
		}
	});
	

	
	
	$(n).getElementsBySelector('ul').each(function(movie_ul){
		movie_ul.offsetMovie = 0;
		movie_ul.numberOfMovies = $(movie_ul).getElementsBySelector('li').size();
	
	    if ($(movie_ul).getElementsBySelector('li').size()>AHVideoPlayer.maxMovies) {
	
	  		var next = document.createElement('a');
			next.className = 'nextMovie';
			next.href = '#_volgende_video';
			next.player = movie_ul;
			Event.observe(next, 'click', function(e){
				nextMovie(Event.element(e));
			});
			$(movie_ul).insert({after: next});
	
			var prev = document.createElement('a');
			prev.className = 'prevMovie';
			prev.href = '#_vorige_video';
			prev.player = movie_ul;
			Event.observe(prev, 'click', function(e){
				prevMovie(Event.element(e));
			});
			$(movie_ul).insert({before: prev});
			processNewMovie(movie_ul);
	
	    }
	});
	

	function prevMovie(el) {
		if (el.player.offsetMovie > 0) el.player.offsetMovie--;
		processNewMovie(el.player);
	}
	function nextMovie(el) {
		if (el.player.offsetMovie < (el.player.numberOfMovies-AHVideoPlayer.maxMovies)) el.player.offsetMovie++;
		processNewMovie(el.player);
	}
	function processNewMovie(movie_ul) {
		
		movie_ul.getElementsBySelector('li').each(function(movie_li, liCount){
			if (liCount < movie_ul.offsetMovie || liCount >= movie_ul.offsetMovie + AHVideoPlayer.maxMovies) $(movie_li).addClassName('hidden');
			else $(movie_li).removeClassName('hidden')
		});
	

		if (movie_ul.offsetMovie>0) $(movie_ul.parentNode).addClassName('hasPrev');
		else $(movie_ul.parentNode).removeClassName('hasPrev');
		if (movie_ul.offsetMovie < (movie_ul.numberOfMovies-AHVideoPlayer.maxMovies)) $(movie_ul.parentNode).addClassName('hasNext');
		else $(movie_ul.parentNode).removeClassName('hasNext');
	}



	if (location.hash && location.hash.indexOf('_video_')>0) {
		if ($(location.hash.substring(2))) {
			var trailer = $(location.hash.substring(2));
			$(trailer.parentNode).addClassName('active');
			trailer.autoplay = true;
			$(trailer).fire('widget:customClick');
			if (loader) {
				loader.schedule("scroll first movie into view",function(){
					window.scrollTo(0,$('videoplayer').cumulativeOffset()['top']-40);
				});
			}
		}
	}
	else {
		
		var firstMovie = $(n).getElementsBySelector('li.movie a')[0];
		if (firstMovie) {
			// firstMovie.autoplay = true;
			$(firstMovie).fire('widget:customClick');
		}
	}
  }

if (loader) {
	loader.schedule("filmviewer",AHVideoPlayer.init);
}
