PageSourceSearch

https://www.astrolive.ch/wp-content/plugins/planetary-position/wid…?ver=8f6944dede3c227c5fab07f24fb1db75

js astrolive.ch collected 2026-10-08 03:29:12 UTC 71,785 bytes, 1,967 lines download raw bytes

1/**
2 * Ephemeris namespace
3 */
4
5var $JQ = jQuery.noConflict();
6var $ = $JQ;
7
8function html2text( html ) {
9    var d = document.createElement( 'div' );
10    d.innerHTML = html;
11    return d.textContent;
12}
13
14
15	var mons = [ "January", "February", "March","April","May","June","July","August","September","October","November","December" ];
16	var zod_s = [ "Ari", "Tau", "Gem", "Cnc", "Leo", "Vir", "Lib", "Sco", "Sgr", "Cap", "Aqr", "Psc" ];
17
18	var zods = [
19	["Ari","#f00"],
20	["Tau","#0a0"],
21	["Gem","#a8a"],
22	["Can","#00f"],
23	["Leo","#f00"],
24	["Vir","#0a0"],
25	["Lib","#a8a"],
26	["Sco","#00f"],
27	["Sag","#f00"],
28	["Cap","#0a0"],
29	["Aqu","#a8a"],
30	["Pis","#00f"] ];
31	var nax = [
32	"Ashwini",
33	"Bharani",
34	"Krittika",
35	"Rohini",
36	"Mrigashira",
37	"Ardra",
38	"Punarvasu",
39	"Pushya",
40	"Ashlesha",
41	"Magha",
42	"P.Phalguni",
43	"U.Phalguni",
44	"Hasta",
45	"Chitra",
46	"Swati",
47	"Vishakha",
48	"Anuradha",
49	"Jyeshtha",
50	"Moola",
51	"P.Shada",
52	"U.Shada",
53	"Shravan",
54	"Dhanishtha",
55	"Shatabhisha",
56	"P.Bhadrapada",
57	"U.Bhadrapada",
58	"Revati"
59		];
60
61var ayan = [
62    [-1, -1],
63    [2435553.5, 23.250182778 - 0.004660222], 
64    [2433282.5, 24.042044444],  /* 0: Fagan/Bradley (Default) */
65    [-2, -2],
66    [-3, -3],
67    [-4, -4],
68    [-5, -5],
69    [2415020.0, 360 - 333.58695],   /* 2: De Luce (Robert Hand) */
70    [2415020.0, 360 - 338.98556],   /* 3: Raman (Robert Hand) */
71    [2415020.0, 360 - 341.33904],   /* 4: Ushashashi (Robert Hand) */
72    [2415020.0, 360 - 337.636111],  /* 5: Krishnamurti (Robert Hand) */
73    [2415020.0, 360 - 333.0369024], /* 6: Djwhal Khool; (Graham Dawson)  
74                                 *    Aquarius entered on 1 July 2117 */
75    [2415020.0, 360 - 338.917778],  /* 7: Yukteshwar; (David Cochrane) */
76    [2415020.0, 360 - 338.634444],  /* 8: JN Bhasin; (David Cochrane) */
77    [1684532.5, -3.36667],      /* 9: Babylonian, Kugler 1 */
78    [1684532.5, -4.76667],      /*10: Babylonian, Kugler 2 */
79    [1684532.5, -5.61667],      /*11: Babylonian, Kugler 3 */
80    [1684532.5, -4.56667],      /*12: Babylonian, Huber */
81    [1673941, -5.079167],       /*13: Babylonian, Mercier;
82                                 *    eta Piscium culminates with zero point */
83    [1684532.5, -4.44088389],   /*14: t0 is defined by Aldebaran at 15 Taurus */
84    [1674484, -9.33333],        /*15: Hipparchos */
85    [1927135.8747793, 0],       /*16: Sassanian */
86//    [1746443.513, 0],           /*17: Galactic Center at 0 Sagittarius */
87    [2451545.0, 0],                 /*18: J2000 */
88    [2415020.0, 0],                 /*19: J1900 */
89    [2433282.423, 0]                 /*20: B1950 */
90	];
91
92
93var sel_ayan = 0;
94
95var ayan_name = [
96	"True Chitrapaksha",
97	"Lahiri",
98	"Fagan/Bradley",
99	"True Revati",
100	"True Pushya",
101	"True Mula",
102	"Galactic Center at 0Sagittarius",
103	"De Luce",
104	"Raman",
105	"Ushashashi",
106	"Krishnamurti",
107	"Djwhal Khool",
108	"Yukteshwar",
109	"JN Bhasin",
110	"Babylonian, Kugler 1",
111	"Babylonian, Kugler 2",
112	"Babylonian, Kugler 3",
113	"Babylonian, Huber",
114	"Babylonian, Mercier",
115	"Aldebaran 15 Tau",
116	"Hipparchos",
117	"Sassanian",
118//	"Galactic Center at 0 Sag",
119	"J2000",
120	"J1900",
121	"B1950"
122	];
123
124
125	var mons = [ "January", "February", "March","April","May","June","July","August","September","October","November","December" ];
126	var zod_s = [ "Ari", "Tau", "Gem", "Cnc", "Leo", "Vir", "Lib", "Sco", "Sgr", "Cap", "Aqr", "Psc" ];
127	var weektxt = [ "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
128	var zods = [
129	["Ari <span style='font-family:Saravali!important;'>A</span>","#f00"],
130	["Tau <span style='font-family:Saravali!important;'>B</span>","#0a0"],
131	["Gem <span style='font-family:Saravali!important;'>C</span>","#a8a"],
132	["Can <span style='font-family:Saravali!important;'>D</span>","#00f"],
133	["Leo <span style='font-family:Saravali!important;'>E</span>","#f00"],
134	["Vir <span style='font-family:Saravali!important;'>F</span>","#0a0"],
135	["Lib <span style='font-family:Saravali!important;'>G</span>","#a8a"],
136	["Sco <span style='font-family:Saravali!important;'>H</span>","#00f"],
137	["Sag <span style='font-family:Saravali!important;'>I</span>","#f00"],
138	["Cap <span style='font-family:Saravali!important;'>J</span>","#0a0"],
139	["Aqu <span style='font-family:Saravali!important;'>K</span>","#a8a"],
140	["Pis <span style='font-family:Saravali!important;'>L</span>","#00f"] ];
141	var nax = [
142	"Ashwini",
143	"Bharani",
144	"Krittika",
145	"Rohini",
146	"Mrigashira",
147	"Ardra",
148	"Punarvasu",
149	"Pushya",
150	"Ashlesha",
151	"Magha",
152	"P.Phalguni",
153	"U.Phalguni",
154	"Hasta",
155	"Chitra",
156	"Swati",
157	"Vishakha",
158	"Anuradha",
159	"Jyeshtha",
160	"Moola",
161	"P.Shada",
162	"U.Shada",
163	"Shravan",
164	"Dhanishtha",
165	"Shatabhisha",
166	"P.Bhadrapada",
167	"U.Bhadrapada",
168	"Revati"
169		];
170
171var h_mon = [
172	"Chaitra",
173	"Vaishakha",
174	"Jyestha",
175	"Ashadha",
176	"Shravana",
177	"Bhadrapada",
178	"Ashwin",
179	"Kartik",
180	"Margashirsha",
181	"Paush",
182	"Magha",
183	"Phalguna",
184	];
185
186var h_tithi = [
187	"Pratipada",
188	"Dwitiya",
189	"Tritiya",
190	"Chaturthi",
191	"Panchami",
192	"Shashthi",
193	"Saptami",
194	"Ashtami",
195	"Navami",
196	"Dashami",
197	"Ekadashi",
198	"Dwadashi",
199	"Trayodashi",
200	"Chaturdashi",
201	];
202
203var karana_name = [
204        'Kimstughna',
205        'Bava      ',
206        'Balava    ',
207        'Kaulava   ',
208        'Taitila   ',
209        'Gara      ',
210        'Vanij     ',
211        'Visti     ',
212        'Shakuni    ',
213        'Chatuspada ',
214        'Naga      '
215    ];
216
217var Jovian_Year_name = [
218        'Kshaya',
219        'Prabhava',
220        'Vibhava',
221        'Sukha',
222        'Pramoda',
223        'Prajapati',
224        'Angiras',
225        'Srimukha',
226        'Bhava',
227        'Yuva',
228        'Dhaitri',
229        'Ishvara',
230        'Bahudhanya',
231        'Pramadhi',
232        'Vikrama',
233        'Vrisha',
234        'Chitrabhanu',
235        'Svabhanu',
236        'Tarana',
237        'Parthiva',
238        'Vyaya',
239        'Sarvajit',
240        'Sarvadhari',
241        'Virodhi',
242        'Vikrita',
243        'Khara',
244        'Nandana',
245        'Vijaya',
246        'Jaya',
247        'Manmatha',
248        'Durmukha',
249        'Hemalamba',
250        'Vilambi',
251        'Vikari',
252        'Sharvari',
253        'Plava',
254        'Shubhakruti',
255        'Shobhana',
256        'Krodhi',
257        'Vishvavasu',
258        'Parabhava',
259        'Plavanga',
260        'Kilaka',
261        'Saumya',
262        'Sadharana',
263        'Virodhikruti',
264        'Paridhavi',
265        'Pramadicha',
266        'Ananda',
267        'Rakshasa',
268        'Anala',
269        'Pingala',
270        'Kalayukti',
271        'Siddharthi',
272        'Raudra',
273        'Durmathi',
274        'Dundubhi',
275        'Rudhirodgari',
276        'Raktakshi',
277        'Krodhana'
278    ];
279
280var yoga_name = [
281        'Vishkambha',
282        'Preethi',
283        'Ayushman',
284        'Saubhagya',
285        'Shobhana',
286        'Atiganda',
287        'Sukarma',
288        'Dhriti',
289        'Shula',
290        'Ganda',
291        'Vriddhi',
292        'Dhruva',
293        'Vyaghata',
294        'Harshana',
295        'Vajra',
296        'Siddhi',
297        'Vyatipata',
298        'Variyana',
299        'Parigha',
300        'Shiva',
301        'Siddha',
302        'Sadhya',
303        'Shubha',
304        'Shukla',
305        'Brahma',
306        'Indra',
307        'Vaidhriti',
308        'Vishkambha'
309    ];
310
311var YugaRotation = [];
312
313function set_primary_constant_SuryaSiddhanta() {//# Saura, HIL, p.15
314    YugaRotation['star']       = 1582237828;
315    YugaRotation['sun']        = 4320000;
316    YugaRotation['moon']       = 57753336;
317    YugaRotation['mercury']    = 17937060;
318    YugaRotation['venus']      = 7022376;
319    YugaRotation['mars']       = 2296832;
320    YugaRotation['jupiter']    = 364220;
321    YugaRotation['saturn']     = 146568;
322    YugaRotation['Candrocca']  = 488203;
323    YugaRotation['Rahu']       = -232238;
324}
325
326function set_secondary_constant() {
327    YugaCivilDays      = YugaRotation['star'] - YugaRotation['sun'];
328    YugaSynodicMonth   = YugaRotation['moon'] - YugaRotation['sun'];
329    YugaAdhimasa       = YugaSynodicMonth - 12 * YugaRotation['sun'];
330    YugaTithi          = 30 * YugaSynodicMonth;
331    YugaKsayadina      = YugaTithi - YugaCivilDays;
332}
333
334var PlanetRotation = [];
335var PlanetSighra = [];
336var PlanetApogee = [];
337var PlanetCircumm = [];
338var PlanetCircums = [];
339var PlanetMeanPosition = [];
340var PlanetTruePosition = [];
341var PlanetApogee = [];
342var PlanetCircumm = [];
343var PlanetCircums = [];
344
345var back_clong_ahar    = -1;
346var back_nclong_ahar   = -1;
347var back_clong         = -1;
348var back_nclong        = -1;
349
350
351var pi        = Math.atan2(1,1) * 4;
352var pi2       = pi * 2;
353var rad       = 180 / pi;
354var eps       = 1e-6;
355var epsiron   = 1e-8;
356
357var samkranti;
358var samkranti_year;
359var samkranti_month;
360var samkranti_day;
361var samkranti_hour;
362var samkranti_min;
363
364var Ujjaini_lon;
365var desantara;
366
367
368function ModernDate_to_JulianDay(year, month, day) {
369//    local($year, $month, $day) = @_;
370
371    var julian_day;
372
373    if (month < 3) {
374        year = year -1 ;
375        month = month + 12;
376    }
377
378    julian_day = Math.floor(365.25 * year) + Math.floor(30.59 * (month - 2)) + day + 1721086.5;
379    if (year < 0) {
380        julian_day = julian_day - 1;
381        if (((year % 4) == 0) && (3 <= month)) {
382            julian_day = julian_day + 1;
383        }
384    }
385    if (2299160 < julian_day) {
386        julian_day = julian_day + Math.floor(year / 400) - Math.floor(year / 100) + 2;
387    }
388
389    return julian_day;
390}
391
392function JulianDay_to_Ahargana(julian_day) {
393//# {from epoch midnight to given midnight}
394//    local($julian_day) = @_;
395
396    return (julian_day - 588465.50);
397}
398
399function Ahargana_to_JulianDay(ahar) {
400//    local($ahar) = @_;
401
402    return (588465.50 + ahar);
403}
404
405
406function set_planetary_constant() {
407
408    PlanetRotation['star']      = 0;
409    PlanetSighra['star']        = 0;
410    PlanetApogee['star']        = 0;
411    PlanetCircumm['star']       = 0;
412    PlanetCircums['star']       = 0;
413
414    PlanetRotation['sun']       = YugaRotation['sun'];
415    PlanetSighra['sun']         = YugaRotation['sun'];
416    PlanetApogee['sun']         = 77 + 17 / 60;
417    PlanetCircumm['sun']        = 13 + 50 / 60;
418    PlanetCircums['sun']        = 0;
419
420    PlanetRotation['moon']      = YugaRotation['moon'];
421    PlanetSighra['moon']        = 0;
422    PlanetApogee['moon']        = 0;
423    PlanetCircumm['moon']       = 31 + 50 / 60;
424    PlanetCircums['moon']       = 0;
425
426    PlanetRotation['mercury']   = YugaRotation['sun'];
427    PlanetSighra['mercury']     = YugaRotation['mercury'];
428    PlanetApogee['mercury']     = 220 + 27 / 60;
429    PlanetCircumm['mercury']    = 29;
430    PlanetCircums['mercury']    = 131.5;
431
432    PlanetRotation['venus']     = YugaRotation['sun'];
433    PlanetSighra['venus']       = YugaRotation['venus'];
434    PlanetApogee['venus']       = 79 + 50 / 60;
435    PlanetCircumm['venus']      = 11.5;
436    PlanetCircums['venus']      = 261;
437
438    PlanetRotation['mars']      = YugaRotation['mars'];
439    PlanetSighra['mars']        = YugaRotation['sun'];
440    PlanetApogee['mars']        = 130 + 2 / 60;
441    PlanetCircumm['mars']       = 73.5;
442    PlanetCircums['mars']       = 233.5;
443
444    PlanetRotation['jupiter']   = YugaRotation['jupiter'];
445    PlanetSighra['jupiter']     = YugaRotation['sun'];
446    PlanetApogee['jupiter']     = 171 + 18 / 60;
447    PlanetCircumm['jupiter']    = 32.5;
448    PlanetCircums['jupiter']    =  71;
449
450    PlanetRotation['saturn']    = YugaRotation['saturn'];
451    PlanetSighra['saturn']      = YugaRotation['sun'];
452    PlanetApogee['saturn']      = 236 + 37 / 60;
453    PlanetCircumm['saturn']     = 48.5;
454    PlanetCircums['saturn']     = 39.5;
455
456    PlanetRotation['Candrocca'] = YugaRotation['Candrocca'];
457    PlanetSighra['Candrocca']   = 0;
458    PlanetApogee['Candrocca']   = 0;
459    PlanetCircumm['Candrocca']  = 0;
460    PlanetCircums['Candrocca']  = 0;
461
462    PlanetRotation['Rahu']      = YugaRotation['Rahu'];
463    PlanetSighra['Rahu']        = 0;
464    PlanetApogee['Rahu']        = 0;
465    PlanetCircumm['Rahu']       = 0;
466    PlanetCircums['Rahu']       = 0;
467}
468
469var intp_yoga;
470function get_yoga_name(tslong, tllong) {
471//    local($tslong, $tllong) = @_;
472
473    var yoga1, yoga;
474
475    yoga1 = zero360(tslong + tllong);
476    yoga = Math.floor(yoga1 * 27 / 360) % 27;
477	intp_yoga = yoga;
478    return yoga_name[yoga];
479}
480
481var year_samvat;
482
483function get_Jovian_Year_name(YearKali, x) {
484//    local($YearKali) = @_;
485
486    var Jovian_Year;
487
488    Jovian_Year = (parseInt(((YearKali * 117) - 60) / 10000) + YearKali + 27) % 60;
489if (x == 1) { 	year_samvat = Jovian_Year; }
490    return Jovian_Year_name[Jovian_Year];
491}
492
493
494function get_Jovian_Year_name_south(YearKali) {
495//    local($YearKali)  = @_;
496
497    var Jovian_Year;
498
499    if (YearKali < 4009) {
500        Jovian_Year = YearKali;
501    } else {
502        Jovian_Year = (60 + YearKali - 14) % 60;
503    }
504    return get_Jovian_Year_name(Jovian_Year, 1);
505}
506
507var karana_no;
508
509function get_karana_name(tithi) {
510//    local($tithi) = @_;
511
512    var karana;
513
514    karana = Math.floor(2 * tithi);
515    if (karana == 0) {
516	karana_no = 0;
517        return karana_name[0];}
518    else if (karana < 57) {
519        karana = karana % 7;
520        if (karana ==0){
521	karana_no = 7;
522            return karana_name[7];
523        } else if (karana !=0){
524	karana_no = karana;
525            return karana_name[karana];
526        }
527    } else if (karana == 57) {
528	karana_no = 8;
529        return karana_name[8];
530    } else if (karana == 58) {
531	karana_no = 9;
532        return karana_name[9];
533    } else if (karana == 59) {
534	karana_no = 10;
535        return karana_name[10];
536    }
537}
538
539function Ahargana_to_JulianDay(ahar) {
540//    local($ahar) = @_;
541
542    return 588465.50 + ahar;
543}
544
545function Ahargana_to_Kali(ahar) {
546//    local($ahar) = @_;
547//# global variables: $YugaRotation{'sun'}, $YugaCivilDays
548
549    return Math.floor(ahar * YugaRotation['sun'] / YugaCivilDays);
550}
551
552function Kali_to_Ahargana(YearKali, masa_num, tithi_day) {
553//    local($YearKali, $masa_num, $tithi_day) = @_;
554//# global variables: $YugaAdhimasa, $YugaRotation{'sun'}, $YugaKsayadina, $YugaTithi
555
556    var sm, cm, adhim, avama, tithi;
557
558    sm = YearKali;
559    sm = sm * 12 + masa_num; 
560    adhim = Math.floor(sm * YugaAdhimasa / (12 * YugaRotation['sun'])); 
561    cm = sm + adhim; 
562    tithi = 30 * cm + tithi_day -1;
563    avama = Math.floor(tithi * YugaKsayadina / YugaTithi ); 
564
565    return tithi - avama;
566}
567
568function Kali_to_Saka(YearKali) {
569//    local($YearKali) = @_;
570
571    return YearKali - 3179;
572}
573
574function three_relation(a,b,c) {
575//    local($a, $b, $c) = @_;
576
577    if ((a < b) && (b < c)) {
578        return 1;
579    } else if ((c < b) && (b < a)) {
580        return -1;
581    } else {
582        return 0;
583    }
584}
585
586function get_masa_num(tslong, clong) {
587//    local($tslong, $clong) = @_;
588
589    var masa_num;
590
591    masa_num = Math.floor(tslong / 30) % 12;
592    if ((Math.floor(clong / 30) % 12) == masa_num) {
593        masa_num = masa_num + 1;
594    }
595    masa_num = (masa_num + 12) % 12;
596    return masa_num;
597}
598
599function adhimasa_p(clong, nclong) {
600//    local($clong, $nclong) = @_;
601
602    if (Math.floor(clong / 30) == Math.floor(nclong / 30)) {
603        return true;
604    } else {
605        return false;
606    }
607}
608
609function get_adhimasa(clong, nclong) {
610//    local($clong, $nclong) = @_;
611
612    if (adhimasa_p(clong, nclong)) {
613        return "Adhika-";
614    } else {
615        return "";
616    }
617}
618
619function frac(x) {
620//    local($x) = @_;
621
622    return (x - Math.floor(x));
623}
624
625function zero360(longitude) {
626//    local($longitude) = @_;
627
628    longitude = longitude - (Math.floor(longitude / 360) * 360);
629    if (longitude < 0) {
630        longitude = longitude + 360;
631    }
632
633    return longitude;
634}
635
636function get_manda_equation(argument, planet) {
637//    local($argument, $planet) = @_;
638
639    return Math.asin(PlanetCircumm[planet] / 360 * Math.sin(argument / rad)) * rad;
640}
641
642function get_mean_long(ahar, rotation) {
643//    local($ahar, $rotation) = @_;
644
645    return (360 * frac(rotation * ahar / YugaCivilDays));
646}
647
648function get_tslong(ahar) {
649//    local($ahar) = @_;
650
651    var mslong;
652
653    mslong = get_mean_long(ahar, YugaRotation['sun']);
654    return zero360(mslong - get_manda_equation((mslong - PlanetApogee['sun']), 'sun'));
655}
656
657function get_tllong(ahar) {
658//    local($ahar) = @_;
659
660    var mllong, apogee;
661
662    mllong = get_mean_long(ahar, YugaRotation['moon']);
663    apogee = get_mean_long(ahar, YugaRotation['Candrocca']) + 90;
664    return zero360(mllong - get_manda_equation((mllong - apogee), 'moon'));
665}
666
667function get_elong(ahar) {
668//    local($ahar) = @_;
669
670    var elong;
671
672    elong = Math.abs(get_tllong(ahar) - get_tslong(ahar));
673    if (180 < elong) {
674        elong = 360 - elong;
675    }
676    return elong;
677}
678
679function find_conj(leftx, lefty, rightx, righty) {
680//    local($leftx, $lefty, $rightx, $righty) = @_;
681
682    var width, centrex, centrey, relation;
683
684    width = (rightx - leftx) / 2;
685    centrex = (rightx + leftx) / 2;
686    if (width < epsiron) {
687        return get_tslong(centrex);
688    } else {
689        centrey = get_elong(centrex);
690        relation = three_relation(lefty, centrey, righty);
691        if (relation < 0) {
692            rightx = rightx + width;
693	    righty = get_elong(rightx);
694            return find_conj(centrex, centrey, rightx, righty);
695        } else if (0 < relation) {
696            leftx = leftx - width;
697	    lefty = get_elong(leftx);
698            return find_conj(leftx, lefty, centrex, centrey);
699        } else {
700            leftx = leftx + width / 2;
701            lefty = get_elong(leftx);
702            rightx = rightx - width / 2;
703            righty = get_elong(rightx);
704            return find_conj(leftx, lefty, rightx, righty);
705        }
706    }
707}
708
709function get_conj(ahar) {
710//    local($ahar) = @_;
711
712    return find_conj(ahar - 2, get_elong(ahar - 2), ahar + 2, get_elong(ahar + 2));
713}
714
715function get_clong(ahar, tithi) {
716//    local($ahar, $tithi) = @_;
717
718    var new_new;
719
720    new_new = YugaCivilDays / (YugaRotation['moon'] - YugaRotation['sun']);
721    ahar = ahar - tithi * (new_new / 30);
722
723    if (Math.abs(ahar - back_clong_ahar) < 1) {
724        return back_clong;
725    } else if (Math.abs(ahar - back_nclong_ahar) < 1) {
726        back_clong_ahar = back_nclong_ahar;
727        back_clong = back_nclong;
728        return back_nclong;
729    } else {
730        back_clong_ahar = ahar;
731        back_clong = get_conj(ahar);
732        return back_clong;
733    }
734}
735
736function get_nclong(ahar, tithi) {
737//    local($ahar, $tithi) = @_;
738
739    var new_new;
740
741    new_new = YugaCivilDays / (YugaRotation['moon'] - YugaRotation['sun']);
742    ahar = ahar + (30 - tithi) * (new_new / 30);
743
744    if (Math.abs(ahar - back_nclong_ahar) < 1) {
745        return back_nclong;
746    } else {
747        back_nclong_ahar = ahar;
748        back_nclong = get_conj(ahar);
749        return back_nclong;
750    }
751}
752
753function declination(long) {
754//    local($long) = @_;
755
756    return Math.asin(Math.sin(long / rad) * Math.sin(24 / rad)) * rad;
757}
758
759function get_daylight_equation(year, loc_lat, ahar) {
760//# global variables: $ahar, $YugaRotation{'sun'}
761//    local($year, $loc_lat) = @_;
762
763    var mslong, samslong, sdecl, x;
764
765    mslong = get_mean_long(ahar, YugaRotation['sun']);
766    samslong = mslong + (54 / 3600) * (year - 499);
767    sdecl = declination(samslong);
768    x = Math.tan(loc_lat / rad) * Math.tan(sdecl / rad);
769    return (0.5 * Math.asin(x) / pi);
770}
771
772
773function find_samkranti(o_ahar, n_ahar) {
774//    local($o_ahar, $n_ahar) = @_;
775
776    var o_tslong, n_tslong, c_ahar, c_tslong, width;
777
778    o_tslong = get_tslong(o_ahar);
779    n_tslong = get_tslong(n_ahar);
780
781    o_tslong = o_tslong - Math.floor(o_tslong / 30) * 30;
782    n_tslong = n_tslong - Math.floor(n_tslong / 30) * 30;
783
784    width  = (n_ahar - o_ahar) / 2;
785    c_ahar = (n_ahar + o_ahar) / 2;
786    if (width < epsiron) {
787        return c_ahar;
788    } else {
789        c_tslong = get_tslong(c_ahar);
790        c_tslong = c_tslong - Math.floor(c_tslong / 30) * 30;
791        if (c_tslong < 5) {
792            return find_samkranti(o_ahar, c_ahar);
793        } else {
794            return find_samkranti(c_ahar, n_ahar);
795        }
796    }
797}
798
799function JulianDay_to_ModernDate(JulianDay) {
800//    local($JulianDay) = @_;
801
802    var year, month, day;
803
804
805    if (JulianDay < 2299239) {
806        return JulianDay_to_JulianDate(JulianDay);
807    } else {
808        return JulianDay_to_GregorianDate(JulianDay);
809    }
810
811}
812
813function JulianDay_to_JulianDate(JulianDay, md) {
814//    local($JulianDay) = @_;
815
816    var j, k, l, n, i, J, I;
817    var year, month, day;
818
819    j = Math.floor(JulianDay) + 1402;
820    k = Math.floor((j - 1) / 1461);
821    l = j - 1461 * k;
822    n = Math.floor((l - 1) / 365) - Math.floor(l / 1461);
823    i = l - 365 * n  + 30;
824    J = Math.floor(80 * i / 2447) ;
825    day = i - Math.floor(2447 *J / 80);
826    I = Math.floor(J / 11);
827    month =  J + 2 -12 * I;
828    year = 4 * k + n +I - 4716;
829    md[0] = year; md[1] = month; md[2] =day;
830    return;
831}
832
833function JulianDay_to_GregorianDate(JulianDay, md) {
834//    local($JulianDay) = @_;
835
836    var a, b, c, e, f, g, h;
837    var  year, month, day;
838
839    a = JulianDay + 68569;
840    b = Math.floor(a / 36524.25);
841    c = a - Math.floor(36524.25 * b + 0.75);
842    e = Math.floor((c + 1) / 365.2425);
843
844    f = c - Math.floor(365.25 * e) + 31;
845    g = Math.floor(f / 30.59);
846    h = Math.floor(g / 11);
847    day = Math.floor(f - Math.floor(30.59 * g) + (JulianDay - Math.floor(JulianDay)));
848    month = Math.floor(g - 12 * h + 2);
849    year = Math.floor(100 * (b - 49) + e + h);
850    md[0] = year; md[1] = month; md[2] =day;
851    return;
852}
853
854function JulianDay_to_ModernDate(JulianDay, md) {
855//    local($JulianDay) = @_;
856
857    var year, month, day;
858
859
860    if (JulianDay < 2299239) {
861        JulianDay_to_JulianDate(JulianDay, md);
862    } else {
863        JulianDay_to_GregorianDate(JulianDay, md);
864    }
865
866}
867
868
869function set_samkranti(ahar, md) {
870//    local($ahar) = @_;
871
872        samkranti = find_samkranti(ahar, ahar + 1);
873        samkranti = samkranti + desantara;
874        JulianDay_to_ModernDate(Ahargana_to_JulianDay(Math.floor(samkranti) + 0.5), md);
875	samkranti_year = md[0]; samkranti_month= md[1]; samkranti_day= md[2];
876	samkranti_hour = Math.floor(frac(samkranti) * 24);
877        samkranti_min  = Math.floor(60 * frac(frac(samkranti) * 24));
878}
879
880
881function today_saura_masa_first_p(ahar, md) {
882
883//    local($ahar) = @_;
884    var tslong_today, tslong_tomorrow;
885
886    tslong_today = get_tslong(ahar - desantara);
887    tslong_tomorrow = get_tslong(ahar - desantara + 1);
888
889    tslong_today = tslong_today - Math.floor(tslong_today / 30) * 30;
890    tslong_tomorrow = tslong_tomorrow - Math.floor(tslong_tomorrow / 30) * 30;
891
892    if ((25 < tslong_today) && (tslong_tomorrow < 5)) {
893        set_samkranti(ahar, md);
894        return true;
895    } else {
896        return false;
897    }
898
899}
900
901function get_saura_masa_day(ahar, md) { 
902//    local($ahar) = @_;
903    var tslong_tomorrow, month, day;
904
905    ahar = Math.floor(ahar);
906    if (today_saura_masa_first_p(ahar, md)) {
907        day = 1;
908        tslong_tomorrow = get_tslong(ahar + 1);
909        month = (Math.floor(tslong_tomorrow / 30)) % 12;
910        month = (month + 12) % 12;
911    } else {
912        get_saura_masa_day(ahar - 1, md);
913        day = day + 1;
914    };
915    md[0] = month; md[1] = day;
916return;
917}
918
919
920
921function RASI() { 
922	var locDate = new Date ();
923
924	var tz =  -locDate.getTimezoneOffset();
925	var curDate = new Date(locDate.getTime() - tz*60000.0);
926	var ddate = (curDate.getDate());
927	var dmonth = (curDate.getMonth()+1);
928	var dyear = (curDate.getFullYear());
929	var dhour = (curDate.getHours());
930	var dminute = (curDate.getMinutes());
931	var dseconds = (curDate.getSeconds());
932	var lat =51.5; var lon= 0;
933	var place = "UTC";
934        var t = dyear  + ("00" + dmonth).substr(-2)  + ("00" + ddate).substr(-2)   + "." + ("00" + dhour).substr(-2) + ("00" + dminute).substr(-2)    + ("00" + dseconds).substr(-2);
935
936	var classes, ids, value, d, date2;
937	var showWheels = 0, showMoon = 0, showTable = 0, showPanchang = 0;
938	var plugUrl = $JQ('#pluginUrl').val();
939	var i, j, key;
940
941		d = {
942			day: ddate,
943			month: dmonth,
944			year: dyear,
945			hours: dhour,
946			minutes: dminute,
947			seconds: dseconds
948		};
949		date2 = {
950			day: ddate,
951			month: dmonth,
952			year: dyear,
953			hours: dhour,
954			minutes: dminute,
955			seconds: dseconds
956		};
957
958
959	$const.glat = lat;
960	$const.tlong = lon;
961	$const.attemp = 28;
962	$const.atpress = 1000;
963	$const.height = 0;
964$moshier.body.init ();
965	$moshier.kepler.init ();
966	$moshier.julian.calc (d);
967//	d.julian = (d.julian);// - tz/24.0;
968	delta = $moshier.delta.calc (d);
969	d.julian = d.julian +  delta/864.0;
970//	d.julian = d.julian - d.julian*6.969290134*Math.pow(10,-10) + 0.00170269828624;
971
972
973
974	d.universalDate = $moshier.julian.toGregorian ({
975		julian: d.julian
976	});
977$const.date = d;
978
979	var mons = [ "January", "February", "March","April","May","June","July","August","September","October","November","December" ];
980	d.universalDateString =
981	d.universalDateString =
982		dyear + ' ' +
983		dmonth + ' ' +
984		ddate + ' ' +
985		dhour + ':' +
986		dminute + ':' +
987		dseconds 
988	;
989	// First to calculate the erath
990	$moshier.kepler.calc (d, $moshier.body.earth);
991
992
993	$const.body.key = 'sun';
994	$moshier.sun.calc ();
995	var sun = $moshier.body.sun.position.apparentLongitude;
996
997	$const.body = $moshier.body.moon;
998	$const.body.key = 'moon';
999	$moshier.moon.calc ();
1000	var moon = $moshier.body.moon.position.apparentLongitude;
1001
1002	var fracill = $moshier.body.moon.position.illuminatedFraction;
1003	var txt_fracill = Math.floor(fracill*100);
1004	var decfracill = Math.floor(100*(100*fracill - Math.floor(fracill*100)));
1005	txt_fracill = txt_fracill + "." + ("00"+decfracill).substr(-2) + "%";
1006
1007	$moshier.planet.calc ($moshier.body.saturn);
1008	var saturn=$moshier.body.saturn.position.apparentLongitude;
1009	$moshier.planet.calc ($moshier.body.jupiter);
1010	var jupiter=$moshier.body.jupiter.position.apparentLongitude;
1011	$moshier.planet.calc ($moshier.body.mars);
1012	var mars=$moshier.body.mars.position.apparentLongitude;
1013	$moshier.planet.calc ($moshier.body.venus);
1014	var venus=$moshier.body.venus.position.apparentLongitude;
1015	$moshier.planet.calc ($moshier.body.mercury);
1016	var mercury=$moshier.body.mercury.position.apparentLongitude;
1017	$moshier.planet.calc ($moshier.body.neptune);
1018	var neptune=$moshier.body.neptune.position.apparentLongitude;
1019	$moshier.planet.calc ($moshier.body.uranus);
1020	var uranus=$moshier.body.uranus.position.apparentLongitude;
1021	$moshier.planet.calc ($moshier.body.pluto);
1022	var pluto=$moshier.body.pluto.position.apparentLongitude;
1023
1024
1025	moon_m = (moon - Math.floor(moon))*60.0;
1026	moon_s = (moon_m - Math.floor(moon_m))*60.0;
1027
1028	sun_m = (sun - Math.floor(sun))*60.0;
1029	sun_s = (sun_m - Math.floor(sun_m))*60.0;
1030	
1031	mercury_m = (mercury - Math.floor(mercury))*60.0;
1032	mercury_s = (mercury_m - Math.floor(mercury_m))*60.0;
1033		
1034	venus_m = (venus - Math.floor(venus))*60.0;
1035	venus_s = (venus_m - Math.floor(venus_m))*60.0;
1036
1037	mars_m = (mars - Math.floor(mars))*60.0;
1038	mars_s = (mars_m - Math.floor(mars_m))*60.0;
1039
1040	jupiter_m = (jupiter - Math.floor(jupiter))*60.0;
1041	jupiter_s = (jupiter_m - Math.floor(jupiter_m))*60.0;
1042
1043	saturn_m = (saturn - Math.floor(saturn))*60.0;
1044	saturn_s = (saturn_m - Math.floor(saturn_m))*60.0;
1045
1046	uranus_m = (uranus - Math.floor(uranus))*60.0;
1047	uranus_s = (uranus_m - Math.floor(uranus_m))*60.0;
1048
1049	neptune_m = (neptune - Math.floor(neptune))*60.0;
1050	neptune_s = (neptune_m - Math.floor(neptune_m))*60.0;
1051
1052	pluto_m = (pluto - Math.floor(pluto))*60.0;
1053	pluto_s = (pluto_m - Math.floor(pluto_m))*60.0;
1054
1055
1056	$moshier.nutation2.calc(d);
1057        $moshier.epsilon.calc ( d );
1058
1059
1060
1061	var juld = d.julian;
1062	var nnode = $moshier.moon.calc_nodes(juld);
1063	//	var mm = $moshier.body.moon.position.apparent.meanM;
1064//	var nnode = (360.0 + mm - node) % 360.0;
1065	var snode = (180.0 + nnode) % 360.0;
1066
1067
1068	var sid = $moshier.siderial.calc(d, lon);
1069	var sidt = (360+ (sid * 15.0) + parseFloat(lon)) % 360.0;
1070//console.log('sidt='+sidt);
1071
1072	var eps = ($moshier.epsilon.eps+$moshier.nutation2.nuto);
1073	var y = ( -Math.cos ($const.DTR*(sidt))) ;
1074	var x = ( (Math.cos(eps)* Math.sin($const.DTR*(sidt))) + (Math.sin(eps)* Math.tan($const.DTR*lat)));
1075	var asc2 = (($const.RTD*Math.atan(y/x)) + 360.0) % 360.0;
1076	
1077	if (x < 0) { asc2 = asc2 + 180.0; } else { asc2 = asc2 + 360.0; }
1078	if (asc2 < 180.0) { asc2 = asc2 + 180.0; } else { asc2 = asc2 -180.0; }
1079	asc2 = asc2 % 360.0;
1080
1081	nnode_m = (nnode - Math.floor(nnode))*60.0;
1082	nnode_s = (nnode_m - Math.floor(nnode_m))*60.0;
1083
1084	asc_m = (asc2 - Math.floor(asc2))*60.0;
1085	asc_s = (asc_m - Math.floor(asc_m))*60.0;
1086
1087//	$moshier.kepler.calc (d, $moshier.body.earth);
1088
1089
1090	var lon0 = $moshier.body.moon.position.apparent.lon0; var lon00 = lon0;
1091	
1092var remd = [],remd2 = [];
1093	$copy(remd2, d);
1094	$copy(remd , d);
1095	var dff_sun_moon = (moon - sun + 360) % 360;
1096	var n_tthi = Math.floor(dff_sun_moon/12);
1097	var f_tthi = (dff_sun_moon/12);
1098	var trem = (1- f_tthi + n_tthi)*12.67/lon0;
1099	var nnt = n_tthi;
1100var iter = 0;
1101	var od; var yod = 0;
1102	remd.julian = (remd.julian) + trem;
1103	do {
1104		iter++;od = remd;
1105		remd.julian += 1/1440;
1106		remd.universalDate = $moshier.julian.toGregorian ({julian: (remd.julian) });
1107	remd.universalDateString =
1108		remd.universalDate.day + '.' +
1109		remd.universalDate.month + '.' +
1110		remd.universalDate.year + ' ' +
1111		remd.universalDate.hours + ':' +
1112		remd.universalDate.minutes;
1113		$const.date = remd;
1114		$moshier.kepler.calc (remd, $moshier.body.earth);
1115		$const.body = $moshier.body.moon;
1116		$const.body.key = 'moon';
1117		$moshier.moon.calc ();
1118
1119		$const.body = $moshier.body.sun;
1120		$const.body.key = 'sun';
1121		$moshier.sun.calc ();
1122		var diff_sun_moon2 = ($moshier.body.moon.position.apparentLongitude-$moshier.body.sun.position.apparentLongitude + 360) % 360;
1123		nnt = Math.floor(diff_sun_moon2/12);
1124		lon0 = $moshier.body.moon.position.apparent.lon0;
1125		if (iter > 100) { break; }
1126	} while ( Math.abs(nnt - n_tthi) < 1  )
1127		od.universalDate = $moshier.julian.toGregorian ({julian: (od.julian/*+((tz*3600.0)/86400.0)*/) });
1128	od.universalDateString =
1129		od.universalDate.day + '.' +
1130		od.universalDate.month + '.' +
1131		od.universalDate.year + ' ' +
1132		od.universalDate.hours + ':' +
1133		od.universalDate.minutes;
1134	var tthi = od.universalDate.hours + ':'+ od.universalDate.minutes + ' ' + od.universalDate.month + '/'+od.universalDate.day; 
1135
1136//	d = remd;
1137	$const.date = d;
1138
1139	$copy(remd , d);
1140	dff_sun_moon = (moon - sun + 360) % 360;
1141	n_tthi = Math.floor(dff_sun_moon/6);
1142	f_tthi = (dff_sun_moon/6);
1143	trem = (1- f_tthi + n_tthi)*5.66/lon00;
1144	nnt = n_tthi;
1145	iter = 0;
1146	remd.julian = (remd.julian) + trem;
1147	do {
1148		iter++;od = remd;
1149		remd.julian += 1/1440;
1150		remd.universalDate = $moshier.julian.toGregorian ({julian: (remd.julian) });
1151	remd.universalDateString =
1152		remd.universalDate.day + '.' +
1153		remd.universalDate.month + '.' +
1154		remd.universalDate.year + ' ' +
1155		remd.universalDate.hours + ':' +
1156		remd.universalDate.minutes;
1157		$const.date = remd;
1158		$moshier.kepler.calc (remd, $moshier.body.earth);
1159		$const.body = $moshier.body.moon;
1160		$const.body.key = 'moon';
1161		$moshier.moon.calc ();
1162		$const.body = $moshier.body.sun;
1163		$const.body.key = 'sun';
1164		$moshier.sun.calc ();
1165		diff_sun_moon2 = ($moshier.body.moon.position.apparentLongitude-$moshier.body.sun.position.apparentLongitude + 360) % 360;
1166		nnt = Math.floor(diff_sun_moon2/6);
1167		lon0 = $moshier.body.moon.position.apparent.lon0;
1168		if (iter > 100) { break; }
1169	} while ( Math.abs(nnt - n_tthi) < 1  )
1170		od.universalDate = $moshier.julian.toGregorian ({julian: (od.julian/*+((tz*3600.0)/86400.0)*/) });
1171	od.universalDateString =
1172		od.universalDate.day + '.' +
1173		od.universalDate.month + '.' +
1174		od.universalDate.year + ' ' +
1175		od.universalDate.hours + ':' +
1176		od.universalDate.minutes;
1177	var krna = od.universalDate.hours + ':' + od.universalDate.minutes + ' ' + od.universalDate.month + '/'+od.universalDate.day; 
1178//	d = remd;
1179	$const.date = d;
1180
1181
1182
1183	date2.universalDate = $moshier.julian.toGregorian ({
1184		julian: d.julian
1185	});
1186	var dd2 = d;
1187	var polar = []; var temp = []; var temp2 = [];
1188
1189
1190	$moshier.julian.calc (date2);
1191	date2.julian = (date2.julian) ;//- ((tz*3600.0)/86400.0);
1192	date2.julian = date2.julian - (3600.0/86400.0); 
1193	$moshier.delta.calc (date2);
1194	var delta2 = $moshier.delta.calc (date2);
1195	date2.julian = date2.julian + delta2/864.0;
1196
1197	date2.universalDate = $moshier.julian.toGregorian ({
1198		julian: date2.julian
1199	});
1200
1201	// First to calculate the erath
1202	$moshier.kepler.calc (date2, $moshier.body.earth);
1203
1204	var saturnR = '', jupiterR = '', venusR = '', marsR = '', mercur
1204yR = '', uranusR = '', neptuneR = '', plutoR ='';
1205	$moshier.planet.calc ($moshier.body.saturn);
1206	if ((saturn - $moshier.body.saturn.position.apparentLongitude) < 0.0 ) { saturnR = 'R'; }
1207	$moshier.planet.calc ($moshier.body.jupiter);
1208	if ((jupiter - $moshier.body.jupiter.position.apparentLongitude) < 0.0 ) { jupiterR = 'R'; }
1209	$moshier.planet.calc ($moshier.body.mars);
1210	if ((mars - $moshier.body.mars.position.apparentLongitude) < 0.0 ) { marsR = 'R';  }
1211	
1212	$moshier.planet.calc ($moshier.body.venus);
1213	if ((venus - $moshier.body.venus.position.apparentLongitude) < 0.0 ) { venusR = 'R'; }
1214	$moshier.planet.calc ($moshier.body.mercury);
1215	if ((mercury - $moshier.body.mercury.position.apparentLongitude) < 0.0 ) { mercuryR = 'R'; }
1216	$moshier.planet.calc ($moshier.body.neptune);
1217	if ((neptune - $moshier.body.neptune.position.apparentLongitude) < 0.0 ) { neptuneR = 'R'; }
1218	$moshier.planet.calc ($moshier.body.uranus);
1219	if ((uranus - $moshier.body.uranus.position.apparentLongitude) < 0.0 ) { uranusR = 'R'; }
1220	$moshier.planet.calc ($moshier.body.pluto);
1221	if ((pluto - $moshier.body.pluto.position.apparentLongitude) < 0.0 ) { plutoR = 'R'; }
1222
1223
1224
1225	$const.date = remd; d= remd;
1226	if (document.getElementById('pp_ayan') == null) return;
1227	sel_ayan = parseInt(document.getElementById('pp_ayan').value);
1228	var dj = ayan[sel_ayan][0];
1229if (dj > -1) {
1230	var diffd1 =  dj - $const.j2000; var diff3 = d.julian;
1231	var diffd2 = d.julian;
1232	var xx = [ 1,0,0 ];  var yy = xx;
1233	var dir;
1234	var dd = { julian: dj };
1235	var ddelta = $moshier.delta.calc (dd);
1236	if (ayan[sel_ayan][2]) { dd.julian = dd.julian + (ddelta/864.0); }
1237	var dd2 = d;
1238	var polar = []; var temp = []; var temp2 = [];
1239
1240	$moshier.precess.calc(xx, d, 1 );
1241	
1242	$moshier.precess.calc(xx, dd, -1 );
1243        $moshier.epsilon.calc ( dd );
1244	var res2 = $util.showrd (xx, temp );
1245	var ll = $moshier.lonlat.calc(xx, d, temp2, 0);
1246	ll[0] = 360- (ll[0]*$const.RTD - ayan[sel_ayan][1]) % 360;
1247	$moshier.nutation2.calclo(d);
1248
1249	var corr_ayan2 = (ayan[sel_ayan][1] ) % 360.0;
1250	var nn = $moshier.nutation2.nutl;
1251	ll[0] += nn*$const.RTD;
1252	var corr_ayan = -(ll[0]) % 360.0;
1253	var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1254	var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1255
1256	console.log('ayan = ' + (string_ayan));
1257} else {
1258//	$processor.init ();
1259	switch (dj) {
1260		case -1:
1261		$processor.calc(d, $moshier.body.spica);
1262		var spic = $moshier.body.spica.position.apparentLongitude*$const.RTD;
1263		if (spic > 180) { spic -= 180; 
1264		} 
1265		else if (spic < 180 && spic > 0 ) { spic -= 180; }
1266		var corr_ayan = -( spic );
1267		var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1268		var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1269		console.log('spica = ' + spic + '  ayan = ' + string_ayan);
1270		break;
1271
1272		case -2:
1273		$processor.calc(d, $moshier.body.revati);
1274		var spic = $moshier.body.revati.position.apparentLongitude*$const.RTD;
1275		spic = (360 + spic - 359.8333333333333) % 360; 
1276		var corr_ayan = -( spic );
1277		var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1278		var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1279		console.log('revati = ' + spic + '  ayan = ' + string_ayan);
1280		break;
1281	
1282		case -3:
1283		$processor.calc(d, $moshier.body.pushya);
1284		var spic = $moshier.body.pushya.position.apparentLongitude*$const.RTD;
1285		spic = (360 + spic -106) % 360;
1286		var corr_ayan = -( spic );
1287		var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1288		var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1289		console.log('pushya = ' + spic + '  ayan = ' + string_ayan);
1290		break;
1291
1292		case -4:
1293		$processor.calc(d, $moshier.body.mula);
1294		var spic = $moshier.body.mula.position.apparentLongitude*$const.RTD;
1295		spic = (360 +spic -240) % 360;
1296		var corr_ayan = -( spic );
1297		var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1298		var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1299		console.log('mula = ' + spic + '  ayan = ' + string_ayan);
1300		break;
1301
1302		case -5:
1303		$processor.calc(d, $moshier.body.saggi);
1304		var spic = $moshier.body.saggi.position.apparentLongitude*$const.RTD;
1305		spic = (360 +spic -240) % 360;
1306		var corr_ayan = -( spic );
1307		var dmsLongitude = $util.dms (corr_ayan*$const.DTR);
1308		var string_ayan = dmsLongitude.degree + '\u00B0' + dmsLongitude.minutes + '\'' + Math.floor (dmsLongitude.seconds) + '"';
1309		console.log('0Sag = ' + spic + '  ayan = ' + string_ayan);
1310		break;
1311	}
1312}
1313
1314
1315	moon2 = ( 360.0 + moon + corr_ayan) % 360.0;
1316	sun2 = ( 360.0 + sun + corr_ayan) % 360.0;
1317	mercury2 = ( 360.0 + mercury + corr_ayan) % 360.0;
1318	venus2 = ( 360.0 + venus + corr_ayan) % 360.0;
1319	mars2 = ( 360.0 + mars + corr_ayan) % 360.0;
1320	jupiter2 = ( 360.0 + jupiter + corr_ayan) % 360.0;
1321	saturn2 = ( 360.0 + saturn + corr_ayan) % 360.0;
1322	uranus2 = ( 360.0 + uranus + corr_ayan) % 360.0;
1323	neptune2 = ( 360.0 + neptune + corr_ayan) % 360.0;
1324	pluto2 = ( 360.0 + pluto + corr_ayan) % 360.0;
1325	asc22 = ( 360.0 + asc2 + corr_ayan) % 360.0;
1326	nnode2= ( 360.0 + nnode + corr_ayan) % 360.0;
1327
1328	moon2_n = Math.floor(moon2/13.33333334);
1329	sun2_n = Math.floor(sun2/13.33333334);
1330	mercury2_n = Math.floor(mercury2/13.33333334);
1331	venus2_n = Math.floor(venus2/13.33333334);
1332	mars2_n = Math.floor(mars2/13.33333334);
1333	jupiter2_n = Math.floor(jupiter2/13.333333334);
1334	saturn2_n = Math.floor(saturn2/13.333333334);
1335	uranus2_n = Math.floor(uranus2/13.333333334);
1336	neptune2_n = Math.floor(neptune2/13.3333333334);
1337	pluto2_n = Math.floor(pluto2/13.3333333334);
1338	asc2_n = Math.floor(asc22/13.3333333334);
1339	nnode2_n = Math.floor(nnode2/13.33333333334);
1340
1341	moon2_m = (moon2 - Math.floor(moon2))*60.0;
1342	moon2_s = (moon2_m - Math.floor(moon2_m))*60.0;
1343
1344	sun2_m = (sun2 - Math.floor(sun2))*60.0;
1345	sun2_s = (sun2_m - Math.floor(sun2_m))*60.0;
1346	
1347	mercury2_m = (mercury2 - Math.floor(mercury2))*60.0;
1348	mercury2_s = (mercury2_m - Math.floor(mercury2_m))*60.0;
1349		
1350	venus2_m = (venus2 - Math.floor(venus2))*60.0;
1351	venus2_s = (venus2_m - Math.floor(venus2_m))*60.0;
1352
1353	mars2_m = (mars2 - Math.floor(mars2))*60.0;
1354	mars2_s = (mars2_m - Math.floor(mars2_m))*60.0;
1355
1356	jupiter2_m = (jupiter2 - Math.floor(jupiter2))*60.0;
1357	jupiter2_s = (jupiter2_m - Math.floor(jupiter2_m))*60.0;
1358
1359	saturn2_m = (saturn2 - Math.floor(saturn2))*60.0;
1360	saturn2_s = (saturn2_m - Math.floor(saturn2_m))*60.0;
1361
1362	uranus2_m = (uranus2 - Math.floor(uranus2))*60.0;
1363	uranus2_s = (uranus2_m - Math.floor(uranus2_m))*60.0;
1364
1365	neptune2_m = (neptune2 - Math.floor(neptune2))*60.0;
1366	neptune2_s = (neptune2_m - Math.floor(neptune2_m))*60.0;
1367
1368	pluto2_m = (pluto2 - Math.floor(pluto2))*60.0;
1369	pluto2_s = (pluto2_m - Math.floor(pluto2_m))*60.0;
1370
1371	nnode2_m = (nnode2 - Math.floor(nnode2))*60.0;
1372	nnode2_s = (nnode2_m - Math.floor(nnode2_m))*60.0;
1373
1374	asc2_m = (asc2 - Math.floor(asc2))*60.0;
1375	asc2_s = (asc2_m - Math.floor(asc2_m))*60.0;
1376
1377	
1378	var posneg = "+";
1379	if (tz < 0) { posneg="-"; }
1380
1381	var yosm = (((360+moon2+sun2) % 360)*27/360);
1382	var yrem = 1 - yosm + Math.floor(yosm);
1383	yosm = Math.floor(yosm);
1384	$copy(d,remd2);
1385	d.julian += yrem*12.2/lon00;iter=0;
1386	$const.glat = lat;
1387	$const.tlong = lon;
1388	$const.attemp = 28;
1389	$const.atpress = 1000;
1390	$const.height = 0;
1391	$const.truepos = 0;
1392	$const.date = d;
1393	$moshier.body.init ();
1394	$moshier.kepler.init ();
1395	var nyo = yosm;
1396	do {
1397		iter++;od = d;
1398		d.julian += 1/1440;
1399		d.universalDate = $moshier.julian.toGregorian ({julian: (d.julian) });
1400	d.universalDateString =
1401		d.universalDate.day + '.' +
1402		d.universalDate.month + '.' +
1403		d.universalDate.year + ' ' +
1404		d.universalDate.hours + ':' +
1405		d.universalDate.minutes;
1406		$moshier.kepler.calc (d, $moshier.body.earth);
1407		$const.date = d;
1408		$const.body = $moshier.body.moon;
1409		$const.body.key = 'moon';
1410		$moshier.moon.calc ();
1411		$const.body = $moshier.body.sun;
1412		$const.body.key = 'sun';
1413		$moshier.sun.calc ();
1414		nyo = Math.floor(((360+$moshier.body.moon.position.apparentLongitude+$moshier.body.sun.position.apparentLongitude + 2*corr_ayan) % 360)*27/360);
1415		lon0 = $moshier.body.moon.position.apparent.lon0;
1416		if (iter > 100) { break; }
1417	} while ( Math.abs(nyo - yosm) < 1  )
1418		od.universalDate = $moshier.julian.toGregorian ({julian: (od.julian/*+((tz*3600.0)/86400.0)*/) });
1419	od.universalDateString =
1420		od.universalDate.day + '.' +
1421		od.universalDate.month + '.' +
1422		od.universalDate.year + ' ' +
1423		od.universalDate.hours + ':' +
1424		od.universalDate.minutes;
1425	var yoge = od.universalDate.hours + ':' +od.universalDate.minutes + ' ' + od.universalDate.month + '/'+od.universalDate.day; 
1426
1427
1428	var naxr = moon2/13.3333333333;
1429	yrem = 1 - naxr + Math.floor(naxr);
1430	naxr = Math.floor(naxr);
1431	$copy(d,remd2);
1432	d.julian += yrem*13.2/lon00;iter=0;
1433	var nyo = naxr;
1434	do {
1435		iter++;od = d;
1436		d.julian += 1/1440;
1437		d.universalDate = $moshier.julian.toGregorian ({julian: (d.julian) });
1438	d.universalDateString =
1439		d.universalDate.day + '.' +
1440		d.universalDate.month + '.' +
1441		d.universalDate.year + ' ' +
1442		d.universalDate.hours + ':' +
1443		d.universalDate.minutes;
1444		$moshier.kepler.calc (d, $moshier.body.earth);
1445		$const.date = d;
1446		$const.body = $moshier.body.moon;
1447		$const.body.key = 'moon';
1448		$moshier.moon.calc ();
1449		nyo = Math.floor(((360+$moshier.body.moon.position.apparentLongitude+corr_ayan) % 360)/13.3333333333);
1450		lon0 = $moshier.body.moon.position.apparent.lon0;
1451		if (iter > 100) { break; }
1452	} while ( Math.abs(nyo - naxr) < 1  )
1453		od.universalDate = $moshier.julian.toGregorian ({julian: (od.julian/*+((tz*3600.0)/86400.0)*/) });
1454	od.universalDateString =
1455		od.universalDate.day + '.' +
1456		od.universalDate.month + '.' +
1457		od.universalDate.year + ' ' +
1458		od.universalDate.hours + ':' +
1459		od.universalDate.minutes;
1460	var naxe = od.universalDate.hours + ':' +od.universalDate.minutes + ' ' + od.universalDate.month + '/'+od.universalDate.day; 
1461
1462
1463	$copy(d,remd2);
1464	$const.date = d;
1465
1466	var dow = curDate.getDay();
1467
1468	var diff_sun_moon = (moon2 - sun2 + 360) % 360;
1469	var n_tithi = Math.floor(diff_sun_moon/12); var n_tithi2=n_tithi;
1470	var f_tithi = (diff_sun_moon/12);
1471	var txt_hmonth ='';
1472
1473	Ujjaini_lon   = 75.8;
1474	desantara = (lon - Ujjaini_lon) / 360;
1475	set_primary_constant_SuryaSiddhanta();
1476	set_secondary_constant();
1477	set_planetary_constant();
1478	JulianDay = d.julian;
1478//ModernDate_to_JulianDay(cdate.getYear(), cdate.getMonth(), cdate.getDate());
1479	var ah = JulianDay_to_Ahargana(JulianDay);
1480	JulianDay = Math.floor(JulianDay+0.5);
1481	ah = Math.floor(ah + 0.5);
1482	ah = ah  + 0.25 - desantara;
1483	var eqt = get_daylight_equation(curDate.getFullYear(), lat, ah);
1484	ah = ah - eqt;
1485
1486	var cl, ncl;
1487
1488	PlanetMeanPosition['Candrocca'] = get_mean_long(ah, YugaRotation['Candrocca']) + 90;
1489	PlanetMeanPosition['Candrocca'] = zero360(PlanetMeanPosition['Candrocca']);
1490
1491	PlanetMeanPosition['Rahu'] = get_mean_long(ah, YugaRotation['Rahu']) + 180;
1492	PlanetMeanPosition['Rahu'] = zero360(PlanetMeanPosition['Rahu']);
1493
1494	mslong = get_mean_long(ah, YugaRotation['sun']);
1495	PlanetMeanPosition['sun'] = mslong;
1496//     	tslong = zero360(mslong - get_manda_equation((mslong - PlanetApogee['sun']), 'sun'));
1497//	PlanetTruePosition['sun'] = tslong;
1498	PlanetTruePosition['sun'] = sun2;
1499	tslong = sun2;
1500
1501	mllong = get_mean_long(ah, YugaRotation['moon']);
1502	PlanetMeanPosition['moon'] = mllong;
1503	PlanetApogee['moon'] = PlanetMeanPosition['Candrocca'];
1504
1505//	tllong = zero360(mllong - get_manda_equation((mllong - PlanetApogee['moon']), 'moon'));
1506//	PlanetTruePosition['moon'] = tllong;
1507	PlanetTruePosition['moon'] = moon2;
1508	tllong = moon2;	
1509
1510	cl =get_clong(ah, n_tithi);
1511	ncl = get_nclong(ah, n_tithi);
1512	var adhimasa = get_adhimasa(cl, ncl);
1513	var masa_num = get_masa_num(tslong, cl);
1514
1515	YearKali = Ahargana_to_Kali(ah + (4 - masa_num) * 30);
1516	YearSaka = Kali_to_Saka(YearKali);
1517//	saura_masa = get_saura_masa_name(saura_masa_num);
1518	var yog = get_yoga_name(tslong, tllong); //yoga_name[Math.floor(((sun2+moon2) % 360)*27/360)];
1519        year_mod  = (Math.floor((YearKali * 211 - 108)/18000) + YearKali + 26) % 60;
1520
1521	if (((Math.floor(cl/30)+2)%12) == Math.floor(ncl/30)) { 
1522		var kshaya_masa = (Math.floor(cl/30)+1)%12;
1523		
1524		adhimasa = 'Kshaya-'+ h_mon[kshaya_masa] + ' ' + adhimasa;
1525		if (masa_num == kshaya_masa) { masa_num = (Math.floor(ncl/30))%12; }
1526	}
1527	txt_hmonth = adhimasa + h_mon[masa_num];
1528
1529	var txt_tithi, txt_paksha;
1530	if (n_tithi == 14) { txt_tithi = "Purnima"; txt_paksha = "Shukla"; 
1531	} else if (n_tithi == 29) { txt_tithi = "Amavasya";  txt_paksha = "Krishna";
1532	} else if (n_tithi > 13) { n_tithi = n_tithi - 15; txt_tithi = h_tithi[n_tithi]; txt_paksha = "Krishna";
1533	} else { txt_tithi = h_tithi[n_tithi];  txt_paksha = "Shukla";
1534	}
1535
1536
1537
1538
1539var	sun2_l,moon2_l,mercury2_l,venus2_l,mars2_l,jupiter2_l,saturn2_l,uranus2_l,neptune2_l,pluto2_l;
1540
1541	tab = "<h4 >" + d.universalDateString+" UTC/GMT<br/>";
1542
1543	showPanchang = document.getElementById('pp_showPanchang').value;
1544
1545	if (showPanchang) {
1546	tab = tab + "Ayanamsa "+ ayan_name[sel_ayan]+" : " + string_ayan+"</h4>";
1547	tab = tab + "<p><span>Nakshatra:</span><span style='float:right;clear:right;font-weight:900;'>" + nax[Math.floor(moon2/13.33333333334)] + " upto "+naxe+"</span><br/><span>Tithi:</span><span style='float:right;clear:right;font-weight:900;'>" + txt_tithi+" upto "+tthi+"</span><br/><span>Karana:</span><span style='float:right;clear:right;font-weight:900;'>"+get_karana_name(f_tithi)+" upto "+krna+"</span><br/><span>Yoga:</span><span style='float:right;clear:right;font-weight:900;'>" + yog + " upto "+yoge+"</span><br/><span>Month:</span><span style='float:right;clear:right;font-weight:900;'>"+ txt_hmonth+"</span><br/><span>Paksha:</span><span style='float:right;clear:right;font-weight:900;'>"+txt_paksha+"</span><br/><span>Year:</span><span style='float:right;clear:both;font-weight:900;'>"+ YearSaka + " " + get_Jovian_Year_name_south(YearKali)+ " Shaka Samvat<br/>"+ (YearSaka+135) + " " + get_Jovian_Year_name(YearKali) + " Vikrama Samvat</span></p><br>";
1548	}
1549
1550	showTable = document.getElementById('pp_showTable').value;
1551	if (showTable) {
1552	tab = tab + "<table id='tropic' cellspacing='0' cellpadding='0' border='1'><th>Planet</th><th>Tropical Position</th><th>Sidereal Position</th><th>Lunar Mansion</th>";
1553	
1554	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Sun</td><td><p style=\"color:"+zods[Math.floor(sun/30.0)][1]+"\">"+zods[Math.floor(sun/30.0)][0]+"</p> "+("00"+Math.floor(sun - (Math.floor(sun/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(sun_m)).substr(-2) + "'" + (sun_s).toFixed(1) + "\"</td><td><p style=\"color:"+zods[Math.floor(sun2/30.0)][1]+"\">"+zods[Math.floor(sun2/30.0)][0]+"</p> "+("00"+Math.floor(sun2 - (Math.floor(sun2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(sun2_m)).substr(-2) + "'" + (sun2_s).toFixed(1) + "\"</td><td style='font-family:sans,sans-serif!important;'>" + nax[sun2_n] + "</td></tr>" ;  
1555	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Moon</td><td><p style=\"color:"+zods[Math.floor(moon/30.0)][1]+"\">"+zods[Math.floor(moon/30.0)][0]+"</p> "+("00"+Math.floor(moon - (Math.floor(moon/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(moon_m)).substr(-2) + "'" + (moon_s).toFixed(1) + "\"</td><td><p style=\"color:"+zods[Math.floor(moon2/30.0)][1]+"\">"+zods[Math.floor(moon2/30.0)][0]+"</p> "+("00"+Math.floor(moon2 - (Math.floor(moon2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(moon2_m)).substr(-2) + "'" + (moon2_s).toFixed(1) + "\"</td><td style='font-family:sans,sans-serif!important;'>"+ nax[moon2_n] + "</td></tr>"; 
1556	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Mercury</td><td><p style=\"color:"+zods[Math.floor(mercury/30.0)][1]+"\">"+zods[Math.floor(mercury/30.0)][0]+"</p> "+("00"+Math.floor(mercury - (Math.floor(mercury/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(mercury_m)).substr(-2) + "'"+(mercury_s).toFixed(1) +"\"" + mercuryR+"</td><td><p style=\"color:"+zods[Math.floor(mercury2/30.0)][1]+"\">"+zods[Math.floor(mercury2/30.0)][0]+"</p> "+("00"+Math.floor(mercury2 - (Math.floor(mercury2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(mercury2_m)).substr(-2) + "'"+(mercury2_s).toFixed(1) +"\"" + mercuryR+"</td><td style='font-family:sans,sans-serif!important;'>
1556" + nax[mercury2_n] + "</td></tr>" ;  
1557	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Venus</td><td><p style=\"color:"+zods[Math.floor(venus/30.0)][1]+"\">"+zods[Math.floor(venus/30.0)][0]+"</p> "+("00"+Math.floor(venus - (Math.floor(venus/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(venus_m)).substr(-2) + "'"+ (venus_s).toFixed(1) + "\""+venusR+"</td><td><p style=\"color:"+zods[Math.floor(venus2/30.0)][1]+"\">"+zods[Math.floor(venus2/30.0)][0]+"</p> "+("00"+Math.floor(venus2 - (Math.floor(venus2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(venus2_m)).substr(-2) + "'"+ (venus2_s).toFixed(1) + "\""+venusR+"</td><td style='font-family:sans,sans-serif!important;'>" + nax[venus2_n] + "</td></tr>" ;  
1558	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Mars</td><td><p style=\"color:"+zods[Math.floor(mars/30.0)][1]+"\">"+zods[Math.floor(mars/30.0)][0]+"</p> "+("00"+Math.floor(mars - (Math.floor(mars/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(mars_m)).substr(-2) + "'"+ (mars_s).toFixed(1) + "\""+marsR+"</td><td><p style=\"color:"+zods[Math.floor(mars2/30.0)][1]+"\">"+zods[Math.floor(mars2/30.0)][0]+"</p> "+("00"+Math.floor(mars2 - (Math.floor(mars2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(mars2_m)).substr(-2) + "'"+ (mars2_s).toFixed(1) + "\""+marsR+"</td><td style='font-family:sans,sans-serif!important;'>" + nax[mars2_n] +"</td></tr>" ;  
1559	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Jupiter</td><td><p style=\"color:"+zods[Math.floor(jupiter/30.0)][1]+"\">"+zods[Math.floor(jupiter/30.0)][0]+"</p> "+("00"+Math.floor(jupiter - (Math.floor(jupiter/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(jupiter_m)).substr(-2) + "'"+ (jupiter_s).toFixed(1) + "\""+ jupiterR+"</td><td><p t=\"_blank\" style=\"color:"+zods[Math.floor(jupiter2/30.0)][1]+"\">"+zods[Math.floor(jupiter2/30.0)][0]+"</p> "+("00"+Math.floor(jupiter2 - (Math.floor(jupiter2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(jupiter2_m)).substr(-2) + "'"+ (jupiter2_s).toFixed(1) + "\""+ jupiterR+"</td><td style='font-family:sans,sans-serif!important;'>" + nax[jupiter2_n] +"</td></tr>" ;  
1560	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Saturn</td><td><p style=\"color:"+zods[Math.floor(saturn/30.0)][1]+"\">"+zods[Math.floor(saturn/30.0)][0]+"</p> "+("00"+Math.floor(saturn - (Math.floor(saturn/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(saturn_m)).substr(-2) + "'"+ (saturn_s).toFixed(1) + "\""+ saturnR+"</td><td><p style=\"color:"+zods[Math.floor(saturn2/30.0)][1]+"\">"+zods[Math.floor(saturn2/30.0)][0]+"</p> "+("00"+Math.floor(saturn2 - (Math.floor(saturn2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(saturn2_m)).substr(-2) + "'"+ (saturn2_s).toFixed(1) + "\""+ saturnR+"</td><td style='font-family:sans,sans-serif!important;'>" + nax[saturn2_n] + "</td></tr>" ;  
1561	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Uranus</td><td><p style=\"color:"+zods[Math.floor(uranus/30.0)][1]+"\">"+zods[Math.floor(uranus/30.0)][0]+"</p> "+("00"+Math.floor(uranus - (Math.floor(uranus/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(uranus_m)).substr(-2) + "'"+ (uranus_s).toFixed(1) + "\""+ uranusR+"</td><td><p style=\"color:"+zods[Math.floor(uranus2/30.0)][1]+"\">"+zods[Math.floor(uranus2/30.0)][0]+"</p> "+("00"+Math.floor(uranus2 - (Math.floor(uranus2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(uranus2_m)).substr(-2) + "'"+ (uranus2_s).toFixed(1) + "\""+ uranusR+"</td><td style='font-family:sans,sans-serif!important;'>"+ nax[uranus2_n] + "</td></tr>" ;  
1562	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Neptune</td><td><p style=\"color:"+zods[Math.floor(neptune/30.0)][1]+"\">"+zods[Math.floor(neptune/30.0)][0]+"</p> "+("00"+Math.floor(neptune - (Math.floor(neptune/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(neptune_m)).substr(-2) + "'"+ (neptune_s).toFixed(1) + "\""+ neptuneR+"</td><td><p et=\"_blank\" style=\"color:"+zods[Math.floor(neptune2/30.0)][1]+"\">"+zods[Math.floor(neptune2/30.0)][0]+"</p> "+("00"+Math.floor(neptune2 - (Math.floor(neptune2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(neptune2_m)).substr(-2) + "'"+ (neptune2_s).toFixed(1) + "\""+ neptuneR+"</td><td style='font-family:sans,sans-serif!important;'>"+nax[neptune2_n]+"</td></tr>" ;  
1563	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Pluto</td><td><p style=\"color:"+zods[Math.floor(pluto/30.0)][1]+"\">"+zods[Math.floor(pluto/30.0)][0]+"</p> "+("00"+Math.floor(pluto - (Math.floor(pluto/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(pluto_m)).substr(-2) + "'"+ (pluto_s).toFixed(1) + "\""+ plutoR+"</td><td><p style=\"color:"+zods[Math.floor(pluto2/30.0)][1]+"\">"+zods[Math.floor(pluto2/30.0)][0]+"</p> "+("00"+Math.floor(pluto2 - (Math.floor(pluto2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(pluto2_m)).substr(-2) + "'"+ (pluto2_s).toFixed(1) + "\""+ plutoR+"</td><td style='font-family:sans,sans-serif!important;'>"+nax[pluto2_n]+"</td></tr>" ;  
1564	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>North Node</td><td><p style=\"color:"+zods[Math.floor(nnode/30.0)][1]+"\">"+zods[Math.floor(nnode/30.0)][0]+"</p> "+("00"+Math.floor(nnode - (Math.floor(nnode/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(nnode_m)).substr(-2) + "'" + (nnode_s).toFixed(1) + "\"R</td><td><p style=\"color:"+zods[Math.floor(nnode2/30.0)][1]+"\">"+zods[Math.floor(nnode2/30.0)][0]+"</p> "+("00"+Math.floor(nnode2 - (Math.floor(nnode2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(nnode2_m)).substr(-2) + "'" + (nnode2_s).toFixed(1) + "\"R</td><td style='font-family:sans,sans-serif!important;'>"+nax[nnode2_n]+ "</td></tr>" ;  
1565	tab = tab + "<tr><td style='font-family:sans,sans-serif!important;'>Ascendant</td><td>
1565<span style=\"color:"+zods[Math.floor(asc2/30.0)][1]+"\">"+zods[Math.floor(asc2/30.0)][0]+"</span> "+("00"+Math.floor(asc2 - (Math.floor(asc2/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(asc_m)).substr(-2) + "'" + (asc_s).toFixed(1) + "\"</td><td><span style=\"color:"+zods[Math.floor(asc22/30.0)][1]+"\">"+zods[Math.floor(asc22/30.0)][0]+"</span> "+("00"+Math.floor(asc22 - (Math.floor(asc22/30)*30.0))).substr(-2) + "°"+ ("00"+Math.floor(asc2_m)).substr(-2) + "'" + (asc2_s).toFixed(1) + "\"</td><td style='font-family:sans,sans-serif!important;'>"+ nax[asc2_n]+"</td></tr></table>";
1566	}
1567
1568	var houses = [];
1569	var planets_h = [];
1570	var ruler_h = [ 
1571		"Mars","Venus","Mercury","Moon","Sun","Mercury","Venus","Mars","Jupiter","Saturn","Saturn","Jupiter"
1572		];
1573
1574	var snode = (nnode + 180.0) % 360.0;
1575	var k;
1576	for (k = 0; k < 12; k++) {
1577		houses [k] = (asc2 + k*30.0);
1578		if (houses[k] > 390.0) { houses[k] = houses[k] % 360.0; }
1579	}
1580	for (k = 0; k < 12; k++) {
1581		var n = k+1;
1582		if (n == 12) { n = 0; }
1583		if (sun > houses[k] && sun < houses[n]) { planets_h[0] = k+1; }
1584		if (moon > houses[k] && moon < houses[n]) { planets_h[1] = k+1; }
1585		if (mercury > houses[k] && mercury < houses[n]) { planets_h[2] = k+1; }
1586		if (venus > houses[k] && venus < houses[n]) { planets_h[3] = k+1; }
1587		if (mars > houses[k] && mars < houses[n]) { planets_h[4] = k+1; }
1588		if (jupiter > houses[k] && jupiter < houses[n]) { planets_h[5] = k+1; }
1589		if (saturn > houses[k] && saturn < houses[n]) { planets_h[6] = k+1; }
1590		if (uranus > houses[k] && uranus < houses[n]) { planets_h[7] = k+1; }
1591		if (neptune > houses[k] && neptune < houses[n]) { planets_h[8] = k+1; }
1592		if (pluto > houses[k] && pluto < houses[n]) { planets_h[9] = k+1; }
1593		if (nnode > houses[k] && nnode < houses[n]) { planets_h[10] = k+1; }
1594		if (snode > houses[k] && snode < houses[n]) { planets_h[11] = k+1; }
1595	}
1596
1597	var snode2 = (nnode2 + 180.0) % 360.0;
1598	p_sort = [ 
1599			sun2,
1600			moon2,
1601			mars2,
1602			venus2,
1603			mercury2,
1604			jupiter2,
1605			saturn2,
1606			uranus2,
1607			neptune2,
1608			pluto2,
1609			nnode2,
1610			snode2,
1611			asc22
1612			];
1613	p_sort1 = [ 
1614			sun,
1615			moon,
1616			mars,
1617			venus,
1618			mercury,
1619			jupiter,
1620			saturn,
1621			uranus,
1622			neptune,
1623			pluto,
1624			nnode,
1625			snode,
1626			asc2
1627			];
1628var	p_name1 = [ 
1629			["sun","a","f00"],
1630			["moon","b","00f"],
1631			["mars","e","f00"],
1632			["venus","d","f0c"],
1633			["mercury","c","080"],
1634			["jupiter","f","840"],
1635			["saturn","g","333"],
1636			["uranus","h","a0a"],
1637			["neptune","i","00a"],
1638			["pluto","j","a00"],
1639			["nnode","T","555"],
1640			["snode","U","555"],
1641			["asc","M","678"]
1642		 ];
1643var	p_name = [ 
1644			["sun","a","f00"],
1645			["moon","b","00f"],
1646			["mars","e","f00"],
1647			["venus","d","f0c"],
1648			["mercury","c","080"],
1649			["jupiter","f","840"],
1650			["saturn","g","333"],
1651			["uranus","h","a0a"],
1652			["neptune","i","00a"],
1653			["pluto","j","a00"],
1654			["nnode","T","555"],
1655			["snode","U","555"],
1656			["asc","M","678"]
1657		 ];
1658
1659	var p_sort = [ 
1660			sun2,
1661			moon2,
1662			mars2,
1663			venus2,
1664			mercury2,
1665			jupiter2,
1666			saturn2,
1667			uranus2,
1668			neptune2,
1669			pluto2,
1670			nnode2,
1671			snode2,
1672			asc22
1673			];
1674
1675	var retro = [ "", "",
1676			marsR,
1677			venusR,
1678			mercuryR,
1679			jupiterR,
1680			saturnR,
1681			uranusR,
1682			neptuneR,
1683			plutoR,
1684			"R","R",""];
1685	var k; var swp;
1686	do {
1687		swp = 0;
1688		for (k = 0; k < 12; k++) {
1689			if (p_sort[k+1] < p_sort[k]) {
1690				var tmp;
1691				tmp = p_sort[k+1];
1692				p_sort[k+1] = p_sort[k];
1693				p_sort[k] = tmp;
1694				tmp = p_name[k+1];
1695				p_name[k+1] = p_name[k];
1696				p_name[k] = tmp;
1697				tmp = p_sort1[k+1];
1698				p_sort1[k+1] = p_sort1[k];
1699				p_sort1[k] = tmp;
1700				tmp = p_name1[k+1];
1701				p_name1[k+1] = p_name1[k];
1702				p_name1[k] = tmp;
1703				tmp = retro[k+1];
1704				retro[k+1] = retro[k];
1705				retro[k] = tmp;
1706				swp = 1;
1707			}
1708		}	
1709	} while (swp == 1);
1710
1711	var waxing = false; var fracp = Math.abs(diff_sun_moon/180);var txt_phase = "Calante "; var txt_phase2 = "";
1712	showMoon = document.getElementById('pp_showMoon').value;
1713	if (showMoon) {
1714	tab = tab + "<br/><br/><br/><br/><p style='text-align:center;margin-top:-4em!important;' >Fase : <span id='pom' style='text-align:center;margin:0 auto;'></span></p><div id='moonpp' class='moonpp' style='position:relative;display:block;text-align:center;width:150px;height:150px;margin:auto;'><img style='position:absolute;display:inline-block;width:150px;height:150px;' id='moonp' class='moonp' src='"+plugUrl+"../images/moon.png' /><div style='display:inline-block;position:relative;width:75px;height:150px;left:0;opacity:0.7;'><img style='display:inline-block;position:absolute;margin:0;width:75px;height:150px;left:0;' id='moon-left-bg' class='moon-left-bg' src='"+plugUrl+"../images/moon_left_bg.svg' /><img style='display:inline-block;position:absolute;margin:0;width:75px;height:150px;left:0;' id='moon-left-fg' class='moon-left-fg' src='"+plugUrl+"../images/moon_left_fg.svg' /></div><div style='display:inline-block;position:relative;width:75px;height:150px;left:0;opacity:0.7;'><img id='moon-right-bg' class='moon-right-bg' style='display:inline-block;position:absolute;margin:0;width:75px;height:150px;left:0;' src='"+plugUrl+"../images/moon_right_bg.svg'/><img id='moon-right-fg' class='moon-right-fg' style='display:inline-block;position:absolute;margin:0;width:75px;height:150px;left:0px;' src='"+plugUrl+"../images/moon_right_fg.svg'/></div></div>";
1715	if (txt_paksha == "Shukla") { waxing = true; txt_phase = "Crescente "; }
1716	if ( Math.abs(fracp - 0.5) < 0.075  && Math.abs(fracill) < 0.525 && Math.abs(fracill) > 0.475) { txt_phase = "Primo Quarto"; }
1717	else if ( Math.abs(fracp - 1.0) < 0.075 && Math.abs(fracill) > 0.99 ) { txt_phase = "Luna Piena"; }
1718	else if ( Math.abs(fracill) < 0.01) { txt_phase = "Luna Nuova"; }
1719	else if ( Math.abs(fracp - 1.5) < 0.075  && Math.abs(fracill) < 0.525 && Math.abs(fracill) > 0.475) { txt_phase = "Ultimo Quarto"; }
1720	if (txt_phase.substring(0,1) == 'W') { if (fracp < 0.5 || fracp > 1.5) {txt_phase2 = "Mezzaluna"; } else { txt_phase2 = "Gibbosa"; } }
1721	tab = tab + "</span>";
1722	}
1723	
1724	showWheels = document.getElementById('pp_showWheels').value;
1725	if (!showWheels) {
1726		tab = tab + "</div></div>";
1727		$JQ("#rasi").html(tab);
1728
1729		if (showMoon) {
1730		var phaseScale = 1;
1731		var phaseTrans = 100;
1732		var phaseRight = 0,phase = fracill*200;
1733		if (!waxing){
1734			$JQ('.moonpp').css({'-webkit-transform':'scaleX(-1)' });
1735			$JQ('.moonpp').css({'-o-transform':'scaleX(-1)' });
1736			$JQ('.moonpp').css({'-moz-transform':'scaleX(-1)' });
1737			$JQ('.moonpp').css({'transform':'scaleX(-1)' });
1738			$JQ('.moonp').css({'-webkit-transform':'scaleX(-1)' });
1739			$JQ('.moonp').css({'-o-transform':'scaleX(-1)' });
1740			$JQ('.moonp').css({'-moz-transform':'scaleX(-1)' });
1741			$JQ('.moonp').css({'transform':'scaleX(-1)' });
1742		}
1743		if(phase <= 100) {
1744		phaseRight = (1-(phase/100));
1745		}
1746		$JQ('.moon-right-fg').css({'-webkit-transform':'scaleX(' + phaseRight + ')' });
1747		$JQ('.moon-right-fg').css({'-moz-transform':'scaleX(' + phaseRight + ')' });
1748		$JQ('.moon-right-fg').css({'-o-transform':'scaleX(' + phaseRight + ')' });
1749		$JQ('.moon-right-fg').css({'transform':'scaleX(' + phaseRight + ')' });
1750		$JQ('.moon-right-fg').css({'transform-origin':'0% 0%' });
1751
1752		if(phase >= 100) {
1753		phaseScale = (1-(phase-100)/100);
1754		phaseTrans = 75*phaseScale;
1755		}
1756		$JQ('.moon-left-fg').css({'-webkit-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1757		$JQ('.moon-left-fg').css({'-moz-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1758		$JQ('.moon-left-fg').css({'-o-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1759		$JQ('.moon-left-fg').css({'transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1760		$JQ('.moon-left-fg').css({'transform-origin':'0% 0%' });
1761		$JQ('#pom').html(txt_phase+txt_phase2+ " : frazione " + txt_fracill);
1762		}
1763		return;
1764	}
1765
1766	tab = tab + "\r\n";
1767	tab = tab + "<h4>
1767Sidereal Lunar mansion (nakshatra) Chart<br/><br/></h4>\r\n";
1768
1769	tab = tab + "<div class='circl'>";
1770	tab = tab + "<p class='ppos'>Place: <br/>" + "Greenwich, U.K." + "<br/>Time: <br />" + d.universalDateString+" UTC/GMT</p>";
1771	tab = tab + "<div class='rasicircle' style='transform: rotate("+(asc22)+"deg);-webkit-transform: rotate("+(asc22)+"deg)'>";
1772	tab = tab + "<img src='"+plugUrl+"../images/nax7.webp' />";
1773	
1774	var oddeven = ""; var p_class = []; var overl;
1775	for ( k = 0 ; k < 13; k++) {
1776		overl = "";
1777		if (retro[k]) { overl = "; text-decoration:underline;"; }
1778		if (oddeven == "2") { oddeven = ""; } else { oddeven = "2"; }
1779		tab = tab + "<span class='"+ p_name[k][0] + oddeven + "' style='font-family:Saravali!important;" + overl + ";color:#"+ p_name[k][2] + ";transform:rotate("+(-p_sort[k])+"deg);-webkit-transform:rotate("+(-p_sort[k])+"deg);" + "' >";
1780		tab = tab +  p_name[k][1];
1781		tab = tab + "</span>";
1782		p_class[p_name[k]] = "." + p_name[k][0] + oddeven;
1783	}
1784
1785
1786	tab = tab + "</div></div>";
1787	
1788	tab = tab + "<div id='tropical'>";
1789	tab = tab + "<h4>Tropical Zodiac Wheel</h4>";
1790
1791	tab = tab + "<div class='circl2'>";
1792	tab = tab + "<p class='ppos'>Place: <br/>" + "Greenwich, U.K." + "<br />Time: <br />" + d.universalDateString+ " UTC/GMT</p>";
1793	tab = tab + "<div class='zodiac' style='transform: rotate("+(asc2+270)+"deg);-webkit-transform: rotate("+(asc2+270)+"deg);'>";
1794//	$JQ(".zodiac").css({"transform" : "rotate(" + ((asc2+270)%360) + "deg)" });
1795	tab = tab + "<img src='"+plugUrl+"../images/zodiac-wheel9.webp' />";
1796
1797
1798	var aspects = ["<span style='font-family:Saravali!important;'>M</span>", "<span style='font-family:Saravali!important;'>Q</span>", "<span style='font-family:Saravali!important;'>O</span>", "<span style='font-family:Saravali!important;'>P</span>", "<span style='font-family:Saravali!important;'>N</span>", "<span style='font-family:Saravali!important;'>V</span>", "<span style='font-family:Saravali!important;'>:</span>", "<span style='font-family:Saravali!important;'>%</span>","<span style='font-family:Saravali!important;'>R</span>","<span style='font-family:Saravali!important;'>±</span>","<span style='font-family:Saravali!important;'>W</span>"];
1799	var asp_name = [ "Conjunction - 0°",
1800			"Sextile - 60°",
1801			"Square - 90°",
1802			"Trine - 120°",
1803			"Opposition - 180°",
1804			"Semisextile - 30°",
1805			"Semisquare - 45°",
1806			"Quintile - 72°",
1807			"Sesquiquadrate - 135°",
1808			"Biquintile - 144°",
1809			"Quincunx - 150°"
1810			];
1811	var p_asp = [];
1812	for (k= 0; k < 13; k++) {
1813		p_asp[k] = [];
1814		for (i=0; i < 13; i++) {
1815			p_asp[k][i] = [ ];
1816		}
1817	}
1818	for (k= 0; k < 13; k++) {
1819		for (i=0; i < 13; i++) {
1820			if (k !== i) {
1821				var degdiff = Math.abs((p_sort1[i] - p_sort1[k] + 360) % 360);
1822				p_asp[i][k][2] = degdiff;
1823				if ((Math.abs(degdiff - 0) < 10) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1824					p_asp[i][k][0] = aspects[0];
1825					p_asp[i][k][1] = Math.abs(degdiff - 0);
1826				} else if ((Math.abs(degdiff - 180 % 360) < 10) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1827					p_asp[i][k][0] = aspects[4];
1828					p_asp[i][k][1] = Math.abs(degdiff - 180 % 360);
1829				} else if ((Math.abs(degdiff - 90 % 360) < 10) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1830					p_asp[i][k][0] = aspects[2];
1831					p_asp[i][k][1] = Math.abs(degdiff - 90 % 360);
1832				} else if ((Math.abs(degdiff - 120 % 360) < 10) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1833					p_asp[i][k][0] = aspects[3];
1834					p_asp[i][k][1] = Math.abs(degdiff - 120 % 360);
1835				} else if ((Math.abs(degdiff - 60 % 360) < 6) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1836					p_asp[i][k][0] = aspects[1];
1837					p_asp[i][k][1] = Math.abs(degdiff - 60 % 360);
1838				} else if ((Math.abs(degdiff - 30 % 360) < 3) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1839					p_asp[i][k][0] = aspects[5];
1840					p_asp[i][k][1] = Math.abs(degdiff - 30 % 360);
1841				} else if ((Math.abs(degdiff - 45 % 360) < 3) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1842					p_asp[i][k][0] = aspects[6];
1843					p_asp[i][k][1] = Math.abs(degdiff - 45 % 360);
1844				} else if ((Math.abs(degdiff - 150 % 360) < 3) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1845					p_asp[i][k][0] = aspects[10];
1846					p_asp[i][k][1] = Math.abs(degdiff - 150 % 360);
1847				} else if ((Math.abs(degdiff - 135 % 360) < 3) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1848					p_asp[i][k][0] = aspects[8];
1849					p_asp[i][k][1] = Math.abs(degdiff - 135 % 360);
1850				} else if ((Math.abs(degdiff - 72 % 360) < 2) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1851					p_asp[i][k][0] = aspects[7];
1852					p_asp[i][k][1] = Math.abs(degdiff - 72 % 360);
1853				} else if ((Math.abs(degdiff - 144 % 360) < 2) && (p_name1[i][0] !== "asc" && p_name1[k][0] !== "asc")) {
1854					p_asp[i][k][0] = aspects[9];
1855					p_asp[i][k][1] = Math.abs(degdiff - 144 % 360);
1856				} else if (p_name1[i][0] == "asc" || p_name1[k][0] == "asc") {
1857					if (Math.abs(degdiff - 0) < 1) {
1858						p_asp[i][k][0] = aspects[0];
1859						p_asp[i][k][1] = Math.abs(degdiff - 0 % 360);
1860					} else if (Math.abs(degdiff - 180 % 360) < 1) {
1861						p_asp[i][k][0] = aspects[4];
1862						p_asp[i][k][1] = Math.abs(degdiff - 180 % 360);
1863					} else if (Math.abs(degdiff - 90 % 360) < 1) {
1864						p_asp[i][k][0] = aspects[2];
1865						p_asp[i][k][1] = Math.abs(degdiff - 90 % 360);
1866					} else if (Math.abs(degdiff - 120 % 360) < 1) {
1867						p_asp[i][k][0] = aspects[3];
1868						p_asp[i][k][1] = Math.abs(degdiff - 120 % 360);
1869					} else if (Math.abs(degdiff - 60 % 360) < 1) {
1870						p_asp[i][k][0] = aspects[1];
1871						p_asp[i][k][1] = Math.abs(degdiff - 60 % 360);
1872					} else if (Math.abs(degdiff - 30 % 360) < 1) {
1873						p_asp[i][k][0] = aspects[5];
1874						p_asp[i][k][1] = Math.abs(degdiff - 30 % 360);
1875					} else if (Math.abs(degdiff - 45 % 360) < 1) {
1876						p_asp[i][k][0] = aspects[6];
1877						p_asp[i][k][1] = Math.abs(degdiff - 45 % 360);
1878					} else if (Math.abs(degdiff - 150 % 360) < 1) {
1879						p_asp[i][k][0] = aspects[10];
1880						p_asp[i][k][1] = Math.abs(degdiff - 45 % 360);
1881					} else if (Math.abs(degdiff - 135 % 360) < 1) {
1882						p_asp[i][k][0] = aspects[8];
1883						p_asp[i][k][1] = Math.abs(degdiff - 135 % 360);
1884					} else if (Math.abs(degdiff - 72 % 360) < 1) {
1885						p_asp[i][k][0] = aspects[7];
1886						p_asp[i][k][1] = Math.abs(degdiff - 72 % 360);
1887					} else if (Math.abs(degdiff - 144 % 360) < 1) {
1888						p_asp[i][k][0] = aspects[9];
1889						p_asp[i][k][1] = Math.abs(degdiff - 144 % 360);
1890					}
1891				}
1892			}
1893		}
1894	}
1895
1896	
1897	var oddeven = "";
1898	for ( k = 0 ; k < 13; k++) {
1899		if (oddeven == "2") { oddeven = ""; } else { oddeven = "2"; }
1900		overl = "";
1901		if (retro[k]) { overl = "; text-decoration:underline;"; }
1902		tab = tab + "<div class='"+ p_name1[k][0] + "1" + oddeven + "' style='font-family:Saravali!important;color:#"+ p_name1[k][2] + overl + ";transform:rotate("+(-p_sort1[k])+"deg);-webkit-transform:rotate("+(-p_sort1[k])+"deg);' >" + p_name1[k][1];
1903		tab = tab + "</div>";
1904	}
1905
1906	for ( k = 0 ; k < 13; k++) {
1907		for (i = 0; i < k; i++) {
1908		if (oddeven == "2") { oddeven = ""; } else { oddeven = "2"; }
1909		if (p_asp[k][i][0] ) { degrr = (360-p_sort1[i]+p_sort1[k])/2 % 180; 
1910			var widt =Math.abs(360.0*Math.sin(degrr*$const.DTR)/5.0);
1911			tab = tab + "<div style='border:none!important;color:transparent!important;transform:rotate("+(-p_sort1[k])+"deg);-webkit-transform:rotate("+(-p_sort1[k])+"deg);' class='"+p_name1[k][0]+"1"+oddeven+"'><div class='asp' style='border-bottom: 1px dotted #"+(p_name1[k][2])+";transform: rotate("+(degrr)+"deg);-webkit-transform: rotate("+(degrr)+"deg);width:"+(widt)+"%!important;'>&nbsp;</div></div>";  
1912		} else if (p_asp[i][k][0] ) { degrr = (360-(p_sort1[k]-p_sort1[i]) )/2 % 180; 
1913			var widt =Math.abs(360.0*Math.sin(degrr*$const.DTR)/5.0); 
1914			tab = tab + "<div style='border:none!important;color:transparent!important;transform:rotate("+(-p_sort1[i])+"deg);-webkit-transform:rotate("+(-p_sort1[i])+"deg);'  class='"+p_name1[i][0]+"1"+oddeven+"'><div class='asp' style='border-bottom: 1px dotted #"+(p_name1[i][2])+";transform: rotate("+(degrr)+"deg);-webkit-transform: rotate("+(degrr)+"deg);width:"+(widt)+"%!important;'>&nbsp;</div></div>"; 
1915		}
1916		}
1917	}
1918	tab = tab + "</div></div></div>";
1919	$JQ("#rasi").html(tab);
1920	
1921	if (showMoon) {
1922	var phaseScale = 1;
1923	var phaseTrans = 100;
1924	var phaseRight = 0,phase = fracill*200;
1925	if (!waxing){
1926		$JQ('.moonpp').css({'-webkit-transform':'scaleX(-1)' });
1927		$JQ('.moonpp').css({'-o-transform':'scaleX(-1)' });
1928		$JQ('.moonpp').css({'-moz-transform':'scaleX(-1)' });
1929		$JQ('.moonpp').css({'transform':'scaleX(-1)' });
1930		$JQ('.moonp').css({'-webkit-transform':'scaleX(-1)' });
1931		$JQ('.moonp').css({'-o-transform':'scaleX(-1)' });
1932		$JQ('.moonp').css({'-moz-transform':'scaleX(-1)' });
1933		$JQ('.moonp').css({'transform':'scaleX(-1)' });
1934	}
1935	if(phase <= 100) {
1936	phaseRight = (1-(phase/100));
1937	}
1938	$JQ('.moon-right-fg').css({'-webkit-transform':'scaleX(' + phaseRight + ')' });
1939	$JQ('.moon-right-fg').css({'-moz-transform':'scaleX(' + phaseRight + ')' });
1940	$JQ('.moon-right-fg').css({'-o-transform':'scaleX(' + phaseRight + ')' });
1941	$JQ('.moon-right-fg').css({'transform':'scaleX(' + phaseRight + ')' });
1942	$JQ('.moon-right-fg').css({'transform-origin':'0% 0%' });
1943
1944	if(phase >= 100) {
1945	phaseScale = (1-(phase-100)/100);
1946	phaseTrans = 75*phaseScale;
1947	}
1948	$JQ('.moon-left-fg').css({'-webkit-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1949	$JQ('.moon-left-fg').css({'-moz-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1950	$JQ('.moon-left-fg').css({'-o-transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1951	$JQ('.moon-left-fg').css({'transform':'translate('+phaseTrans+'px,0) scaleX(' + (1-phaseScale) + ')' });
1952	$JQ('.moon-left-fg').css({'transform-origin':'0% 0%' });
1953	$JQ('#pom').html(txt_phase+txt_phase2+ " : frazione " + txt_fracill);
1954	}
1955	
1956};   
1957
1958function waitasec() {
1959	var t = new Date;
1960	if (t.getSeconds() % 30 < 2) { RASI(); }
1961}
1962
1963$JQ(document).ready(function(){ 
1964	RASI(); 
1965//       setInterval(function() {waitasec(); } , 2000);
1966
1967});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.