var dDate = new Array(100);
var sSigne = new Array("Rat","Buffle","Tigre","Chat","Dragon","Serpent","Cheval","Bouc","Singe","Coq","Chien","Cochon");
var sAsc = new Array("Metal","Eau","Bois","Feu","Terre");
var sZodiaque=new Array("Belier","Taureau","Gemeaux","Cancer","Lion","Vierge","Balance","Scorpion","Sagittaire","Capricorne","Verseau","Poissons");
var sAmitieBase="http://static.affection.org/frame.html?title=Horo&frame=http%3A%2F%2Fwww%2Eastrosonia%2Ecom%2F"
var sBaseHoro="http://static.affection.org/frame.html?title=Horo&frame=http%3A%2F%2Fwww%2Easiaflash%2Ecom%2F"
var sBaseHoro2="http://static.affection.org/frame.html?title=Horo&frame=http%3A%2F%2Fwww%2Easiaflash%2Ecom%2Fastro%2F"
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;

function DisplayHoroscope() {
ie=document.all?1:0;
n=document.layers?1:0;

}

function CheckDate(form){
	var mm = parseInt(stripZeros(form.MoisNaissance.value)) - 1;
	var dd = parseInt(stripZeros(form.JourNaissance.value));
	var yy = parseInt(stripZeros(form.NAISSANCE.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.MoisNaissance.value)) - 1;
	var dd = parseInt(stripZeros(form.JourNaissance.value));
	var yy = parseInt(stripZeros(form.NAISSANCE.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="/liste.asp?CHERCHESEXE=01&limit=5&AstroChin='+sSigne[i]+'">Annonces de Femmes '+sSigne[i]+' </a><br>');
		document.write( '<a href="/liste.asp?CHERCHESEXE=04&limit=5&AstroChin='+sSigne[i]+'">Annonces d Hommes '+sSigne[i]+' </a><br><br>');
	}
}

function FormAstro(){
	document.write('Entrez votre date de naissance:<BR>');
	document.write('<b>Jour</b> : <INPUT TYPE="text" NAME="JourNaissance" VALUE="" SIZE=2 maxlength=2 onChange="if (!validateDate(this.form.JourNaissance,this.form.MoisNaissance)) return false; CheckDate(this.form); return true;">');
	document.write('<b>Mois</b> : <INPUT TYPE="text" NAME="MoisNaissance" VALUE="" SIZE=2 maxlength=2 onChange="if (!validateDate(this.form.JourNaissance,this.form.MoisNaissance)) return false;CheckDate(this.form); return true;">');
	document.write('<b>Année</b> : 19<INPUT TYPE="text" NAME="NAISSANCE"  VALUE="" SIZE=2 maxlength=2 onChange="validateYear(this);CheckDate(this.form);">');
	document.write('<input type="button" OnClick="CheckDate(this.form);" value="OK">');
	document.write('<table><tr><th align="right">Signe Chinois:</th><td><input type="text" name="AstroChin"></td></tr>');
	document.write('<tr><th align="right">Elément Chinois:</th><td><input type="text" name="AstroChinAsc"></td></tr>');
	document.write('<tr><th align="right">Zodiaque:</th><td><input type="text" name="ZODIAQUE"></td></tr>');
	document.write('</table>');
	document.write('<input type="button" value="Horoscopes" OnClick="CheckDate(this.form);CreateHoroNav(this.form);">');
	document.write('<div ID="horo"></div>');
}


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><small><a href="/horoscope/signe/rencontre/compatibilite.html" target="_blank">Synthèse des compatibilités amoureuses.</a><br>';
	sAmiURL = sAmiURL + '<a href="/horoscope/signe/rencontre/index.html" target="_blank">Astro - rencontres</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sAmitieBase+'zodi'+sSigneId+'%2Ehtml" target="_blank">Les caractéristiques du '+sSigne[nSigneId]+'</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sAmitieBase+'elem'+sSigneId+'%2Ehtml" target="_blank">Influence des éléments sur le '+sSigne[nSigneId]+'</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sAmitieBase+'comp'+sSigneId+'%2Ehtml" target="_blank">Compatibilité amoureuse du '+sSigne[nSigneId]+'</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sAmitieBase+'amiti'+sSigneId+'%2Ehtml" target="_blank">L amitié et le '+sSigne[nSigneId]+'</a><br><br>';
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro+'cjour%2Ehtml%23'+sSigne[nSigneId].toLowerCase()+'" target="_blank">Horoscope du jour pour le '+sSigne[nSigneId]+'</a><br>'
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro+'hebdo%2Ehtm%23'+sSigne[nSigneId].toLowerCase()+'" target="_blank">Horoscope hebdomadaire pour le '+sSigne[nSigneId]+'</a><br>'
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro2+'signe'+AddZeros(nZodiaqueId+1)+'%2Ehtml" target="_blank">La personalité du '+sZodiaque[nZodiaqueId]+'</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro2+'aff'+AddZeros(nZodiaqueId+1)+'%2Ehtml" target="_blank">Les affinités amoureuses du '+sZodiaque[nZodiaqueId]+'</a><br>';
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro+'parjour%2Ehtml%23'+sZodiaque[nZodiaqueId].toLowerCase()+'" target="_blank">'+sZodiaque[nZodiaqueId]+' : Horoscope du jour </a><br>'
	sAmiURL = sAmiURL + '<a href="'+sBaseHoro+'mois'+AddZeros(nZodiaqueId+1)+'%2Ehtm" target="_blank">'+sZodiaque[nZodiaqueId]+' : Horoscope mensuel</a><br>';
	sAmiURL = sAmiURL + '</small></center>';
	return sAmiURL;
}

