﻿	window.addEvent('domready', function(){
        
        try {
            $('itineraires').setStyle('display','none');
            
            var buttonText = "T\u00E9l\u00E9charge les itin\u00E9raires";
            var firstPass = 1;

            /**
                *******************************************
                creating form elements ...
                *******************************************
            */
	        var f = new Element('form').injectInside('formulaire');
    	    var s1 = new Element('select').injectInside(f);
    	    var span = new Element('span').injectInside(f);
    	    
    	    var s2 = new Element('select',{'id':'languedoc'});
    	    var s3 = new Element('select',{'id':'poitou'});


            /**
                *******************************************
                some utilities ...
                *******************************************
            */    	    
    	    var cleanUp = function(){
    	        if(cleanUp.arguments.length > 0) {
    	            cleanUp.arguments[0].each(function(obj){ if (obj) obj.replaceWith(cleanUp.arguments[1]);});
    	        } else {
    	            if ($('download')) $('download').remove();
    	        }
    	    }
    	    
    	    var makeInput = function(text,value){
    	        el = new Element('input',{
                    'type'      : 'button',
    	            'id'        : 'download',
    	            'value'     : buttonText + ' \'' + text + '\'',
    	            'events'    : {'click': function(){ window.location.href = value;}}
    	        });
    	        return el;
    	    };


            /**
                *******************************************
                managing 'change' event ...
                *******************************************
            */
            [s1,s2,s3].each(function(obj,i){
                new Element('option',{'value':''}).setText(' -- ').injectInside(obj);
                
                obj.addEvent('change',function(e){
                    var event = new Event(e).stop();
                    
                    if (i=='0') {
                        cleanUp(); cleanUp([$('languedoc'),$('poitou')], span);
                        if (/^[/]/.test(this.value)) {
    	                    makeInput(obj.options[obj.selectedIndex].text, obj.getValue()).injectInside(f);
    	                } else if (/^[0-9]/.test(this.value)) {
            	            this.value > 20 ? span.replaceWith(s3) : span.replaceWith(s2);
    	                }
                    } else {
                        cleanUp();
                        if (this.value!='') {
            	            makeInput(obj.options[obj.selectedIndex].text, obj.getValue()).injectInside(f);
    	                }
                    }
                });
            });
            

            /**
                *******************************************
                populate select elements from list content ...
                *******************************************
            */            
            $$('#itineraires li').each(function(li,i){
                el = li.getFirst();
                
                if (el.getProperty('href') != null) {
                    opt = new Element('option',{'value':el.getProperty('href')}).setText(el.getText());
                    
                    if (li.getParent().getProperty('id') == 'itineraires') {
                        opt.injectInside(s1);
                    } else {
                        if (firstPass == 2) {
                            opt.injectInside(s2);
                        } else if (firstPass == 3) {
                            opt.injectInside(s3);
                        }
                    }
                } else {
                    new Element('option',{'value': i}).setText(el.getText()).injectInside(s1);
                    firstPass++;
                }
                
            });
            
            

    	} catch(e) { }

    });

