var eeWizard = eeWizard || {};

eeWizard.embedTwitter = function (limit) {
	// Include the twitter JSONP
	var opt = (limit) ? '?limit='+limit : '';
	var url = 'http://www.eewizard.co.uk/twitter/embed/'+opt; // URL of the external script

	// Inject script
	var script = document.createElement('script');
	script.setAttribute('src', url);
	script.setAttribute('type', 'text/javascript');
	document.getElementsByTagName('head')[0].appendChild(script);
}

// twitter callback
eeWizard.twitterCB = function( twitterJSON ){
	var eeWizardContainer = $('eeWizard');
	var eeWizardTwitter = new Element('div', {id: 'eeWizardTwitter', 'class': 'rounded'});
	var eeWizardTwitterTags = new Element('div', {id: 'eeWizardTwitterTags'});
	var eeWizardTwitterHeader = new Element('h4', {html: 'Latest Tweets'});
	
	// Create markup for Twitter tag JSON and inject into page
	if(eeWizardContainer) {
		eeWizardTwitterTags.grab(eeWizardTwitterHeader);
		eeWizardTwitter.grab(eeWizardTwitterTags);
		eeWizardContainer.grab(eeWizardTwitter);
	} else {
		if (console.log && typeof(console.log) == 'function') {
			console.log('#eeWizard not found!');
		}
		return false;
	}
	
	twitterJSON.tweets.each(function(row) {
		var tweetContainer = new Element('div', {'class': 'tweetUpdate'});
		var tweetIcon = new Element('div', {'class': 'tweetIcon'});
		var tweetBody = new Element('div', {'class': 'tweetBody'});
		
		tweetIcon.set(
			'html',
			'<a href="http://www.twitter.com/'+row.Tweet.from_user+'" target="_blank"><img src="'+row.Tweet.profile_image_url+'" /></a>'
		);
		tweetBody.set(
			'html',
				'<p class="faded"><strong>'+row.Tweet.from_user+'</strong></p>',
				'<p>'+row.Tweet.text+'</p>',
				'<small class="faded"><strong>Created</strong> '+row.Tweet.created_at+'</small>'
		);
		tweetContainer.setProperty('id', 'tweetId-'+row.Tweet.id);
		tweetContainer.grab(tweetIcon);
		tweetContainer.grab(tweetBody);
		
		eeWizardTwitterTags.grab(tweetContainer);
	});
	
	eeWizard.TwitterComplete = true;
}

eeWizard.embedFlickr = function (limit) {
	// Include the twitter JSONP
	var opt = (limit) ? '?limit='+limit : '';
	var url = 'http://www.eewizard.co.uk/flickr/embed/'+opt; // URL of the external script

	// Inject script
	var script = document.createElement('script');
	script.setAttribute('src', url);
	script.setAttribute('type', 'text/javascript');
	document.getElementsByTagName('head')[0].appendChild(script);
}

eeWizard.flickrCB = function( flickrJSON ){
	var eeWizardContainer = $('eeWizard');
	var eeWizardFlickr = new Element('div', {id: 'eeWizardFlickr', 'class': 'rounded'});
	var eeWizardFlickrTags = new Element('div', {id: 'eeWizardFlickrTags'});
	var eeWizardFlickrHeader = new Element('h4', {html: 'Latest Flickr photos'});
	var br = new Element('br', {'class': 'clear'});
	
	// Create markup for Flickr tag JSON and inject into page
	if(eeWizardContainer) {
		eeWizardFlickrTags.grab(eeWizardFlickrHeader);
		eeWizardFlickr.grab(eeWizardFlickrTags);
		eeWizardContainer.grab(eeWizardFlickr);
	} else {
		if (console.log && typeof(console.log) == 'function') {
			console.log('#eeWizard not found!');
		}
		return false;
	}
	
	flickrJSON.photos.each(function(row) {
		var photo = new Element('div', {'class': 'photo'});
		
		photo.set(
			'html',
			'<a href="http://www.flickr.com/photos/'+row.Photo.owner+'/'+row.Photo.id+'" target="_blank"><img src="http://farm'+row.Photo.farm+'.static.flickr.com/'+row.Photo.server+'/'+row.Photo.id+'_'+row.Photo.secret+'_s.jpg" /></a>'
		);
		photo.setProperty('id', 'photoId-'+row.Photo.id);
		photo.inject(eeWizardFlickrTags);
	});
	
	br.inject(eeWizardFlickrTags);
	eeWizard.FlickrComplete = true;
}

