$(document).ready ( function(){
    
        $(".more_info").click( function(){
            var lien = $(this).attr('lien');
            $.post(lien, {}, function(data)
            {
                $('#resultat_popup').html('<div>'+data+'</div>');
                $('#resultat_popup').overlay({
                    top:150, 
                    mask: {color: '#000000', loadSpeed:200, opacity:0.8}
                });
                $('#resultat_popup').overlay().load();
            });
        })
        
        $("#jour").hide();
        $("#niveau").hide();
        
        $("#bt_paypal").hide();
        
        $('#reg_forfait').change(function() {
          var valeur = $("#reg_forfait option:selected").val();
          if(valeur === 'ini')
          {
            $('#jour').hide();
            $("#niveau").hide();
          }
          if(valeur === 'jour')
          {
            $('#jour_txt').val('samedi');   
            $("#niveau").show();
            $('#jour').show();
            $('#niveau_txt').val('1');
          }
          if(valeur === 'compet')
          {
            $('#jour').hide();
            $("#niveau").hide();
          }
          if(valeur === 'full')
          {
            $('#jour').hide();
            $("#niveau").show();
            $('#jour_txt').val('weekend');
            $('#niveau_txt').val('1');
          }
        });
        
        $('#reg_paiement').change(function() {
            var valeur = $("#reg_paiement option:selected").val();
            if(valeur === 'paypal')
            {
                $("#reg_button_send").hide();
                $('#jour').show();
                $('#jour_txt').val('paypal');
                checkForm = 1;
                if($("#reg_nom").val().length === 0) checkForm = 0;
                if($("#reg_prenom").val().length === 0) checkForm = 0;
                if($("#reg_telephone").val().length === 0) checkForm = 0;
                if($("#reg_email").val().length === 0) checkForm = 0;
                if($("#reg_adresse").val().length === 0) checkForm = 0;
                if($("#reg_cp").val().length === 0) checkForm = 0;
                if($("#reg_ville").val().length === 0) checkForm = 0;
                
                if(checkForm === 1)
                {
                    $.post('./ajax/setInfos.php', {
                                nom:$('#reg_nom').val(),
                                prenom:$('#reg_prenom').val(),
                                telephone:$('#reg_telephone').val(),
                                email:$('#reg_email').val(),
                                genre:$('#reg_genre').val(),                            
                                adresse:$('#reg_adresse').val(),
                                cp:$('#reg_cp').val(),
                                ville:$('#reg_ville').val(),
                                forfait:$('#reg_forfait').val(),
                                niveau:$('#niveau_txt').val(),
                                jour:$('#jour_txt').val(),
                                paiement:$('#reg_paiement').val()

                    },
                        function(data){
                            if(data === 'oksession')
                            {
                                $("#bt_paypal").show();
                                $("#reg_button_send").hide();
                                $("#reg_forfait").hide();
                                $("#forfait_titre").hide();
                                $('#resultat_envoi').html("");
                            }
                            else
                            {
                                $('#resultat_envoi').html("Veuillez remplir le formulaire.<br/>Please, fullfill the form before paying");
                            }
                        });  
                }
                else
                {
                   $('#resultat_envoi').html("Veuillez remplir le formulaire.<br/>Please, fullfill the form before paying"); 
                } 
            }
            else
            {
                $('#resultat_envoi').html("");
                $("#bt_paypal").hide();
                $("#reg_button_send").show();
                $("#reg_forfait").show();
                $("#forfait_titre").show();
            }
        });
        
        $('#reg_jour').change(function() {
            var valeur = $("#reg_jour option:selected").val();
            $('#jour_txt').val(valeur);
        });
        $("input[name='reg_niveau']").change(function() {
            var selected_niveau = $("input[name='reg_niveau']:checked").val();
            $('#niveau_txt').val(selected_niveau);
        });
    
    
	$(".lien_content").click( function(event){
			event.preventDefault();
			event.stopPropagation();
			window.open($(this).attr("href"), '_blank');
	});
        
        $('#reg_button_send').click( function(){
                
                
		$.post('./ajax/reg_form.php', {
                            nom:$('#reg_nom').val(),
                            prenom:$('#reg_prenom').val(),
                            telephone:$('#reg_telephone').val(),
                            email:$('#reg_email').val(),
                            genre:$('#reg_genre').val(),                            
                            adresse:$('#reg_adresse').val(),
                            cp:$('#reg_cp').val(),
                            ville:$('#reg_ville').val(),
                            forfait:$('#reg_forfait').val(),
                            niveau:$('#niveau_txt').val(),
                            jour:$('#jour_txt').val(),
                            paiement:$('#reg_paiement').val()},
				function (data)
				{
                                    $(':input','#reg_wil').not(':radio, :hidden').val('');
                                    $('#resultat_envoi').html(data);
				});
                                
		});
       
       $('img#changelang').click( function()
        {
                var lang = $(this).attr('class');
                $.post('./ajax/changelang.php',{lang:lang},
                                function(data)
                                {
                                        if(data === 'ok')
                                                location.reload();
                                }
                );
        });
    });

