function Posts()
{
	// VARS
	this.setTimeoutVar;
	this.clickStatus = true;
	
	
	
	
	
	//--------------------------------------
	// INIT
	//--------------------------------------
	
	this.init = function()
	{
		
	}
	
	
	
	
	
	//--------------------------------------
	// EVENT: ON_LOAD
	//--------------------------------------
	
	this.eventOnLoad = function()
	{
		$('body').trigger( 'postsOnLoadEvent' );
	}
	
	
	
	
	//--------------------------------------
	// NEW PAGE
	//--------------------------------------
	
	this.newPage = function()
	{
		if( this.clickStatus )
		{
			// Click Status
			clickStatus = false;
			
			
			// Reset
			this.resetPosts();
			
			
			// List
			listPostsFnc();
		}
	}
	
	
	
	
	//--------------------------------------
	// SEARCH POSTS
	//--------------------------------------
	
	this.searchPosts = function()
	{
		// SEARCH: NO RESULTS
		$( '#search_no_results' ).css( 'display', 'none' );
		
		
		// LOADER ON
		$( '#post_loader' ).css( 'display', 'block' );
		
		
		// Reset
		this.resetPosts();
		
		
		// Delay
		window.clearTimeout( this.setTimeoutVar );
		this.setTimeoutVar = window.setTimeout( searchPostsStart, 2000 );
	}
	
	function searchPostsStart()
	{
		// List
		listPostsFnc();
		
		
		// ANALYTICS
		analyticsEvent( "search", listPostsValue );
	}
	
	
	
	
	//--------------------------------------
	// MORE POSTS
	//--------------------------------------
	
	this.morePosts = function()
	{
		if( post >= ( postsTotal - postsOnScreen + 2 ) && postsTotal < postsMaxTotal )
		{
			// NAV CONTROL
			navControlObj.navControlRightBlock();
			
			
			// List
			listPostsFnc();
		}
	}
	
	
	
	
	//--------------------------------------
	// LIST POSTS
	//--------------------------------------
	
	this.listPosts = function(){ listPostsFnc(); }
	function listPostsFnc()
	{
		// SEARCH: NO RESULTS
		$( '#search_no_results' ).css( 'display', 'none' );
		
		
		// LOADER ON
		$( '#post_loader' ).css( 'display', 'block' );
		
		
		// LOADER INIT ON
		if( post == 1 ) 
		{
			$( '#post_loaderInit' ).css( 'display', 'block' );
		}
		
		
		// AJAX
		var ajax = ajaxInit();

		if(ajax)
		{
			ajax.open( "GET", globalURL + "wp-content/themes/talkability/posts.php?ACTION=" + listPostsAction + "&value=" + listPostsValue + "&page=" + page + "&posts_per_page=" + postsPerPage + "&postId=" + postId, true );
			
			
			// ZERAR POST ID
			postId = "";
			
			
			ajax.onreadystatechange = function()
			{
				if( ajax.readyState == 4 )
				{
					// LOADER INIT OFF
					$( '#post_loaderInit' ).css( 'display', 'none' );
					
					
					// Delay
					var delay = 0;
					if( post > 1 ) delay = 1000;
					
					
					// Click Status
					clickStatus = true;
					
					
					// RESPONSE
					if( ajax.responseText == "" )
					{
						// LOADER OFF
						$( '#post_loader' ).css( 'display', 'none' );
						
						
						//POST BUSCA ZERO
						if( postsTotal < 1 )
						{
							$( "#search_no_results" ).delay(0).animate
							(
								{ opacity: "show" }, 
								{
									duration: 350,
									easing: 'easeInBack'
								} 
							);
						}
					}
					else
					{
						window.setTimeout
						(
							function()
							{
								// POST TOTAL
								postsTotal = parseInt( PostsGetValue( ajax.responseText, "TOTAL" ) );
								
								
								// POST MAX TOTAL
								postsMaxTotal = parseInt( PostsGetValue( ajax.responseText, "MAXTOTAL" ) );
								
								
								// PAGE
								page++;
								
								
								// UPDATE CONTENT
								$( "#post_container_inside" ).append( ajax.responseText );
								
								
								// POST MOTON INIT 
								postMotionInit();
								
								
								// POST TOTAL EVENT
								$('body').trigger( 'postsTotalEvent' );
								
								
								// SIDE CONTROLS NAVIGATION INITIAL MOTION
								//window.setTimeout( "navControlObj.sideControlsInitialMotion()" , 1000 *  1.3  );
							}, 
							delay
						);
					}
				}
			}
	
			ajax.send(null);
	 	}
	}
	
	
	
	
	//--------------------------------------
	// RESET
	//--------------------------------------
	
	this.resetPosts = function()
	{
		// RESET VARS
		page = 1;
		postsTotal = 0;
		postsMaxTotal = 0;
		post = 1;
		
		writeLayer( "post_container_inside", "" );
	}
	
	
	//--------------------------------------
	// GET VALUE
	//--------------------------------------
	
	function PostsGetValue( content, tag )
	{
		var tagValue = content.substr( content.indexOf( "<" + tag + ">" ) + tag.length + 2, content.length );
		tagValue = tagValue.substr( 0, tagValue.indexOf( "</" + tag + ">" ) );
		
		return tagValue;
	}
	
	//--------------------------------------
	// MOTION POSTS
	//--------------------------------------
	
	function postMotionInit()
	{
		// TAKE OFF LOADER
		window.setTimeout ( function() { $( '#post_loader' ).css( 'display', 'none' ) }, 150 );
		
		
		// Shows Each POST
		for( i = 1; i <= postsTotal; i++ )
		{
			$( "#post_" + i.toString() ).delay( ( 150 / postsTotal ) * ( i - 1 ) ).animate(
			{ opacity: "show", height: "show" }, 
			{
				duration: 350,
				easing: 'easeInBack'
			});
		}
		
		
		// Header Actualize in 'TALKABILITY.JS'
		window.setTimeout( function(){ headerActualize() }, 1000 );
		
		
		// ON_LOAD
		$('body').trigger( 'postsOnLoadEvent' );
	}
	
	
	
	
	
	
	
	
	//--------------------------------------
	// IMAGE RESIZE
	//--------------------------------------
	
	this.imageResize = function( post_name )
	{
		/*var imageDynamicSrc = globalURL + 'wp-content/themes/talkability/image-dynamic.php?filepath=';
		
		
		$( '#' + post_name + ' #post_content img' ).each
		(
			function()
			{
				//imageDynamicSrc
				
				
				// Src
				var currentImageSrc = $( this ).attr( 'src' ).toLowerCase();
				var internalSrc = globalURL.toLowerCase();
				
				
				// Internal Image
				if( currentImageSrc.indexOf( internalSrc ) >= 0 )
				{
					// Filename
					var currentImageFilenameArray = currentImageSrc.split( '/uploads/' );
					if( currentImageFilenameArray[ 1 ] )
					{
						var currentImageFilename = '/uploads/' + currentImageFilenameArray[ 1 ];	
						
						
						// Replace Src
						var finalImageSrc = imageDynamicSrc + currentImageFilename;
						$( this ).attr( 'src', finalImageSrc );
					}
				}
			}
		);*/
	}
}
