/**
 * Actonjs Library v. 1.0
 * Author: Actonbit.gr < sales@actonbit.gr >
 * Copyrights: Actonbit.gr < sales@actonbit.gr >
 */

Actonjs.namespace("Actonjs.app");

Actonjs.app = function () {
	
	var floating_elements, main_menu_arrows, sec_menu_arrows;
	
	var server_name;
	var about_content;
	var gallery_content;
	var services_events_content;
	var services_consulting_content;
	var services_chef_content;
	
	var slide_container;
	
	var active_main_section, active_sec_section;
	
	var gallery_time_grabber;
	
	var gallery_scroller;
	var gallery_current_item_id;
	var gallery_new_item_id;
	
	var gallery_main_image_srcs, gallery_overlay_image_srcs;
	var gallery_main_image_array, gallery_overlay_image_array;
	var gallery_download_counters;
	
	
	var main_menu_arrow_services_el, main_menu_arrow_gallery_el, main_menu_arrow_blog_el, main_menu_arrow_about_el;
	var sec_menu_arrow_chef_el, sec_menu_arrow_consulting_el, sec_menu_arrow_events_el;
	var secondary_menu_container_el, secondary_menu_div_el;
	var main_menu_conatiner_el, main_menu_div_el;
	var gallery_container_el, gallery_div_el;
	var about_container_el, about_div_el;
	var services_chef_container_el, services_chef_div_el;
	var services_consulting_container_el, services_consulting_div_el;
	var services_events_container_el, services_events_div_el;

	function reset() {
		active_main_section = false;
		active_sec_section = false;
		gallery_main_image_srcs = Array();
		gallery_overlay_image_srcs = Array();
		gallery_main_image_array = Array();
		gallery_overlay_image_array = Array();
		gallery_download_counters = Array();
		server_name  = window.location.protocol + '//' + window.location.hostname;
		initElements();
		addEvents();
		slideshow();
		setInterval( "Actonjs.app.quoteRotate()", 5000 );
		readHash();
	}
	
	function readHash() {
		var hash = $.trim(window.location.hash.substring(1));
		if (hash != '') {
			hash = hash.toLowerCase();
			window.location.hash = hash;
			// We need to find where the user landed and if this is a valid anchor
			if (hash == 'gallery' || hash == 'about' || hash == 'events_catering' || hash == 'consulting_services' || hash == 'private_chef_services') {
				showMainMenu();
				if (hash == 'gallery') {
					showGallery();
				}
				else if (hash == 'about') {
					showAbout();
				}
				else if (hash = 'events_catering') {
					showServicesEvents();
				}
				else if (hash = 'consulting_services') {
					showServicesConsulting();
				}
				else if (hash = 'private_chef_services') {
					showServicesChef();
				}
				else {
					hideMainMenu();
					window.location.hash = '';
					active_main_section = false;
					active_sec_section = false;
				}
			}
			else {
				hideMainMenu();
				window.location.hash = '';
				active_main_section = false;
				active_sec_section = false;
			}
		}
	}
	
	function initElements() {
		floating_elements = new Array;
		main_menu_arrows = new Array;
		sec_menu_arrows = new Array;
		
		main_menu_container_el = $('#main_menu_container');
		main_menu_div_el = $('#mainMenu');
		
		secondary_menu_container_el = $('#secondary_menu_container');
		floating_elements.push(secondary_menu_container_el);
		secondary_menu_div_el = $('#secondary_menu');
		floating_elements.push(secondary_menu_div_el);
		
		gallery_container_el = $('#gallery_container');
		floating_elements.push(gallery_container_el);
		gallery_div_el = $('#gallery');
		floating_elements.push(gallery_div_el);
		
		about_container_el = $('#about_container');
		floating_elements.push(about_container_el);
		about_div_el = $('#about');
		floating_elements.push(about_div_el);
		
		services_chef_container_el = $('#services_chef_container');
		floating_elements.push(services_chef_container_el);
		services_chef_div_el = $('#services_chef');
		floating_elements.push(services_chef_div_el);
		
		services_consulting_container_el = $('#services_consulting_container');
		floating_elements.push(services_consulting_container_el);
		services_consulting_div_el = $('#services_consulting');
		floating_elements.push(services_consulting_div_el);
		
		services_events_container_el = $('#services_events_container');
		floating_elements.push(services_events_container_el);
		services_events_div_el = $('#services_events');
		floating_elements.push(services_events_div_el);
		
		main_menu_arrow_services_el = $('#main_menu_arrow_services');
		main_menu_arrows.push(main_menu_arrow_services_el);
		main_menu_arrow_about_el = $('#main_menu_arrow_about');
		main_menu_arrows.push(main_menu_arrow_about_el);
		main_menu_arrow_blog_el = $('#main_menu_arrow_blog');
		main_menu_arrows.push(main_menu_arrow_blog_el);
		main_menu_arrow_gallery_el = $('#main_menu_arrow_gallery');
		main_menu_arrows.push(main_menu_arrow_gallery_el);
		
		sec_menu_arrow_chef_el = $('#sec_menu_arrow_chef');
		sec_menu_arrows.push(sec_menu_arrow_chef_el);
		sec_menu_arrow_consulting_el = $('#sec_menu_arrow_consulting');
		sec_menu_arrows.push(sec_menu_arrow_consulting_el);
		sec_menu_arrow_events_el = $('#sec_menu_arrow_events');
		sec_menu_arrows.push(sec_menu_arrow_events_el);
		
		slide_container = $('#slideshow_container');
		
		hideAllFloating();
		hideAllMainArrows();
		hideAllSecArrows();
	}
		
	function addEvents() {
		slide_container.click(function() {
			hideAllFloating(false);
			hideAllMainArrows();
			hideAllSecArrows();
			active_main_section = false;
			active_sec_section = false;
		});
		$('#mainArea').mouseleave(function(){
			hideMainMenu();
		});
		$('#mainArea').mouseenter(function(){
			showMainMenu();
		});
	}
	
	function hideMainMenu() {
		if (!active_main_section && !active_sec_section) {
			main_menu_container_el.slideUp('slow',function(){});
			main_menu_div_el.slideUp('slow',function(){});
		}
	}
	
	function showMainMenu() {
		main_menu_container_el.slideDown('slow',function(){});
		main_menu_div_el.slideDown('slow',function(){});
	}
	
	function hideAllFloating(menus_static) {
		for (var i=0; i<floating_elements.length; i++) {
			if (floating_elements[i].attr("id") == secondary_menu_container_el.attr("id") || floating_elements[i].attr("id") == secondary_menu_div_el.attr("id") ) {
				if (menus_static == false) {
					floating_elements[i].slideUp('slow',function(){});
				}
			}
			else {
				floating_elements[i].slideUp('slow');
			}
		}
	}
	
	function hideAllMainArrows() {
		for (var i=0; i<main_menu_arrows.length; i++) {
			main_menu_arrows[i].css('display','none');
		}
	}
	
	function hideAllSecArrows() {
		for (var i=0; i<sec_menu_arrows.length; i++) {
			sec_menu_arrows[i].css('display','none');
		}
	}
	
	function initGallery(add_events) {
		if (add_events) {
			for (akey in gallery_download_counters) {
				gallery_main_image_array[akey] = new Image();
				$(gallery_main_image_array[akey]).attr('id',akey);
				$(gallery_main_image_array[akey]).load(function(){
					var im_id = $(this).attr('id');
					var plain_id = im_id.replace('im','');
					gallery_download_counters[im_id] += 1;
					if (gallery_download_counters[im_id] >= 2) {
						gallery_download_counters[im_id] = 2;
						$('#gallery-overlay-image-'+plain_id).attr('src',gallery_overlay_image_srcs[im_id]);
						$('#gallery-main-image-'+plain_id).attr('src',gallery_main_image_srcs[im_id]);
						$("img.gallery-image[rel]").overlay({fixed:false});
						gallery_time_grabber -= 100000;
					}
				});
				gallery_overlay_image_array[akey] = new Image();
				$(gallery_overlay_image_array[akey]).attr('id',akey);
				$(gallery_overlay_image_array[akey]).load(function(){
					var im_id = $(this).attr('id');
					var plain_id = im_id.replace('im','');
					gallery_download_counters[im_id] += 1;
					if (gallery_download_counters[im_id] >= 2) {
						gallery_download_counters[im_id] = 2;
						$('#gallery-overlay-image-'+plain_id).attr('src',gallery_overlay_image_srcs[im_id]);
						$('#gallery-main-image-'+plain_id).attr('src',gallery_main_image_srcs[im_id]);
						$("img.gallery-image[rel]").overlay({fixed:false});
						gallery_time_grabber -= 100000;
					}
				});
			}
		}
		
		// Setting up the timer
		var d = new Date();
		gallery_time_grabber = d.getTime()-100000;
		
		// Turning all comments to normal font-weight for MSIE
		if ($.browser.msie) {
			$('#main_image_legend_area div.main_image_legend_item').css({'font-weight': 'normal'});
		}
		
		var $active = $('#main_image_area div.active');
		if ( $active.length == 0 ) $active = $('#main_image_area div:first');
		$active.addClass('active');
		
		var $active_comment = $('#main_image_legend_area div.main_image_legend_item.active');
		if ( $active_comment.length == 0 ) $active_comment = $('#main_image_legend_area div.main_image_legend_item:first');
		$active_comment.addClass('active');
		
		$(".gallery_scrollable").scrollable({'easing':'swing','speed':500,'keyboard':false,'vertical':true,'circular':true,'autoplay':false});
		gallery_scroller = $('.gallery_scrollable').data('scrollable');
		
		$("img.gallery-image[rel]").overlay({fixed:false});
	}
	
	function nextGalleryGroup() {
		gallery_scroller.next();
	}
	
	function previousGalleryGroup() {
		gallery_scroller.prev();
	}
	
	function showAbout() {
		active_main_section = 'about';
		hideAllFloating(false);
		hideAllMainArrows();
		hideAllSecArrows();
		//main_menu_arrow_about_el.fadeIn(50);
		main_menu_arrow_about_el.css('display','block');
		about_container_el.slideToggle('slow',function(){displayAbout();});
	}
	
	function showGallery() {
		active_main_section = 'gallery';
		hideAllFloating(false);
		hideAllMainArrows();
		hideAllSecArrows();
		//main_menu_arrow_gallery_el.fadeIn(50);
		main_menu_arrow_gallery_el.css('display','block');
		gallery_container_el.slideDown('slow',function(){displayGallery();});
	}
	
	function showServicesEvents() {
		active_main_section = 'services';
		active_sec_section = 'events';
		hideAllFloating(true);
		hideAllMainArrows();
		hideAllSecArrows();
		secondary_menu_container_el.slideDown('slow',function(){});
		secondary_menu_div_el.slideDown('slow',function(){main_menu_arrow_services_el.fadeIn(50);});
		//sec_menu_arrow_events_el.fadeIn('slow');
		sec_menu_arrow_events_el.css('display','block');
		services_events_container_el.slideDown('slow',function(){displayServicesEvents();});
	}
	
	function showServicesChef() {
		active_main_section = 'services';
		active_sec_section = 'chef';
		hideAllFloating(true);
		hideAllMainArrows();
		hideAllSecArrows();
		secondary_menu_container_el.slideDown('slow',function(){});
		secondary_menu_div_el.slideDown('slow',function(){
			//main_menu_arrow_services_el.fadeIn(50);
			main_menu_arrow_services_el.css('display','block');
			});
		//sec_menu_arrow_chef_el.fadeIn('slow');
		sec_menu_arrow_chef_el.css('display','block');
		services_chef_container_el.slideDown('slow',function(){displayServicesChef();});
	}
	
	function showServicesConsulting() {
		active_main_section = 'services';
		active_sec_section = 'consulting';
		hideAllFloating(true);
		hideAllMainArrows();
		hideAllSecArrows();
		secondary_menu_container_el.slideDown('slow',function(){});
		secondary_menu_div_el.slideDown('slow',function(){main_menu_arrow_services_el.fadeIn(50);});
		//sec_menu_arrow_consulting_el.fadeIn('slow');
		sec_menu_arrow_consulting_el.css('display','block');
		services_consulting_container_el.slideDown('slow',function(){displayServicesConsulting();});
	}
	
	function displayServicesChef() {
		var html = false;
		var overlay_html = false;
		if (services_chef_content) {
			html = services_chef_content;
			services_chef_div_el.html(html);
			services_chef_div_el.fadeIn('slow');
			$("img.services-1[rel]").overlay({fixed:false});
		}
		else {
			$.ajax({
				url: '/load/services-chef/',
				type: 'POST',
	  			dataType: 'json',
	  			success: function(response) {
					html = response.html;
					overlay_html = response.overlay_html;
					services_chef_content = html;
					$('#overlays_area').append(overlay_html);
				},
				error: function (response) {
					html = 'Some error occured while trying to load the Private Chef Services section content!';
				},
				complete: function () {
					services_chef_div_el.html(html);
					services_chef_div_el.fadeIn('slow');
					resizeServicesChefContainer();
					$("img.services-1[rel]").overlay({fixed:false});
				}
			});
		}
	}
	
	function resizeServicesChefContainer() {
		if (services_chef_container_el.height() < ($('#services_chef_content_div').height() + 40)) {
			services_chef_container_el.height($('#services_chef_content_div').height() + 80);
		}
	}
	
	function displayServicesConsulting() {
		var html = false;
		var overlay_html = false;
		if (services_consulting_content) {
			html = services_consulting_content;
			services_consulting_div_el.html(html);
			services_consulting_div_el.fadeIn('slow');
			$("img.services-2[rel]").overlay({fixed:false});
		}
		else {
			$.ajax({
				url: '/load/services-consulting/',
				type: 'POST',
	  			dataType: 'json',
	  			success: function(response) {
					html = response.html;
					overlay_html = response.overlay_html;
					services_consulting_content = html;
					$('#overlays_area').append(overlay_html);
				},
				error: function (response) {
					html = 'Some error occured while trying to load the Consulting Services section content!';
				},
				complete: function () {
					services_consulting_div_el.html(html);
					services_consulting_div_el.fadeIn('slow');
					resizeServicesConsultingContainer();
					$("img.services-2[rel]").overlay({fixed:false});
				}
			});
		}
	}
	
	function resizeServicesConsultingContainer() {
		if (services_consulting_container_el.height() < ($('#services_consulting_content_div').height() + 40)) {
			services_consulting_container_el.height($('#services_consulting_content_div').height() + 80);
		}
	}
	
	function displayServicesEvents() {
		var html = false;
		var overlay_html = false;
		if (services_events_content) {
			html = services_events_content;
			services_events_div_el.html(html);
			services_events_div_el.fadeIn('slow');
			$("img.services-3[rel]").overlay({fixed:false});
		}
		else {
			$.ajax({
				url: '/load/services-events/',
				type: 'POST',
	  			dataType: 'json',
	  			success: function(response) {
					html = response.html;
					overlay_html = response.overlay_html;
					services_events_content = html;
					$('#overlays_area').append(overlay_html);
				},
				error: function (response) {
					html = 'Some error occured while trying to load the Events Services section content!';
				},
				complete: function () {
					services_events_div_el.html(html);
					services_events_div_el.fadeIn('slow');
					resizeServicesEventsContainer();
					$("img.services-3[rel]").overlay({fixed:false});
				}
			});
		}
	}
	
	function resizeServicesEventsContainer() {
		if (services_events_container_el.height() < ($('#services_events_content_div').height() + 40)) {
			services_events_container_el.height($('#services_events_content_div').height() + 80);
		}
	}
	
	function displayAbout() {
		var html = false;
		if (about_content) {
			html = about_content;
			about_div_el.html(html);
			about_div_el.fadeIn('slow');
		}
		else {
			$.ajax({
				url: '/load/about/',
				type: 'POST',
	  			dataType: 'html',
	  			success: function(response) {
					html = response;
					about_content = html;
				},
				error: function (response) {
					html = 'Some error occured while trying to load the About section content!';
				},
				complete: function () {
					about_div_el.html(html);
					about_div_el.fadeIn('slow');
					resizeAboutContainer();
				}
			});
		}
	}
	
	function resizeAboutContainer() {
		if (about_container_el.height() < ($('#about_content_text').height() + 40)) {
			about_container_el.height($('#about_content_text').height() + 40);
		}
	}
	
	function displayGallery() {
		var html = false;
		var overlay_html = false;
		gallery_div_el.html('<div style="margin:auto;width:770px;height:50px;position:absolute;top:100px;text-align:center;"><img src="'+server_name+'/images/resources/ajax-loader.gif" border="0"></img></div>');
		gallery_div_el.fadeIn('slow');
		if (gallery_content) {
			html = gallery_content;
			gallery_div_el.html(html);
			initGallery(false);
		}
		else {
			$.ajax({
				url: '/load/gallery/',
				type: 'POST',
	  			dataType: 'json',
	  			success: function(response) {
					html = response.html;
					overlay_html = response.overlay_html;
					$('#overlays_area').append(overlay_html);
					gallery_main_image_srcs = response.main_image_srcs;
					gallery_overlay_image_srcs = response.overlay_image_srcs;
					gallery_download_counters = response.gallery_download_counters;
					gallery_content = html;
				},
				error: function (response) {
					html = 'Some error occured while trying to load the About section content!';
				},
				complete: function () {
					gallery_div_el.html(html);
					initGallery(true);
				}
			});
		}
	}
	
	function quoteRotate() {
	    var $active = $('#quote_area div.active');
    	if ( $active.length == 0 ) $active = $('#quote_area div:last');
    	var $next =  $active.next().length ? $active.next() : $('#quote_area div:first');
    	$active.addClass('last-active');
    	$next.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 750, function() {
            	$active.removeClass('active last-active');
	        });
	}
	
	function slideshow() {
		$(".scrollable").scrollable({'easing':'swing','speed':1000,'keyboard':true,'circular':true,'autoplay':true}).autoscroll(4999);
	}
	
	function showGalleryImage(thumb_id) {
		// Need to check if at least 3 seconds have elapsed since last click
		var d = new Date();
		var now_time = d.getTime();
		if (now_time > (gallery_time_grabber + 5000)) gallery_time_grabber = now_time;
		else return;
		// Need to deduct the main_image_id
		var main_image_id = thumb_id.replace('gallery_','main_');
		var main_image_legend_id = thumb_id.replace('gallery_','main_legend_');
		var plain_image_id = thumb_id.replace('gallery_image_','im');
		
		// If this image is not already downloaded, we need to download it now.
		$(gallery_overlay_image_array[plain_image_id]).attr("src",gallery_overlay_image_srcs[plain_image_id]);
		$(gallery_main_image_array[plain_image_id]).attr("src",gallery_main_image_srcs[plain_image_id]);
		
		var imageDownloaded = false;
		if (isImageDownloaded(plain_image_id)) {
			imageDownloaded = true;
		}
		
		var $active = $('#main_image_area div.active');
		if ($active.length == 0) {
			$active = $('#main_image_area div:first');
		}
		
		if ($active.attr("id") != main_image_id) {
			// We do nothing if the currently active thumbnail is clicked
			$active.addClass('last-active');
			$('#'+main_image_id).css({opacity: 0.0})
				.addClass('active')
				.animate({opacity:1.0}, 500);
			$active.animate({opacity:0.0}, 505, function(){$active.removeClass('active last-active');});
		}
		// Doing the comment and title of the photo
		var $active_legend = $('#main_image_legend_area div.active');
		if ($active_legend.length == 0) {
			$active_legend = $('#main_image_legend_area div:first');
		}
		
		if ($active_legend.attr("id") != main_image_legend_id) {
			// We do nothing if the currently active thumbnail is clicked
			$active_legend.addClass('last-active');
			$('#'+main_image_legend_id).css({opacity: 0.0})
				.addClass('active')
				.animate({opacity:1.0}, 500);
			$active_legend.animate({opacity:0.0}, 505, function(){$active_legend.removeClass('active last-active'); if (imageDownloaded) gallery_time_grabber -= 100000;});
		}
	}
	
	function prevGalleryImage() {
		// Need to check if at least 3 seconds have elapsed since last click
		var d = new Date();
		var now_time = d.getTime();
		if (now_time > (gallery_time_grabber + 5000)) gallery_time_grabber = now_time;
		else return;
		var $active = $('#main_image_area div.active');
    	if ( $active.length == 0 ) $active = $('#main_image_area div:first');
    	var $prev =  $active.prev().length ? $active.prev() : $('#main_image_area div:last');
    	
    	var plain_image_id = $prev.attr('id').replace('main_image_','im');
		// If this image is not already downloaded, we need to download it now.
		$(gallery_overlay_image_array[plain_image_id]).attr("src",gallery_overlay_image_srcs[plain_image_id]);
		$(gallery_main_image_array[plain_image_id]).attr("src",gallery_main_image_srcs[plain_image_id]);
		
		var imageDownloaded = false;
		if (isImageDownloaded(plain_image_id)) {
			imageDownloaded = true;
		}
    	
    	$active.addClass('last-active');
    	$prev.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 500);
    	
		$active.animate({opacity:0.0}, 505, function(){$active.removeClass('active last-active');});
		
		var $active_legend = $('#main_image_legend_area div.active');
    	if ( $active_legend.length == 0 ) $active_legend = $('#main_image_legend_area div.main_image_legend_item:first');
    	var $prev_legend =  $active_legend.prev().length ? $active_legend.prev() : $('#main_image_legend_area div.main_image_legend_item:last');
    	$active_legend.addClass('last-active');
    	$prev_legend.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 500);
		$active_legend.animate({opacity:0.0}, 505, function(){$active_legend.removeClass('active last-active'); if (imageDownloaded) gallery_time_grabber -= 100000;});
	}
	
	function nextGalleryImage() {
		// Need to check if at least 3 seconds have elapsed since last click
		var d = new Date();
		var now_time = d.getTime();
		if (now_time > (gallery_time_grabber + 5000)) gallery_time_grabber = now_time;
		else return;
		var $active = $('#main_image_area div.active');
    	if ( $active.length == 0 ) $active = $('#main_image_area div:last');
    	var $next =  $active.next().length ? $active.next() : $('#main_image_area div:first');
    	
    	var plain_image_id = $next.attr('id').replace('main_image_','im');
		// If this image is not already downloaded, we need to download it now.
		$(gallery_overlay_image_array[plain_image_id]).attr("src",gallery_overlay_image_srcs[plain_image_id]);
		$(gallery_main_image_array[plain_image_id]).attr("src",gallery_main_image_srcs[plain_image_id]);
		
		var imageDownloaded = false;
		if (isImageDownloaded(plain_image_id)) {
			imageDownloaded = true;
		}
    	
    	$active.addClass('last-active');
    	$next.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 500);
    	
		$active.animate({opacity:0.0}, 505, function(){$active.removeClass('active last-active');});
		
		var $active_legend = $('#main_image_legend_area div.active');
    	if ( $active_legend.length == 0 ) $active = $('#main_image_legend_area div:last');
    	var $next_legend =  $active_legend.next().length ? $active_legend.next() : $('#main_image_legend_area div:first');
    	$active_legend.addClass('last-active');
    	$next_legend.css({opacity: 0.0})
        	.addClass('active')
        	.animate({opacity: 1.0}, 500);
		$active_legend.animate({opacity:0.0}, 505, function(){$active_legend.removeClass('active last-active'); if (imageDownloaded) gallery_time_grabber -= 100000;});
	}
	
	function isImageDownloaded(image_id) {
		if (gallery_download_counters[image_id] == 2) {
			return true;
		}
		return false;
	}
	
	function closeOverlay() {
		$("img[rel]").each(function() {
			$(this).overlay().close();
		});
	}
	
	function activateMainArrow(category) {
		if (category == 'services') {
			//main_menu_arrow_services_el.fadeIn(50);
			main_menu_arrow_services_el.css('display','block');
		}
		else if (category == 'about') {
			//main_menu_arrow_about_el.fadeIn(50);
			main_menu_arrow_about_el.css('display','block');
		}
		else if (category == 'gallery') {
			//main_menu_arrow_gallery_el.fadeIn(50);
			main_menu_arrow_gallery_el.css('display','block');
		}
		else if (category == 'blog') {
			//main_menu_arrow_blog_el.fadeIn(50);
			main_menu_arrow_blog_el.css('display','block');
		}
	}
	
	function deactivateMainArrow() {
		for (var i=0; i<main_menu_arrows.length; i++) {
			if (main_menu_arrows[i].attr('id') == 'main_menu_arrow_services' && active_main_section != 'services') {
				main_menu_arrows[i].css('display','none');
			}
			else if (main_menu_arrows[i].attr('id') == 'main_menu_arrow_about' && active_main_section != 'about') {
				main_menu_arrows[i].css('display','none');
			}
			else if (main_menu_arrows[i].attr('id') == 'main_menu_arrow_gallery' && active_main_section != 'gallery') {
				main_menu_arrows[i].css('display','none');
			}
			else if (main_menu_arrows[i].attr('id') == 'main_menu_arrow_blog' && active_main_section != 'blog') {
				main_menu_arrows[i].css('display','none');
			}
		}
	}
	
	function activateSecArrow(category) {
		if (category == 'consulting') {
			//sec_menu_arrow_consulting_el.fadeIn('fast');
			sec_menu_arrow_consulting_el.css('display','block');
		}
		else if (category == 'chef') {
			//sec_menu_arrow_chef_el.fadeIn('fast');
			sec_menu_arrow_chef_el.css('display','block');
		}
		else if (category == 'events') {
			//sec_menu_arrow_events_el.fadeIn('fast');
			sec_menu_arrow_events_el.css('display','block');
		}
	}
	
	function deactivateSecArrow() {
		for (var i=0; i<sec_menu_arrows.length; i++) {
			if (sec_menu_arrows[i].attr('id') == 'sec_menu_arrow_chef' && active_sec_section != 'chef') {
				sec_menu_arrows[i].css('display','none');
			}
			else if (sec_menu_arrows[i].attr('id') == 'sec_menu_arrow_consulting' && active_sec_section != 'consulting') {
				sec_menu_arrows[i].css('display','none');
			}
			else if (sec_menu_arrows[i].attr('id') == 'sec_menu_arrow_events' && active_sec_section != 'events') {
				sec_menu_arrows[i].css('display','none');
			}
		}
	}
	
	return {
		init:	function() {
			reset();
		},
		
		showServicesEvents:	function() { showServicesEvents(); },
		showServicesChef:	function() { showServicesChef(); },
		showServicesConsulting:	function() { showServicesConsulting(); },
		
		showAbout:	function() { showAbout(); },
		showGallery:function() { showGallery(); },
		
		quoteRotate:	function() { quoteRotate(); },
		slideshow:	function() { slideshow(); },
		
		nextGalleryGroup:	function() { nextGalleryGroup(); },
		previousGalleryGroup:	function() { previousGalleryGroup(); },
		showGalleryImage:	function(thumb_id) { showGalleryImage(thumb_id); },
		prevGalleryImage:	function() { prevGalleryImage(); },
		nextGalleryImage:	function() { nextGalleryImage(); },
		
		activateMainArrow:	function(category) { activateMainArrow(category); },
		deactivateMainArrow:	function() { deactivateMainArrow(); },
		
		activateSecArrow:	function(category) { activateSecArrow(category); },
		deactivateSecArrow:	function() { deactivateSecArrow(); },
		
		closeOverlay:	function() {closeOverlay();}
	}
}();
$(document).ready(function() {Actonjs.app.init();});