/**
 * \author		@@ide-info (http://www.ai-dev.fr)
 * \copyright	Copyright 2011, @@ide-info
 * \license 	GNU GPL (http://www.opensource.org/licenses/gpl-3.0)
 * 
 * \file 	includes/functions_$.js
 * \brief	$ functions for MR lacets template
 * 
 */

var onMenu = false;

$(document).ready(function(){ 

	/* Déplacement du sur-menu */
	$('div#right_column').children('ul').children('ul.block_various_links').appendTo('div#header');

	/* Suppression du H4 */
	$('div#header').children('ul#block_various_links_1').children('h4').remove();
	
	/* Le sous-menu du sur-menu est caché et déplacé dans le premier sous identité */
	$('div#header').children('ul#block_various_links_2').hide();
	
	$('div#header').children('ul#block_various_links_1').children(':first-child').mouseenter( function() {
		onMenu = true;
		$(this).addClass('over');
		$('div#header').find('ul#block_various_links_2').show();
	});

	$('div#header').children('ul#block_various_links_1').children(':first-child').mouseleave( function() {
		onMenu = false;
		setTimeout("ai_hide_menu()", 500);
	});
	$('div#header').children('ul#block_various_links_2').mouseenter( function() {
		onMenu = true;
	});
	$('div#header').children('ul#block_various_links_2').mouseleave( function() {
		onMenu = false;
		setTimeout("ai_hide_menu()", 500);
	});

	/* Affichage des sous-menus */
	$('div#adtm_menu_inner ul#menu li.li-niveau1').mouseover(function(){
		$(this).children('div.adtm_sub').css('left', '0');
		$(this).addClass('actif');
	});
	$('div#adtm_menu_inner ul#menu li.li-niveau1').mouseout(function(){
		$(this).children('div.adtm_sub').css('left', '-9999px');
		$(this).removeClass('actif');
	});
	
	/* Chargement des liens dans le footer */
	$.get(baseDir + 'themes/matrice/includes/ai_ajax.php?action=footer', function(data) {
		$('div#footer').html(data);
	});
	
	/* Connexion */
	$('span#connection_link').click(function() {
		if ( $(this).hasClass('actif') )
		{
			$('div#header_connection').hide();
			$(this).removeClass('actif');
		}
		else
		{
			$('div#header_connection').show();
			$(this).addClass('actif');
		}
	});
	
	/*	Déplacement du bloc panier dans le header */
	$('div#cart_block').hide();
	$('div#cart_block').appendTo('div#header div#header_cart');
	
	/* Depliage du panier */
	$('div#header_cart').mouseenter(function() {
		//	On déplie le panier
		$('div#cart_block').show();
	});
	
	/* Repliage du panier */
	$('div#cart_block').mouseleave(function() {
		//	On replie le panier uniquement si nécessaire
		$('div#cart_block').hide();
	});
	
	/* Ouverture complète du panier */
	$('div#header div#header_cart img#cart_deploy').click(function() {
		$(this).hide();
		$(this).parent().children('dl.products').children('dt').each(function() {
			$(this).removeClass('ai_invisible');
		});
		$(this).parent().children('dl.products').children('dd').each(function() {
			$(this).removeClass('ai_invisible');
		});
	});

	/* Placement bloc haut */
	$('div.logo_centre').prepend($('div#header_user'));
	$('div#header_connection').css('margin-left', 176 - parseInt($('div#languages_block_top').css('width')));
	
	/* Affichage des articles CMS sauf si produit ou catégorie */
	if ( !$('body#category').size() && !$('body#product').size() )
	{
		$('div#left_column div.ai_bloc_milieu').each(function() {
			if ( $(this).attr('id').indexOf('cms_') != -1  )
			{
				var controle = $(this);
				$.get(baseDir + 'themes/matrice/includes/ai_ajax.php?action=cms&id=' + $(this).attr('id').replace('cms_', ''), function(data) {
					if ( data != '' )
					{
						controle.html(data);
						controle.show();
						$('div.' + controle.attr('id')).show();
					}
				});
			}
			else if ( $(this).attr('id') == 'ai_nouveau_produit' )
			{
				var bloc = $('div#right_column UL div.footer_stuffs LI').html();
				if ( $.trim(bloc) != '' )
				{
					$(this).html(bloc);
					$(this).show();
					$('div#left_column div#ai_nouveau_produit_titre').show();
				}
			}
		});
	}

	/* Affichage de la colonne de gauche */
	$('div#left_column').show();
	
	/* Click bouton ACHETER produits phares */
	$('div#center_column div.products_block span.ajax_add_to_cart_button').click(function(){
		var parent = $(this).parents('li.ajax_block_product');
		parent.addClass('ai_over');
		parent.children('div.ai_defaut').hide();
		parent.children('div.add_it').show();
		parent.children('div.ai_close').show();
	});
	$('div#center_column div.products_block li.ajax_block_product div.ai_close').click(function(){
		var parent = $(this).parents('li.ajax_block_product');
		parent.children('div.ai_close').hide();
		parent.children('div.add_it').hide();
		parent.children('div.ai_defaut').show();
		parent.removeClass('ai_over');
		$(this).hide();
	});
	
	/* Ajout et suppression de quantité */
	$('div#center_column div.add_it img.quantity_less').click(function() {
		var quantite = parseInt($(this).parents('div.add_it_quantity').find('input.quantity_wanted').val());
		if ( quantite > 1 )
			$(this).parents('div.add_it_quantity').find('input.quantity_wanted').val(quantite - 1);
	});
	$('div#center_column div.add_it img.quantity_more').click(function() {
		var quantite = parseInt($(this).parents('div.add_it_quantity').find('input.quantity_wanted').val());
		if ( quantite < 99 )
			$(this).parents('div.add_it_quantity').find('input.quantity_wanted').val(quantite + 1);
	});
	
	/* Submit du formulaire */
	$('div#center_column div.add_it a.ajax_add_to_cart_button.ai_cart_add').click(function() {
		var ref = $(this).attr('href');
		ref = ref.replace('&id_product=', '&qty=' + $(this).parents('div.add_it').find('input.quantity_wanted').val() + '&id_product=')
		$(this).attr('href', ref);
	});
	
	/*	Menu vertical de la page produit */
	$('div#categories_block_left div.block_content ul.tree').children('LI').each(function() {
		if ( !$(this).hasClass('cat_8') &&  !$(this).hasClass('cat_9') &&  !$(this).hasClass('cat_10') )	//	Arbitrairement les 3 catégories principales uniquement
			$(this).hide();
		else
			$(this).children('UL').show();
	});

	$('div#categories_block_left div.block_content ul.tree LI UL LI A').click(function() {
		if ( $(this).parent('LI').children('span.grower').size() )
		{
			$(this).parent('LI').children('UL').show();
			return false;
		}
	});
	
	/* Produits liés */
	if ( $('div#accessories_carrousel').size() )
		$('ul#more_info_tabs li:first-child').hide();
	$('div#primary_block').append($('div#idTab4'));
	$('div#primary_block div#idTab4').prepend($('ul#more_info_tabs li:first-child SPAN'));
	$('div#idTab4').show();
	
	/* Mise en forme du prix */
	if ( $('form#buy_block div#our_price_display').size() )
		ai_update_price_display();
	
	/* Mise en forme de l'ancien prix */
	if ( $('form#buy_block div#our_old_price_display').size() )
	{
		var price = productPriceTaxIncluded;
		var intPrice = parseInt(price);
		var intDecimal = parseInt((price - intPrice) * 100);
		$('form#buy_block div#our_old_price_display').html('<div class="ai_old_small">' + currencySign + intDecimal + '</div><div class="ai_old_big">' + intPrice + '</div>');
	}
	
	/* Carrousel */
	if ( $('.carrousel').size() )
	{
		/* Paramètres */
		var largeur_fp = parseInt($('.carrousel .carrousel_image').css('width')) + parseInt($('.carrousel .carrousel_image').css('margin-left')) + parseInt($('.carrousel .carrousel_image').css('margin-right'));
		var position_fp = 1;
		var nombre_fp = $('.carrousel .carrousel_image').size();
		var affiches_fp = 3;
		
		/*	Initialisation paramètres */
		$('.carrousel .carrousel_precedent').css('cursor', 'default');
		if ( affiches_fp == nombre_fp )
			$('.carrousel .carrousel_suivant').css('cursor', 'default');
		
		/*	On cache les éléments en dehors de la plage */
		var compteur = 0;
		$('.carrousel .carrousel_images .carrousel_images_conteneur li.carrousel_image').each(function() {
			compteur ++;
			if ( compteur > affiches_fp )
				$(this).hide();
		});
		
		/* Marche avant */
		$('.carrousel .carrousel_suivant').click(function(){
			if ( position_fp <= (nombre_fp - affiches_fp) )
			{
				position_fp ++;
				$('.carrousel .carrousel_images .carrousel_images_conteneur').animate({marginLeft: '-' + ((position_fp - 1) * largeur_fp) + 'px'}, 1000, function(){
					//	On affiche l'élément qui entre dans la plage
					var index = position_fp + affiches_fp - 2;
					$('.carrousel .carrousel_images .carrousel_images_conteneur li.carrousel_image:eq(' + index + ')').show();
				});
			}
			
			if ( position_fp > (nombre_fp - affiches_fp) )
				$(this).css('cursor', 'default');
			else
				$(this).css('cursor', 'pointer');				
			$('.carrousel .carrousel_precedent').css('cursor', 'pointer');				
		});
		
		/* Marche arrière */
		$('.carrousel .carrousel_precedent').click(function(){
			if ( position_fp > 1 )
			{
				position_fp --;
				$('.carrousel .carrousel_images .carrousel_images_conteneur').animate({marginLeft: '-' + ((position_fp - 1) * largeur_fp) + 'px'}, 1000, function(){
					//	On efface l'élément qui sort de la plage
					var index = position_fp + affiches_fp - 1;
					$('.carrousel .carrousel_images .carrousel_images_conteneur li.carrousel_image:eq(' + index + ')').hide();
				});
			}

			if ( position_fp == 1 )
				$(this).css('cursor', 'default');
			else
				$(this).css('cursor', 'pointer');				
			$('.carrousel .carrousel_suivant').css('cursor', 'pointer');				
		});
	}

	//	Si article sélectionné en promo, on affiche l'ancien prix 
	$('div#attributes SELECT').each(function() {
		if ( $(this).children('option:selected').size() )
		{
			if ( $(this).children('option:selected').html().indexOf('(-') != -1 )
			{
			    $('div#our_old_price').css('visibility', 'visible');
			    $('div#global_price div.our_price_display').addClass('new_price');
			}
		}
	});
	
	//	Lors d'un changement de valeur on revérifie les prix et l'affichage
	$('div#attributes SELECT').change(function() {
		if ( $(this).children('option:selected').size() )
		{
			ai_update_price_display();
			if ( $(this).children('option:selected').html().indexOf('(-') != -1 )
			{
			    $('div#our_old_price').css('visibility', 'visible');
			    $('div#global_price div.our_price_display').addClass('new_price');
			}
			else
			{
			    $('div#our_old_price').css('visibility', 'hidden');
			    $('div#global_price div.our_price_display').removeClass('new_price');
			}
		}
	});

	//	Affichage promo si nécéssaire
	if ( $('div#our_old_price').size() && $('div#our_old_price').hasClass('reduction') )
	{
	    $('div#our_old_price').css('visibility', 'visible');
	    $('div#global_price div.our_price_display').addClass('new_price');
	}
	
	//	Menus pour catégories
	if ( $('input#category_id').size() )
	{
		$('ul#menu li.li-niveau1 A').each(function() {
			if ( $(this).attr('href').indexOf('id_category=' + $('input#category_id').val()) != -1 )
			{
				$(this).parent().addClass('over');
				$(this).parents('div#adtm_menu_inner').addClass('over_' + $('input#category_id').val());
			}
		});	
	}
	
	//	Déplacement du sitemap
	if ( $('div#sitemap_container').size() )
		$('div#left_column').after($('div#sitemap_container'));
	
	//	Déplacement du bloc mon compte
	if ( $('div#myaccount_container').size() )
		$('div#left_column').after($('div#myaccount_container'));
	
	//	Déplacement du bloc historique commandes
	if ( $('div#history_container').size() )
		$('div#left_column').after($('div#history_container'));
	
	//	Déplacement du bloc reductions
	if ( $('div#order_slip_container').size() )
		$('div#left_column').after($('div#order_slip_container'));
	
	//	Déplacement du bloc identité
	if ( $('div#identity_container').size() )
		$('div#left_column').after($('div#identity_container'));
	
	//	Déplacement du bloc bons de réductions
	if ( $('div#vounchers_container').size() )
		$('div#left_column').after($('div#vounchers_container'));
	
	//	Déplacement du bloc commande
	if ( $('div#order_opc_container').size() )
		$('div#left_column').after($('div#order_opc_container'));
	
	//	Déplacement du bloc mes alertes
	if ( $('div#myalerts').size() )
		$('div#left_column').after($('div#myalerts'));
	
	//	Déplacement du bloc mon adresse
	if ( $('div#adress_container').size() )
		$('div#left_column').after($('div#adress_container'));
	
	//	Si affichage de produits d'une catégorie et d'une catégorie, l'affichage est différent de l'affichage des sous-catéories */
	if ( $('div.list_categorie_product').size() || $('body#category').size() )
	{
		/*$('div.list_product').css('width', '670px');
		$('div.list_product').css('float', 'right');
		$('div.list_product').css('margin-top', '2em');*/
		$('div#categories_block_left').show();
		$('div.list_product').before($('div#left_column'));
	}
	
	//	Menus titres inactifs sur menu de gauche
	if ( $('ul.tree.dynamized').size() )
	{
		$('ul.tree.dynamized').children('LI').each(function() {
			$(this).children('A').attr('onclick', 'return false;');
			$(this).children('A').attr('href', '#');
		});
		
	}
	
	//	Suppression de la connexion si pages authentification ou order-opc
	if ( $('body#order-opc').size() )
	{
		$('body#order-opc div#header_user ul.header_links LI span#connection_link').parent().remove();
		$('body#order-opc div#header_user div#header_connection').remove();
	}
	if ( $('body#authentication').size() )
	{
		$('body#authentication div#header_user ul.header_links LI span#connection_link').parent().remove();	
		$('body#authentication div#header_user div#header_connection').remove();
	}
	
	//	Suppression du bord sur le premier moyen de paiement
	if ( $('div#HOOK_PAYMENT').size() )
		$('div#HOOK_PAYMENT p:first-child A').css('border', 'none');
	
});

function ai_update_price_display()
{
	var price = $('form#buy_block div#our_price_display').html();
	var tab = price.split(',');
	if ( tab.length == 0)
		tab = price.split('.');
	var tab2 = tab[1].split(' ');
	$('form#buy_block div#our_price_display').html('<div class="ai_small">' + currencySign + tab2[0] + '</div><div class="ai_big">' + tab[0] + '</div>');	
}

function ai_hide_menu()
{
	if ( !onMenu )
	{
		$('div#header').children('ul#block_various_links_1').children(':first-child').removeClass('over');
		$('div#header').find('ul#block_various_links_2').hide();		
	}
}

