<!-- <script languaje="JavaScript">
<!-- calcula Ascendente
<!-- autor: Ferran Delriu fdelriu@astrologia-cientifica.com
<!-- http://www.astrologia-cientifica.com

<!-- captura datos
var signos;
var dia;
var mes;
var ano;
var minutos;
var hora;
var solar;
var i;
var num;
var latsig;
var latgra;
var latmin;
var lonsig;
var longra;
var lonmin;
var tem;
var ass;
var sd;
sd=0;
var f;
dia=0
mes=0
ano=0

signos=new Array ("Aries","Tauro","Geminis","Cancer","Leo","Virgo","Libra","Escorpio","Sagitario","Capricornio","Acuario","Piscis");

function calculo(form) {
	<!-- captura dia 
	i=form.cmbdia.selectedIndex;
	dia=form.cmbdia.options[i].text;
	<!-- captura mes 
	mes=form.cmbmes.selectedIndex+1;
	<!-- captura ano 
	i=form.cmbano.selectedIndex;
	ano=form.cmbano.options[i].text;

	<!-- captura hora 
	i=form.cmbhor.selectedIndex;
	hora=form.cmbhor.options[i].text;
	<!-- captura minutos 
	i=form.cmbmin.selectedIndex;
	minutos=form.cmbmin.options[i].text;
	<!-- monta hora
	solar=hora+'.'+minutos;
	<!-- tz
	i=form.cmbtz.selectedIndex;
	tz=form.cmbtz.options[i].text;
	tz=tz.substring(0,5);
	<!-- hora a decimales
	f=solar;
	f=q(f)+q(tz);

	<!-- captura latitud signo 
	i=form.cmblatsig.selectedIndex;
	latsig=form.cmblatsig.options[i].text;
	<!-- captura latitud grados 
	i=form.cmblatgra.selectedIndex;
	latgra=form.cmblatgra.options[i].text;
	<!-- captura latitud minutos 
	i=form.cmblatmin.selectedIndex;
	latmin=form.cmblatmin.options[i].text;
	<!-- monta latitud
	lat=latsig+latgra+'.'+latmin;
    	<!--bug si es 0 grados
	tem=Math.abs(lat)
	if (tem=0) {
		lat = 0.001
	}
    	lat = r(q(lat))

	<!-- captura longitud signo 
	i=form.cmblonsig.selectedIndex;
	lonsig=form.cmblonsig.options[i].text;
	<!-- captura longitud grados 
	i=form.cmblongra.selectedIndex;
	longra=form.cmblongra.options[i].text;
	<!-- captura longitud minutos 
	i=form.cmblonmin.selectedIndex;
	lonmin=form.cmblonmin.options[i].text;
	<!-- monta longitud
	lon=lonsig+longra+'.'+lonmin;
    	<!--invierte signo longitud
	tem=sgn(lon)
    	if (tem=1) {
        	lon = -lon
    	}
	else {
		lon = Math.abs(lon)
    	}
    	lon = q(lon)

	ano=Math.floor(ano)
	mes=Math.floor(mes)
	dia=Math.floor(dia)

	<!-- calendario gregoriano Sol
	var jd;
	var tt;
	jd = 367 * ano - Math.floor(7 * (ano + Math.floor((mes + 9) / 12)) / 4);
	jd = jd + Math.floor(275 * mes / 9) + dia + 1721013.5;
	jd = jd - 0.5 * sgn(100 * ano + mes - 190002.5) + 0.5;
	tt = (jd - 2415384.5) + f / 24;
	<!--  calendario gregoriano para luna
	var im;
	var j;
	var t;
	im = 12 * (ano + 4800) + mes - 3;
	j = (2 * (im - Math.floor(im / 12) * 12) + 7 + 365 * im) / 12;
	j = Math.floor(j) + dia + Math.floor(im / 48) - 32083;
	if (j<=2299171) {
		t = ((jd - 2415020) + f / 24 - 0.5) / 36525;
	}
	else {
		jd = j + Math.floor(im / 4800) - Math.floor(im / 1200) + 38;
        	t = ((jd - 2415020) + f / 24 - 0.5) / 36525;
	}

    	<!-- calcula ra
    	ra = r(u((6.6460656 + 2400.0513 * t + 0.0000258 * t * t + f) * 15 - lon));

    	<!-- calcula ob
    	ob = r(23.452294 - 0.0130125 * t);

    	<!-- Ascendente
    	ass = Math.atan(Math.cos(ra) / (-Math.sin(ra) * Math.cos(ob) - Math.tan(lat) * Math.sin(ob)));
    	if (ass < 0) {
		ass = ass + Math.PI;
	}	
	tem=Math.cos(ra)
	if ( tem < 0) {
		ass = ass + Math.PI;
	}
	ass = u(d(ass) + sd);

	<!-- pinta resultado calculo ascendente
	form.txtasc.value=cadena2(ass)+' '+signos[signo(ass)-1];

}

<!-- inicio funciones

function q(num) {
	return sgn(num)*(Math.floor(Math.abs(num))+(Math.abs(num)-Math.floor(Math.abs(num)))*100/60);
}

function sgn(num) {
	if (num<0) {
		return -1
	}
	if (num==0) {
		return 0
	}
	if (num>0) {
		return 1
	}
}

function r(num) {
    return Math.PI / 180 * num
}

function u(num) {
	return num - (Math.floor(num / 360) * 360);
}

function d(num) {
    return 180 / Math.PI * num
}

function cadena2(num) {
	var z7;
	var z77;
	if (num>=360) {
		num = num - 360
	}
	if (num<0) {
		num = 360 - Abs(num)
	}
	z7 = Math.floor((Math.abs(num) / 30 - Math.floor(Math.abs(num) / 30)) * 30);
	z77 = Math.floor((Math.abs(num) - Math.floor(Math.abs(num))) * 60);
	if (sgn(num)>=0) {
		return z7+"º"+z77+"'";
	}
	else {
		return "-"+z7+"º"+z77+"'";
	}
}

function signo(num) {
	if (num>=360) {
		num = num - 360
	}
	if (num<0) {
		num = 360 - Math.abs(num)
	}
	return Math.floor(Math.abs(num) / 30) + 1
}

