/**
 * Initialize $.CORE in case it's not present
 */
if(typeof $.CORE == "undefined") {
	$.CORE= Object;
};

/**
 * Dummy object
 */
$.CORE.dummyobject = {
	construct : function() {
	},
	
	dummyFunction : function() {
	}
};


$.CORE.sidenav = {
	construct : function() {
		$('#sidenav li ul').parent().addClass('parent');
		$('#sidenav li ul .current').parent().parent().addClass('current');
		$('#sidenav ul').hide();
		$('#sidenav .current ul').show();
		$('#sidenav .current').addClass('open');
		
		$('#sidenav li strong').css('cursor','pointer');
		
		this.openSidenav();
	},
	
	openSidenav : function() {
		$('#sidenav li strong').click( function() {
		  
		  var checkElement = $(this).next();
		  
		  if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
		  		
		  		checkElement.slideUp('normal');
		  		checkElement.parent().removeClass('open');
		  		
		  		return false;
		  }
		  
		  if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
			  $.each($('#sidenav ul:visible'), function(){
				  	//alert($(this).parent().hasClass('current'));
				  	
				   		$(this).slideUp('normal');
				   		$(this).parent().removeClass('open');
				    
				});
			    checkElement.slideDown('normal');
			    checkElement.parent().addClass('open');
			    return false;
		  }
		});
	}
};

//global var --> clear interval
var slideshow;
$.CORE.slideshow = {
	construct : function(){
	//console.log($('#image>IMG').size());
		// if aantal img > 1
		if($('#image img').size() >= 2){
			$('#image img').css({opacity: 0.0});
	   		$('#image img:eq(0)').animate({opacity: 1}, 'slow').addClass('active');
	   		slideshow = setInterval("slideSwitch()", 8000);
	   	}
	}
};

function slideSwitch() {
    var $active = $('#image img.active');
    var $next =  $active.next().length ? $active.next() : $('#image img:eq(0)');
    //console.log($next, 'test');
	$active.animate({
		opacity: 0
	}, 1000, 
	function(){
		$active.addClass('last-active');
	});
    $next.css(
    	{'opacity': '0.0'})
        .addClass('active')
        .animate({opacity: 1}, 'slow', 
        function() {
            $active.removeClass('active last-active');
        });   
   	$('#page-nav a').each(function() {
   		if($next.length > 0){
	   		if( "img" + $(this).text() == $next.attr('id')){
	   			$(this).addClass('current');
	   		}else{
	   			$(this).removeClass('current');
	   		}
	   	}
   	});
}


/**
 * Forms
 */
$.CORE.forms = {
	construct : function() {
		this.execFormCheckerPlugin();
	},
	
	execFormCheckerPlugin : function() {
		var $formRef = $('form.formGenerated');
		if($formRef.length) {
        	$formRef.formChecker();
		}
	}
};

/**
 * Executes when the DOM has been fully loaded
 */
$(document).ready(function() {
	$.CORE.forms.construct();
	$.CORE.sidenav.construct();
	$.CORE.slideshow.construct();
	
	$('[rel="lightbox"]').lightBox();
	
	
	/* SLIDE NAV*/
	$('#page-nav a').click(function(){
		//console.log($(this).text());
		clearInterval(slideshow);
		$('#page-nav a').removeClass('current');
		$(this).addClass('current');
		
		var $active = $('#image img.active');
		var $next =  $('#image #img'+$(this).text());
		$active.animate({opacity: 0}, 1000, function(){$active.addClass('last-active');});
		$next.css({'opacity': '0.0'})
		    .addClass('active')
		    .animate({opacity: 1}, 'slow', function() {
		        $active.removeClass('active last-active');
		    });
		return false;
	});
	
	
	//alert($.cookie("sidebaropen"));
	
	if( $.cookie("sidebaropen") == 'istoe' ){
		
		$('#sidebar.small').css('left','60px').addClass('close');
		$('#openClose').html('&#187;');
		
		
		if(!$('#sidebar').hasClass('team')){
			$('#sidenav ul').hide();
		}
	}
	
	
	$('#openClose').click(function() {
		if($('#sidebar').hasClass('close')){
			$('#sidebar').animate({left: 360}, 800, function(){$("#sidebar").removeClass('close');});
			$(this).html('&#171;');
			$('#sidenav .open ul').slideDown();
			$.cookie("sidebaropen", 'isopen',{path: '/'});
		}else{
			$('#sidebar').animate({left: 60}, 800, function(){$("#sidebar").addClass('close');});
			$(this).html('&#187;');
			$('#sidenav ul').slideUp();
			$.cookie("sidebaropen", 'istoe',{path: '/'});
		}
		return false;
	});
	
	
	
});
