// JavaScript Document

//--------------------------
/*Innitialisation*/
//--------------------------
var dDate = new Array(121);//Tableau de dates

//Tableau des signes
var zSigne = new Array("Bélier","Taureau","Gémeaux","Cancer","Lion","Vierge","Balance","Scorpion","Sagittaire","Capricorne","Verseau","Poissons"); //Zodiaque
var zSigneImg = new Array("belier","taureau","gemeaux","cancer","lion","vierge","balance","scorpion","sagittaire","capricorne","verseau","poissons"); //images Zodiaque

var cSigne = new Array("Rat","Buffle","Tigre","Lièvre","Dragon","Serpent","Cheval","Chèvre","Singe","Coq","Chien","Cochon"); //Chinois
var aSigne = new Array("Couteau","Poignard","Coutelas","Poignard arabe","Masse de fer","Massue paysanne","Hâche","Chaîne","Epée","Lance","Fronde","Arc"); //Arabe


//Création de la table des dates du zodiaque chinois 
/*1900*/
var i=0;
dDate[i]=new Date(1900+i,0,31);
i=i+1;
dDate[i]=new Date(1900+i,1,19);
i=i+1;
dDate[i]=new Date(1900+i,1,8);
i=i+1;
dDate[i]=new Date(1900+i,0,29);
i=i+1;
dDate[i]=new Date(1900+i,1,16);
i=i+1;
dDate[i]=new Date(1900+i,1,4);
i=i+1;
dDate[i]=new Date(1900+i,0,25);
i=i+1;
dDate[i]=new Date(1900+i,1,13);
i=i+1;
dDate[i]=new Date(1900+i,1,2);
i=i+1;
dDate[i]=new Date(1900+i,0,22);
i=i+1;
dDate[i]=new Date(1900+i,1,10);
i=i+1;
dDate[i]=new Date(1900+i,0,30);
i=i+1;

/*1912*/
dDate[i]=new Date(1900+i,1,18);
i=i+1;
dDate[i]=new Date(1900+i,1,6);
i=i+1;
dDate[i]=new Date(1900+i,0,26);
i=i+1;
dDate[i]=new Date(1900+i,1,14);
i=i+1;
dDate[i]=new Date(1900+i,1,3);
i=i+1;
dDate[i]=new Date(1900+i,0,23);
i=i+1;
dDate[i]=new Date(1900+i,1,11);
i=i+1;
dDate[i]=new Date(1900+i,1,1);
i=i+1;
dDate[i]=new Date(1900+i,1,20);
i=i+1;
dDate[i]=new Date(1900+i,1,8);
i=i+1;
dDate[i]=new Date(1900+i,0,28);
i=i+1;
dDate[i]=new Date(1900+i,1,16);
i=i+1;
/*1924*/
dDate[i]=new Date(1900+i,1,5);
i=i+1;
dDate[i]=new Date(1900+i,0,25);
i=i+1;
dDate[i]=new Date(1900+i,1,13);
i=i+1;
dDate[i]=new Date(1900+i,1,2);
i=i+1;
dDate[i]=new Date(1900+i,0,23);
i=i+1;
dDate[i]=new Date(1900+i,1,10);
i=i+1;
dDate[i]=new Date(1900+i,0,30);
i=i+1;
dDate[i]=new Date(1900+i,1,17);
i=i+1;
dDate[i]=new Date(1900+i,1,6);
i=i+1;
dDate[i]=new Date(1900+i,0,26);
i=i+1;
dDate[i]=new Date(1900+i,1,14);
i=i+1;
dDate[i]=new Date(1900+i,1,4);
i=i+1;

/*1936*/
dDate[i]=new Date(1900+i,0,24);
i=i+1;
dDate[i]=new Date(1900+i,1,11);
i=i+1;
dDate[i]=new Date(1900+i,0,31);
i=i+1;
dDate[i]=new Date(1900+i,1,19);
i=i+1;
dDate[i]=new Date(1900+i,1,8);
i=i+1;
dDate[i]=new Date(1900+i,0,27);
i=i+1;
dDate[i]=new Date(1900+i,1,15);
i=i+1;
dDate[i]=new Date(1900+i,1,5);
i=i+1;
dDate[i]=new Date(1900+i,0,25);
i=i+1;
dDate[i]=new Date(1900+i,1,13);
i=i+1;
dDate[i]=new Date(1900+i,1,2);
i=i+1;
dDate[i]=new Date(1900+i,0,22);
i=i+1;

