//******************* twitter feed class *************************//
var Twitterer = function(user,count,fields){
	var _this = this;
	var cb = function(){}
	this.tweet = function(task,callback){
		var jsonString = '';
		var URIstring = 'count=' + count + '&user=' + user;
		$.getJSON('http://www.aaroncruz.com/wp-content/themes/aaroncruz/includes/php/ajax.php',URIstring,function(json){
				if(task != undefined){
					cb = callback;
					var func = _this[task];
					func(json);
				}else{
					var TO = new Object();
					for(var i = 0; i < count; i++){
						TO[i] = json[i];
					}
					return TO;
				}
		});
	}
	this.createObj = function(json){
		tweetObj = new Object();
		for(var i = 0; i < count;i++){
			tweetObj[i] = new Object();
			tweetObj[i].text = json[i].text;
			tweetObj[i].time = json[i].created_at;
			tweetObj[i].name = json[i].user.screen_name;
			tweetObj[i].image = json[i].user.profile_image_url;
		}
		cb(tweetObj);
	}
	this.debug = function(json){
		document.write('<ul>');
		for(var i = 0;i < count;i++){
			document.write('<li>');
			document.write('<ul>');
			for(tObj in json[i]){
				document.write('<li>Obj: ' + tObj + ' = ' + json[i][tObj] + '</li>');
				if(null !== json[i][tObj] && 'object' == typeof(json[i][tObj])){
					document.write('<ul>');
					for(var child in json[i][tObj]){
						document.write('<li>' + child + " = " + json[i][tObj][child] + "</li>");
					}
					document.write('</ul>');			
				}
			}
			document.write('</li>');
			document.write('</ul>');
		}
		document.write('</ul>');
	}
}
//********************************* Twitter class end ****//

//************* Flickr feed class  **********************//
var Flickrer = function(){
	var callback = function(){};
	var searchPhotos = function(term,count,_cb){
		$.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags='+ term +'&tagmode=any&format=json&jsoncallback=?',
				function(results){
					callback = _cb;
					var images = new Array();
					for(var i = 0; i < count; i++){
						 images.push(results.items[i].media.m);
					}
					_cb(images);
				});																																  	
	}
	return {searchPhotos : function(term,count,_cb){
				searchPhotos(term,count,_cb);
			}}
}();
//**************************  Flickr class end ***********//

// window load function
$('document').ready(function(){
	var user = 'gaybeard';
	var count = 7;
	var fields = new Array('text','profile_img_url','created_at');
	var tweetHandler = function(obj){
		var holder = new Array();
		for(var i = 0; i < count; i++){
			holder[i] =  
				'<img src="'+ obj[i].image +'" /><h3>' + obj[i].name + '</h3><p>' +
				obj[i].text + "</p><br />"		       
			;
		}
		i = 1;
		$('#twit').hide().html(holder[0]).fadeIn('slow',function(){
			setInterval(function(){
				$('#twit').html(holder[i-1]).fadeOut('slow',function(){
					i++;
					if(i == count){
						i = 1;
						}						
				$('#twit').html(holder[i-1]).fadeIn('slow');
				});
			},5000);
		});		
	}
	// initialize Twitterer class
	var TW = new Twitterer(user,count,fields);
	// make twitter magic
	TW.tweet('createObj',tweetHandler);
	// get term from last session on page load
	
$.post('http://www.aaroncruz.com/wp-content/themes/aaroncruz/includes/php/termSaver.php','task=read',function(term){
			var FlickrTerm = term;
			Flickrer.searchPhotos(FlickrTerm,10,flickrWrite);
			var input = '<input class="fi" name="flickr" value="' + FlickrTerm + '" />';
			$('#flickrInput').html('Pictures of ' + input);
			$('.fi').focus();
	});
	// flickr callback function
	function flickrWrite(imgURLs){
		var images = "";
		for(url in imgURLs){
		images += '<a href="' + imgURLs[url] + '"><img src="' + imgURLs[url] + '" style="height:100px;width:100px;"/></a>';
		}
		$('#flickr').html(images);
		$('input').focus(function(){
			this.select();
		});
		$('input').keypress(function(event){
			if (event.keyCode == '13') {
				FlickrTerm = $(this).val().replace(/ /g,'%20');
				Flickrer.searchPhotos(FlickrTerm,6,flickrWrite);
				$.post('http://www.aaroncruz.com/wp-content/themes/aaroncruz/includes/php/termSaver.php?task=write&term='+FlickrTerm);
			}		
		});
	}
});
