/**
 * Interactivité des cartes du ciel
 **/

var couleur = '#ffffff';

// Traitement des couleurs
function recupererCouleur(objet) {
  // Couleurs de fond
  if (objet < 12) {
    couleur = '#e7f4fe';
  } else if ((objet >= 12 && objet < 22) || (objet >= 44 && objet < 54)) {
    couleur = '#fdfecf';
  } else if ((objet >= 22 && objet < 30) || (objet >= 54 && objet < 62)) {
    couleur = '#f0f0f0';
  } else if ((objet >= 30 && objet < 44) || (objet >= 62 && objet < 76)) {
    couleur = '#f9eecc';
  }
} 
 
// Affiche le détail d'un objet en fonction de son id
function detail(objet) {
  recupererCouleur(objet);
  cadreDetails.innerHTML        = document.getElementById('detail_' + objet).innerHTML;
  cadreDetails.style.background = couleur;
}

function isolerAspects(planete) {
  // Positionnement du cadre aspects
  var aspectsLeft = findPosX(document.getElementById('carte'));
  var aspectsTop  = findPosY(document.getElementById('carte'));
  
  // Cacher les aspects de la carte
  if (cadreAspects.style.visibility == 'visible') {
    cadreAspects.style.visibility = 'hidden';
  } else {
    cadreAspects.style.top        = aspectsTop + 'px';
    cadreAspects.style.left       = aspectsLeft + 'px';
    cadreAspects.style.visibility = 'visible';
  }
  // Afficher les aspects de la planète
  var aspects = document.getElementById('aspects_' + planete);
  aspects.style.top        = aspectsTop + 'px';
  aspects.style.left       = aspectsLeft + 'px';
  aspects.style.visibility = 'visible';
}

// Geler un objet
function geler(objet) {
  recupererCouleur(objet);
  dessousInner   = document.getElementById('detail_' + objet).innerHTML;
  dessousCouleur = couleur;
}

// Cache l'objet concerné
function cacher(objet) {
  cadreDetails.innerHTML             = dessousInner;
  cadreDetails.style.backgroundColor = dessousCouleur;
  if (document.getElementById('aspects_' + parseInt(objet - 12))) {
    document.getElementById('aspects_' + parseInt(objet - 12)).style.visibility = 'hidden';
  }
  cadreAspects.style.visibility = 'hidden';
}

// Initialise le cadre d'affichage
function initialiser() {
  cadreDetails.innerHTML             = document.getElementById('detailsDefaut').innerHTML;
  cadreDetails.style.backgroundColor = '#ffffff';
  dessousInner                       = document.getElementById('detailsDefaut').innerHTML;
  dessousCouleur                     = '#ffffff';
}

function findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (1) {
      curleft += obj.offsetLeft;
      if (!obj.offsetParent) {
        break;
      }
      obj = obj.offsetParent;
    }
  } else if (obj.x) {
    curleft += obj.x;
  }
  return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop += obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj = obj.offsetParent;
        }
    } else if (obj.y) {
        curtop += obj.y;
    }
    return curtop;
}
