//*************************************************************************************************
//*************************************************************************************************
//*************************************************************************************************
//**********                                                                             **********
//**********                                                                             **********
//**********                           U R A N                                           **********
//**********                                                                             **********
//**********                                                                             **********
//*************************************************************************************************
//*************************************************************************************************
//*************************************************************************************************
function uran_Orb_Elem(kada)
{
	var d=izracunaj_d(kada);

	/*******************************
	* Orbitalni elementi Urana     *
	********************************/
	var N =  74.0005 + 1.3978E-5*d;
	var i = 0.7733 + 1.9E-8*d;
	var w =  96.6612 + 3.0565E-5 * d;
	var a = 19.18171 - 1.55E-8 * d; //  (AU)
	var e = 0.047318 + 7.45E-9 * d;
	var M =norm360( 142.5905 + 0.011725806 * d);
	
	
	//alert("M_uran="+M_uran);
	var vrati_parametre= new Array();
	vrati_parametre["N"]= N;
	vrati_parametre["i"]= i;
	vrati_parametre["w"]= w;
	vrati_parametre["a"]= a;
	vrati_parametre["e"]= e;
	vrati_parametre["M"]= M;
	return vrati_parametre;

}//end of uran_Orb_Elem()

function uran_Perturbations ( Mj, Ms, Mu)
{
	//	Mj-Mean anomaly of Jupiter, Ms-Mean anomaly of Saturn, Mu-Mean anomaly of Uranus 
	// Perturbations for uran: longitude
	var lon=0;
	lon += 0.040 * sinDeg(Ms - 2*Mu + 6 );
	lon += 0.035 * sinDeg(Ms - 3*Mu + 33 );
	lon += -0.015 * sinDeg(Mj - Mu + 20 );
    return lon;
}

function uran_kalkulator    (kada, h_konvencija, x_lon, x_lat, sunce_data )
{
	var vrati_parametre     = new Array();	
	var uran_data1          = new Array();
	var uran_data2          = new Array();
	var uran_data3          = new Array();
	var uran_data4          = new Array();
	var uran_data1_podne    = new Array();
	var uran_data2_podne    = new Array();
	var saturn_data1        = new Array();
	var saturn_data1_podne  = new Array();
	var jupiter_data1       = new Array();
	var jupiter_data1_podne = new Array();
	var sunce_polozaj_podne = new Array();
	var loc_podne = new Date(kada.getFullYear(), kada.getMonth(), kada.getDate(), 12,0,0,0);

	//window.status = "uran";

	jupiter_data1       = pozicija_planeta(kada, "jupiter");
	jupiter_data1_podne = pozicija_planeta(loc_podne,"jupiter");
	saturn_data1        = pozicija_planeta(kada, "saturn");
	saturn_data1_podne  = pozicija_planeta(loc_podne, "saturn");
	uran_data1          = pozicija_planeta(kada, "uran");
	uran_data1_podne    = pozicija_planeta(loc_podne, "uran");
	sunce_polozaj_podne = sunce_pozicija(loc_podne);

	uran_data1["lonecl"] += uran_Perturbations (jupiter_data1["M"], saturn_data1["M"], uran_data1["M"])
		
	uran_data2 = planet_RA_Decl("uran", izracunaj_ecl(kada), uran_data1["r"], uran_data1["lonecl"], uran_data1["latecl"],
								sunce_data["r"], sunce_data["lon"] );	

	// u podne
	uran_data1_podne["lonecl"] += uran_Perturbations (jupiter_data1_podne["M"], saturn_data1_podne["M"], uran_data1_podne["M"])
		
	uran_data2_podne = planet_RA_Decl("uran", izracunaj_ecl(kada), uran_data1_podne["r"], uran_data1_podne["lonecl"], 
										uran_data1_podne["latecl"],	sunce_polozaj_podne["r"], sunce_polozaj_podne["lon"] );	


	uran_data3 = planet_izlazk_zalazak(kada, h_konvencija, x_lon, x_lat, sunce_data["M"], sunce_data["w"], 
											uran_data2["RA"], uran_data2["Dec"], uran_data1_podne["M"],
											uran_data1_podne["w"], uran_data2_podne["RA"], uran_data2_podne["Dec"],
											sunce_polozaj_podne["M"], sunce_polozaj_podne["w"]);
 
	uran_data4 = planet_ostalo (uran_data1["r"],uran_data2["rg"],sunce_data["r"], "uran", uran_data1["lonecl"], uran_data1["latecl"], sunce_data["lon"], 0);

	vrati_parametre["N"]     = uran_data1["N"]; // N
	vrati_parametre["i"]     = uran_data1["i"]; // i
	vrati_parametre["w"]     = uran_data1["w"]; // w
	vrati_parametre["a"]     = uran_data1["a"]; // a
	vrati_parametre["e"]     = uran_data1["e"]; // e
	vrati_parametre["M"]     = uran_data1["M"]; // M 
	vrati_parametre["v"]     = uran_data1["v"]; // v
	vrati_parametre["r"]     = uran_data1["r"]; // r
	vrati_parametre["lonecl"]= uran_data1["lonecl"]; // lonecl
	vrati_parametre["latecl"]= uran_data1["latecl"]; // latecl
	vrati_parametre["RA"]    = uran_data2["RA"]; // RA
	vrati_parametre["Dec"]   = uran_data2["Dec"]; // Dec
	vrati_parametre["rg"]    = uran_data2["rg"]; // rg	
	vrati_parametre["altitude above the horizon"] 	= uran_data3["altitude above the horizon"]; //planet altitude above the horizon
	vrati_parametre["UT_in_south"]            		= uran_data3["UT_in_south"]; // vrijeme  (UT) kada je planet tocno na jugu
	vrati_parametre["cosLHA"]                     	= uran_data3["cosLHA"];
	vrati_parametre["izlazak UT"]                 	= uran_data3["izlazak UT"]; // izlazak  u UT
	vrati_parametre["zalazak UT"]                 	= uran_data3["zalazak UT"]; // zalazak  u UT
	vrati_parametre["izlazak local time"]         	= uran_data3["izlazak local time"]; // izlazak u lokalnom vremenu
	vrati_parametre["zalazak local time"]         	= uran_data3["zalazak local time"]; // zalazak u lokalnom vremenu
	vrati_parametre["azimuth"]            = uran_data3["azimuth"];
  vrati_parametre["altitude"]           = uran_data3["altitude"];
	vrati_parametre["elong"]			= uran_data4["elong"]; // The elongation is the apparent angular distance of the planet from the Sun
	vrati_parametre["faza"]				= uran_data4["faza"];
	vrati_parametre["d"]				= uran_data4["d"]; // apparent diameter
	vrati_parametre["magnitude"]		= uran_data4["magnitude"];
	vrati_parametre["fazni kut"]        = uran_data4["fazni kut"];

	return vrati_parametre;

} //end of uran_kalkulator()
