var dDate = new Array(132);  // $01C
var sSigne = new Array("Rat","Buffle","Tigre","Chat","Dragon","Serpent","Cheval","Bouc","Singe","Coq","Chien","Cochon");
var sAsc = new Array("Métal","Eau","Bois","Feu","Terre");
var sZodiaque=new Array("Bélier","Taureau","Gémeaux","Cancer","Lion","Vierge","Balance","Scorpion","Sagittaire","Capricorne","Verseau","Poissons");
var sAmitieBase="http://www.astrosonia.com/"
var sBaseHoro="http://www.asiaflash.com/"
var sBaseHoro2="http://www.asiaflash.com/astro/"
var sDisplayHoro="True"

/*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);
i=i+1;
dDate[i]=new Date(1900+i,1,5);       // an 2000: $01A
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);
i=i+1;
dDate[i]=new Date(1900+i,0,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,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,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;
dDate[i]=new Date(1900+i,1,12);
i=i+1;
dDate[i]=new Date(1900+i,1,1);
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,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,26);
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);      // an 2031


function DisplayHoroscope() {
ie=document.all?1:0;
n=document.layers?1:0;

}

function CheckDate(form){
        var mm = parseInt(stripZeros(form.Mois.value)) - 1;
        var dd = parseInt(stripZeros(form.Jour.value));
        var yy = parseInt(form.Annee.value);
        var dTemp=new Date(yy,mm,dd);
        var sSigne= GetChinese(dTemp);
        form.AstroChin.value=GetChinese(dTemp);
        form.AstroChinAsc.value=GetChineseAsc(dTemp);
        form.Zodiaque.value=GetZodiaque(dTemp);
        if(!document.layers) {
                if (sDisplayHoro=="True"){
                        document.all.horo.innerHTML = GetHoroscope( dd,mm+1,yy);
                }
        }
}
function CreateHoroNav(form){
        var mm = parseInt(stripZeros(form.Mois.value)) - 1;
        var dd = parseInt(stripZeros(form.Jour.value));
        var yy = parseInt(form.Annee.value);
        createHoroWindow(makeBuffer(dd,mm,yy));
}
function createHoroWindow(buffer){
        var wnd=window.open("","horomenu","resizable=yes,width=280,height=360,screenX=0,screenY=0");
        wnd.document.open("text/html");
        wnd.document.write(buffer);
        wnd.document.close();
        wnd.focus();
        }
function makeBuffer(dd,mm,yy){
        var buffer=""
        buffer+="<html>"
        buffer+="<body color='black' bgcolor='white'>"
        buffer+=GetHoroscope( dd,mm+1,yy);
        buffer+="</body></html>"
        return buffer;
        }

function AstroRencontre() {
        for (i=0;i<12;i++){
                document.write( '<a href="../../dossiers/Astrologie/liste.asp?SEXE=04&CHERCHESEXE=01&limit=10&AstroChin=%27%2BsSigne%5Bi%5D%2B%27">dernieres annonces de Femmes '+sSigne[i]+' </a><br>');
                document.write( '<a href="../../dossiers/Astrologie/liste.asp?SEXE=01&CHERCHESEXE=04&limit=10&AstroChin=%27%2BsSigne%5Bi%5D%2B%27">dernieres annonces d Hommes '+sSigne[i]+' </a><br><br>');
        }
}


function GetHoroscope(dd,mm,yy){
        var dTemp=new Date(yy,mm-1,dd);
        var sAmiURL="";
        var nSigneId=GetChineseId(dTemp);
        var sSigneId= AddZeros(nSigneId+1);
        var nZodiaqueId = GetZodiaqueId(dTemp);
        sAmiURL = '<center>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsAmitieBase%2B%27zodi%27%2BsSigneId%2B%27.html" target=horoscope1>Les caractéristiques du '+sSigne[nSigneId]+'</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsAmitieBase%2B%27elem%27%2BsSigneId%2B%27.html" target=horoscope2>Influence des éléments sur le '+sSigne[nSigneId]+'</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsAmitieBase%2B%27comp%27%2BsSigneId%2B%27.html" target=horoscope3>Compatibilité amoureuse du '+sSigne[nSigneId]+'</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsAmitieBase%2B%27amiti%27%2BsSigneId%2B%27.html" target=horoscope4>L amitié et le '+sSigne[nSigneId]+'</a><br><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2B%27cjour.html#%27%2BsSigne%5BnSigneId%5D.toLowerCase()%2B%27" target=horoscope5>Horoscope du jour pour le '+sSigne[nSigneId]+'</a><br>'
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2B%27hebdo.htm#%27%2BsSigne%5BnSigneId%5D.toLowerCase()%2B%27" target=horoscope6>Horoscope hebdomadaire pour le '+sSigne[nSigneId]+'</a><br>'
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2BsSigne%5BnSigneId%5D.toLowerCase()%2B%2720.htm" target=horoscope7>Horoscope du '+sSigne[nSigneId]+' pour l an 2000</a><br><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27signe%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope8>La personalité du '+sZodiaque[nZodiaqueId]+'</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27aff%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope9>Les affinités amoureuses du '+sZodiaque[nZodiaqueId]+'</a><br>';
//      sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27famour%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope10>Les amours de la femme '+sZodiaque[nZodiaqueId]+'</a><br>';
//      sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27hamour%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope11>Les amours de l homme '+sZodiaque[nZodiaqueId]+'</a><br>';
//      sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27fattac%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope12>S attacher un homme '+sZodiaque[nZodiaqueId]+'</a><br>';
//      sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro2%2B%27hattac%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.html" target=horoscope13>S attacher une femme '+sZodiaque[nZodiaqueId]+'</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2B%27parjour.html#%27%2BsZodiaque%5BnZodiaqueId%5D.toLowerCase()%2B%27" target=horoscope14>'+sZodiaque[nZodiaqueId]+' : Horoscope du jour </a><br>'
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2B%27mois%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.htm" target=horoscope15>'+sZodiaque[nZodiaqueId]+' : Horoscope mensuel</a><br>';
        sAmiURL = sAmiURL + '<a href="../../dossiers/Astrologie/%27%2BsBaseHoro%2B%27an20-%27%2BAddZeros(nZodiaqueId%2B1)%2B%27.htm" target=horoscope16>'+sZodiaque[nZodiaqueId]+' : Horoscope pour l an 2000</a><br>';
        sAmiURL = sAmiURL + '</center>';
        return sAmiURL;
}

function GetZodiaqueId(dDateNaissance){
        sDateNaissance=""
        sDateNaissance=sDateNaissance+AddZeros(dDateNaissance.getMonth()+1)+AddZeros(dDateNaissance.getDate());
        if ((sDateNaissance<'0121')|(sDateNaissance>='1222')){
                return 9;
        }
        if (sDateNaissance<'0219'){
                return 10;
        }
        if (sDateNaissance<'0321'){
                return 11;
        }
        if (sDateNaissance<'0421'){
                return 0;
        }
        if (sDateNaissance<'0522'){
                return 1;
        }
        if (sDateNaissance<'0622'){
                return 2;
        }
        if (sDateNaissance<'0723'){
                return 3;
        }
        if (sDateNaissance<'0824'){
                return 4;
        }
        if (sDateNaissance<'0923'){
                return 5;
        }
        if (sDateNaissance<'1024'){
                return 6;
        }
        if (sDateNaissance<'1123'){
                return 7;
        }
        return 8;
}

function GetZodiaque(dDateNaissance){
        return sZodiaque[GetZodiaqueId(dDateNaissance)];
}

function YYYYMMDD(dDate)                  // $01A
{
  ymd = dDate.getFullYear()+'/'+
        AddZeros(dDate.getMonth()+1)+'/'+
        AddZeros(dDate.getDate());
  return ymd
}

function GetChineseId(dDateNaissance)
{
        var yy=dDateNaissance.getFullYear();// $01C
        yy = yy - 1900;                 // $01C
        var nSigne=yy%12;
        var ymd1 = YYYYMMDD(dDateNaissance)// $01A
        var ymd2 = YYYYMMDD(dDate[yy])     // $01A
        if (ymd1 < ymd2)
        {
                if (nSigne==0)
                {
                        nSigne=11;
                }
                else
                {
                        nSigne=nSigne-1;
                }
        }
        return nSigne;
}

function GetChinese(dDateNaissance){
        return sSigne[GetChineseId(dDateNaissance)];
}

function GetChineseAscId(dDateNaissance){
        var yy=dDateNaissance.getFullYear();// $01C
        yy = yy - 1900;                 // $01C
        var nSigne=yy%10;
        nSigne=Math.floor(nSigne/2);

        var ymd1 = YYYYMMDD(dDateNaissance)// $01A
        var ymd2 = YYYYMMDD(dDate[yy])     // $01A
        if (ymd1 < ymd2)
        {
                if ((yy%10)==0){
                        nSigne=4;
                }
                else{
                        nSigne=Math.floor((yy%10-1)/2);
                }
        }
        return nSigne;
}

function GetChineseAsc(dDateNaissance){
        return sAsc[GetChineseAscId(dDateNaissance)];
}
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
}

// general purpose function to see if an input value has been entered at all
function isEmpty(inputStr) {
if (inputStr == "" || inputStr == null) {
return true
}
return false
}

// general purpose function to see if a suspected numeric input
// is a positive integer
function isNumber(inputStr) {
for (var i = 0; i < inputStr.length; i++) {
var oneChar = inputStr.substring(i, i + 1)
if (oneChar < "0" || oneChar > "9") {
return false
}
}
return true
}

// function to determine if value is in acceptable range for this application
function inRange(inputStr, lo, hi) {
var num = parseInt(inputStr)
if (num < lo || num > hi) {
return false
}
return true
}


function validateMonth(field) {
var input = stripZeros(field.value)
if (isEmpty(input)) {
alert("Il faut saisir un mois.")
select(field)
return false
} else {
if (!isNumber(input)) {
alert("Seulement du numérique.")
select(field)
return false
} else {
if (!inRange(input,1,12)) {
alert("Entrez un nombre entre 1 (Janvier) and 12 (Decembre).")
select(field)
return false
}
}
}
return true
}

function validateDate(field,monthField) {
var input = stripZeros(field.value)
if (isEmpty(input)) {
alert("Entrez une date.")
select(field)
return false
} else {
if (!isNumber(input)) {
alert("Uniquement des nombres.")
select(field)
return false
} else {
if (!validateMonth(monthField)) return false
var monthVal = parseInt(monthField.value)
var monthMax = new Array(31,31,29,31,30,31,30,31,31,30,31,30,31)
var top = monthMax[monthVal]
if (!inRange(input,1,top)) {
alert("Entrez un nombre entre 1 et " + top + ".")
select(field)
return false
}
}
}
return true
}

function validateYear(field)
{
   var input = field.value

   if (isEmpty(input))
   {
   alert("Il faut saisir une année.")
   select(field)
   return false
   }
   else
   {
      if (!isNumber(input))
      {
      alert("Seulement des nombres.")
      select(field)
      return false
      }
      else
      {
      //if (input<100)
      //{
      //  input=parseInt(input)+1900;
      //}
        if (!inRange(input,1900,2031)) {                       // $01C
        alert("Il faut un nombre entre 1900 et 2031. "+input)  // $01C
        select(field)
        return false
        }
      }
   }
   return true
}


function select(field) {
field.select()
field.focus()
}