/*1948*/
dDate[i]=new Date(1900+i,1,10);
i=i+1;
dDate[i]=new Date(1900+i,0,29);
i=i+1;
dDate[i]=new Date(1900+i,1,17);
i=i+1;
dDate[i]=new Date(1900+i,1,6);
i=i+1;
dDate[i]=new Date(1900+i,0,27);
i=i+1;
dDate[i]=new Date(1900+i,1,14);
i=i+1;
dDate[i]=new Date(1900+i,1,3);
i=i+1;
dDate[i]=new Date(1900+i,0,24);
i=i+1;
dDate[i]=new Date(1900+i,1,12);
i=i+1;
dDate[i]=new Date(1900+i,0,31);
i=i+1;
dDate[i]=new Date(1900+i,1,18);
i=i+1;
dDate[i]=new Date(1900+i,1,8);
i=i+1;

/*1960*/
dDate[i]=new Date(1900+i,0,28);
i=i+1;
dDate[i]=new Date(1900+i,1,15);
i=i+1;
dDate[i]=new Date(1900+i,1,5);
i=i+1;
dDate[i]=new Date(1900+i,0,25);
i=i+1;
dDate[i]=new Date(1900+i,1,13);
i=i+1;
dDate[i]=new Date(1900+i,1,2);
i=i+1;
dDate[i]=new Date(1900+i,0,21);
i=i+1;
dDate[i]=new Date(1900+i,1,9);
i=i+1;
dDate[i]=new Date(1900+i,0,30);
i=i+1;
dDate[i]=new Date(1900+i,1,17);
i=i+1;
dDate[i]=new Date(1900+i,1,6);
i=i+1;
dDate[i]=new Date(1900+i,0,27);
i=i+1;

/*1972*/
dDate[i]=new Date(1900+i,1,15);
i=i+1;
dDate[i]=new Date(1900+i,1,3);
i=i+1;
dDate[i]=new Date(1900+i,0,23);
i=i+1;
dDate[i]=new Date(1900+i,1,11);
i=i+1;
dDate[i]=new Date(1900+i,0,31);
i=i+1;
dDate[i]=new Date(1900+i,1,18);
i=i+1;
dDate[i]=new Date(1900+i,1,7);
i=i+1;
dDate[i]=new Date(1900+i,0,28);
i=i+1;
dDate[i]=new Date(1900+i,1,16);
i=i+1;
dDate[i]=new Date(1900+i,1,5);
i=i+1;
dDate[i]=new Date(1900+i,0,25);
i=i+1;
dDate[i]=new Date(1900+i,1,13);
i=i+1;

/*1984*/
dDate[i]=new Date(1900+i,1,2);
i=i+1;
dDate[i]=new Date(1900+i,1,20);
i=i+1;
dDate[i]=new Date(1900+i,1,9);
i=i+1;
dDate[i]=new Date(1900+i,0,29);
i=i+1;
dDate[i]=new Date(1900+i,1,17);
i=i+1;
dDate[i]=new Date(1900+i,1,6);
i=i+1;
dDate[i]=new Date(1900+i,0,27);
i=i+1;
dDate[i]=new Date(1900+i,1,15);
i=i+1;
dDate[i]=new Date(1900+i,1,4);
i=i+1;
dDate[i]=new Date(1900+i,0,23);
i=i+1;
dDate[i]=new Date(1900+i,1,10);
i=i+1;
dDate[i]=new Date(1900+i,0,31);
i=i+1;

/*1996*/
dDate[i]=new Date(1900+i,1,19);
i=i+1;
dDate[i]=new Date(1900+i,1,7);
i=i+1;
dDate[i]=new Date(1900+i,0,28);
i=i+1;
dDate[i]=new Date(1900+i,1,16);//1999
i=i+1;
dDate[i]=new Date(1900+i,1,5);//2000
i=i+1;
dDate[i]=new Date(1900+i,0,24);
i=i+1;
dDate[i]=new Date(1900+i,1,12);
i=i+1;
dDate[i]=new Date(1900+i,1,1);//2003
i=i+1;
dDate[i]=new Date(1900+i,1,22);
i=i+1;
dDate[i]=new Date(1900+i,1,9);
i=i+1;
dDate[i]=new Date(1900+i,0,29);
i=i+1;
dDate[i]=new Date(1900+i,1,18);
i=i+1;

/*2008*/
dDate[i]=new Date(1900+i,1,7);
i=i+1;
dDate[i]=new Date(1900+i,0,26);
i=i+1;
dDate[i]=new Date(1900+i,1,24);
i=i+1;
dDate[i]=new Date(1900+i,1,3);
i=i+1;
dDate[i]=new Date(1900+i,0,23);
i=i+1;
dDate[i]=new Date(1900+i,1,10);
i=i+1;
dDate[i]=new Date(1900+i,0,31);
i=i+1;
dDate[i]=new Date(1900+i,1,19);
i=i+1;
dDate[i]=new Date(1900+i,1,8);
i=i+1;
dDate[i]=new Date(1900+i,0,28);
i=i+1;
dDate[i]=new Date(1900+i,1,16);
i=i+1;
dDate[i]=new Date(1900+i,1,5);
i=i+1;

