/**
 * Global variables for the page
 */

var loading = false;
var currentVideo = null;
var currentInterview = null;
var width = 630; //693
var height = 325; //357
var THUMB_BASE_URL = 'http://www.videodock.com/staging/pinkpop/screenshot.php';
var cd = null;
var curBand;
var curYear;
var curPage;

//var PP_URL = "http://localhost:8080/pinkpop";
var PP_URL = "http://hollandsglorieoppinkpop.nl";

var curTag = null;
var curTime = 0;
var curTimes = null;

var b, y, p;

var curFrag = 0;
var frags = Array(14);
var fr = null;
fr = new Fragment(54, "Bettie Serveert", 1993, 1935, "Zangeres", "bettie-serveert-1993-4-3");
frags[0] = fr;
fr = new Fragment(298, "Kane", 2000, 320, "Publiek", "kane-2000-4-3");
frags[1] = fr;
fr = new Fragment(96, "Claw Boys Claw", 1993, 1894,  "Podium", "claw-boys-claw-1993-4-3");
frags[2] = fr;
fr = new Fragment(459, "Peter Pan Speedrock", 2003, 1383, "Drummer", "peter-pan-speedrock-2003-4-3");
frags[3] = fr;
fr = new Fragment(592, "TC Matic", 1983, 104, "Zanger", "tc-matic-1983-2-4-3");
frags[4] = fr;
fr = new Fragment(321, "K's Choice", 2001, 96, "Gitarist", "ks-choice-2001-4-3-nieuw");
frags[5] = fr;
fr = new Fragment(129, "Def P & Beatbusters", 2002, 1323, "Pinkpop hoedje", "def-p-and-beatbusters-2002-4-3");
frags[6] = fr;
fr = new Fragment(494, "Raymond van het Groenewoud", 1980, 505, "Close up", "raymond-van-het-groenewoud-1980-4-3");
frags[7] = fr;
fr = new Fragment(441, "Osdorp Posse", 1997, 293, "Pinkpop logo", "osdorp-posse-1997-4-3");
frags[8] = fr;
fr = new Fragment(171, "Ellen Ten Damme", 2001, 153, "Handen", "ellen-ten-damme-2001-4-3");
frags[9] = fr;
fr = new Fragment(635, "The New Adventures", 1981, 136, "Drummer", "the-new-adventures-1981-4-3");
frags[10] = fr;
fr = new Fragment(210, "Gabriel Rios", 2007, 489, "Gitarist", "gabriel-rios-2007-16-9");
frags[11] = fr;
fr = new Fragment(257, "Ilse de Lange", 2003, 2676, "Zangeres", "ilse-de-lange-2003-4-3");
frags[12] = fr;
fr = new Fragment(761, "De Jeugd van Tegenwoordig", 2009, 223, "Over Shoulder", "de-jeugd-van-tegenwoordig-2009-16-9");
frags[13] = fr;

shuffle(frags);

var curPop = 0;
var pops = Array(14);
var pop = null;
pop = new Fragment(54, "Bettie Serveert", 1993, 0, "1", "bettie-serveert-1993-4-3");
pops[0] = pop;
pop = new Fragment(314, "Krezip", 2000, 0, "2", "krezip-2000-4-3");
pops[1] = pop;
pop = new Fragment(698, "Urban Dance Squad", 1990, 0,  "3", "urban-dance-squad-1990-4-3");
pops[2] = pop;
pop = new Fragment(136, "dEUS", 1995, 0, "4", "deus-1995-4-3");
pops[3] = pop;
pop = new Fragment(223, "Golden Earring", 2005, 0, "5", "golden-earring-2005-4-3");
pops[4] = pop;

/*
 * 
Hollands Glorie op Pinkpop - Bettie Serveert
Hollands Glorie op Pinkpop - Krezip
Hollands Glorie op Pinkpop - Soulwax
Hollands Glorie op Pinkpop - Urban Dance Squad
Hollands Glorie op Pinkpop - dEUS
Hollands Glorie op Pinkpop - Golden Earring 	
Hollands Glorie op Pinkpop - Herman Brood
Hollands Glorie op Pinkpop - TC Matic
Hollands Glorie op Pinkpop - Ilse de Lange 
 * */