function GetZodiaqueId(dDateNaissance){
	sDateNaissance=""
	sDateNaissance=sDateNaissance+AddZeros(dDateNaissance.getMonth()+1)+AddZeros(dDateNaissance.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(dDateNaissance){
	return sZodiaque[GetZodiaqueId(dDateNaissance)];
}

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 sSigne[GetChineseId(dDateNaissance)];
}
function GetChineseAscId(dDateNaissance){
	var yy=dDateNaissance.getYear();
	var nSigne=yy%10;
	nSigne=Math.floor(nSigne/2);	

	if (dDateNaissance<dDate[yy]){
		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("Be sure to enter a date value.")
select(field)
return false
} else {
if (!isNumber(input)) {
alert("Entries must be numbers only.")
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,2005)) {
alert("IL faut un nombre entre 1900 et 2005. "+input)
select(field)
return false
}
}
}
return true
}


function select(field) {
field.select()
field.focus()
}

var now=new Date();
var dates= now.getDate();
var months= (now.getMonth()+1);
var years= (now.getYear()-1900-18);
document.write('<center><form><b>Quelle est votre date de naissance ?</b><BR>');
document.write('<b>Jour</b> : <INPUT TYPE="text" NAME="JourNaissance" VALUE="01" SIZE=2 maxlength=2 onChange="if (!validateDate(this.form.JourNaissance,this.form.MoisNaissance)) return false; CheckDate(this.form); return true;">');
document.write('<b>Mois</b> : <INPUT TYPE="text" NAME="MoisNaissance" VALUE="01" SIZE=2 maxlength=2 onChange="if (!validateDate(this.form.JourNaissance,this.form.MoisNaissance)) return false;CheckDate(this.form); return true;">');
document.write('<b>Année</b> : <INPUT TYPE="text" NAME="NAISSANCE"  VALUE="1900" SIZE=4 maxlength=4 onChange="validateYear(this);CheckDate(this.form);">');
document.write('<input type="button" OnClick="CheckDate(this.form);" value="OK">');
document.write('<table><tr><td align="right">Signe Chinois:</td><td><input type="text" name="AstroChin"></td></tr>');
document.write('<tr><td align="right">Elément Chinois:</td><td><input type="text" name="AstroChinAsc"></td></tr>');
document.write('<tr><td align="right">Zodiaque:</td><td><input type="text" name="ZODIAQUE"></td></tr>');
document.write('</table>');
document.write('<input type="button" value="Horoscopes" OnClick="CheckDate(this.form);CreateHoroNav(this.form);">');
document.write('<div ID="horo"></div></form></center>');