this.tooltip = function(){	
			/* CONFIG */		
				xOffset = 10;
				yOffset = 20;	
			$("img.tooltip").hover(function(e){											  
				this.t = this.title;
				this.title = "";									  
				$("body").append("<p id='tooltip'>"+ this.t +"</p>");
				$("#tooltip")
					.css("top",(e.pageY - xOffset) + "px")
					.css("left",(e.pageX + yOffset) + "px")					
					.css("z-index", "99")
					.fadeIn("fast");		
		    },
			function(){
				this.title = this.t;		
				$("#tooltip").remove();
		    });	
			$("img.tooltip").mousemove(function(e){
				$("#tooltip")
					.css("top",(e.pageY - xOffset) + "px")
					.css("left",(e.pageX + yOffset) + "px")
					.css("z-index", "99");
			});			
		};
			$(document).ready(function(){
				tooltip();
			});
// starting the script on page load

$(function() {
				var $ac_background	= $('#ac_background'),
				$ac_bgimage		= $ac_background.find('.ac_bgimage'),
				$ac_loading		= $ac_background.find('.ac_loading'),
				$ac_loading_text	= $ac_background.find('.loading_text'),
				
				$ac_content		= $('#ac_content'),
				$title			= $ac_content.find('h1'),
				$menu			= $ac_content.find('.ac_menu'),
				$mainNav		= $menu.find('ul:first'),
				$menuItems		= $mainNav.children('li'),
				totalItems		= $menuItems.length,
				$ItemImages		= new Array();
				
				/* 
				for this menu, we will preload all the images. 
				let's add all the image sources to an array,
				including the bg image
				*/
				$menuItems.each(function(i) {
					$ItemImages.push($(this).children('a:first').attr('title'));
				});
				$ItemImages.push($ac_bgimage.attr('src'));
					  
				
				var Menu 			= (function(){
					var init				= function() {
						loadPage();
						initWindowEvent();
					},
					loadPage			= function() {
						/*
							1- loads the bg image and all the item images;
							2- shows the bg image;
							3- shows / slides out the menu;
							4- shows the menu items;
							5- initializes the menu items events
						 */
						$ac_loading.show();//show loading status image
						$ac_loading_text.show();
						$.when(loadImages()).done(function(){
							$.when(showBGImage()).done(function(){
								//hide the loading status image
								$ac_loading.hide();
								$ac_loading_text.hide();
								$.when(slideOutMenu()).done(function(){
										$.when(toggleMenuItems('up')).done(function(){
										initEventsSubMenu();
									});
								});
							});
						});
					},
					showBGImage			= function() {
						return $.Deferred(
						function(dfd) {
							//adjusts the dimensions of the image to fit the screen
							adjustImageSize($ac_bgimage);
							$ac_bgimage.fadeIn(1000, dfd.resolve);
						}
					).promise();
					},
					slideOutMenu		= function() {
						/* calculate new width for the menu */
						var new_w	= $(window).width() - $title.outerWidth(true);
						return $.Deferred(
						function(dfd) {
							//slides out the menu
							$menu.stop()
							.animate({
								width	: new_w + 'px'
							}, 700, dfd.resolve);
						}
					).promise();
					},
						/* shows / hides the menu items */
						toggleMenuItems		= function(dir) {
						return $.Deferred(
						function(dfd) {
							$menuItems.each(function(i) {
										var $el_title	= $(this).children('a:first'),
											marginTop, opacity, easing;
										if(dir === 'up'){
											marginTop	= '0px';
											opacity		= 1;
											easing		= 'easeOutBack';
										}
										else if(dir === 'down'){
											marginTop	= '60px';
											opacity		= 0;
											easing		= 'easeInBack';
						}
								$el_title.stop()
								.animate({
													marginTop	: marginTop,
													opacity		: opacity
												 }, 200 + i * 200 , easing, function(){
									if(i === totalItems - 1)
										dfd.resolve();
								});
							});
						}
					).promise();
					},
					initEventsSubMenu	= function() {
						var subToClose = null;
						$menuItems.each(function(i) {
							var $item		= $(this),
							$el_title	= $item.children('a:first'),
							el_image	= $el_title.attr('title'),
							$sub_menu	= $item.find('.ac_subitem'),
							$ac_close	= $sub_menu.find('.ac_close');							

							if($item.attr('title') === 'profs')
							{
								subToClose = $sub_menu;
								openSubMenu($item, $sub_menu, 'images/default.jpg');
							}							

							if($item.attr('title') === 'boutique')
								return false;
							
							$el_title.bind('click.Menu', function(e) {										
										$.when(closeIntroMenu(subToClose)).done(function(){
											openSubMenu($item, $sub_menu, el_image);
										});
								return false;
							});
							$ac_close.bind('click.Menu', function(e) {
								closeSubMenu($sub_menu);
								return false;
							});
						});
					},
					openSubMenu			= function($item, $sub_menu, el_image) {
						$sub_menu.stop()
						.animate({
							height		: '400px',
							marginTop	: '-460px'
						}, 400, function() {
							showItemImage(el_image);
						});
					},
					showItemImage		= function(source) {
						if($ac_bgimage.attr('src') === source)
							return false;
								
						var $itemImage = $('<img src="'+source+'" alt="Background" class="ac_bgimage"/>');
						$itemImage.insertBefore($ac_bgimage);
						adjustImageSize($itemImage);
						$ac_bgimage.fadeOut(1500, function() {
							$(this).remove();
							$ac_bgimage = $itemImage;
						});
						$itemImage.fadeIn(1500);
					},
					closeIntroMenu		= function($sub_menu) {
						$sub_menu.stop()
						.animate({
							height		: '0px',
							marginTop	: '0px'
						}, 400, function(){							
							toggleMenuItems('down');
						});
					},
					closeSubMenu		= function($sub_menu) {
						$sub_menu.stop()
						.animate({
							height		: '0px',
							marginTop	: '0px'
						}, 400, function() {
										toggleMenuItems('up');
						});
					},
					initWindowEvent		= function() {
						$(window).bind('resize.Menu' , function(e) {
							adjustImageSize($ac_bgimage);
							var new_w	= $(window).width() - $title.outerWidth(true);
							$menu.css('width', new_w + 'px');
						});
					},
					adjustImageSize		= function($img) {
						var w_w	= $(window).width(),
						w_h	= $(window).height(),
						r_w	= w_h / w_w,
						i_w	= $img.width(),
						i_h	= $img.height(),
						r_i	= i_h / i_w,
						new_w,new_h,
						new_left,new_top;
							
						if(r_w > r_i){
							new_h	= w_h;
							new_w	= w_h / r_i;
						}
						else{
							new_h	= w_w * r_i;
							new_w	= w_w;
						}
							
						$img.css({
							width	: new_w + 'px',
							height	: new_h + 'px',
							left	: (w_w - new_w) / 2 + 'px',
							top		: (w_h - new_h) / 2 + 'px'
						});
					},
					loadImages			= function() {
						return $.Deferred(
						function(dfd) {
							var total_images 	= $ItemImages.length,
							loaded			= 0;
							for(var i = 0; i < total_images; ++i){
								$('<img/>').load(function() {
									++loaded;
									if(loaded === total_images)
										dfd.resolve();
								}).attr('src' , $ItemImages[i]);
							}
						}
					).promise();
					};
						
					return {
						init : init
					};
				})();
				Menu.init();
			});