/**
 * De functie voor het verkrijgen van een http request object.
 * @return
 */
function getHttpRequest(){
	var xmlhttp=false;	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if(!xmlhttp && typeof ActiveXObject != "undefined"){
		try{
			xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");
		} catch(e){
			xmlhttp=false;
		}
		if(!xmlhttp){
			try{
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
			} catch(e){
				xmlhttp=false;
			}
		}
	}
	return xmlhttp;
}

function setRandomClipId(){	
	var http = getHttpRequest();
	var url = "jsp/datafetcher.jsp?type=rand&value=x";
	http.open("GET", url, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if(http.responseText != ''){
				var res = http.responseText;			
				$("#nh_start_btn").click(function(event) {				
					document.location.href = PP_URL + "?id=" + res;
				});
			}			
		}
	}
	http.send(null);
}

function loadAllOptredens(){	
	var http = getHttpRequest();
	var url = "jsp/search.jsp?id=all";
	http.open("GET", url, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if(http.responseText != ''){
				var res = http.responseText;			
				var clipData = eval('(' + res + ')');
				cd = clipData;
				if(b != null || y != null) {					
					doSearchLocal(b, y, p, false);
				}
			}
			loading = false;
		}
	}
	http.send(null);
}

function doSearchLocal(band, year, p, animate) {
	if(p == 0){
		//De band en jaar worden wat er gekozen is uit de lijst en de pagina word 1
		band = $("#band_select option:selected").attr("value");
		year = $("#year_select option:selected").attr("value");
		p = 1;
	}
	if(year == undefined) {
		year = '-';
	}
	//controleer of het formulier goed is ingevuld
	if(band == '-' && year == '-'){
		alert('Kies een band en/of een jaargang');
		return;
	}
	//onthoud de zoekparameters
	curBand = band;
	curYear = year;
	curPage = p;
	//de eerste keer moet de zoekresultaten header zichtbaar worden gemaakt
	$("#res_header").css("display", "block");
	//animeer het laden
	loading = true;
	if(animate) {
		loadAnimation1();
	}
	//Gooi de oude resultaatelementen weg
	clearResultElements();	
	var clips = new Array();
	var c = 0;
	if(band != "-" && year != "-") {		
		for (var x in cd.clips.clip) {		
			if(cd.clips.clip[x].bandId == band && cd.clips.clip[x].jaar == year){
				clips[c++] = cd.clips.clip[x];
			}
		}
	} else if (band == "-" && year != "-") {		
		for (var x in cd.clips.clip) {
			if(cd.clips.clip[x].jaar == year){
				clips[c++] = cd.clips.clip[x];
			}
		}
	} else if (band != "-" && year == "-") {		
		for (var x in cd.clips.clip) {		
			if(cd.clips.clip[x].bandId == band){
				clips[c++] = cd.clips.clip[x];
			}
		}
	}
	processLocalResults(clips, band, year, null, p);
	//reset de selectieboxen
	$("#band_select option:first").attr("selected", "true");
	$("#year_select option:first").attr("selected", "true");
	loading = false;
}

