var catalogueMenu = null;
var catalogueMenuNr = 0;

var demoMode = 'off';

var moduleBulleNr = 0;
var moduleBulleTimer = null;
var moduleBulleActive = 0;
var moduleBulleActiveObject = null;

window.addEvent('domready', function ()
{
	// liste démo
	
	var i = 0;
	$$('#demoListItems ul').each(function(item){
		if(i > 0)
			item.setStyle('display', 'none');
		i++;
	});
	
	$$("#demoListMore").addEvent('click', function()
	{
		if ( demoMode == 'off' )
		{
			this.removeClass('demoListMoreOff');
			this.addClass('demoListMoreOn');
			$$('#demoListItems').setStyle('height', 'auto');
			this.getElement('span').setStyle('display', 'none');
			demoMode = 'on';
			$$('#demoListItems ul').each(function(item){
				item.setStyle('display', 'block');
			});
	
		}
		else
		{
			this.removeClass('demoListMoreOn');
			this.addClass('demoListMoreOff');
			this.getElement('span').setStyle('display', 'block');
			$$('#demoListItems').setStyle('height', '90px');
			demoMode = 'off';
			var i = 0;
			$$('#demoListItems ul').each(function(item){
				if(i > 0)
					item.setStyle('display', 'none');
				i++;
			});
		}
	
	});
	
	// accordion
	new Accordion('dl.accordion dt.accordionTitle',	'dl.accordion dd.accordionContent',
	{
		alwaysHide:false, // empeche de refermer l'element ouvert
		
		onActive: function(el)
		{
			el.addClass('active');
		},
		onBackground: function(el)
		{
			el.removeClass('active');
		}
	});
	
	// sommaire catalogue
	var i = 0;	
	$$('#sommaireCatalogue .menu').each(function(item)
	{
		var oppener = item.getElement('.oppener');
		oppener.rel = ++i;
		
		oppener.addEvent('click', function()
		{
			var content = this.getParent().getElement('.items');
			
			if ( catalogueMenuNr != 0 && catalogueMenuNr != this.rel )
			{
				catalogueMenu.setStyle('display', 'none');
				catalogueMenu = null;
				catalogueMenuNr = 0;
			}
			
			if ( content.getStyle('display') == 'none' ) 
			{
				content.setStyle('display', 'block');
				catalogueMenu = content;
				catalogueMenuNr = this.rel;
			}
			else
			{
				content.setStyle('display', 'none');
				catalogueMenu = null;
				catalogueMenuNr = 0;
			}
		});
	});
	
	// parcours sur fiche module
	$$('#moduleDetail .parcours .module').each(function(item)
	{
		var link = item.getElement('a');	
		var bulle = item.getElement('.bulle');	
		
		if ( link && bulle )
		{		
			++ moduleBulleNr;
			
			link.rel = moduleBulleNr;
			
			link.addEvent('mouseover', function()
			{
				if ( moduleBulleActiveObject && moduleBulleActive != this.rel )
					moduleBulleActiveObject.getParent().removeClass('moduleOver');
			
				clearTimeout(moduleBulleTimer);
			
				this.getParent().addClass('moduleOver');
				moduleBulleActive = this.rel;
				moduleBulleActiveObject = this;
			});
			link.addEvent('mouseout', function()
			{
				var obj = this;
				moduleBulleTimer = setTimeout(function() {obj.getParent().removeClass('moduleOver'); }, 150);
			});
			bulle.addEvent('mouseover', function()
			{
				if ( moduleBulleActiveObject && moduleBulleActive != this.rel )
					moduleBulleActiveObject.getParent().removeClass('moduleOver');
			
				clearTimeout(moduleBulleTimer);
			
				var link = this.getParent().getElement('a');
			
				link.getParent().addClass('moduleOver');
				moduleBulleActive = link.rel;
				moduleBulleActiveObject = link;
			});
			bulle.addEvent('mouseout', function()
			{
				var link = this.getParent().getElement('a');
				moduleBulleTimer = setTimeout(function() {link.getParent().removeClass('moduleOver'); }, 150);
			});
		}
	});
	
	// formulaire selection
	$$('#demande_devis').addEvent('change', function()
	{
		if ( this.value == 1 )
			$$('.demande_devis').setStyle('display', 'block');
		else
			$$('.demande_devis').setStyle('display', 'none');
	});
	
	// Ma selection / checkbox
	$$('#selectionBloc .list div input').each(function(item)
	{
		item.addEvent('click', function()
		{
			if ( confirm('Voulez vous supprimer cet élément de votre sélection ?') )
			{
				var inputObj = this;
				new Ajax(baseURL +'?id=1&type=501&elem='+ this.value, {
	                onComplete: function()
	                {
	                	inputObj.getParent().setStyle('display', 'none');
	                }
	            }).request();
			}
			else
				this.checked = true;
		});
		item.addEvent('focus', function()
		{
			if ( confirm('Voulez vous supprimer cet élément de votre sélection ?') )
			{
				var inputObj = this;
				new Ajax(baseURL +'?id=1&type=501&elem='+ this.value, {
	                onComplete: function()
	                {
	                	inputObj.getParent().setStyle('display', 'none');
	                }
	            }).request();
			}
			else
				this.checked = true;
		});
	});
	
    $$('.withItems').each(function(item)
    {
    	
	    var content = item.getElement('.listItems');
	    var scrollbar = item;
	    var handle = item.getElement('.scroll').getElement('.puce');
	    var horizontal = false;
	    var ignoreMouse = false;
	    // var steps = content.scrollHeight - content.offsetHeight;
	    var thesteps = content.scrollHeight - content.offsetHeight;
	    
	    var slider = new Slider(scrollbar, handle, {
	        // steps: steps,
	        mode: 'vertical',
	        // steps: thesteps,
	        onChange: function(step){
	            // Scrolls the content element in x or y direction.
	            var x = 0;
	            var y = step;
	            content.scrollTop = step;
	            //content.scrollTo(x,y);
	        }
	    }).set(0);
	    
	    if( !(ignoreMouse) ){
	        // Scroll the content element when the mousewheel is used within the 
	        // content or the scrollbar element.
	        $$(content, scrollbar).addEvent('mousewheel', function(e){
	            e = new Event(e).stop();
	            var step = slider.step - e.wheel * 30;    
	            slider.set(step);
	        });
	    }
	    // Stops the handle dragging process when the mouse leaves the document body.
	    $(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
	    
    });
    
    // Accordéon parcours
    var moduleAccordion = new Accordion('#module_parcours div.title',	'#module_parcours div.content',
	{
		alwaysHide: true,
		display: -1,
		onActive: function(el)
		{
			el.addClass('active');
			
			el.getParent().getElement('.bottom .show').setStyle('display', 'none');
			el.getParent().getElement('.bottom .hide').setStyle('display', 'block');
			
			el.getParent().getElement('.bottom .parcours_ajouter').setStyle('display', 'block');
			if(el.getParent().getElement('.bottom .parcours_voir_detail'))
				el.getParent().getElement('.bottom .parcours_voir_detail').setStyle('display', 'block');
			
			(function()
				{
					el.getParent().getElement('.content').setStyle('overflow', 'visible');
					el.getParent().getElement('.content').setStyle('padding-top', '5px');
					el.getParent().getElement('.content').setStyle('padding-bottom', '5px');
				}
			).delay(500);
		},
		onBackground: function(el)
		{
			el.getParent().getElement('.content').setStyle('padding-top', '0px');
			el.getParent().getElement('.content').setStyle('padding-bottom', '0px');
			
			el.removeClass('active');
			el.getParent().getElement('.content').setStyle('overflow', 'hidden');
			
			el.getParent().getElement('.bottom .show').setStyle('display', 'block');
			el.getParent().getElement('.bottom .hide').setStyle('display', 'none');
			
			el.getParent().getElement('.bottom .parcours_ajouter').setStyle('display', 'none');
			if(el.getParent().getElement('.bottom .parcours_voir_detail'))
				el.getParent().getElement('.bottom .parcours_voir_detail').setStyle('display', 'none');
			
		}
	});
    
    $$('#module_parcours .show').each(function(el)
    	{
    		
			el.addEvent('click', function()
				{
					moduleAccordion.display(el.getProperty('rel'));
					// moduleAccordion.display(this.getParent('.parcours').getElement('.content'));
				}
			);
    	}
    );
    
    $$('#module_parcours .hide').each(function(el)
    	{
    		
			el.addEvent('click', function()
				{
					moduleAccordion.display(el.getProperty('rel'));
					// moduleAccordion.display(this.getParent('.parcours').getElement('.content'));
				}
			);
    	}
    );
    
});

function changeOngletModule(id)
{
	
	if(!$$('#module_parcours')) return false;
	if(id == 'parcours')
	{
		$$('#module_description').setStyle('display', 'none');
		$$('#onglet_description').removeClass('onglet_on');
		$$('#module_parcours').setStyle('display', 'block');
		$$('#onglet_parcours').addClass('onglet_on');
	}
	else
	{
		$$('#module_description').setStyle('display', 'block');
		$$('#onglet_description').addClass('onglet_on');
		$$('#module_parcours').setStyle('display', 'none');
		$$('#onglet_parcours').removeClass('onglet_on');
	}
	return false;
}