/*2020*/
dDate[i]=new Date(1900+i,0,25);
i=i+1;
//--------------------------


//--------------------------
/*Gestion du signe zodiaque*/
//--------------------------
function CheckZodiaque(form){
    if(checkDayMonthYearSelectCh(form.selectJZodiaque.value, form.selectMZodiaque.value, form.selectAZodiaque.value)){
    var mm = parseInt(stripZeros(form.selectMZodiaque.value)) - 1;
    var dd = parseInt(stripZeros(form.selectJZodiaque.value));
    var yy = parseInt(stripZeros(form.selectAZodiaque.value));
    var dTempZ=new Date(yy,mm,dd);
    var civ = getCookie("civilite");
    
    document.getElementById("resultat").innerHTML = '<img alt="signe '+GetZodiaque(dTempZ)+'" src="images/'+civ+'/signes/'+GetZodiaqueImg(dTempZ)+'" /><br />vous êtes '+GetZodiaque(dTempZ); 
    }        
}

function GetZodiaqueId(nDateNaissance){
 sDateNaissance="";
 sDateNaissance=sDateNaissance+AddZeros(nDateNaissance.getMonth()+1)+AddZeros(nDateNaissance.getDate());
 if ((sDateNaissance<'0120')|(sDateNaissance>='1222')){
 return 9;
 }
 if (sDateNaissance<'0219'){
 return 10;
 }
 if (sDateNaissance<'0321'){
 return 11;
 }
 if (sDateNaissance<'0421'){
 return 0;
 }
 if (sDateNaissance<'0521'){
 return 1;
 }
 if (sDateNaissance<'0622'){
 return 2;
 }
 if (sDateNaissance<'0723'){
 return 3;
 }
 if (sDateNaissance<'0823'){
 return 4;
 }
 if (sDateNaissance<'0923'){
 return 5;
 }
 if (sDateNaissance<'1023'){
 return 6;
 }
 if (sDateNaissance<'1123'){
 return 7;
 }
 return 8;
}

function GetZodiaque(nDateNaissance){
 return zSigne[GetZodiaqueId(nDateNaissance)];
}

function GetZodiaqueImg(nDateNaissance){
 return 'signes-astrologie/calcul/'+zSigneImg[GetZodiaqueId(nDateNaissance)];
}
//--------------------------
//--------------------------


//--------------------------
/*Gestion du signe chinois*/
//--------------------------
function CheckChinois(form){
    
    if(checkDayMonthYearSelectCh(form.selectJChinois.value, form.selectMChinois.value, form.selectAChinois.value)){
    var mm = parseInt(stripZeros(form.selectMChinois.value)) - 1;
    var dd = parseInt(stripZeros(form.selectJChinois.value));
    var yy = parseInt(stripZeros(form.selectAChinois.value));
    var dTemp=new Date(yy,mm,dd);
    document.getElementById("resultat").innerHTML = 'vous êtes '+GetChinese(dTemp); 
    }
}

function GetChineseId(dDateNaissance){
    var yy=dDateNaissance.getYear();
    var nSigne=yy%12;
    if (dDateNaissance<dDate[yy]){
      if (nSigne==0){
        nSigne=11;
      }
      else{
        nSigne=nSigne-1;
      }
    }
    return nSigne;
}

function GetChinese(dDateNaissance){
 return cSigne[GetChineseId(dDateNaissance)];
}
//--------------------------
//--------------------------


//--------------------------
/*Gestion du signe arabe*/
//--------------------------
function CheckArabe(form){
    //-----------------
    //Si je dois changer le signe en date Mais il faudra penser à gérer les valeurs 
    /*var mm = parseInt(stripZeros(form.selectMChinois.value)) - 1;
    var dd = parseInt(stripZeros(form.selectJChinois.value));
    var yy = parseInt(stripZeros(form.selectAChinois.value));
    var dTemp=new Date(yy,mm,dd);*/
    //-----------------
    if (checkDonneesArabe(form.selectZsigne.value,form.selectNbHab.value,form.selectMilieuSoc.value)){
    var signe = parseInt(stripZeros(form.selectZsigne.value));
    var nbHab = parseInt(stripZeros(form.selectNbHab.value));
    var milieu = parseInt(stripZeros(form.selectMilieuSoc.value));
    var total = signe+nbHab+milieu;
    document.getElementById("resultat").innerHTML = 'vous êtes '+GetArabe(total); 
    }
    
}