function processLocalResults(clips, band, year, p){	
	var text = null;
	var count = clips.length;
	var eventId;
	for (var x=0;x<count;x++) {
		var results = $(".res_item:first").clone();
		results.css("display", "block");
		//var thumbUrl = THUMB_BASE_URL + "?event=" + clips[x].videoFileName + "&pos=" + (clips[x].thumbPos * 25 / 2);
		var thumbUrl = "images/stills/" + clips[x].videoFileName + ".jpeg";
		results.find(".res_item_img").find("img").attr("src", thumbUrl);
		text = results.find(".res_item_text");
		text.eq(0).find(".res_item_value").text(clips[x].band);
		text.eq(1).find(".res_item_value").text(clips[x].jaar);
		//als er een playlist is, voeg deze dan toe aan de data van de result div
		if(clips[x].playlist != undefined && clips[x].playlist.song != undefined) {
			//create a string for the showPlaylist function (for clip only)
			var songs = new Array(clips[x].playlist.song.length);
			var song = null;
			for (var s in clips[x].playlist.song) {
				song = new Song(clips[x].playlist.song[s].title, clips[x].playlist.song[s].time);
				songs[s] = song;
			}
			results.data("playlist", songs);
		}
		//als er een interview is, voeg de tags hiervan dan toe aan de data van de result div
		if (clips[x].tags != undefined && clips[x].tags.tag != undefined) {			
			//create a string for the showTagCloud function (interview only)			
			var tags = new Array(clips[x].tags.tag.length);
			var tag = null;
			for (var t in clips[x].tags.tag) {
				//tag = new Tag(clips[x].tags.tag[t].word, clips[x].tags.tag[t].score, clips[x].tags.tag[t].millis);
				tag = new Tag(clips[x].tags.tag[t].word, clips[x].tags.tag[t].score, clips[x].tags.tag[t].times);
				tags[t] = tag;
			}
			results.data("tags", tags);
		}
		results.data("videoFileName", clips[x].videoFileName);
		results.data("interviewFileName", clips[x].interviewFileName);
		results.data("id", clips[x].id);
		results.click(function(event) {
			//This is the old way without reloading the page
			//clearMetadata();
			//playVideo($(this).find(".res_item_text").eq(0).find(".res_item_value").text(), $(this).find(".res_item_text").eq(1).find(".res_item_value").text(), $(this).data("videoFileName"));			
			//showPlaylist($(this).data("playlist"));
			//showTagCloud($(this).data("tags"), $(this).data("interviewFileName"));
			playByReload($(this).data("id"));
		});
		if(clips[x].tags != undefined && clips[x].tags.tag != undefined) {
			results.find(".res_item_icon").find("img").attr("src", "images/blank.gif");
			results.find(".res_item_icon").find("img").attr("alt", "Interview beschikbaar");
		} else {
			results.find(".res_item_icon").find("img").attr("src", "images/blank.gif");
		}	
		$("#res_wrapper").append(results);
	}
	//maak de footer van de resultaten (met paginanummers en aantal resultaten)
	if(count == 0) {
		$("#res_wrapper").append("<div id=\"res_no_results\">Er zijn geen resultaten gevonden</div>");
	} else {
		var footer = jQuery("<div id=\"res_footer\"><div id=\"res_amount\">"+count+" resultaten</div></div>");
		/*
		if(count > 5) {
			var pages = Math.ceil(count / 5);
			var pagingHtml = "<div class=\"res_paging\">";
			for(var i=0;i<pages;i++) {			
				if(i+1 == p){
					pagingHtml += "<span class=\"res_sel_page\">"
				}
				pagingHtml += "<a href=\"#\" onclick=\"doSearch('"+band+"', '"+year+"',"+(i+1)+", true)\">"+(i+1)+"</a> ";
				if(i+1 == p){
					pagingHtml += "</span>";
				}
			}
			pagingHtml += "</div>";
			jQuery(pagingHtml).insertAfter(footer.find("#res_amount"));
		}
		*/
		$("#res_wrapper").append(footer);
	}
}

/**
 * De functie voor het zoeken in optredens.
 * @param band
 * @param year
 * @param p
 * @return
 */
function doSearch(band, year, p, animate) {
	//Dit is in het geval van een nieuwe zoekopdracht
	if(p == 0){
		//De band en jaar worden wat er gekozen is uit de lijst en de pagina word 1
		band = $("#band_select option:selected").attr("value");
		year = $("#year_select option:selected").attr("value");
		p = 1;
	}
	if(year == undefined) {
		year = '-';
	}
	//controleer of het formulier goed is ingevuld
	if(band == '-' && year == '-'){
		alert('Kies een band en/of een jaargang');
		return;
	}
	//onthoud de zoekparameters
	curBand = band;
	curYear = year;
	curPage = p;
	//de eerste keer moet de zoekresultaten header zichtbaar worden gemaakt
	$("#res_header").css("display", "block");
	//animeer het laden
	loading = true;
	if(animate) {
		loadAnimation1();
	}
	//Gooi de oude resultaatelementen weg
	clearResultElements();
	//stuur het verzoek naar de servlet
	var http = getHttpRequest();
	var url = "jsp/search.jsp?band="+band+"&year=" + year + "&p=" + p + "&type=c";
	http.open("GET", url, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if(http.responseText != ''){
				var res = http.responseText;
				//alert(res);
				processResults(res, band, year, null, p);
				//reset de selectieboxen
				$("#band_select option:first").attr("selected", "true");
				$("#year_select option:first").attr("selected", "true");
			}
			loading = false;
		}
	}
	http.send(null);
}

