/**
 *
 * @provides mjs.layout
 * @requires mjs.core
 */

/**
 * 
 *
 * @class layout
 * @static
 * @access public
 */
mjs.extend('layout', {

	init: function()
	 {
	 	this.parseExternalLinks();
	 	
	 	var $listNext = $('.list-next');
	 		if ($listNext.length) {
	 			this.paging($listNext);
	 		}
	 },
	 
	parseExternalLinks: function()
	 {
	     $(document).ready(function() {
	     
	         $('a[rel=external]').click(function(e){
	             open(this.href);
	             e.preventDefault();
	         });
	     });
	 },
	 
	 /* 
	 * AjaxCall to append new items to list
	 * instead of normal paging
	 */
	 paging: function($listNext)
	 {
	 	 
	 	var $preloader = '<div class="preloader">Loading</div>',
	 		$feed = $listNext.closest('.hfeed');
	 	
	 	$listNext.die();
	 	$listNext.live('click', myHandler);
	 	
	 	function myHandler(e) {
	 	
	 		var $paging = $feed.find('.paging'),
	 			$next = $paging.find('.list-next'),
	 			$link = $next.attr('href');
	 			 		
	 		$paging.append($preloader);
	 		$next.hide();
	 		
	 		$.ajax({
	 		    url: $link,
	 		    type: "POST",
	 		    data: {}	,
	 		    success: function(result) {
	 		   		$paging.remove();
	 		   		
	 		   		// put result in jQuery object
	 		   		/*
	 		   		var $result = $(innerShiv(result));
	 		   			 		   			 		   		
	 		   		$feed.append('<div class="appended"></div>');
	 		   		$appended = $feed.find('.appended');
	 		   		
	 		   		$($appended).hide().append($result).slideDown(250);
	 		   		*/
	 		   		
	 		   		
	 		   		var $result = $(result);
	 		   		$result.hide().appendTo($feed);
	 		   		$result.find('.visuals').css('margin-left','0');
	 		   		$result.slideDown(250, function() {
	 		   			$result.find('.visuals').animate({marginLeft:'-10px'}, 500);
	 		   		});
					
	 		   		/*
	 		   		* if on press overview
	 		   		*/
	 		   		var $pressMore = $('.press .more'),
	 		   			$pressItem = $('.press article');
	 		   				 		   			
	 		   		if ($pressMore.length) {
	 		   			// activate 'more' button fade
	 		   			mjs.animations.fadeMore($pressMore);
	 		   			// activate sliding of content
	 		   			mjs.animations.pressContent($pressItem);
	 		   		}
	 		   		
	 		   		/*
	 		   		* if on projects overview
	 		   		* activate visuals
	 		   		*/
	 		   		var $visuals = $('.visuals');
	 		   			if($visuals.length) {
	 		   				mjs.animations.bgVisuals($visuals);
	 		   			}
	 		    },
	 		    error: function(result) {
	 		    }
	 		});
	 		
	 		e.preventDefault();
	 	}
	 }
});
