var nav = {
    menu: [
        { id: 'nav-devis', text: 'Devis' , menu: [
            { text: 'Voitures', menu: [
                { href: '/devis/devis-voitures.htm?Citadines', text: 'Citadines' },
                { href: '/devis/devis-voitures.htm?Berlines', text: 'Berlines & Routières' },
                { href: '/devis/devis-voitures.htm?Automatiques', text: 'Automatiques' },
				{ href: '/devis/devis-voitures.htm?Monospaces', text: 'Monospaces' },
            //    { href: '/devis/devis-voitures.htm?Minibus', text: 'Minibus' },
				{ href: '/devis/devis-voitures.htm?4x4', text: '4x4' },
				{ href: '/devis/devis-voitures.htm?Cabriolets', text: 'Cabriolets' }
            ] },
            { text: 'Utilitaires', menu: [
                { href: '/devis/devis-utilitaires.htm?Societe', text: 'Véhicules de société' },
                { href: '/devis/devis-utilitaires.htm?Fourgons', text: 'Fourgons' },
				{ href: '/devis/devis-utilitaires.htm?Frigos', text: 'Frigos' },
				{ href: '/devis/devis-utilitaires.htm?Bennes', text: 'Bennes' },                
				{ href: '/devis/devis-utilitaires.htm?MinibusVU', text: 'Minibus' }
            ] } 
			//{ href: '/devis/espace-pro.htm', text: 'Espace Pro.' }
        ] },
        { id: 'nav-parc', text: 'Parc de v&eacute;hicules' , menu: [
            { text: 'Voitures', menu: [

                { href: '/parc/parc-voitures.htm?Citadines', text: 'Citadines' },
                { href: '/parc/parc-voitures.htm?Berlines', text: 'Berlines & Routières' },
                { href: '/parc/parc-voitures.htm?Automatiques', text: 'Automatiques' },
				{ href: '/parc/parc-voitures.htm?Monospaces', text: 'Monospaces' },
               // { href: '/parc/parc-voitures.htm?Minibus', text: 'Minibus' },
				{ href: '/parc/parc-voitures.htm?4x4', text: '4x4' },
				{ href: '/parc/parc-voitures.htm?Cabriolets', text: 'Cabriolets' }

            ] },
            { text: 'Utilitaires', menu: [
                { href: '/parc/parc-utilitaires.htm?Societe', text: 'Véhicules de société' },
                { href: '/parc/parc-utilitaires.htm?Fourgons', text: 'Fourgons' },
				{ href: '/parc/parc-utilitaires.htm?Frigos', text: 'Frigos' },
				{ href: '/parc/parc-utilitaires.htm?Bennes', text: 'Bennes' },                
				{ href: '/parc/parc-utilitaires.htm?MinibusVU', text: 'Minibus' }
            ] }
        ] },
        { id: 'nav-offres', text: 'Offres Commerciales' , menu: [
           { href: '/offres/loisir.htm', text: 'Loisir, vacances, week-end' },
           { href: '/offres/evenement.htm', text: 'Ev&eacute;nement' }//,
//           { href: '/offres/professionnelles.htm', text: 'Pro.' }
           
        ] },
		{ id: 'nav-occasion', href: '/occasion/vehicule-occasion.htm', text: 'V&eacute;hicules d\'occasion' },
		 { id: 'nav-entreprise', text: 'Notre entreprise' , menu: [
				//{ href: '/entreprise/nos-valeurs.htm', text: 'Nos valeurs' },			
				{ href: '/entreprise/historique.htm', text: 'Qui sommes-nous ?' },	
				{ text: 'Recrutements', menu: [
					//{ href: '/entreprise/recrutement.htm', text: 'Postes &agrave; pourvoir' },
					{ href: '/entreprise/candidature.htm', text: 'Candidature spontan&eacute;e' }
				] },
				{ href: '/entreprise/agences.htm', text: 'Agences' }
			//	{ href: '/entreprise/partenaires.htm', text: 'Partenaires' }
				
		] }	,
		 { id: 'nav-conseil', text: 'Conseils' , menu: [	
				{ href: '/conseil/avantage-location.htm', text: 'Avantage de la location' },		
				{ href: '/conseil/voyage.htm', text: 'Je pars en voyage' },		
				{ href: '/conseil/demenagement.htm', text: 'Je d&eacute;m&eacute;nage' },		
				{ href: '/conseil/en-panne.htm', text: 'En cas de panne' },	
				{ href: '/conseil/accident.htm', text: 'En cas d\'accident' },		
				{ href: '/conseil/vol.htm', text: 'En cas de vol' },		
				{ href: '/conseil/questions-pratiques.htm', text: 'Questions pratiques' },		
				{ href: '/conseil/code-route.htm', text: 'Code de la route' }				
		 ] }	
    ],
    attachToPage: function (div_name) {
        
        if (div_name) {
            var nav_div = document.getElementById(div_name);
            if (nav_div) {
                nav_div.innerHTML = this.getHTML();
                nav.init();
            }
        }
        else {
            document.write(nav.getHTML());
            nav.init();
            /*
            jQuery(document).bind('ready', function () {
                var old_nav = document.getElementById('navContainer');
                old_nav.setAttribute('id', 'nav');
                old_nav.innerHTML = '<div id="nav-top">&nbsp;</div>\n<div id="nav-main">' + nav.getHTML() + '</div>\n<div id="nav-bottom">&nbsp;</div>\n';
            });
            */
        }

        return(true);
    },
    getHTML: function () {
        var nav_primary = this.menu;
        var html = '\n<ul style="list-style:none;" id="nav-primary">\n';
        for (var i = 0; i < nav_primary.length; i++) {
            html += '\t<li><a id="' + nav_primary[i].id + '" class="nav-primary-button" href="' + ((nav_primary[i].href != undefined) ? nav_primary[i].href : '#') + '">' + nav_primary[i].text + '</a>';
            if (nav_primary[i].menu) {
                var nav_secondary = nav_primary[i].menu;
                html += '\n\t\t<ul  style="list-style:none;" class="nav-secondary">\n';
                for (var j = 0; j < nav_secondary.length; j++) {
                    html += '\t\t\t<li>';

                    var html_tertiary = '';
                    if (nav_secondary[j].menu) {
                        var nav_tertiary = nav_secondary[j].menu;
                        
                        html_tertiary += '\n\t\t\t\t<ul class="nav-trinary">\n';
                        for (var k = 0; k < nav_tertiary.length; k++) {
                            html_tertiary += '\t\t\t\t\t<li>';
                            html_tertiary += '<a id="nav-tertiary-' + i + '-' + j + '-' + k + '"';
                            if (nav_tertiary[k].href && (location.href.indexOf(nav_tertiary[k].href) >= 0) && (location.href.indexOf(nav_tertiary[k].href) + nav_tertiary[k].href.length == location.href.length)) { html_tertiary += ' class="active"'; }
                            html_tertiary += ' href="' + ((nav_tertiary[k].href != undefined) ? nav_tertiary[k].href : '#') + '">';
                            html_tertiary += (nav_tertiary[k].text ? nav_tertiary[k].text : '<img src="' + nav_tertiary[k].image + '">') + '</a></li>\n';
                        }
                        html_tertiary += '\t\t\t\t</ul>\n\t\t\t';
                    }

                    html += '<a id="nav-secondary-' + i + '-' + j + '"';
                    if (html_tertiary) { html += ' class="nav-expand"'; }
                    if (nav_secondary[j].href && (location.href.indexOf(nav_secondary[j].href) >= 0) && (location.href.indexOf(nav_secondary[j].href) + nav_secondary[j].href.length == location.href.length)) { html += ' class="active"'; }
                    html += ' href="' + ((nav_secondary[j].href != undefined) ? nav_secondary[j].href : '#') + '">' + nav_secondary[j].text + '</a>';
                    html += html_tertiary + '</li>\n';
                } html += '\t\t</ul>\n\t';
            } html += '</li>\n';
        } html += '</ul>\n';
    
        return html;
    },
    init: function () {
        // Collapse subnavs (until js runs, the subnavs remain open to allow non-js folks to access the menus)
        jQuery("#nav-primary li:has('ul') > a").bind('click keydown', nav.select);
        // TODO: dont hide previously opened nav items from nav.selected
        jQuery("#nav-primary ul:not(':has('a.active')')").hide();
    },
    selected: [],
    select: function (e) {
        if (e.keyCode == 32 || e.keyCode == 13 || e.type == 'click') {
            if (jQuery(this).parent().children('.nav-secondary').size() > 0) {
                jQuery(this).addClass('nav-collapse').removeClass('nav-expand');
                jQuery(this).parent().children('.nav-secondary').slideDown();
            }
            else if (jQuery(this).parent().children('.nav-trinary').size() > 0) {
                jQuery(this).addClass('nav-collapse').removeClass('nav-expand');
                jQuery(this).parent().children('.nav-trinary').slideDown();
            }
            jQuery(this).unbind().bind('click keydown', nav.deselect);

            // track opened navs in nav.selected array (TODO: persist nav.selected across pages using cookies)
            nav.selected.push(jQuery(this).attr('id'));

            return(false);
        }
        return(this);
    },
    deselect: function (e) {
        if (e.keyCode == 32 || e.keyCode == 13 || e.type == 'click') {
            if (jQuery(this).parent().children('.nav-secondary').size() > 0) {
                jQuery(this).removeClass('nav-collapse').addClass('nav-expand');
                jQuery(this).parent().children('.nav-secondary').slideUp();
            }
            else if (jQuery(this).parent().children('.nav-trinary').size() > 0) {
                jQuery(this).removeClass('nav-collapse').addClass('nav-expand');
                jQuery(this).parent().children('.nav-trinary').slideUp();
            }
            jQuery(this).unbind().bind('click keydown', nav.select);

            // track opened navs in nav.selected array (TODO: persist nav.selected across pages using cookies)
            // remove deselected nav from nav.selcted.
            var id = jQuery(this).attr('id');
            for (var i = 0; i < nav.selected.length; i++) {
                if (nav.selected[i] == id) {
                    var rest = nav.selected.slice(i + 1);
                    nav.selected.length = i;
                    nav.selected.push.apply(nav.selected, rest);
                    break;
                }
            }

            return(false);
        }
        return(this);
    },
    setCookie: function (cookieName, cookieValue) {
        var today = new Date();
        var expire = new Date();
        expire.setTime(today.getTime() + 3600000 * 24 * 1);
        document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
    },
    getCookie: function (cookieName) {
        var theCookie = "" + document.cookie;
        var ind = theCookie.indexOf(cookieName);
        if (ind == -1 || cookieName == "") return ""; 
        var ind1 = theCookie.indexOf(';', ind);
        if (ind1 == -1) ind1 = theCookie.length; 
        return unescape(theCookie.substring(ind + cookieName.length + 1, ind1));
    }    
};

// Compatibility with legacy nav draw call
var n_e = { output: nav.attachToPage };

// Make sure jQuery is loaded.
var jQueryScriptOutputted = false;
function initJQuery() {

        jQuery(document).bind('ready', function () {
            nav.attachToPage('nav-main');
        });
  
}
initJQuery();