function GetArabeId(total){
 return Math.floor(total / 3);
}

function GetArabe(total){
 return aSigne[GetArabeId(total)-1];
}
//--------------------------
//--------------------------


//--------------------------
/*Gestion des variables données*/
//--------------------------
function AddZeros( nNum ){
 sNum=nNum;
 if (nNum <10) sNum="0"+nNum;
 return sNum;
}

function stripZeros(inputStr) {
var result = inputStr
while (result.substring(0,1) == "0") {
result = result.substring(1,result.length)
}
return result
}
//--------------------------
//--------------------------


//--------------------------
/*Gestion de la lecture d'un cookie*/
//--------------------------
function getCookie(sName) {
        var oRegex = new RegExp("(?:; )?" + sName + "=([^;]*);?");
 
        if (oRegex.test(document.cookie)) {
                return decodeURIComponent(RegExp["$1"]);
        } else {
                return null;
        }
}
//--------------------------
//--------------------------

//--------------------------
/*Gestion de la verification des variables données*/
//--------------------------
//Vérifie si la donnée en parramètre est vide
function isEmpty(inputStr) {
    if (inputStr == "" || inputStr == null) {
    return true
    }
  return false 
}

//Vérifie si la date est remplie
function checkDayMonthYearSelectCh(day,month,year)
{
 var boolDay = true;
 var boolMonth = true;
 var boolYear = true;
 var stringMessage = 'Vous devez choisir ';
 var stringMessDay ="";
 var stringMessMth = "";
 var stringMessYer = "";

  if (isEmpty(day)||isEmpty(month)||isEmpty(year)){
  
    if (isEmpty(day)) {
    stringMessDay = 'un jour';
    boolDay = false;
    }
    
    if (isEmpty(month)) {
    stringMessMth = 'un mois';
    boolMonth = false;
    }
    
    if (isEmpty(year)) {
    stringMessYer = 'une année';
    boolYear = false;
    }
    
    if(!boolDay)
     {
       stringMessage += stringMessDay;
      
       if(!boolMonth)
       {
         if(!boolYear){
            stringMessage += ', '+stringMessMth+' et '+stringMessYer;
         }else{
            stringMessage += ' et '+stringMessMth;
         }
       }else{
         if(!boolYear){
            stringMessage += ', '+stringMessMth+' et '+stringMessYer;
          }
       }
     }else{
       if(!boolMonth)
       {
         if(!boolYear)
         {
         stringMessage += stringMessMth+' et '+stringMessYer;
         }else
         {
         stringMessage += stringMessMth;
         }
       }else{stringMessage += stringMessYer;}
    
     }
     
    stringMessage += '.';
    alert (stringMessage);
    return false;
  }
 return true;
}

//Vérifie si les données de calcul arabe sont remplies
function checkDonneesArabe(signe,nbHabt,milieu){
 var boolSigne = true;
 var boolNbHabt = true;
 var boolMilieu = true;
 var stringMessage = 'Vous devez choisir ';
 var stringMessSig ="";
 var stringMessNbH = "";
 var stringMessMil = "";

  if (isEmpty(signe)||isEmpty(nbHabt)||isEmpty(milieu)){
  
    if (isEmpty(signe)) {
    stringMessSig = 'un signe';
    boolSigne = false;
    }
    
    if (isEmpty(nbHabt)) {
    stringMessNbH = 'le nombre d\'habitant de votre ville de naissance';
    boolNbHabt = false;
    }
    
    if (isEmpty(milieu)) {
    stringMessMil = 'le milieu social de vos parents';
    boolMilieu = false;
    }
    
    if(!boolSigne)
     {
       stringMessage += stringMessSig;
      
       if(!boolNbHabt)
       {
         if(!boolMilieu){
            stringMessage += ', '+stringMessNbH+' et '+stringMessMil;
         }else{
            stringMessage += ' et '+stringMessNbH;
         }
       }else{
         if(!boolMilieu){
            stringMessage += ', '+stringMessNbH+' et '+stringMessMil;
          }
       }
     }else{
       if(!boolNbHabt)
       {
         if(!boolMilieu)
         {
         stringMessage += stringMessNbH+' et '+stringMessMil;
         }else
         {
         stringMessage += stringMessNbH;
         }
       }else{stringMessage += stringMessMil;}
    
     }
    
    stringMessage += '.';
    alert (stringMessage);
    return false;
  }
 return true;
}
//--------------------------
//--------------------------