function searchKeydown(e){
	var keynum;
	if(window.event) {
		keynum = e.keyCode;
	} else if(e.which) {
		keynum = e.which;
	}
	if(keynum == 13){
		searchInterviews(null, 0);
	}
}

/**
 * Verwerkt de resultaten die teruggekregen zijn van search.jsp
 * TODO type meegeven en dan de onclick en de paging veranderen naargelang het type
 * @param res
 * @param band
 * @param year
 * @param p
 * @return
 */
function processResults(res, band, year, terms, p){
	//evalueer de json string tot een object
	var clipData = eval('(' + res + ')');	
	var text = null;
	var count = clipData.res.count;
	var eventId;
	for (var x in clipData.res.results.clip) {
		var results = $(".res_item:first").clone();
		results.css("display", "block");
		//var thumbUrl = THUMB_BASE_URL + "?event=" + clipData.res.results.clip[x].videoFileName + "&pos=" + (clipData.res.results.clip[x].thumbPos * 25 / 2);
		var thumbUrl = "images/stills/" + clipData.res.results.clip[x].videoFileName + ".jpeg";
		results.find(".res_item_img").find("img").attr("src", thumbUrl);
		text = results.find(".res_item_text");
		text.eq(0).find(".res_item_value").text(clipData.res.results.clip[x].band);
		text.eq(1).find(".res_item_value").text(clipData.res.results.clip[x].jaar);
		//als er een playlist is, voeg deze dan toe aan de data van de result div
		if(clipData.res.results.clip[x].playlist != undefined && clipData.res.results.clip[x].playlist.song != undefined){
			//create a string for the showPlaylist function (for clip only)
			var songs = new Array(clipData.res.results.clip[x].playlist.song.length);
			var song = null;
			for (var s in clipData.res.results.clip[x].playlist.song) {
				song = new Song(clipData.res.results.clip[x].playlist.song[s].title, clipData.res.results.clip[x].playlist.song[s].time);
				songs[s] = song;
			}
			results.data("playlist", songs);
		}
		//als er een interview is, voeg de tags hiervan dan toe aan de data van de result div
		if (clipData.res.results.clip[x].tags != undefined && clipData.res.results.clip[x].tags.tag != undefined) {			
			//create a string for the showTagCloud function (interview only)			
			var tags = new Array(clipData.res.results.clip[x].tags.tag.length);
			var tag = null;
			for (var t in clipData.res.results.clip[x].tags.tag) {
				//tag = new Tag(clipData.res.results.clip[x].tags.tag[t].word, clipData.res.results.clip[x].tags.tag[t].score, clipData.res.results.clip[x].tags.tag[t].millis);				
				tag = new Tag(clipData.res.results.clip[x].tags.tag[t].word, clipData.res.results.clip[x].tags.tag[t].score, clipData.res.results.clip[x].tags.tag[t].times);
				tags[t] = tag;
			}
			results.data("tags", tags);
		}
		results.data("videoFileName", clipData.res.results.clip[x].videoFileName);
		results.data("interviewFileName", clipData.res.results.clip[x].interviewFileName);
		results.data("id", clipData.res.results.clip[x].id);
		results.click(function(event) {
			//This is the old way without reloading the page
			//clearMetadata();
			//playVideo($(this).find(".res_item_text").eq(0).find(".res_item_value").text(), $(this).find(".res_item_text").eq(1).find(".res_item_value").text(), $(this).data("videoFileName"));			
			//showPlaylist($(this).data("playlist"));
			//showTagCloud($(this).data("tags"), $(this).data("interviewFileName"));
			playByReload($(this).data("id"));
		});
		if(clipData.res.results.clip[x].tags != undefined && clipData.res.results.clip[x].tags.tag != undefined) {
			results.find(".res_item_icon").find("img").attr("src", "images/blank.gif");
			results.find(".res_item_icon").find("img").attr("title", "Interview beschikbaar");
		} else {
			results.find(".res_item_icon").find("img").attr("src", "images/blank.gif");
		}
		$("#res_wrapper").append(results);
	}
	//maak de footer van de resultaten (met paginanummers en aantal resultaten)
	if(count == 0) {
		$("#res_wrapper").append("<div id=\"res_no_results\">Er zijn geen resultaten gevonden</div>");
	} else {		
		var footer = jQuery("<div id=\"res_footer\"><div id=\"res_amount\">"+count+" resultaten</div></div>");
		/*
		if(count > 5) {
			var pages = Math.ceil(count / 5);
			var pagingHtml = "<div class=\"res_paging\">";
			for(var i=0;i<pages;i++) {
				if(i+1 == p) {
					pagingHtml += "<span class=\"res_sel_page\">"
				}
				pagingHtml += "<a href=\"#\" onclick=\"doSearch('"+band+"', '"+year+"',"+(i+1)+", true)\">"+(i+1)+"</a> ";
				if(i+1 == p){
					pagingHtml += "</span>";
				}
			}
			pagingHtml += "</div>";
			jQuery(pagingHtml).insertAfter(footer.find("#res_amount"));
		}
		*/
		$("#res_wrapper").append(footer);
		
	}
}

