var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
var originalHeight = new Array();


function $E(str){
	return $$(str)[0];
}

window.addEvent('domready', function(){
    /*if ($('historique')) {
        // TODO meilleure verif
        var anchor = window.location.href.split('#')[1];
        if (!anchor) {
            anchor = '2007';
            window.location = window.location.href.split('#')[0] + '#' + anchor;
        }
        
        $$('div#historique div.carre').each(function(el){
			className = el.className.replace('carre ','');
            if (anchor != className) {
                el.slide('hide');
            }
            else {
                el.slide('show');
                $$('p.' + className).setStyle('background-image', 'url(/img/list-moins.png)');
            }
        });
        
        $$('div#historique p.plus strong').each(function(el){

			el.addEvent('click', function(event){
				className1 = event.target.className;
                window.location = window.location.href.split('#')[0] + '#' + this.className;
                $$('div#historique div.carre').each(function(el){
					className2 = el.className.replace('carre ','');
					//console.log('1 : '+className1+'2 : '+className2);
					if (className1 != className2) {
                        el.slide('out');
						$$('p.' + className2).setStyle('background-image', 'url(/img/list-plus.png)');
                    }
                    else {
                        el.slide('in');
                        $$('p.' + className2).setStyle('background-image', 'url(/img/list-moins.png)');
                    }
                    
                });
            });
        });
    }*/
    
    if ($('metiers')) {
        // TODO meilleure verif
        var anchor = window.location.href.split('#')[1];
        if (!anchor) {
            anchor = 'publicite';
            window.location = window.location.href.split('#')[0] + '#publicite';
        }
        
        $$('div#metiers div.list').each(function(el){
			className = el.className.replace('list ','');
            if (anchor != className) {
                el.slide('hide');
            }
            else {
                el.slide('show');
                $$('p.' + className).setStyle('background-image', 'url(/img/list-moins.png)');
            }
        });
        
        $$('div#metiers p.plus strong').each(function(el){

			el.addEvent('click', function(event){
				className1 = event.target.className;
                window.location = window.location.href.split('#')[0] + '#' + this.className;
                $$('div#metiers div.list').each(function(el){
					className2 = el.className.replace('list ','');
					//console.log('1 : '+className1+'2 : '+className2);
					if (className1 != className2) {
                        el.slide('out');
						$$('p.' + className2).setStyle('background-image', 'url(/img/list-plus.png)');
                    }
                    else {
                        el.slide('in');
                        $$('p.' + className2).setStyle('background-image', 'url(/img/list-moins.png)');
                    }
                    
                });
            });
        });
    }
    
    if ($('jobs')) {
		new SmoothScroll({ duration:700 }, window); 
	}
	
	
    // Suppression des styles pour fonctionnement sans JS
    $('languagePickerMiddle').removeClass('languagePickerActive');
    $E('a.second').setStyle('display', 'none');
    
    // Ajout des evenements du roll over du language picker
    $('languagePickerContainer').addEvents({
        'mouseenter': languagePickerHover,
        'mouseleave': languagePickerOut
    });
    
    // Ajout de l'évenement des flags
    $$('div#languagePickerContainer a').addEvent('click', function(e){
        e.preventDefault();
    });
    $E('a.second').addEvent('click', clickSecondFlag);
    
});


window.addEvent('load', function(){
	var p = new Preloader();
	
	if (IE6) {
		p.addToQueue('/img/accueil-c.gif');
		p.addToQueue('/img/historique-c.gif');
		p.addToQueue('/img/metiers-c.gif');
		p.addToQueue('/img/equipe-c.gif');
		p.addToQueue('/img/chiffres-c.gif');
		p.addToQueue('/img/actualites-c.gif');
		p.addToQueue('/img/jobs-c.gif');
		p.addToQueue('/img/contact-c.gif');
		p.addToQueue('/img/loading.gif');
	}
	else {
		p.addToQueue('/img/accueil-c.png');
		p.addToQueue('/img/historique-c.png');
		p.addToQueue('/img/metiers-c.png');
		p.addToQueue('/img/equipe-c.png');
		p.addToQueue('/img/chiffres-c.png');
		p.addToQueue('/img/actualites-c.png');
		p.addToQueue('/img/jobs-c.png');
		p.addToQueue('/img/contact-c.png');
		p.addToQueue('/img/loading.gif');
	}
	
});

// Est ce que le language switcher est affiché ou non
var languagePickerDisplayed = false;
// Est ce que les drapeaux sont en train d'être inversés ou non
var isFlagSwitchRunning = false;
// Est ce qu'il faut refermer le language picker une fait l'insersion
// des drapeaux effectuée (si l'utilisateur à eloigné la souris du language picker)
var haveToHideLanguagePicker = false;

