/**********
*
*	Scripts - DO NOT MODIFY BELOW THIS LINE
*
***********/

jQuery(document).ready(function() {

	function loadTwitter() {

		// by tag 
		if(jQuery("#twitter_tag").length > 0) {
			jQuery("#twitter_tag").html("").tweet({
				avatar_size: 64,
				count: settings['twitter']['amount']['tags'],
				query: "+-"+settings['filter']['language'].join("+-"),
				tags: settings['twitter']['tags'].join("+"),
				loading_text: '<img src="/images/loading.gif" alt="Laden.." title="Laden.." />',
				onDoneLoading: function() {

					jQuery("#twitter_tag-more").ttexpander({
									display			:	settings['twitter']['amount']['display']['tags']
									,per_click		:	settings['twitter']['amount']['display']['tags']
									,target			: 	"#twitter_tag" //$(this).attr("href"); // Might cause error in IE
									,list			:	"li"
									});

				}
			});
		}

		
	}
	//loadTwitter();

	if(jQuery("#twitter_tag").length > 0) {
			
			var query = splitTwitterQuery(settings['twitter']['vips']);
			combineTweets("#twitter_tag", query, new Object(), new Array(), 0);

		}

 
	
	function loadYouTube() {


		// NOCNSF tag #os2010
		if(jQuery("#youtube_tag").length > 0) {
		jQuery("#youtube_tag").ttyoutube({
						api_url			:	settings['youtube']['api']['url']		
						,api_method		:	'category=' + settings['youtube']['keywords']['tags']
						,return_amount	:	settings['youtube']['amount']['tags']
						,safe_search	:	'strict'
						,loading_text	: 	'<img src="/images/loading.gif" alt="Laden.." title="Laden.." />'
						,clearBefore	:	false
						,onReloadComplete:	function(object, data, options) {
							placeYouTube(object,data,options, false, function() {
								
								$("#youtube_tag-more").ttexpander({
											display			:	settings['youtube']['amount']['display']['tags']
											,per_click		:	settings['youtube']['amount']['display']['tags']
											,target			: 	"#youtube_tag" //$(this).attr("href"); // Might cause error in IE
											,list			:	"> div"
											});
							
							});
							
						}
						});
		}

	}
	loadYouTube();
	
	function loadFlickr() {
	
		// NOCNSF tag #os2010
/*		if(jQuery("#flickr_tag").length > 0) {
		jQuery("#flickr_tag").ttflickr({
						api_url			:	settings['flickr']['api']['url']		
						,api_method		:	'method=flickr.photos.search&user_id=' + settings['flickr']['keywords']['userid']
						,return_amount	:	settings['flickr']['amount']['tags']
						,safe_search	:	3
						,loading_text	: 	'<img src="/images/loading.gif" alt="Laden.." title="Laden.." />'
						,onReloadComplete:	function(object, data, options) {
							placeFlickr(object, data, options, false, function() {
								
								jQuery("#flickr_tag-more").ttexpander({
											display			:	settings['flickr']['amount']['display']['tags']
											,per_click		:	settings['flickr']['amount']['display']['tags']
											,target			: 	"#flickr_tag" //$(this).attr("href"); // Might cause error in IE
											,list			:	"> div"
											});

							});
							
						}
						});
		}
*/

		if(jQuery("#flickr_tag").length > 0) {
		jQuery("#flickr_tag").ttflickr({
						api_url			:	settings['flickr']['api']['url']		
						,api_method		:	'method=flickr.photosets.getPhotos&photoset_id=72157623078316465'// + settings['flickr']['keywords']['userid']
						,return_amount	:	settings['flickr']['amount']['tags']
						,safe_search	:	3
						,loading_text	: 	'<img src="/images/loading.gif" alt="Laden.." title="Laden.." />'
						,onReloadComplete:	function(object, data, options) {
							placeFlickr(object, data, options, false, function() {
								
								jQuery("#flickr_tag-more").ttexpander({
											display			:	settings['flickr']['amount']['display']['tags']
											,per_click		:	settings['flickr']['amount']['display']['tags']
											,target			: 	"#flickr_tag" //$(this).attr("href"); // Might cause error in IE
											,list			:	"> div"
											});

							});
							
						}
						});
		}


	}
	loadFlickr();

});	

function splitTwitterQuery(source) {

	var length = 0;
	var counter = 0;
	var target = new Array();
	var array = new Array();
	$.each(source, function(i, item) {

		if(length + item.length < 100) {

			length += item.length;
			array.push(source[counter]);
			
		}
		else {

			target.push(array);
			length = 0;
			array = new Array();
			
		}
		
		counter = counter + 1;
		
	});

	target.push(array);
	
	return target;
}