function playByReload(id, time) {
	if(time == undefined){
		document.location.href=  PP_URL + "?id=" + id + "&b=" + curBand + "&y=" + curYear + "&p=" + curPage;
	} else {
		document.location.href=  PP_URL + "?id=" + id + "&t=" + time + "&ns=1";
	}
}

function clearResultElements(){
	$(".res_item:gt(0)").remove();
	$(".search_term").remove();
	$("#res_footer").remove();
	$("#res_no_results").remove();
}

function clearMetadata(){
	$("#player_title_value").text("");
	$("#meta_title_value").text("");
	$("#meta_poster").css("display", "none");
	$("#meta_playlist").html("");
}

function showPlaylist(songs) {	
	if(songs != undefined && songs != null){		
		$("#meta_playlist").append("<div class=\"meta_playlist_title\">SET LIST</div>");	
		for(var i=0;i<songs.length;i++) {
			$("#meta_playlist").append("<div class=\"meta_song\"><a href=\"#\" onclick=\"play("+songs[i].time+")\">" + songs[i].title + "</a></div>");
		}		
	} else {
		$("#meta_playlist").append("<div class=\"meta_playlist_title\">SET LIST</div>");
		$("#meta_playlist").append("<div class=\"meta_song\">Er is geen setlist beschikbaar</div>");
	}
}

function Tag(word, score, times) {
	this.word = word;
	this.score = score;	
	this.times = times;	
}

function Song(title, time) {
	this.title = title;
	this.time = time;
}

function Fragment(id, band, year, time, desc, videoFileName) {
	this.id = id;
	this.band = band;
	this.year = year;
	this.time = time;
	this.desc = desc;
	this.videoFileName = videoFileName;
}

function showTagCloud(tags, interviewFileName) {
	$("#meta_tag_cloud").html("");
	var tag = null;
	if(tags != undefined){
		for(var i=0;i<tags.length;i++) {			
			//tag = jQuery("<span class=\"meta_cloud_tag\"><a href=\"#\" onclick=\"playInterview("+tags[i].millis+", '"+interviewFileName+"')\">"+tags[i].word+"&nbsp;</a></span>");
			tag = jQuery("<span class=\"meta_cloud_tag\"><a href=\"#\" onclick=\"playInterview('"+tags[i].times+"', 0, '" + tags[i].word + "', '" + interviewFileName + "')\">"+tags[i].word+"&nbsp;</a></span>");
			tag.css("font-size", tags[i].score * 2 - 4);
			$("#meta_tag_cloud").append(tag);
		}		
		$("#meta_tag_cloud").css("display", "block");
		$("#meta_tag_cloud_title").css("display", "block");
		$("#meta_iv_btn").css("display", "block");
		$("#meta_tag_times").css("display", "block");
		$("#meta_iv_btn").data("interviewFileName", interviewFileName);
		$("#meta_iv_btn").click(function(event) {
			playInterview('0', 0, '', $(this).data("interviewFileName"));
		});
	} else {
		$("#meta_tag_cloud").css("display", "none");
		$("#meta_tag_cloud_title").css("display", "none");
		$("#meta_iv_btn").css("display", "none");
		$("#meta_tag_times").css("display", "none");
	}
}

