/* 
*  home.js
*  author: gabriele@evectors.com
*/

var carouselUserClick = false;
var listItemUserClick = false;
var containerClass = 'eve_partners_box';
var partners_seen = [];
var partners_seen_tmp = [];


$(document).ready(function() {

    initPartner();
    showPartnerRandom();
    setInterval("showPartnerRandom()", 5000);
	
	//inizialize the pagination of first post
	inizializeRotation('#rotationPagination','.article_rotation_single');
	inizializeListItem();
	slideCarousel(0);
	slideListItem(1);
	
	
});

//slide the carousel every 10 second
function slideCarousel(k) {
	if(!carouselUserClick){
		carouselClick('#rotationPagination','.article_rotation_single','#rotation_'+k);
		var slImg = setTimeout(function() {
			slideCarousel((k + 1) % 5);
		}, 10000);
	}
} 

//slide the list item every 10 second
function slideListItem(k) {
	if(!listItemUserClick){
		listItemClick('#activity_'+k);
		var sl = setTimeout(function() {	
			slideListItem((k % 5) + 1);
		}, 10000);
	}
} 

function inizializeRotation(container,page){

	//open the first article and the navigation
	try{
	    var firstItem = $(page).first();
	
        firstItem.show();	
        $(container).show();
        if($('#article_rotation').find(page).length == 1){
            $('#rotation_next').addClass('eve_disable');
        }
        
        //click event of all a
        $(container+' li a').click(function(){
            carouselUserClick = true;
            carouselClick(container,page,this);
            return false;
        });
    }
	catch(err){
	    }
}   


function carouselClick(container,page,thisBox){

	var max = $('#article_rotation').find(page).length;		
	var newArticle = $(thisBox).attr('id');
	var oldArticle = $(container+' li').find('.eve_active').attr('id');
	
	
	
	if(newArticle == oldArticle){
		return false;
	}	
	if(newArticle == 'rotation_prev'){
		newArticle = 'rotation_' + (parseInt(oldArticle.replace('rotation_',''))-1);
	}
	if(newArticle == 'rotation_next'){
		newArticle = 'rotation_' + (parseInt(oldArticle.replace('rotation_',''))+1);
	}

	if(parseInt(newArticle.replace('rotation_',''))>4 || parseInt(newArticle.replace('rotation_',''))<0 || parseInt(newArticle.replace('rotation_',''))>max-1){
		return false;
	}

	//navigation colors
	$('#'+newArticle).addClass('eve_active');
	$('#'+oldArticle).removeClass('eve_active');
	$('#rotation_prev').removeClass('eve_disable');
	$('#rotation_next').removeClass('eve_disable');
	
	if(newArticle == 'rotation_0'){
		$('#rotation_prev').addClass('eve_disable');
	}
	if(newArticle == 'rotation_4' || newArticle == ('rotation_'+(max-1))){
		$('#rotation_next').addClass('eve_disable');
	}
	
	//hide and show articles
	$('#article_rotation').children().eq(parseInt(oldArticle.replace('rotation_',''))).hide();
	
	var newIndex = parseInt(newArticle.replace('rotation_',''));
	var newItem = $('#article_rotation').children().eq(newIndex);
	
	newItem.show();
		
}

function inizializeListItem(){

	//open the first article and the navigation
	$('#activityListItem').find('div').find('figure').eq(0).show();
	
	$('#activityListItem'+' li a').click(function(){
		listItemUserClick = true;
		listItemClick($(this));
		return false;
	});
}


function listItemClick(element){	
		//click event of all a
	
		var newArticle = $(element).attr('id');
		var oldArticle = $('#activityListItem'+' li').find('.eve_active').attr('id');

		if(newArticle == oldArticle){
			return false;
		}	
		if(newArticle == 'activity_prev'){
			newArticle = 'activity_' + (parseInt(oldArticle.replace('activity_',''))-1);
		}
		if(newArticle == 'activity_next'){
			newArticle = 'activity_' + (parseInt(oldArticle.replace('activity_',''))+1);
		}
		
		if(parseInt(newArticle.replace('activity_',''))>5 || parseInt(newArticle.replace('activity_',''))<1 || parseInt(newArticle.replace('activity_',''))>$('.activity_container').length){
			return false;
		}	
		//navigation colors
		$('#'+newArticle).addClass('eve_active');
		$('#'+oldArticle).removeClass('eve_active');
		$('#activity_prev').removeClass('eve_disable');
		$('#activity_next').removeClass('eve_disable');
		
		if(newArticle == 'activity_1'){
			$('#activity_prev').addClass('eve_disable');
		}
		if(parseInt(newArticle.replace('activity_',''))==$('.activity_container').length){
			$('#activity_next').addClass('eve_disable');
		}
		
		//hide and show articles
		$('#activityListItem').find('div').find('figure').eq(parseInt(oldArticle.replace('activity_',''))-1).hide();
		$('#activityListItem').find('div').find('figure').eq(parseInt(newArticle.replace('activity_',''))-1).show();
		
}

function initPartner(){
    var partners_groups=$('.' + containerClass);
    var first_partner=undefined;
    partners_groups.each(function(index){
        if (first_partner==undefined){
            first_partner=$(this);
            }
        else{
    		var partners = $(this).find('figure');	
    		partners.each(function(index){
    		    first_partner.append($(this));
    		    });
    		$(this).remove();
            }
        })
    }

function showPartnerRandom() {
  
  $('.' + containerClass).each(function(index) {
   		
   		myPageInclude = $(this).attr('id');
		
		var partners = $('#' + myPageInclude).find('figure');	

		if(partners_seen.length != 0 && partners_seen.length<partners.length){
			//select a partner that isn't already seen
			var partners_notseen = [];
			
			partners.each(function(index) {
				if($.inArray($(this).attr('id'),partners_seen) == -1){
					partners_notseen[partners_notseen.length] = $(this).attr('id');
				}
			});
	
			var partners_num = partners_notseen.length;
			var randpartner = Math.floor(Math.random()*partners_num);
			var partnerId = partners_notseen[randpartner];
			$('#'+partners_seen[partners_seen.length -1]+',#'+partnerId+'').toggle(2000);
			
			//update seen array
			if (partners_num == 1) {
			  partners_seen[0] = partnerId;
			} else {
			  partners_seen[partners_seen.length] = partnerId;
			}
	
		}
		else {
			//user has either seen all partners or none, randomly select a partner to show
			var partners_num = partners.size();
			var randpartner = Math.floor(Math.random()*partners_num);
			var partnerId = $('#' + myPageInclude).find('figure').eq(randpartner).attr('id');
			$('#' + partnerId).show();
	
			//reset seen array
			partners_seen = [partnerId];
	
		}
  	});
}


