$(document).ready(function(){
	$(".portfolio-item-img").each(function(){
		$(this).image($(this).find('input:hidden').val())
	}); 
		
	$("#tweets").tweets();
	
	$(".share").jsocial();
	
	$("#contact-form").email();
	
});

(function($){

$.fn.image = function(src){
    return this.each(function(){
		var $self = $(this);
		$self.addClass('loading');
		
        var i = new Image();
		
		$(i).css('display', 'none');
        $(i).load(function(){
			$self.removeClass('loading').find('a').append(i);
			$(i).fadeIn(); 
		}).attr({'src' : $self.find('input:hidden').val() });
    });
}

$.fn.jsocial = function(){
	var self = $(this);
	
	self.children().hover(function(){
		$(this).css('opacity', 1).siblings().css('opacity', 0.3);				
	}, function(){
		self.children().css('opacity', 1);	
	})
	
	/*self.children().each(function(){
		$(this).hover(function(){
			$(this).css('opacity', 1);
			
		}, function(){
			$(this).css('opacity', '0.2');
		})
	})*/
}

$.fn.email = function(){
	var self = $(this);
	var holder = self.parent();
	var email = self.find('#contact-email');
	var message = self.find('#contact-message');
	var valid = false;
	$(this).submit(function(event){
		event.preventDefault();
		
		if(email.val() == "")
		{
			email.addClass('error');
			valid = false;
		}
		else
		{
			email.removeClass('error');
			valid = true;
		}
		if(message.val() == "")
		{
			message.addClass('error');
			valid = false;	
		}
		else
		{
			message.removeClass('error');
			valid = true;
		}
		if(email.val().match(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/))
		{
			email.removeClass('error');
			valid = true;
		}
		else
		{
			email.addClass('error');
			valid = false;
		}
		
		if(valid){
			var formHeight = self.height();
			holder.height(formHeight);
			self.slideUp(200, function(){
				holder.addClass('loading');					   
			});
			
			$.post('wp-content/plugins/mini-contact/mini-contact.php', self.serialize(), function(data){
				if(data.success){
					holder.removeClass('loading').append("<div class='notification success'>Your message was sent!<br/>Thank you.</div>");
					
					setTimeout(function(){
		$('.notification').hide();
		self.slideDown(200);
		}, 5000);			
					
				}else{
					holder.removeClass('loading').append("<div class='notification error'>Sorry, Your message wasn't be sent!</div>");
					
					
					setTimeout(function(){
		$('.notification').hide();
		self.slideDown(200);
		}, 5000);				
  						
	
					
					
		
				}
			});
		}
	})
}

$.fn.tweets = function(){
	return this.each(function(){
							  
	 function relative_time(time_value) {
      var parsed_date = Date.parse(time_value);
      var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
      var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
      if(delta < 60) {
      return 'less than a minute ago';
      } else if(delta < 120) {
      return 'about a minute ago';
      } else if(delta < (45*60)) {
      return (parseInt(delta / 60)).toString() + ' minutes ago';
      } else if(delta < (90*60)) {
      return 'about an hour ago';
      } else if(delta < (24*60*60)) {
      return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
      } else if(delta < (48*60*60)) {
      return '1 day ago';
      } else {
      return (parseInt(delta / 86400)).toString() + ' days ago';
      }
    }					  
						  
		var self = $(this);
		self.toggleClass('loading');
		$.getJSON('http://twitter.com/statuses/user_timeline/hubertburdach.json?count=3&callback=?', function(data){
			self.toggleClass('loading');																					  
			$.each(data, function(i, item){
				self.append('<li><span>'+relative_time(item.created_at)+'</span>'+item.text+'</li>');
			})
			
		})
	
	})
}


})(jQuery);