function prevUtterance() {
	var t = curTime == 0 ? 0 : curTime - 1;
	playInterview(curTimes, t, curTag, currentInterview);
}

function nextUtterance() {
	var l = curTimes.split("|").length;
	var t = curTime == l -1 ? l -1 : curTime + 1;
	playInterview(curTimes, t, curTag, currentInterview);
}

function setWordIndex(){
	var l = curTimes.split("|").length;
	var txt = curTag + " (" + (curTime + 1) + " / " + l + ")";
	$("#mtt_counter_txt").attr("value", txt)
}

function play(sec){
	if(currentInterview == null){
		var frame = sec / 1000;
		var p = document.getElementById("videodockPlayer");
		frame = frame < 0 ? 0 : frame;
		p.seek(frame);
	} else {
		/*$("#player").html("");
		var so = new SWFObject("http://pinkpop.videodock.com/pp/pinkpop.swf", "videodockPlayer", width, height, "9.0.28", "#ffffff", false,'high','','');
		so.addVariable("eventId", currentVideo );
		so.addParam( "allowFullScreen", "true" );
		so.addParam( "allowScriptAccess", "always" );
		so.addVariable( "startAt", sec );
		so.write("player");
		currentInterview = null;*/
	}
}

function playInterview(times, time, tag, interviewFileName) {	
	curTimes = times;
	curTime = time;
	curTag = tag;
	if(tag != '' && tag != null){
		setWordIndex();
	} else {
		$("#mtt_counter_txt").attr("value", "");
	}
	var sec = times.split("|")[time];
	if(currentInterview != null){
		var frame = sec / 1000;
		var p = document.getElementById("videodockPlayer");
		frame = frame < 0 ? 0 : frame;
		if(p != undefined && p !=null){
			p.seek(frame);
		}
	} else {
		currentInterview = interviewFileName;
		$("#player").html("");
		var so = new SWFObject("http://pinkpop.videodock.com/pp/pinkpop.swf", "videodockPlayer", width, height, "9.0.28", "#ffffff", false,'high','','');
		so.addVariable("eventId", interviewFileName );
		so.addParam( "allowFullScreen", "true" );
		so.addParam( "allowScriptAccess", "always" );
		so.addVariable( "startAt", sec);
		so.write("player");
	}
	//zet de kleuren van de playknoppen goed
	$("#meta_iv_btn_body").css("background-color", "#333");
	$("#meta_iv_btn_body").css("color", "#fff");
	$("#meta_op_btn_body").css("background-color", "#fff");
	$("#meta_op_btn_body").css("color", "#ec70b0");
	$("#meta_setlist").css("display", "none");
	$("#meta_interview").css("display", "block");
}

function playVideo(band, year, videoFileName) {
	currentVideo = videoFileName;
	currentInterview = null;
	$("#player_title_value").text(band + ", " + year);
	$("#meta_title_value").text(band + ", " + year);
	if(year != 1969) {
		$("#meta_poster_img").find("img").attr("src", "images/affiches/" + year + ".gif");
		$("#meta_poster_title").text("Poster editie " + year);
		$("#meta_poster").css("display", "block");
	}
	var so = new SWFObject("http://pinkpop.videodock.com/pp/pinkpop.swf", "videodockPlayer", width, height, "8", "#ffffff", false,'high','','');
	so.addVariable("eventId", videoFileName );
	so.addParam( "allowFullScreen", "true" );
	so.addParam( "allowScriptAccess", "always" );
	so.write("player");
}

function loadAnimation1() {
	if(loading){
		$("#search_loading_c").animate({
			opacity: 0.4,
			width: "55%"
		}, 500, "linear", loadAnimation2 );
	}
}