eeWizard.embedYouTube = function (limit) {
	// Include the twitter JSONP
	var opt = (limit) ? '?limit='+limit : '';
	var url = 'http://www.eewizard.co.uk/youtube/embed/'+opt; // URL of the external script

	// Inject script
	var script = document.createElement('script');
	script.setAttribute('src', url);
	script.setAttribute('type', 'text/javascript');
	document.getElementsByTagName('head')[0].appendChild(script);
}

eeWizard.youtubeCB = function( youtubeJSON ){
	var eeWizardContainer = $('eeWizard');
	var eeWizardYouTube = new Element('div', {id: 'eeWizardYouTube', 'class': 'rounded'});
	var eeWizardYouTubeTags = new Element('div', {id: 'eeWizardYouTubeTags'});
	var eeWizardYouTubeHeader = new Element('h4', {html: 'Latest YouTube videos'});
	var br = new Element('br', {'class': 'clear'});
	
	// Create markup for YouTube tag JSON and inject into page
	if(eeWizardContainer) {
		eeWizardYouTubeTags.grab(eeWizardYouTubeHeader);
		eeWizardYouTube.grab(eeWizardYouTubeTags);
		eeWizardContainer.grab(eeWizardYouTube);
	} else {
		if (console.log && typeof(console.log) == 'function') {
			console.log('#eeWizard not found!');
		}
		return false;
	}
	
	youtubeJSON.videos.each(function(row) {
		var video = new Element('div', {'class': 'video'});
		
		video.set(
			'html',
			'<a href="'+row.Video.url+'" target="_blank"><img src="'+row.Video.thumbnail+'" /></a>'
		);
		video.setProperty('id', 'videoId-'+row.Video.id);
		video.inject(eeWizardYouTubeTags);
	});
	
	br.inject(eeWizardYouTubeTags);
	
	eeWizard.YouTubeComplete = true;
}

//on dom ready...
window.addEvent('domready', function() {
	
	if($('page').hasClass('home')) {
		// Call eeWizard to retrieve tweets and place inside the #eeWizard element
		eeWizard.embedTwitter(2)
	
		// Call eeWizard to retrieve photos and place inside the #eeWizard element
		if(eeWizard.TwitterComplete) {
			eeWizard.embedFlickr(2);
		} else {
			window.setTimeout('eeWizard.embedFlickr(2)', 200);
		}
		
		// Call eeWizard to retrieve videos and place inside the #eeWizard element
		if(eeWizard.FlickrComplete) {
			eeWizard.embedYouTube(1);
		} else {
			window.setTimeout('eeWizard.embedYouTube(1)', 200);
		}
		
		$('eeWizard').setStyle('margin', 0);
	} else {
		// Call eeWizard to retrieve tweets and place inside the #eeWizard element
		eeWizard.embedTwitter();
	
		// Call eeWizard to retrieve photos and place inside the #eeWizard element
		if(eeWizard.TwitterComplete) {
			eeWizard.embedFlickr();
		} else {
			window.setTimeout('eeWizard.embedFlickr()', 200);
		}
	
		// Call eeWizard to retrieve videos and place inside the #eeWizard element
		if(eeWizard.FlickrComplete) {
			eeWizard.embedYouTube();
		} else {
			window.setTimeout('eeWizard.embedYouTube()', 200);
		}
	}
	
});