function combineTweets(target, query, allTweets, allIDs, counter) {

	jQuery(target).html("").tweet({
		avatar_size: 64,
		count: settings['twitter']['amount']['tags'],
		query: query[counter].join("+OR+")+"+-"+settings['filter']['language'].join("+-"),
		tags: settings['twitter']['tags'].join("%20OR%20"),
		showReplies: true,
		loading_text: '<img src="/images/loading.gif" alt="Laden.." title="Laden.." />',
		insertHTML: false,
		onDoneLoading: function(data, tweets, ids) {

			$.extend(allTweets, tweets);
			allIDs = allIDs.concat(ids);
			
			allIDs = 	allIDs.sort(function(a,b){return b - a}) // Reverse sort
			
			counter = counter + 1;

			if(counter >= query.length) {
		        $.each(allIDs, function(i,item){
		        	$(target).append(allTweets[item]);
		        });
		        
				jQuery(target + "-more").ttexpander({
								display			:	settings['twitter']['amount']['display']['tags']
								,per_click		:	settings['twitter']['amount']['display']['tags']
								,target			: 	target //$(this).attr("href"); // Might cause error in IE
								,list			:	"li"
								});
		        
		        
			}
			else {
				combineTweets(target, query, allTweets, allIDs, counter);
			}

		}
		
	});					

}

// In Array
function in_array(stringToSearch, arrayToSearch) {
	for (s = 0; s < arrayToSearch.length; s++) {
        thisEntry = arrayToSearch[s].toString();
        if (thisEntry == stringToSearch) {
			return true;
        }
	}
	return false;
}


function placeYouTube(object, data, options, skipFirst, callback) {

	if(data.feed.entry) {

		// Loop through videos
		jQuery.each(data.feed.entry, function(i,item) {
		
			if(skipFirst && i == 0) {
			} else {

				var img = item.media$group.media$thumbnail[0].url;
		    	
		    	// Jeroen's code
				if(item.title.$t.length > options.limiter) { // Uses options.Limiter
				var itemTitle = item.title.$t.substring(0, options.limiter) + "...";
				} else {
				var itemTitle = item.title.$t;
				}
				
				if (item.author[0].name.$t == settings['youtube']['keywords']['official']) {
		    		var youtubeThumb = "<div class='thumb thumbNOC'>";
		    	} else {
		    		var youtubeThumb = "<div class='thumb'>"; 
		    	}
		    		youtubeThumb += "<a href='" + item.link[0].href + "' target='_blank'><img src='" + img + "' title='" + itemTitle + "' alt='" + itemTitle + "' /></a>";
		    		youtubeThumb += "<h3>" + itemTitle + "</h3>";
		    		youtubeThumb += "<p>door <a href='http://www.youtube.com/user/" + item.author[0].name.$t + "' target='_blank'>" + item.author[0].name.$t + "</a></p>";

		    		if (item.author[0].name.$t == settings['youtube']['keywords']['official']) {
		    		youtubeThumb += "<div class='nocFlickr'></div>";
		    		}
		    		youtubeThumb += "</div>";

		    	jQuery(youtubeThumb).appendTo(object);
		    	
				if(callback && i >= parseInt(data.feed.entry.length) - 1) callback.call(this);
				
			}
			
		});

	}

}

function placeFlickr(object, data, options, skipFirst, callback) {
	
	if(data.photoset.photo.length > 0) {
		
		// Loop through images
		jQuery.each(data.photoset.photo, function(i,item) {
			
			if(skipFirst && i == 0) {
				// Do something
			} else {
				//jQuery.ttflickr.getUserInfo(item.owner, options, function(user_data) {
				
					//if(user_data) {

						var img = jQuery.ttflickr.createImageUrl(item, options);
						
						// Jeroen's code
						if(item.title.length > options.limiter) { // Uses options.Limiter
						var itemTitle = item.title.substring(0, options.limiter) + "...";
						} else {
						var itemTitle = item.title;
						}
						
						var thumbClasses = "thumb";
						//if (user_data.person.id == settings['flickr']['keywords']['official']) {
						//	thumbClasses = "thumb thumbNOC";
						//}
						
				    	var flickrThumb = "<div class='" + thumbClasses + "'>"; // thumbNOC voor NOC foto
				    		//flickrThumb += "<a href='" + user_data.person.photosurl._content + item.id + "' target='_blank'>";
						flickrThumb +="<img src='" + img + "' title='" + item.title + "' alt='" + item.title + "' style='height:180px' /></a>";
				    		flickrThumb += "<h3>" + itemTitle + "</h3>";
				    		//if(user_data.person.realname) {
				    		//flickrThumb += "<p>door <a href='" + user_data.person.profileurl._content + "' class='flickr' target='_blank'>" + user_data.person.realname._content + "</a></p>";
				    		//}
				    		//if (user_data.person.id == settings['flickr']['keywords']['official']) {
				    		//flickrThumb += "<div class='nocFlickr'></div>";
				    		//}
				    		flickrThumb += "</div>";
			
				    	jQuery(flickrThumb).appendTo(object);
			    	
			    	//}
			    	
					if(callback && i >= parseInt(data.photoset.photo.length) - 1) callback.call(this);
					
		    	//});
				
			}
	    	
		});
		
	}

}