var Site;

$(document).ready( function() {
	Site = new Site();
	new Slideshow();
	
	$('form.comment-form textarea').click(function(){
		$(this).css('background-image', 'none');
	});
	
	$('.login-button').click( function() {
		FB.login(function(response) {
			if (response.session) {
				loggedInHandler(response);
			}
			else
			{
				loggedOutHandler(response);
			}
		}, {scope:'email,publish_stream'});
		return false;
	});
	
	$('.logout-button').click( function() {
		FB.logout();
		return false;
	});
	
	// Set the default data
	$('input.retain-default, textarea.retain-default').each( function(i) {
		$(this).data('default', $(this).val());
	});
	
	$('input.retain-default, textarea.retain-default').focus( function() {
		if( $(this).val() == $(this).data('default') )
		{
			$(this).val('');
		}
	});
	
	$('input.retain-default, textarea.retain-default').blur( function() {
		if( $(this).val() == '' )
		{
			$(this).val( $(this).data('default') );
		}
	});
	
	$('#searchbox').keyup( search );
	$('#searchbox').focus( search );
	$('#searchbox').blur( hide_search );

	$('#comment-form-send-button').click( function() {
		//var vars = $('#comment-form').serialize();
		//alert(vars);
		if( $('#comment').val() )
		{
			if( $('#email').length && $('#author').length )
			{
				if( $('#author').val() && $('#email').val() )
				{
					$('#comment-form').submit();
				}
			}
			else
			{
				$('#comment-form').submit();
			}
		}
		else
		{
			if( $('#author').length && !$('#author').val() )
				$('#author').addClass('error');
			else
				$('#author').removeClass('error');
			
			if( $('#email').length && !$('#email').val() )
				$('#email').addClass('error');
			else
				$('#email').removeClass('error');
				
			if( !$('#comment').val() )
				$('#comment').addClass('error');
			else
				$('#comment').removeClass('error');
		}
		return false;
	});
	
	$('.load-more-button').live('click', function() {
		$(this).hide();
		$('div.load-more').append('<div class="load-more-loader"></div>');
		
		if( $('#load-more-editor-id').length )
		{
			var params = {
				action:'stocktown_filter_posts', 
				post_country:0,
				post_category:0,
				post_author:'editor_' + $('#load-more-editor-id').val(),
				offset:$('#load-more-offset').val()
			};
		}
		else if( $('#load-more-curator-id').length )
		{
			var params = {
				action:'stocktown_filter_posts', 
				post_country:0,
				post_category:0,
				post_author:'curator_' + $('#load-more-curator-id').val(),
				offset:$('#load-more-offset').val()
			};
		}
		else
		{
			var params = $('#feed-filter-form').serialize();
			params += '&offset=' + $('#load-more-offset').val();
		}
		
		$.get(AJAX_URL, params, function(data) {
			$('#load-more').remove();
			
			$('#feed-container').append(data);
			$('#feed-container').find('.post-social').each(function()
			{
				FB.XFBML.parse( this );
			});
			
			/*
			$('#feed-container').find('a.twitter-share-button').each(function()
			{
				alert('tweet');
				var tweet_button = new twttr.TweetButton( $( this ).get( 0 ) );
				tweet_button.render();
			});
			*/
			$.ajax({ url: 'http://platform.twitter.com/widgets.js', dataType: 'script', cache:true});
			
			Site.parseVideos();
		});
		
		return false;
	});
	
	$('.load-more-raw-button').live('click', function() {
		$(this).hide();
		$('div#load-more').append('<div class="load-more-loader"></div>');
		
		var params = $('#feed-filter-form').serialize();
		
		var page = $('#load-more-page').val();
		
		params += '&page=' + page;
		
		$.get(AJAX_URL, params, function(data) {
			$('#load-more').remove();
			$('#feed-container').append(data);
			Site.parseVideos();
		});
		
		return false;
	});
	
	if( $('#type-dropdown').length )
	{
		var typeDropdown = new Dropdown( $('#type-dropdown') );
		typeDropdown.onChoice( function(data) {
			$('input[name=post_type]', '#feed-filter-form').val( data );
			applyFilter();
		});
	}
	
	if( $('#category-dropdown').length )
	{
		var categoryDropdown = new Dropdown( $('#category-dropdown') );
		categoryDropdown.onChoice( function(data) {
			$('input[name=post_category]', '#feed-filter-form').val( data );
			applyFilter();
		});
	}
	
	if( $('#country-dropdown').length )
	{
		var countryDropdown = new Dropdown( $('#country-dropdown') );
		countryDropdown.onChoice( function(data) {
			$('input[name=post_country]', '#feed-filter-form').val( data );
			applyFilter();
		});
	}
	
	if( $('#curator-dropdown').length )
	{
		var curatorDropdown = new Dropdown( $('#curator-dropdown') );
		curatorDropdown.onChoice( function(data) {
			$('input[name=post_author]', '#feed-filter-form').val( data );
			applyFilter();
		});
	}
	
	$('#feed-filter-form-reset').click( function() {
		if( typeDropdown ) { 
			typeDropdown.reset();
			$('input[name=post_type]', '#feed-filter-form').val( typeDropdown.value ); 
		}
		
		if( categoryDropdown ) { 
			categoryDropdown.reset();
			$('input[name=post_category]', '#feed-filter-form').val( categoryDropdown.value ); 
		}
		
		if( countryDropdown ) { 
			countryDropdown.reset();
			$('input[name=post_country]', '#feed-filter-form').val( countryDropdown.value );
		}
		
		if( curatorDropdown ) { 
			curatorDropdown.reset();
			$('input[name=post_author]', '#feed-filter-form').val( curatorDropdown.value ); 
		}
		
		applyFilter();
		
		return false;
	});
	
	if( $('#get-involved-form').length )
	{
		$('#get-involved-submit').click( function() {
			var inputs = $('input.mandatory').get();
			var errors = 0;
			for( var i = 0; i < inputs.length; i++ )
			{
				if( $(inputs[i]).val() == $(inputs[i]).data('default') )
				{
					errors++;
				}
			}
			
			if( errors > 0 )
			{
				$('#get-involved-form-error').show();
			}
			else
			{
				$('#get-involved-form-error').hide();
				
				$('#get-involved-submit').html('Sending...');
				$.post( AJAX_URL, $('#get-involved-form').serialize(), function(data) {
					$('#get-involved-form').slideUp()
					$('#get-involved-thanks').slideDown();
				});
			}
			
			return false;
		});
	}
});

