 var ajaxCarousel = {
	 getPage : function (element,direction) {
		page = ajaxCarousel.getScrollPage(element,direction);
		if (page==0)
			return;
		if (ajaxCarousel.checkIfExistsPage(element,page)) {
			ajaxCarousel.scrollToPage(element,page);
			ajaxCarousel.setPageNr(element,page);
			ajaxCarousel.toggleArrows(element);
		} else {
			ajaxCarousel.loadPage(element,page,direction);
		}
	}, 
	
	loadPage : function (element,page,direction) {
		ajaxCarousel.loadLoading(element,1);
		jQuery.get("/ajax.php", {'ID' : 'getPortfolioPage', 'page' : page}, function(msg){
			jQuery(element).parents('.pf_carousel_outer').find('.pf_carousel').append(msg);
			ajaxCarousel.loadLoading(element,2);
			ajaxCarousel.getPage(element,direction);
		});
	},
	
	loadLoading : function (element,type) {
		if (type==1) {
			jQuery(element).parent().parent().find('.loading').removeClass('hidden');
			jQuery(element).parent().hide();
		} else {
			jQuery(element).parent().parent().find('.loading').addClass('hidden');
			jQuery(element).parent().show();
		}
	},
	
	checkIfExistsPage : function (element,page) {
		categoryDiv = jQuery(element).parent().parent();
		companiesDiv = jQuery(categoryDiv).find('.pf_carousel');
		if (jQuery(companiesDiv).find('.portfolio-page.page-'+page).size()>0) {
			return true;
		}
		return false;
	},
	
	getFirstPage : function (element) {
		jQuery.get("/ajax.php", {'ID' : 'getFirstPage', 'page' : '1'}, function(msg){
			jQuery(element).parents('.category').html(msg);
		});
	},
	
	scrollToPage : function (element,page) {
		var standardWidth = 902;
		categoryDiv = jQuery(element).parent().parent();
		left = (parseInt(page)-1)*standardWidth;
		jQuery(categoryDiv).find('.pf_carousel').animate({left: '-'+left},400);
	},
	
	getScrollPage : function (element,direction) {
		arrowsDiv = jQuery(element).parent();
		currentPage = parseInt(jQuery(arrowsDiv).find('.current-page').html());
		if (direction=='next') {
			allPages = parseInt(jQuery(arrowsDiv).find('.all-pages').html());
			nextPage = currentPage+1;
			if (nextPage>allPages)
				return 0;
			else
				return nextPage;
		} else {
			prevPage = currentPage-1;
			if (prevPage<1)
				return 0;
			else
				return prevPage;
		}
	},
	
	setPageNr : function (element,page) {
		arrowsDiv = jQuery(element).parent();
		jQuery(arrowsDiv).find('.current-page').html(page);
	}, 
	
	toggleArrows : function (element) {
		arrowsDiv = jQuery(element).parent();
		currentPage = parseInt(jQuery(arrowsDiv).find('.current-page').html());
		allPages = parseInt(jQuery(arrowsDiv).find('.all-pages').html());
		prev = jQuery(arrowsDiv).find('.pf_prev');
		next = jQuery(arrowsDiv).find('.pf_next');
		if (currentPage>1) {
			if (jQuery(prev).hasClass('disabled'))
				jQuery(prev).removeClass('disabled');
		} else {
			if (!jQuery(prev).hasClass('disabled'))
				jQuery(prev).addClass('disabled');
		}
		if (currentPage==allPages) {
			if (!jQuery(next).hasClass('disabled'))
				jQuery(next).addClass('disabled');
		} else {
			if (jQuery(next).hasClass('disabled'))
				jQuery(next).removeClass('disabled');
		}
	}
}