// Check si une animation est en cours sur le language picker et si oui l'annule.
function cancelRunning(){
    $E('a.second').get('tween').cancel();
    $('languagePickerMiddle').get('tween').cancel();
}

function languagePickerHover(){
    //console.log('mouseenter');
    cancelRunning();
    
    // Fonction qui affiche le second drapeau
    var toogleSecondFlag = function(){
        $E('a.second').set('tween', {
            duration: 200,
            link: 'cancel'
        });
        $E('a.second').tween('opacity', '1');
    };
    
    // On agrandi le language picker et on execute la fonction qui affiche le trapeau à la fin.
    $('languagePickerMiddle').set('tween', {
        duration: 200,
        link: 'cancel',
        onComplete: toogleSecondFlag
    });
    
    if (IE6) {
        $('languagePickerMiddle').tween('height', '28px;');
    }
    else {
        $('languagePickerMiddle').tween('height', '25px;');
    }
    
    
    
    // On set le display du drapeau avant que la fonction soit executée
    $E('a.second').setStyles({
        'display': 'block',
        'opacity': '0'
    });
    
}

function languagePickerOut(){
    //console.log('mouseleave');
    if (isFlagSwitchRunning) {
        haveToHideLanguagePicker = true;
    }
    else {
        cancelRunning();
        
        // fonction qui set le display du drapeau
        var hide = function(){
            $E('a.second').setStyles({
                'display': 'none',
                'opacity': '0'
            });
        };
        
        // Fonction qui réduit la taille du language picker. On set le display du drapeau à la fin.
        var decraseHeight = function(){
            $('languagePickerMiddle').set('tween', {
                duration: 200,
                link: 'cancel',
                onComplete: hide
            });
            $('languagePickerMiddle').tween('height', '11px;');
        };
        
        // On fait diparaitre le drapeau et on execute la fonction de réduction du language picker à la fin.
        $E('a.second').set('tween', {
            duration: 200,
            link: 'cancel',
            onComplete: decraseHeight
        });
        $E('a.second').tween('opacity', '0');
    }
}

function clickSecondFlag(){
    isFlagSwitchRunning = true;
    // Fonction qui sers a inverser les class "first" et "second" des drapeau après
    // qu'on les ai inversé visuellement su la page.
    var whenDone = function(){
        var first = $E('a.first');
        var second = $E('a.second');
        
        second.removeClass('second');
        first.removeClass('first');
        
        second.addClass('first');
        first.addClass('second');
        
        $$('div#languagePickerContainer a').removeEvents();
        $$('div#languagePickerContainer a').addEvent('click', function(e){
            e.preventDefault();
        });
        first.addEvent('click', clickSecondFlag);
        
        isFlagSwitchRunning = false;
        
        // Specifique a edencast
        var r = function(){
            window.location = second.href;
        };
        $('languagePickerContainer').removeEvents();
        languagePickerOut();
        r.delay(400);
        
        
        if (haveToHideLanguagePicker) {
            haveToHideLanguagePicker = false;
            languagePickerOut();
        }
    };
    
    $E('a.first').set('morph', {
        duration: 200,
        onComplete: whenDone
    });
    $E('a.first').morph({
        'top': '10px',
        'margin-top': '5px'
    });
    
    $E('a.second').set('morph', {
        duration: 200
    });
    $E('a.second').morph({
        'top': '0',
        'margin-top': '1px'
    });
}


function contactBox(){
	SqueezeBox.fromElement('/contactbox.php', {
        size: {x: 554, y: 427},
        sizeLoading: {x: 554, y: 427},
        overlayOpacity: 0.5,
        classWindow: 'contactBox'
    });
}

function contactBox(){
	SqueezeBox.fromElement('/contactbox.php', {
        size: {x: 554, y: 427},
        sizeLoading: {x: 554, y: 427},
        overlayOpacity: 0.5,
        classWindow: 'contactBox'
    });
}

function contactBoxSubmit(){
    if($('contactText1a').value.length && $('contactText1b').value.length)
	
	new Request.HTML({
        url:'/contactboxsub.php',
        update:$('contactBoxContent'),
		data:$('contactBoxContent')
    }).send();
}

function contactMailBox(id){
	SqueezeBox.fromElement('/mailer/index.php?to='+id, {
        size: {x: 470, y: 320},
        sizeLoading: {x: 470, y: 320},
        overlayOpacity: 0.5,
        handler: 'iframe'
    });
}