function loadAnimation2() {
	$("#search_loading_c").animate({
		opacity: 1,
		width: "0%"
	}, 500, loadAnimation1 );
}

function filterYears() {
	var band = $("#band_select option:selected").text();
	$("#search_years").html("");
	var html = "";
	var y = null;	
	for (var x in cd.clips.clip) {
		html = "";
		if(cd.clips.clip[x].band == band) {			
			html += "<div class=\"search_year\"><div>";
			html += "<a href=\"#\" onclick=\"doSearch('-', " + cd.clips.clip[x].jaar + ", 1, true);\">";
			html += "<img src=\"images/affiches/"+cd.clips.clip[x].jaar+".gif\" title=\"Jaargang "+cd.clips.clip[x].jaar+"\"/>";
			html += "</a>";
			html += "</div>";
			html += "<div>" + cd.clips.clip[x].jaar + "</div></div>";
			y = jQuery(html);
			$("#search_years").append(y);
		}
	}
}

function switchSearch(type){
	if(type == 0){
		$("#search_option_year").css("display", "none");
		$("#search_option_band").css("display", "block");
		$("#sl_year").attr("class", "");
		$("#sl_band").attr("class", "search_sel");
	} else {
		$("#search_option_year").css("display", "block");
		$("#search_option_band").css("display", "none");
		$("#sl_year").attr("class", "search_sel");
		$("#sl_band").attr("class", "");
	}
}

/*Onderstaande functies zijn voor de indextemp.jsp die slechts tijdelijk online zal staan*/

function addUser() {	
	var name = $("#user_name").attr("value");
	var email = $("#user_email").attr("value");
	if(!isValidEmailAddress(email)){
		$("#email_result").html("<font color=\"#f00\">Het emailadres is niet correct ingevuld</font>");
		return;
	}
	var http = getHttpRequest();
	var url = "jsp/user.jsp?n="+name+"&em=" + email;
	http.open("GET", url, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if(http.responseText != ''){
				var res = http.responseText;	
				if(res.indexOf("1") != -1) {
					$("#email_result").html("Uw aanmelding is goed verwerkt");
				} else {
					$("#email_result").html("<font color=\"#f00\">Dit email adres bestaat al</font>");				
				}		
			}
		}
	}
	http.send(null);
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

function shuffle(o) {
	for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
	return o;
}

function fragmentWidget() {
	setTimeout("changeFragment()", 3500);
}

function changeFragment() {
	curFrag = curFrag >= 14 ? 0 : curFrag;
	var frag = frags[curFrag];
	var results = $("#frag_item");
	//var thumbUrl = THUMB_BASE_URL + "?event=" + frag.videoFileName + "&pos=" + (frag.time * 25);
	var thumbUrl = "images/widget/" + frag.videoFileName + ".jpeg";
	results.find(".frag_item_img").find("img").attr("src", thumbUrl);
	text = results.find(".frag_item_text");
	text.eq(0).find(".frag_item_value").text(frag.band);
	text.eq(1).find(".frag_item_value").text(frag.year);
	text.eq(2).find(".frag_item_value").text(frag.desc);
	results.data("id", frag.id);
	results.data("time", frag.time);
	results.click(function(event) {
		playByReload($(this).data("id"), $(this).data("time"));
	});
	curFrag++;
	fragmentWidget();
}

function popularWidget() {
	setTimeout("changePopItem()", 3500);
}

function changePopItem() {
	curPop = curPop >= 5 ? 0 : curPop;
	var pp = pops[curPop];
	var results = $("#pop_item");
	//var thumbUrl = THUMB_BASE_URL + "?event=" + pp.videoFileName + "&pos=1000";
	var thumbUrl = "images/widget/" + pp.videoFileName + ".jpeg";
	results.find(".frag_item_img").find("img").attr("src", thumbUrl);
	text = results.find(".frag_item_text");
	text.eq(0).find(".frag_item_value").text(pp.band);
	text.eq(1).find(".frag_item_value").text(pp.year);
	results.data("id", pp.id);
	results.data("time", pp.time);
	results.click(function(event) {
		playByReload($(this).data("id"), $(this).data("time"));
	});
	curPop++;
	popularWidget();
}
