function overGauche() {
    $('#gauche').addClass("dessus");
    $('#gauche').removeClass("dessous");
    
    $('#droite').addClass("dessous");
    $('#droite').removeClass("dessus");
}

function overDroite() {
    $('#gauche').addClass("dessous");
    $('#gauche').removeClass("dessus");
    
    $('#droite').addClass("dessus");
    $('#droite').removeClass("dessous");
}

$(function() {
    $('#gauche').addClass("dessus");
    $('#droite').addClass("dessous").removeClass("droite1").addClass("droite2");
    $('#formulaireRecherche').focus(function() { if($('#formulaireRecherche').attr('value') == 'Rechercher') {$('#formulaireRecherche').attr('value',''); }; } );
    if(!$.browser.msie) {
        $('#listeArticles').addClass("listeArticlesDecalage");
    }
    
    if(traduction) {
        // on va decaller verticalement les paragraphes deux à deux pour qu'ils soient en face l'un de l'autre
        // la complexite apparait quand on insere une image d'un cote
        // dans ce cas on insere un blanc equivalent de l'autre cote
        // on decalle l'indice de calcul et on continue
        
        var i;
        var decalageIndiceDroite = 0;
        var decalageIndiceGauche = 0;
        var elementsGauche = $("#gauche p");
        var elementsDroite = $("#droite p");
        for(i = 0; (i + decalageIndiceGauche) < elementsGauche.length; i++) {
            
            var elementGauche = new ParametreDecalage(elementsGauche.eq(i + decalageIndiceGauche ));
            var elementDroite = new ParametreDecalage(elementsDroite.eq(i + decalageIndiceDroite ));
            while(elementGauche.estImage || elementDroite.estImage) {
                // il y a une image
                if(elementGauche.estImage && elementDroite.estImage) {
                    // des deux cotes
                    if(elementGauche.hauteur < elementDroite.hauteur) {
                        ajouterDecalageApres(elementGauche.element, (elementsDroite.hauteur - elementGauche.hauteur));
                    } else {
                        ajouterDecalageApres(elementDroite.element, (elementsGauche.hauteur - elementDroite.hauteur));
                    }
                    decalageIndiceGauche++;
                    elementGauche = new ParametreDecalage(elementsGauche.eq(i + decalageIndiceGauche ));
                    decalageIndiceDroite++;
                    elementDroite = new ParametreDecalage(elementsDroite.eq(i + decalageIndiceDroite ));
                } else if(elementGauche.estImage) {
                    // a droite seulement
                    ajouterDecalageAvant(elementDroite.element, elementGauche.hauteur + 12);
                    decalageIndiceGauche++;
                    elementGauche = new ParametreDecalage(elementsGauche.eq(i + decalageIndiceGauche ));
                } else {
                    // a gauche seulement
                    ajouterDecalageAvant(elementGauche.element, elementDroite.hauteur + 12);
                    decalageIndiceDroite++;
                    elementDroite = new ParametreDecalage(elementsDroite.eq(i + decalageIndiceDroite ));
                }
            }
            
            if(elementGauche.hauteur < elementDroite.hauteur) {
                elementGauche.element.height(elementDroite.element.height());
                // ajouterDecalageApres(elementGauche.element, (elementDroite.hauteur - elementGauche.hauteur));
            } else if(elementGauche.hauteur > elementDroite.hauteur) {
                elementDroite.element.height(elementGauche.element.height());
                //ajouterDecalageApres(elementDroite.element, (elementGauche.hauteur - elementDroite.hauteur));
            }
        }
        
    }
});

function ParametreDecalage(element) {
    this.element = element;
    this.hauteur = element.height();
    this.estImage = (element.children().size() == 1) && ($('.spip_documents_center', element).size() == 1);
}

function creeDecalage(taille) {
    return '<div class="decalage noPrint" style="padding-bottom:' + taille + 'px"></div>';
}
function ajouterDecalageAvant(element, taille) {
    element.before(creeDecalage(taille));
}
function ajouterDecalageApres(element, taille) {
    element.after(creeDecalage(taille));
}

function random(number) {
    return Math.floor(Math.random() * number);
}