function applyFilter() {
	$('#feed-container').html('<div class="filter-loader"></div>');
	$.get(AJAX_URL, $('#feed-filter-form').serialize(), function(data) {
		$('#feed-container').html(data);
		
		Site.videos = [];
		Site.parseVideos();
		
		$('#feed-container').find('.post-social').each(function()
		{
			FB.XFBML.parse( this );
		});
		/*
		$('#feed-container').find('a.twitter-share-button').each(function()
		{
			var tweet_button = new twttr.TweetButton( $( this ).get( 0 ) );
			tweet_button.render();
		});
		*/
		$.ajax({ url: 'http://platform.twitter.com/widgets.js', dataType: 'script', cache:true});
	});
}

function search() {
	if( $(this).val().length > 1 )
	{
		$.getJSON(AJAX_URL, {action:'stocktown_search', s:$(this).val()}, function(data) {
			//alert(data);
			var results = data.list;
			
			$('#live-search-results').html('');
			if( results.length > 0 )
			{
				var ul = $('<ul />').appendTo( $('#live-search-results') );
				for( var i = 0; i < results.length; i++ )
				{
					ul.append( 
						$('<li />').append( 
							$('<a />').attr('href', results[i].link).html(results[i].title).append(
								$('<span />').addClass('category').html(results[i].category)
							)
						)
					);
				}
				
				$('#live-search-results').append( $('<a />').addClass('all').attr('href', '?s=' + data.s ).html('Show all hits for "' + data.s + '" ('+ data.count +')') );
				
				//alert( $('#live-search-results').css('display') );
				
				$('#live-search-results').show();
			}
			else
			{
				$('#live-search-results').html('<p class="no-results">No hits for "' + data.s + '"</p>');
				$('#live-search-results').show();
			}
		});
	}
	else
	{
		$('#live-search-results').hide();
	}
}

function hide_search() {
	$('#live-search-results').slideUp(200);
}
