$(function() {
	
	/**
	* 	GESTION DU MENU PRINCIPALE
	
	
	$("ul#main-nav").superfish({
		hoverClass	: "sfHover",
		pathClass	: "overideThisToUse",
		delay		: 50,
		animation	: {opacity:"show"},
		speed		: "fast",
		onShow		: function(){  } 
	});
*/
	$("ul#main-nav li").hover(
		function(){
			$(this).addClass('sfHover');
		}, function (){
			$(this).removeClass('sfHover')		
		});

	/****************************************
	* 	GESTION DU MENU SECONDAIRE
	*	optimiser au niveau des switch de class.
	*/
	function addRemoveClass (This,statement) {
		//if ( $(This).parent().parent().parent().parent().is('ul') )
			$(This).parent().find('a:first').removeClass().addClass(statement);
	}
	
	$("ul#sub-nav ul").each(function(){
		
		/* LIEN */
		var ali = $(this).parent().find('a:first') ;
		
		/* cherche le page courante pour le menu actif */
		if ( $(this).find('li.current').length == 0 )
		{
			$(this).hide();	
			addRemoveClass(this,'close');
			
		}else{
			$(this).show();
			addRemoveClass(this,'open');
		}
		
		ali.click(function(){
			//ferme toutes les visibles du meme niveau et inf�rieur
			$(this).parent().parent().find('ul:visible').each(function(){
				$(this).slideUp('fast');
				addRemoveClass(this,'close'); 
			});
			
			if ($(this).parent().find('ul:visible').length != 0)
			{
				addRemoveClass(this,'close');	
				/*$(this).parent().children('ul').slideUp('fast');*/
			}else{
				addRemoveClass(this,'open');
				$(this).parent().children('ul').slideDown('fast');
			}
			return false;
		});
		
	});
	
	/**
	*	HOMEPAGE
	*/
	if ($("#headlines").length > 0) {
		$("#headlines").newsTicker(2000);
	}
	//$("ul.jqGalScroll").jqGalScroll({height:268,width:220,ease:'easeOutBack',speed:1000});

	
	/****************************************
	*	PAGINATION + PRINT LINK
	*/
	var i = 0;
	var ul = document.createElement('ul');
	
	$('div.part').each(function(){
		
		i++;
		if (i>1) $(this).hide();
		
		var This = $(this);
		
		var li = document.createElement('li');
		var a  = document.createElement('a');
		
		$(a)
			.text(i)
			.attr('href','#')
			.css('cursor', 'pointer')
			.appendTo(li)
			.click(function(){
				
				var id = $(this).parent().attr('id');
				if ($(this).parent().hasClass('current')) return false;		
				
				$('div.part').hide();
				$('div.pagination ul li').removeClass();
		
				$('div.pagination').find('ul li#'+id).each(function(){
					$(this).addClass('current');										
				})								  
			
				$(This).fadeIn('fast');
				return false;
				
			});
		
		$(li).attr('id','l'+i)
		if (i==1) $(li).addClass('current');
		$(li).appendTo(ul);
		
	});
	
	
	$('div.pagination').each(function(){
		if (i > 0)
		{
			$(ul).clone(true).prependTo(this);
			var p = document.createElement('p');
			$(p).append('pages :');
			$(p).prependTo(this);
		}
		$(this).find('img').click(function(){
			print();
			return false;
		});	
	});
	
	/***************************************
	*	CLUBS SPORTIFS
	*/
	$('table#club-listing thead tr th.coords').remove();
	
	$('table#club-listing tbody tr').each(function(){
		
		var trEnCours = $(this)
		var detailContent = $(this).find('td.coords').html();
		$(this).find('td.coords').remove();
		
		var txt = $(this).find('td.nom').text();
		$(this).find('td.nom').empty();
		var a = $('<a>').css('cursor', 'pointer').text(txt);
		$(a).appendTo($(this).find('td.nom'));

		$(a).click(function(){
			$('table#club-listing tbody tr#detail').remove();
			$(trEnCours).after('<tr id="detail"><td colspan="2">' + detailContent + '</td></tr>');	
		});

	}) 
	
	
	
	/****************************************
	*	gestion module :
	*	ceci g�re l'affichage du d�tail 
	*	ainsi que la pagination
	*/
	// diplay none th.detail
	$('div#content-module table#asso-agenda tr th.col-asso-detail').remove();
	$('div#content-module table#asso-agenda tr th.col-evt-detail').remove();
	
	// construction dela pagination + d�tail
	var i = -2; // compteur
	var nbElt = 5; // nb d'�l�ment par page
	var n = 1;
	var ul = $('<ul>');
	$('div#content-module table#asso-agenda tr').each(function(){
		
		i++;
		
		var trEnCours = $(this);
		var contentAsso = $(this).find('td.col-asso-detail').html();
		$(this).find('td.col-asso-detail').remove();
		var contentEvt = $(this).find('td.col-evt-detail').html();
		$(this).find('td.col-evt-detail').remove();
		
		// click for more detail
		$(this).find('th.col-asso-nom a').click(function(){
			$('div#content-module table#asso-agenda tr.detail').remove();
			var tr = $('<tr>').addClass('detail');
			var td = $('<td>').addClass('col-detail');
			$(td).attr('colSpan', '4');
			$(td).html(contentAsso).appendTo($(tr));
			$(tr).insertAfter(trEnCours); 
			return false;
		});
		
		// click for more detail
		$(this).find('td.col-asso-nom a').click(function(){
			$('div#content-module table#asso-agenda tr.detail').remove();
			var tr = $('<tr>').addClass('detail');
			var td = $('<td>').addClass('col-detail');
			$(td).attr('colSpan', '4');
			$(td).html(contentAsso).appendTo($(tr));
			$(tr).insertAfter(trEnCours); 
			return false;
		});
		
		// click for more detail
		$(this).find('th.col-evt a').click(function(){
			$('div#content-module table#asso-agenda tr.detail').remove();
			var tr = $('<tr>').addClass('detail');
			var td = $('<td>').addClass('col-detail');
			$(td).attr('colSpan', '4');
			$(td).html(contentEvt).appendTo($(tr));
			$(tr).insertAfter(trEnCours); 
			return false;
		});
		
		// to paginate
		if (i == nbElt) {
			
			i = 0;
			// create first index
			if (n == 1) {
				var li = document.createElement('li');
				var a  = document.createElement('a');
				$(a)
					.css('cursor', 'pointer')
					.attr('href','#')
					.text(n)
					.appendTo(li)
					.click(function(){
						$('div#content-module table#asso-agenda tbody tr').hide();
						$('div#content-module table#asso-agenda tbody tr.line'+$(this).text()).show();
						$('div.pagination ul li').removeClass();
						$('div.pagination').find('ul li#li1').addClass('current');
						return false;
					});
				$(li)
					.attr('id','li1')
					.appendTo(ul);
			}
			
			n++;
			// li create
			var li = document.createElement('li');
			var a  = document.createElement('a');
			$(a)
				.css('cursor', 'pointer')
				.attr('href','#')
				.text(n)
				.appendTo(li)
				.click(function(){
					var nLi = $(this).text();
					$('div#content-module table#asso-agenda tbody tr').hide();
					$('div#content-module table#asso-agenda tbody tr.line'+$(this).text()).show();
					$('div.pagination ul li').removeClass();
					$('div.pagination').find('ul li#li'+nLi).addClass('current');
					return false;
				})
			
			$(li)
				.attr('id','li'+n)
				.appendTo(ul);
		}
		$(this).addClass('line'+n);
		
	});
	
	
	$('div.pagination').each(function(){
		if (n > 1)
		{
			$(ul).clone(true).prependTo(this);
			var p = document.createElement('p');
			$(p).append('pages :');
			$(p).prependTo(this);
			$(this).find('ul li#li1').addClass('current');
			$('div#content-module table#asso-agenda tbody tr').hide();
			$('div#content-module table#asso-agenda tbody tr.line1').show();
		}
		$(this).find('img').click(function(){
			print();
			return false;
		});
	});
	
	/****************************************
	*	module medias compte rendu
	*/
	var d = $('body#module.media div#content-module div.box-actu div.col_b div.dl-pdf');
	$('div.dl-pdf:has(a)').each(function(){
		$(this)
			.css('cursor', 'pointer')
			.click(function(){
				window.location.replace($(this).find('a').attr('href'));			
			});		
	});
	$('div.dl-pdf:has(select)').each(function(){
		var form = $(this).find('form');
		$(this).find('select').change(function(){
			$(form).submit();
		});
		$(this).find('input:submit').remove();
	});
	
	/****************************************
	*	module inscription manif
	*/
	/* suppression textarea */
	var n_period = 0 ;
	$('div.inscription p#infos-supp').remove();
	
	
	function initDatePicker(n) {
		$('#date-range-start-' + n).datepicker({
			//rangeSelect: true,
			showOn: 'button', 
			buttonImage: '_inc/medias/__extension/datepicker/calendar.gif', 
			buttonImageOnly: true,
			dateFormat: 'dd/mm/yy'
		});
		$('#date-range-start-' + n).datepicker($.extend({showStatus: true}, $.datepicker.regional['fr']));
		$('#date-range-end-' + n).datepicker({
			//rangeSelect: true,
			showOn: 'button', 
			buttonImage: '_inc/medias/__extension/datepicker/calendar.gif', 
			buttonImageOnly: true,
			dateFormat: 'dd/mm/yy'
		});
		$('#date-range-end-' + n).datepicker($.extend({showStatus: true}, $.datepicker.regional['fr']));
	}
	
	function getFormPeriode(n) {
				
		var div = $('<div>').addClass('date-propal');
		
		var p = $('<p>');
		var label = $('<label>');
		var input = $('<input>');
		
		//date-range
		var pDateRange = $(p).clone();
		$('<label for="date-range-start-' + n + '">date de début</label>').appendTo(pDateRange);
		var inputDateRangeStart = $(input)
								.clone()
								.attr('id', 'date-range-start-' + n)
								.attr('name', 'date[' + n + '][d][start]')
								.addClass('small')
								.appendTo(pDateRange);
		$('<label for="date-range-end-' + n + '" class="small">fin</label>').appendTo(pDateRange);
		var inputDateRangeEnd = $(input)
								.clone()
								.attr('id', 'date-range-end-' + n)
								.attr('name', 'date[' + n + '][d][end]')
								.addClass('small')
								.appendTo(pDateRange);
		
		//horraire
		var pHorraire = $(p).clone();
		$('<label for="horraire-range-' + n + '">horraire</label>').appendTo(pHorraire);
		var inputHorraire = $(input)
								.clone()
								.attr('id', 'horraire-' + n)
								.attr('name', 'date[' + n + '][h]')
								.appendTo(pHorraire);
		
		$(div)
			.append(pDateRange)
			.append(pHorraire);
		
		return $(div);
		
	}
	
	var a = $('<a id="add-date">ajouter une période</a>')
				.css('cursor', 'pointer')
				.click(function(){
					n_period++;
					var r = getFormPeriode(n_period);
					$(this).before(r);
					initDatePicker(n_period);
				})
	
	var first = getFormPeriode(n_period);
	
	$('div.date-propal').replaceWith(first);
	$(a).insertAfter('div.date-propal');
	
	initDatePicker(0);
	
	// Validate form 
	var tx_adsmanifestation_pi1 = new Array();
	$('#manif-form').validate({
		rules: {
			'tx_adsmanifestation_pi1[nommanifestation]': 'required',
			'tx_adsmanifestation_pi1[descriptionmanifestation]': 'required',
			'tx_adsmanifestation_pi1[lieumanifestation]': 'required',
			'tx_adsmanifestation_pi1[villemanisfestation]': 'required',
			'tx_adsmanifestation_pi1[nomorganisateur]': 'required',
			'tx_adsmanifestation_pi1[nomassociationmanifestation]': 'required',
			'tx_adsmanifestation_pi1[emailorganisateur]': {
				email: true
			}
		},
		messages: {
			'tx_adsmanifestation_pi1[nommanifestation]': 'Veuillez indiquer un nom',
			'tx_adsmanifestation_pi1[descriptionmanifestation]': 'Veuillez indiquer une description',
			'tx_adsmanifestation_pi1[lieumanifestation]': 'Veuillez indiquer un lieu',
			'tx_adsmanifestation_pi1[villemanisfestation]': 'Veuillez indiquer une ville',
			'tx_adsmanifestation_pi1[nomorganisateur]': 'Veuillez indiquer l\'organisateur',
			'tx_adsmanifestation_pi1[nomassociationmanifestation]': 'Veuiller indiquer l\'association',
			'tx_adsmanifestation_pi1[emailorganisateur]': {
				email: 'Le format de l\'adresse mail est invalide'
			}
		}
	});
	
	$('#manif-form').submit(function() {
		
		var val = $('input[@id=date-range-start-0]').val();
		var label = $('<label for="date-range-0">Veuillez indiquer au moins une date</label>').addClass('error');

		if (val == ''){
		
			$('input[@id=date-range-end-0]').parent().after(label);	
			$('input[@id=date-range-start-0]').change(function(){
				
				if ($(this).val() == '') {
					$('input[@id=date-range-end-0]').parent().after(label);
				}else{
					$(label).remove();
				}
			
			});

			return false;

		}else{
			return true;
		}
		
	});
	
	
	/****************************************
	*	module sortir agenda
	*/
	$('div.box-agenda').each(function(){
	
		var href = $(this).find('a').attr('href');
		var caption = $(this).find('a').attr('title');
		
		var classes = $(this).attr('class');
		var reg = new RegExp('[ ]+', 'g');
		var t = classes.split(reg);
				
		$(this)
			.hover(
				function(){
					$(this).find('ul').addClass('hover');
				},
				function() {
					$(this).find('ul').removeClass();			
				}			
			)
			.css('cursor', 'pointer')
			.click(function(){
				tb_show(caption, href, '', t[1]);
			});
		
	});
	
	
	
	
	/*
	$.slideshow({
				container : 'slideShow1',
				loader: 'images/slideshow_loader.gif',
				linksPosition: 'top',
				linksClass: 'pagelinks',
				linksSeparator : ' | ',
				fadeDuration : 400,
				activeLinkClass: 'activeSlide',
				nextslideClass: 'nextSlide',
				prevslideClass: 'prevSlide',
				captionPosition: 'bottom',
				captionClass: 'slideCaption',
				autoplay: 5,
				random: true
			})*/
	/**
	*	C'EST PRATIQUE 
	
	function showPratique() {
        $('div.bloc-pratique-content-n2').slideDown('fast');
        $('div.bloc-pratique-bottom-n2').slideDown('fast');
        $('a#togglePratique').removeClass();        
		$('a#togglePratique').addClass('down');
	}
	function hidePratique() {
        $('div.bloc-pratique-content-n2').slideUp('fast');
        $('div.bloc-pratique-bottom-n2').slideUp('fast');
        $('a#togglePratique').removeClass();        
		$('a#togglePratique').addClass('up');
	}
	hidePratique();
	$('a#togglePratique').toggle(
      	function () {
       		showPratique();
     	},
      	function () {
			hidePratique();    
		}
    );
	*/
	
							
});