<?php $yr=date("Y"); 

 include("includes/connection.php");

 dbconnect();

 mysql_select_db($dbname);

 $mmonth=$_REQUEST['monthname'];

 $selyear=$_REQUEST['selyear'];

 $selcity=$_REQUEST['subcat'];

 if(strlen(trim($mmonth))==0)

   {

      $mmonth=1;

   }

   if(strlen(trim($selyear))==0)

   {

     $selyear=date("Y");

   }

   $sql1=mysql_query("select * from city_master where rowid='$selcity'");

   while ($row = mysql_fetch_array($sql1))

	{

	$selcity=$row['place'];

 	}   //echo "mmonth= ".$mmonth."-".$selyear."<br>";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title><?php echo "Panchak-".$yr.",Panchak for all Cities"; ?></title>

<meta name="keywords" content="free Panchang Delhi,Panchak details, punchak details, Mumbai, Chandigarh, Free world panchang, Tithi, Rahukaal, Chaughadia, Nakshatra, Yoga, Karan, Rashi, Yamagandam Kaal"/>

<meta name="description" content="Get Details about tithi,panchak,punchak, nakshatra, gandmool, karan, yoga, rashi, yamagandam, kaal etc."/>

<link rel="stylesheet" type="text/css" href="style.css" />

<link rel="stylesheet" type="text/css" href="stylesheets/panchang.css"/>
<link rel="canonical" href="https://www.premastrologer.com/panchak.html" />

<style type="text/css">

<!--

.style3 {color: #FFFFFF; font-weight: bold; }

-->

</style>

</head>

<body>

<?php 

  date_default_timezone_set('Asia/Calcutta');

 	class clone2{

		    var $rise;

		    var $transit;   //// = o.transit;

		    var $set1;    // As var    //= o.set;

		    var $jd;   //    //= o.$jd;

		}//End Type

	class datim{

		  var $jd;

		  var $mo;

		  var $da;

		  var $yr;

		  var $dow;

		  var $hh;

		  var $mm;	

		  var $ss;

		 var $sgn1;

		}   //End Type

	class sunRTS

		 { 

			 var $jd;

			 var $lat;

			 var $lng;

			 var $gha;

			 var $rise;

			 var $transit;

			 var $set1;

		    // $clone1 = new clone2();

		 } //End Type

         define("convday",4.16666666666667E-02);

         define("convhour",6.66666666666667E-02);

         define("convmin",1.66666666666667E-02);

         define("convsec",2.77777777777778E-04);

         define("convcircle",2.77777777777778E-03);

         define("SUNSET",-0.833333333333333);

         define("CIVIL",-6);

         define("NAUTICAL",-12);

         define("ASTRONOMICAL",-18);

		global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad,$SUNSET,$exactrashino;

	global $flagyoga;

	global $currdate;

		$r=new datim();

	    $rms=new sunRTS();

		$sp=new sunRTS();

     $Planets=array(22);

     $LONGRAH=array(22);

     $LONGRAH1=array(22);

     $LONGRAH2=array(22);

     $SpeedX=array(22);

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

    $DECL=array(22);

    $RETROPL=array(22);

    $XOPTION=array(22);

    $lagnapl=array(13);

    $plaseries=array(13);

    $planetSign=array(17);

 	//global $n1,$n2,$n3,$n4,$n5,$n6,$n7,$n8,$n9,$n10,$n11,$n12,$luckycol,$luckydays,$luckystone,$friendlynum;

	//global $varsh_house,$th1,$th2,$th3,$th4,$th5,$th6,$th7,$th8,$th9,$th10,$th11,$th12;

	$tplh=array(12);

	$NKS=array(27);

	$getpl1=array(10);$getpl2=array(10);$getpl3=array(10);$getpl4=array(10);$getpl5=array(10);$getpl6=array(10);$getpl7=array(10);$getpl8=array(10);

	//date_default_timezone_set('Asia/Calcutta');

	$flagkaran=0;

//-------------CODE FOR GETTING DATES AND LATITUDES AND LONGITUDES----------------

	$dt=$_POST['datepicker'];

	$dt=$_POST['inputField'];

	$noofdays=getdaysinmonth($mmonth,$selyear);

	$mn=$mmonth;

	$dy="1";

	$yr=$selyear;

	//echo ("no of days=".$noofdays);

	$date = date('Y-m-d', strtotime($yr."-".$mn."-1"));

	$monthname=date("F",strtotime($yr."-".$mn."-1"));

    for($i=0;$i<$noofdays;$i++)

     {	

	 $mdt=split("-",$date);

	//echo "dt=$dt";

	 $dy=$mdt[0];

	 $mn=$mdt[1];

 	$yr=$mdt[2];

 	$festdt=$yr."-".$mn."-".$dy;

	 $H=$_POST['Hour'];

	 $m=$_POST['Min'];

	$AYNS=$_POST['AYNS'];

	$country1=$_POST['cat'];

	$city1=$_POST['subcat'];

	//$moondeg=$_POST['moon'];

//echo "moondeg=".$moondeg."<br>";

$dst=$_POST['DST'];

$war=$_POST['WAR'];

$ew=$_POST['East'];

$ns=$_POST['South'];

$long_deg=$_POST['LonDeg'];

$long_min=$_POST['LonMin'];

$lat_deg=$_POST['LatDeg'];

$lat_min=$_POST['LatMin'];

$timehr=$_POST['ZHour'];

$timemin=$_POST['ZMin'];

//echo "festdt=$festdt<br>";



/*$dst=0;

$war=0;

$ew='East';

$ns='North';

$long_deg="77";

$long_min="13";

$lat_deg="28";

$lat_min="39";

$timehr="5";

$timemin="30";

$H="5";

$m="30";

$AYNS="-24.06425907"; */

//----AYNS--------

$hr= 5;

		$hr	+= 30/60;

		$tz= floor($timehr);

		$tz += floor($timemin)/60;

		$ln= floor($long_deg);

		$ln += floor($long_min)/60;

		$la= floor($lat_deg);

		$la += floor($lat_min)/60;

	// checks 

	//$dst = 0;

	//$war= 0;

	$eln = $ew;

	$sla = $ns;

	if($eln=='East')$ln = -$ln;

	//document.write("eln: " +eln.checked+"<br>");

	if($sla=='South')$la = -$la;

	//document.write("sla: " +sla.checked+"<br>");

	if($dst==1){

		if($ln < 0.0)$tz++;

		else $tz--;

	}

    if($dst==2){

		if($ln < 0.0)$tz=$tz+2;

		else $tz=$tz-2;

	}

	if ($war==1) 

	{

	$hr=$hr-1;

	}

	$jd = mdy2julian($mn,$dy,$yr);

	if($ln < 0.0)$f = $hr - $tz;

	else $f = $hr+$tz;

	$t = (($jd - 2415020) + $f/24 - 0.5)/36525;

	$ay = calcAyanamsa($t);

	$AYNS=$ay;

  echo "Ayns=".$ay." ";



//--------------------------------------------------------------------------

CalcPanchang($dy,$mn,$yr);

$firsthalf=0;

$secondhalf=0;

$gandmoolstr="";

 if ((strcmp($Nakshatra,"Ashwini")==0) || (strcmp($Nakshatra,"Magha")==0) || (strcmp($Nakshatra,"Mula")==0) || (strcmp($Nakshatra,"Ashlesha")==0) || (strcmp($Nakshatra,"Jyeshtha")==0) || (strcmp($Nakshatra,"Rewati")==0)) {

			  	  		    $firsthalf=1;

			  	  		    }//End If

 if ((strcmp($nextnakshatra,"Ashwini")==0) || (strcmp($nextnakshatra,"Magha")==0) || (strcmp($nextnakshatra,"Mula")==0) || (strcmp($nextnakshatra,"Ashlesha")==0) || (strcmp($nextnakshatra,"Jyeshtha")==0) || (strcmp($nextnakshatra,"Rewati")==0)) {

			  	  		    $secondhalf=1;

			  	  		  }//End If

			  	  		 //---------------------------------------------------

			  	  		   if (($firsthalf == 1) && ($secondhalf == 0)){// Then

			  	  			 if ($kshayanaks==true) {

				  	  				$gandmoolstr = "Yes from Sunrise";

				  	  			   }else {

				  	  		    $gandmoolstr = "Yes from Sunrise till " . $finalnaksend; }

			  	  		   }//End If

			  	  		   if (($firsthalf == 0) && ($secondhalf == 1)){// Then

			  	  		     $gandmoolstr = "Yes from " . $finalnaksend;

			  	  		   }//End If

			  	  		   if (($firsthalf == 1) && ($secondhalf == 1)) {//Then

			  	  		     $gandmoolstr = "Yes";

			  	  		   }//End If

			  	  		   if (($firsthalf == 0) && ($secondhalf == 0)) {//Then

			  	  		     $gandmoolstr = "No";

			  	  		   }//End If

						   //echo "gandmoolstr=".$gandmoolstr."<br>";

						   $panchakstr=CalculatePanchak($Nakshatra,$nextnakshatra,$finalnaksend); 

						   echo $date." - Panchak: ".$panchakstr."<br>";

						   $date = date('Y-m-d', strtotime('+1 day' , strtotime ($date)));

						  

		} //end of for loop				   

//---------------------CALCULATION MODULES----------------------------------

 function calcAyanamsa($t)

	{

		global $d2r;

		$ln = ((933060-6962911*$t+7.5*$t*$t)/3600.0) % 360.0;  /* Mean lunar node */

		//document.write("in AYANAMSA ln:"+ln+" <br> ");

		$Off = (259205536.0*$t+2013816.0)/3600.0;             /* Mean Sun        */

		$Off = 17.23*sin($d2r * $ln)+1.27*sin($d2r * $Off)-(5025.64+1.11*$t)*$t;

		$Off = ($Off- 80861.27)/3600.0;  // 84038.27 = Fagan-Bradley 80861.27 = Lahiri

		return $Off;

	}

function CalcPanchang($dy,$mn,$yr)



{

	//int dy,mn,yr;

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	global $currdate;



	   $kshayanaks=false;

	   $kshayatithi=false;

	   $flagkaran=0;

	   $suns1 = 5;

       $suns2 = 30;

	  // $dy="16";

	  // $mn="09";

	  // $yr="2014";

	   $currdate=date("Y-m-d", strtotime($yr."-".$mn."-".$dy));

		NewPlaCalc($currdate,"5","30");

       $dt=date("d-m-Y");

       $wday=date("l", strtotime($currdate));

       //echo("Weekday is: ".$wday);

	   //c1.add(Calendar.DATE,1);

    $flagkaran=0;

   // Calculate_Tithi();

    $tithiName=getTithiName($fcurrtithi,$cpaksha);

	$currentpaksha=$cpaksha;

    calculate_yoga();

	 //echo("Before TithiEnd TithiDeg=".$tithiDEG."<br>");

    tithiend($currtithi,$tithiDEG);

    //echo("Tithi Name= ".$tithiName." tithi end= ".$tithiEND."<br>");

    $mynaksend=$naksEND;

    $chkdb=$sunr1+24;

    //echo("sunr1=".$sunr1." and dbltithitime=".$dbltithitime."<br>");

  if ($chkdb < $dbltithitime){// Then

  $kshayatithi = true;

  }//End If

  if ($chkdb < $yogadbl){// Then

  $kshayayoga = true;

  }//End If

  if ($chkdb < $naksdbl){// Then

  $kshayanaks = true;

  }//End If

    ////echo("first naks end is:".mynaksend);

  //echo("kshayanaks=".$kshayanaks."<br>");

  //echo("kshayatithi=".$kshayatithi."<br>");

    rashiend();

//This part is added on 4th Jan 2012

  //echo("sunHR=".$sunHR." sunMIN=".$sunMIN."<br> and suns1=$suns1 and suns2=$suns2 <br>");

  

    $suntime = $suns1 + $suns2 / 60;

  //echo "in calcpanchang suntime=$suntime<br>";

  //var $myt1; // As var

  $myt1 = $timetaken1 + 5.5;

  $ftithitime = $myt1;

  if ($myt1 < $suntime) {// Then   'this part recalculates tithi if tithi ends before sunrise

	  //echo("Re calculating tithi ".$myt1."<br>");

  $flagkaran = 1;

  // dt = dt - 1;

 //dy = c1.get(Calendar.DATE);

 //mn = c1.get(Calendar.MONTH)+1;

 //yr = c1.get(Calendar.YEAR);

   // MN = month(dt);

   //  yr = year(dt);

  //$suns1 = $sunHR;

  //$suns2 = $sunMIN;

  NewPlaCalc1($currdate,$suns1,$suns2); //Calculate according to sunrise/sunset time

      $LONGRAH1[2] = $LONGRAH2[2];

     $LONGRAH1[3] = $LONGRAH2[3];

     $LONGRAH1[4] = $LONGRAH2[4];

     $LONGRAH1[5] = $LONGRAH2[5];

     $LONGRAH1[6] = $LONGRAH2[6];

     $LONGRAH1[7] = $LONGRAH2[7];

     $LONGRAH1[8] = $LONGRAH2[8];

     $LONGRAH1[9] = $LONGRAH2[9];

     $LONGRAH1[10] = $LONGRAH2[10];

     $currsunrise = $sunrise1;

     $currsunset = $sunset1;

      Calculate_Tithi();

      $ctithi = $currtithi;

      $fcurrtithi = $ctithi;

      $cpaksha = $currentpaksha;

      //echo("currtithi-".$fcurrtithi." tithideg=".$tithiDEG."<br>");

      //echo("in new tithi nextlongrah1-".$nextLONGRAH1." nextLONGRAH2=".$nextLONGRAH2."<br>");

     // tithiend(currtithi, tithiDEG);

      newtithiend($currtithi,$tithiDEG);

      //echo("New Tithi end:".$tithiEND."<br>");

      $tithiend1=$tithiEND;

       if ($chkdb < $dbltithitime){// Then

        $kshayatithi = true;

       }//End If

     if ($chkdb < $yogadbl){// Then

      $kshayayoga = true;

     }//End If

     if ($chkdb < $naksdbl){// Then

       $kshayanaks = true;

     }//End If

       $tithiName = getTithiName($currtithi, $currentpaksha);

    //    c1.add(Calendar.DATE,1);

       //echo("KshayaTithi: ".$kshayatithi."<br>");

      $suns1 = 5;

      $suns2 = 30;

   }//End If---Check begining of this IF CONDITION

  if ($naksdbl < $suntime) {// Then   'this part recalculates tithi if tithi ends before sunrise

  //echo("rechecking Nakshatra-date is:".$dy."-".$mn."-".$yr."<br>");

  $suns1 = $sunHR;

  $suns2 = $sunMIN;

     NewPlaCalc1($currdate,$suns1,$suns2);

     $LONGRAH1[2] = $LONGRAH2[2];

     $LONGRAH1[3] = $LONGRAH2[3];

     $LONGRAH1[4] = $LONGRAH2[4];

     $LONGRAH1[5] = $LONGRAH2[5];

     $LONGRAH1[6] = $LONGRAH2[6];

     $LONGRAH1[7] = $LONGRAH2[7];

     $LONGRAH1[8] = $LONGRAH2[8];

     $LONGRAH1[9] = $LONGRAH2[9];

     $LONGRAH1[10] = $LONGRAH2[10];

     $currsunrise = $sunrise1;

     $currsunset = $sunset1;

     getplanetarydets();

     //c1.add(Calendar.DATE,1);

     // dy = c1.get(Calendar.DATE);

	//  mn = c1.get(Calendar.MONTH)+1;

	 // yr = c1.get(Calendar.YEAR);

    // $suns1 = sunHR;

    // suns2 = sunMIN;

   //  NewPlaCalc(dy, mn, yr);

   //  next$LONGRAH1 = Planets[1];

   //  nextLONGRAH2 = Planets[10];

  // '   ctithi = currtithi

  //  '   fcurrtithi = ctithi

  // '  cpaksha = currentpaksha

        naksend();

  //  ' tithiname = getTithiName(currtithi, currentpaksha)

  //  ' dt = dt + 1

      $suns1 = 5;

      $suns2 = 30;

  }//End If

  if ($yogadbl < $suntime){// Then   'this part recalculates tithi if tithi ends before sunrise

    //c1.add(Calendar.DATE,-1);

    //dy = c1.get(Calendar.DATE);

	 // mn = c1.get(Calendar.MONTH)+1;

	 // yr = c1.get(Calendar.YEAR);

	  //echo("rechecking Yoga-date is:".$dy."-".$mn."-".$yr."<br>");

  $suns1 = $sunHR;

  $suns2 = $sunMIN;

  

  NewPlaCalc1($currdate,$suns1,$suns2);

     $LONGRAH1[2] = $LONGRAH2[2];

     $LONGRAH1[3] = $LONGRAH2[3];

     $LONGRAH1[4] = $LONGRAH2[4];

     $LONGRAH1[5] = $LONGRAH2[5];

     $LONGRAH1[6] = $LONGRAH2[6];

     $LONGRAH1[7] = $LONGRAH2[7];

     $LONGRAH1[8] = $LONGRAH2[8];

     $LONGRAH1[9] = $LONGRAH2[9];

     $LONGRAH1[10] = $LONGRAH2[10];

    //' $currsunrise = frmsunrise.sunrise1

   // ' currsunset = frmsunrise.sunset1

     calculate_yoga();

  // '   ctithi = currtithi

  // '   fcurrtithi = ctithi

  // '  cpaksha = currentpaksha

     

     yogaendt();

   // ' tithiname = getTithiName(currtithi, currentpaksha)

   //c1.add(Calendar.DATE,1);

      $suns1 = 5;

      $suns2 = 30;

  }// End If

   if ($flagkaran == 0){// Then

    $mytithiend = $timetaken1 + 5.5;

   }

     // End If

   $tithiend1=$tithiEND;

   $tithifinalend = $tithiend1;

   $tithiend2 = $tithiend1;

   $timetaken2 = $timetaken1;

   $finalyogaend = $yogaEND;

   $finalnaksend = $naksEND;

//echo("tithifinalend= ".$tithifinalend."<br>");

//echo("timetaken2= ".$timetaken2."<br>");

//echo("finalyogaend= ".$finalyogaend."<br>");

//echo("finalnaksend= ".$finalnaksend."<br>");

//echo("kshayanaks=".$kshayanaks."<br>");

//==================================

    calculateKaran($tithiDEG);

	//echo "before Karanend1-currdate=$currdate<br>";

    karanend1($currdate);

	//echo "after Karanend1-currdate=$currdate<br>";

    $rkaal=getrahukaal($currdate);

	

}

function Calculate_Tithi()

   {

   global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $flagyoga;

	global $dy,$mn,$yr;

   global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

    				//float $l1=0.0;

    				//echo("Longrah1=".$LONGRAH1[3]." and Longrah2=".$LONGRAH[2]."<br>");

    				if ($LONGRAH1[3]<$LONGRAH1[2]) $l1=$LONGRAH1[3]+360;

    				else $l1=$LONGRAH1[3];

    			    $finallong = $l1 - $LONGRAH1[2];

    				//system.out.println("finallong=".finallong);

    				$tithipassed = ($finallong / 12);

    				//echo("tithipassed=".$tithipassed."<br>");

    				$s = (int)$tithipassed;

    			    //----Calculate Tithi Degrees

    			    //	double xdf = Math.floor(finallong);

    			    //int xdd = (int)(xdf % 30);

    				 $tithiDEG=$finallong;

    				  //echo("Tithi Degree: ".$tithiDEG."<br>");

    		        if ($s < 15){

    				  $currtithi = (int)$tithipassed+1;

    				  $currentpaksha = "Shukla"; }

    				else{

    				  //'MsgBox "i m here"

    				  $currtithi = (int)($tithipassed - 15) + 1;

    				  $currentpaksha = "Krishna";

    				}//End if

    				if ($tithipassed == 15) {

    				//'MsgBox "in if statement"

    				   $currtithi = (int)($tithipassed - 15) + 1;

    				   $currentpaksha = "Krishna";

    				} //End if

    				//system.out.println("current Tithi=".currtithi);

    				//system.out.println("Current Paksha=".currentpaksha);

    				if (($tithiDEG > 0) && ($tithiDEG<= 180)) { $currentpaksha = "Shukla"; }

    		        if (($tithiDEG > 180) && ($tithiDEG <= 360)) { $currentpaksha = "Krishna"; }

					//echo "flagkaran= ".$flagkaran."<br>";

    				if ($flagkaran==0){

    				getplanetarydets();

    				}

    				//system.out.println("Nakshatra=".Nakshatra);

    				//system.out.println("rashi=".rashino);

    				

    				

    			}

				

function NewPlaCalc($currdate,$H,$m)

    {

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

    global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	 	 

		  $mdt=split("-",$currdate);

		  $swephsrc = './';

	      $sweph = './';

       //$swephsrc = '';

       //Unset any variables not initialized elsewhere in the program

      unset($PATH,$out,$pl_name,$longitude,$house_pos);

      //assign data from database to local variables

      $inmonth = $mdt[1];

      $inday = $mdt[2];

      $inyear = $mdt[0];

      $inhours = 5;

      $inmins = 30;

      $insecs = "0";

 //echo ("in month= $inmonth ,in day= $inday, in year= $inyear and inhours= $inhours and inmins= $inmins<br>");



      $my_longitude = $ew * ($long_deg + ($long_min / 60));

      $my_latitude = $ns * ($lat_deg + ($lat_min / 60));

	  //echo("long: ".$my_longitude." latitude: ".$my_latitude."<br>");

	  //echo("EW: ".$ew." NS: ".$ns."<br>");

	  //echo("timezone".$timezone." NS: ".$ns."<br>");

	  if($dst==1){

		if($my_longitude < 0.0)$timezone=$timezone-1;

		else $timezone=$timezone+1;

	}

    if($dst==2){

		if($my_longitude < 0.0) $timezone=$timezone-2;

		else $timezone=$timezone+2;

	}

	if ($war==1) 

	{

     $inhours=$inhours-1;

	}



	if ($ew<>1) 



{



   $timezone=$timezone*(-1);



}

	$timezone=$timezone;

	  $intz = $timezone;  

      if ($intz >= 0)

      {

        $whole = floor($intz);

        $fraction = $intz - floor($intz);

      }

      else

      {

        $whole = ceil($intz);

        $fraction = $intz - ceil($intz);

      }



//echo "whole= $whole<br>";



//echo "fraction= $fraction<br>";

      $inhours = $inhours - $whole;

      $inmins = $inmins - ($fraction * 60);

 //echo ("in hours= $inhours and in mins= $inmins<br>");

 //echo ("$inhours, $inmins, $insecs, $inmonth, $inday, $inyear"."<br>");

      // adjust date and time for minus hour due to time zone taking the hour negative



      if ($inyear >= 2000)

      {

        $utdatenow = strftime("%d.%m.20%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));

      }

      else

      {

        $utdatenow = strftime("%d.%m.19%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));

      }



	    $utnow = strftime("%H:%M:%S", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));

		 



   //echo ("utdatenow= $utdatenow<br>");

   //echo ("utnow= $utnow<br>");

   //echo"year=".$inyear."<br>";

 if ($inyear<1970)

 {

  //echo "inyear less than 1970<br>";

  MakeTime($inday,$inmonth,$inyear,$inhours,$inmins,$insecs);

 }

   if ($flagkaran==0)

   {

      compute($my_latitude, $my_longitude*(-1), $timezone);

    }

      putenv("PATH=$PATH:$swephsrc");

      exec("swetest -edir$sweph -b$utdatenow -ut$utnow -p0123456789 -eswe -house$my_longitude,$my_latitude, -fPlj -g, -head 2>&1", $out,$error);

      foreach ($out as $key => $line)

      {

              //     //echo "line = $line <br>";

	    $row = explode(',',$line);

        $pl_name[$key] = $row[0];

        $longitude[$key] = $row[1]+$AYNS;

		//echo "longitude[$key] = $longitude[$key] <br>";

		if ($longitude[$key]<0) $longitude[$key]=$longitude[$key]+360;

        $house_pos[$key] = $row[3];

      };

        Julday();

         $t =($DJD1) / 36525; $t2 = $t * $t;

         $m1 = 27.32158213; $m2 = 365.2596407;

         $m3 = 27.55455094; $m4 = 29.53058868;

         $m5 = 27.21222039; $m6 = 6798.363307;

         $m1 = $DJD1/$m1; 

         $m2 = $DJD1/$m2; 

         $m3 = $DJD1/$m3;

         $m4 = $DJD1/$m4; 

         $m5 = $DJD1/$m5; 

         $m6 = $DJD1/$m6;

         $m1 = 360 * ($m1 - floor($m1)); $m2 = 360 * ($m2 - floor($m2));



		// //echo "m1= $m1<br> ";



         $m3 = 360 * ($m3 - floor($m3)); $m4 = 360 * ($m4 - floor($m4));



		 //	 //echo "m3= $m3<br> ";





         $m5 = 360 * ($m5 - floor($m5)); $m6 = 360 * ($m6 - floor($m6));



		// 	 //echo "m5= $m5<br> ";



         $LD = 270.434164 + $m1 - (0.001133 - 0.0000019 * $t) * $t2;



		// 	 //echo "LD= $LD<br> ";



         $MS_lcl = 358.475833 + $m2 - (0.00015 + 0.0000033 * $t) * $t2;



		// 	 //echo "ms_lcl= $MS_lcl<br> ";



         $MD_lcl = 296.104608 + $m3 + (0.009192 + 0.0000144 * $t) * $t2;



		//  //echo "ms_lcl= $MD_lcl<br> ";



         $DE = 350.737486 + $m4 - (0.001436 - 0.0000019 * $t) * $t2;



		 // //echo "DE= $DE<br> ";



         $f = 11.250889 + $m5 - (0.003211 + 0.0000003 * $t) * $t2;



         // //echo "f= $f<br> ";



         $rahu = 259.183275 - $m6 + (0.002078 + 0.000022 * $t) * $t2;



         $rahu_deg = $rahu+$AYNS;



		 if ($rahu_deg<0) $rahu_deg=$rahu_deg+360;



		 if ($rahu_deg>360) $rahu_deg=$rahu_deg-360;



		 $ketu_deg=$rahu_deg+180;



		 if ($ketu_deg>360) $ketu_deg=$ketu_deg-360;

//----------------------------------------------------------------

   		$LONGRAH[1]=$longitude[22];

			 $asc_deg=$LONGRAH[1];

			 $signA = floor($LONGRAH[1] / 30) + 1;

			 $asc=$signA;

		  $sun= $longitude[0];

		  $LONGRAH[2]=$sun;

		  $mon= $longitude[1];;

		  $MONL=$mon;

		  $moondeg=$MONL;

		  $LONGRAH[3]=$mon;

		  $mars= $longitude[4];

		  $LONGRAH[4]=$mars;

		  $jup= $longitude[5];;

		  $LONGRAH[6]=$jup;

		  $ven= $longitude[3];;

		  $LONGRAH[7]=$ven;

		  $sat= $longitude[6];;

		  $LONGRAH[8]=$sat;

		  $rah= $rahu_deg;

		  $LONGRAH[9]=$rah;

		  $ket= $ketu_deg;

		  $LONGRAH[10]=$ket;

		  $mer= $longitude[2];;

		  $LONGRAH[5]=$mer;

//-----------------------------------------------------------------	

           $LONGRAH1[1]=$LONGRAH[1];

		   $LONGRAH1[2]=$LONGRAH[2];

		   $LONGRAH1[3]=$LONGRAH[3];

		   $LONGRAH1[4]=$LONGRAH[4];

		   $LONGRAH1[5]=$LONGRAH[5];

		   $LONGRAH1[6]=$LONGRAH[6];

		   $LONGRAH1[7]=$LONGRAH[7];

		   $LONGRAH1[8]=$LONGRAH[8];

		   $LONGRAH1[9]=$LONGRAH[9];

		   $LONGRAH1[10]=$LONGRAH[10];

//-----------------------------------------------------------	

 			    $cdate=date("Y-m-d",strtotime("+1 day",strtotime($currdate)));

    	        //echo("in newplacalc Next Date: ".$cdate."<br>");

    	        $currsunrise=$sunrise1;

    	        $currsunset=$sunset1;

    	        $sunr1=$sunriseV;  //.sunriseV;

    	        Calculate_Tithi();

    	        if (($tithiDEG>0) && ($tithiDEG<=180)) {$currentpaksha= "Shukla";}

    	        if (($tithiDEG>180) && ($tithiDEG<=360)) {$currentpaksha= "Krishna";}

    	        $ctithi=$currtithi;

    	        $fcurrtithi=$ctithi;

    	        $cpaksha=$currentpaksha;

    	        //echo("tithi= ".$ctithi." currentpaksha=".$cpaksha."<br>");

    	        NewPlaCalc1($cdate,"5","30");

    	        $nextLONGRAH1=$LONGRAH2[2];

    	        $nextLONGRAH2=$LONGRAH2[3];

    	        //echo("in newplacalc nextlongrah1=".$nextLONGRAH1." nextLONGRAH2=".$nextLONGRAH2."<br>");	   

  }

  

function NewPlaCalc1($currdate,$H1,$m1)

    {

      global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	  global $dy,$mn,$yr;

	  global $flagyoga;

	  global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	 	 //echo "<br>in newplacalc1<br>";

		  $mdt=split("-",$currdate);

		  $swephsrc = './';

	      $sweph = './';

       //$swephsrc = '';

       //Unset any variables not initialized elsewhere in the program

      unset($PATH,$out,$pl_name,$longitude,$house_pos);

      //assign data from database to local variables

      $inmonth = $mdt[1];

      $inday = $mdt[2];

      $inyear = $mdt[0];

	  //echo("in newplacalc1: suns1=".$suns1." and suns2=".$suns2."<br>");

      $inhours = $H1;

      $inmins = $m1;

      $insecs = "0";

 //echo ("in newplacalc1 month= $inmonth ,in day= $inday, in year= $inyear and inhours= $inhours and inmins= $inmins<br>");



      $my_longitude = $ew * ($long_deg + ($long_min / 60));

      $my_latitude = $ns * ($lat_deg + ($lat_min / 60));

	  if($dst==1){

		if($my_longitude < 0.0)$timezone=$timezone-1;

		else $timezone=$timezone+1;

	}

    if($dst==2){

		if($my_longitude < 0.0) $timezone=$timezone-2;

		else $timezone=$timezone+2;

	}



	



	if (war==1) 



	{



     $inhours=$inhours-1;



	}



	if ($ew<>1) 

	{

   $timezone=$timezone*(-1);

	}

	$timezone=$timezone;

	  $intz = $timezone;  

      if ($intz >= 0)

      {

        $whole = floor($intz);

        $fraction = $intz - floor($intz);

      }

      else

      {

        $whole = ceil($intz);

        $fraction = $intz - ceil($intz);

      }



//echo "whole= $whole<br>";



//echo "fraction= $fraction<br>";

      $inhours = $inhours - $whole;

      $inmins = $inmins - ($fraction * 60);

 //echo ("in hours= $inhours and in mins= $inmins<br>");



      // adjust date and time for minus hour due to time zone taking the hour negative



      if ($inyear >= 2000)



      {



        $utdatenow = strftime("%d.%m.20%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));



      }



      else



      {



        $utdatenow = strftime("%d.%m.19%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));



      }



	    $utnow = strftime("%H:%M:%S", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));



	//echo "utdatenow=".$utdatenow."<br>";

	//echo "utnow=".$utnow."<br>";

 if ($inyear<1970)

 {

  MakeTime($inday,$inmonth,$inyear,$inhours,$inmins,$insecs);

 }



      putenv("PATH=$PATH:$swephsrc");

      exec("swetest -edir$sweph -b$utdatenow -ut$utnow -p0123456789 -eswe -house$my_longitude,$my_latitude, -fPlj -g, -head 2>&1", $out,$error);

      foreach ($out as $key => $line)

      {

              //     //echo "line = $line <br>";

	    $row = explode(',',$line);

        $pl_name[$key] = $row[0];

        $longitude[$key] = $row[1]+$AYNS;

		//echo "in NewPlaCalc1-longitude[$key] = $longitude[$key] <br>";

		if ($longitude[$key]<0) $longitude[$key]=$longitude[$key]+360;

        $house_pos[$key] = $row[3];

      };

        Julday();

         $t =($DJD1) / 36525; $t2 = $t * $t;

         $m1 = 27.32158213; $m2 = 365.2596407;

         $m3 = 27.55455094; $m4 = 29.53058868;

         $m5 = 27.21222039; $m6 = 6798.363307;

         $m1 = $DJD1/$m1; 

         $m2 = $DJD1/$m2; 

         $m3 = $DJD1/$m3;



         $m4 = $DJD1/$m4; 



         $m5 = $DJD1/$m5; 



         $m6 = $DJD1/$m6;



         $m1 = 360 * ($m1 - floor($m1)); $m2 = 360 * ($m2 - floor($m2));



		// //echo "m1= $m1<br> ";



         $m3 = 360 * ($m3 - floor($m3)); $m4 = 360 * ($m4 - floor($m4));



		 //	 //echo "m3= $m3<br> ";





         $m5 = 360 * ($m5 - floor($m5)); $m6 = 360 * ($m6 - floor($m6));



		// 	 //echo "m5= $m5<br> ";



         $LD = 270.434164 + $m1 - (0.001133 - 0.0000019 * $t) * $t2;



		// 	 //echo "LD= $LD<br> ";



         $MS_lcl = 358.475833 + $m2 - (0.00015 + 0.0000033 * $t) * $t2;



		// 	 //echo "ms_lcl= $MS_lcl<br> ";



         $MD_lcl = 296.104608 + $m3 + (0.009192 + 0.0000144 * $t) * $t2;



		//  //echo "ms_lcl= $MD_lcl<br> ";



         $DE = 350.737486 + $m4 - (0.001436 - 0.0000019 * $t) * $t2;



		 // //echo "DE= $DE<br> ";



         $f = 11.250889 + $m5 - (0.003211 + 0.0000003 * $t) * $t2;



         // //echo "f= $f<br> ";



         $rahu = 259.183275 - $m6 + (0.002078 + 0.000022 * $t) * $t2;



         $rahu_deg = $rahu+$AYNS;



		 if ($rahu_deg<0) $rahu_deg=$rahu_deg+360;



		 if ($rahu_deg>360) $rahu_deg=$rahu_deg-360;



		 $ketu_deg=$rahu_deg+180;



		 if ($ketu_deg>360) $ketu_deg=$ketu_deg-360;

//----------------------------------------------------------------

   		$LONGRAH2[1]=$longitude[22];

			// $asc_deg=$LONGRAH2[1];

			// $signA = floor($LONGRAH2[1] / 30) + 1;

			// $asc=$signA;

		  $sun= $longitude[0];

		  $LONGRAH2[2]=$sun;

		  $mon= $longitude[1];;

		  $MONL=$mon;

		  $LONGRAH2[3]=$mon;

		  $mars= $longitude[4];

		  $LONGRAH2[4]=$mars;

		  $jup= $longitude[5];;

		  $LONGRAH2[6]=$jup;

		  $ven= $longitude[3];;

		  $LONGRAH2[7]=$ven;

		  $sat= $longitude[6];;

		  $LONGRAH2[8]=$sat;

		  $rah= $rahu_deg;

		  $LONGRAH2[9]=$rah;

		  $ket= $ketu_deg;

		  $LONGRAH2[10]=$ket;

		  $mer= $longitude[2];;

		  $LONGRAH2[5]=$mer;

//-----------------------------------------------------------------	

         $nextLONGRAH1 = $longitude[0];  //sun

         $nextLONGRAH2 = $longitude[1];   //moo

		   

  }

 

function getplanetarydets()

{

   global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

   global $dy,$mn,$yr;

	global $flagyoga;

   global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

//-----INITIALIZE VARIABLES----------------------------------

					$NKS[1]="Ashwini";

    				$NKS[2]="Bharni";

    				$NKS[3]="Kritika";

    				$NKS[4]="Rohini";

    				$NKS[5]="Mrigshira";

    				$NKS[6]="Adra";

    				$NKS[7]="Pu.Wasu";

    				$NKS[8]="Pushya";

    				$NKS[9]="Ashlesha";

    				$NKS[10]="Magha";

    				$NKS[11]="PurwaPhalguni";

    				$NKS[12]="U.Falguni";

    				$NKS[13]="Hast";

    				$NKS[14]="Chitra";

    				$NKS[15]="Swati";

    				$NKS[16]="Vishakha";

    				$NKS[17]="Anuradha";

    				$NKS[18]="Jyeshtha";

    				$NKS[19]="Mula";

    				$NKS[20]="PurwaAshara";

    				$NKS[21]="UttarAshara";

    				$NKS[22]="Shrawan";

    				$NKS[23]="Dhanishtha";

    				$NKS[24]="Shatbhisha";

    				$NKS[25]="PurwaBhadrapad";

    				$NKS[26]="UttraBhadrapad";

    				$NKS[27]="Rewati";

    				//int $signA;

    				//String[] NKS1=new String[29];

    				$SIG[1]="Aries";$SIG[2]="Taurus";$SIG[3]="Gemini";$SIG[4]="Cancer";$SIG[5]="Leo";$SIG[6]="Virgo";$SIG[7]="Libra";

					$SIG[8]="Scorpio";$SIG[9]="Sagittarius";$SIG[10]="Capricorn";

    				$SIG[11]="Aquarius";$SIG[12]="Pisces";

    				//-------------PLANETS-------------

    				$pll[0]="Asc";$pll[1]="Sun";$pll[2]="Mon";$pll[3]="Mar";$pll[4]="Mer";$pll[5]="Jup";$pll[6]="Ven";$pll[7]="Sat";$pll[8]="Rah";$pll[9]="Ket";

    				//-----------------RASHI LORDS-------------

    				$LORD_gbl[1]="Mar";$LORD_gbl[2]="Ven";$LORD_gbl[3]="Mer";$LORD_gbl[4]="Mon";$LORD_gbl[5]="Sun";$LORD_gbl[6]="Mer";$LORD_gbl[7]="Ven";

    				$LORD_gbl[8]="Mar";$LORD_gbl[9]="Jup";$LORD_gbl[10]="Sat";$LORD_gbl[11]="Sat";$LORD_gbl[12]="Jup";

    				

//-----------------------------------------------------------

for ($i = 1;$i<=10;$i++)



{



          $xdf[$i] = floor($LONGRAH1[$i]);



          $xdd[$i] = $xdf[$i] % 30;



		  



          $awq[$i] = ($LONGRAH1[$i] - $xdf[$i]) * 60; $xmf[$i] = floor($awq[$i]);



          $xsf[$i] = floor(($awq[$i] - $xmf[$i]) * 600 + 0.5) / 10; $xss[$i] = floor($xsf[$i]);



          $signq[$i] = floor($LONGRAH1[$i] / 30) + 1;

           $signA=(int)$signq[1];

          //$signq[1] = $signA+1;



          $hosq[$i] = ($signq[$i] - $signA + 13) % 12;



          if ($hosq[$i] == 0)



		  {  $hosq[$i] = 12; }



            $lmw[$i] = $LONGRAH1[$i] * 27 / 360;



            $nkw[$i] = floor($lmw[$i]) + 1;



            $plw[$i] = $nkw[$i] % 9;



         if ($plw[$i] == 0)



		  { $plw[$i] = 9; }



            $fz[$i] = ($lmw[$i] - floor($lmw[$i])) / 0.25;



            $mych[$i] = floor($fz[$i]) + 1;



        $getpl1[$i] = $pll[$i - 1];



        $getpl2[$i] = $hosq[$i];



		 $getpl2[1] = "1";



        $getpl3[$i] = $SIG[$signq[$i]];



        $getpl3[1]=$SIG[$signA];



        $getpl4[$i] = $xdd[$i] . ":" . $xmf[$i] . ":" . $xss[$i];



        $getpl5[$i] = $LORD_gbl[$signq[$i]];



		$getpl5[1] = $LORD_gbl[$signA];

        $getpl7[$i] = $mych[$i];



        $getpl8[$i] = $PLN[$plw[$i]];

		if ($i==3)

    					{$Nakshatra = $NKS[(int)$nkw[$i]];

    					if ((int)$nkw[$i]<27){

    					$nextnakshatra=$NKS[(int)$nkw[$i]+1];

    					}

    					else{

    						if ((int)$nkw[i]==27) 

    							{ $nextnakshatra=$NKS[1];  }

    						else{

    						$nextnakshatra=$NKS[(int)$nkw[$i]-27];

    						}

    					}

    						//echo("Next Nakshatra: ".$nextnakshatra);

    					 $rashino=(int)$signq[$i];

    					 $rashiName=getrashiname($rashino);

							//echo("rashino and rashiname: ".$rashino." and ".$rashiName);

    					}

}



////echo"3rd naks number is ".$nkw[3]." and nakshatra is ".$NKS[$nkw[3]] ." and name list is ".$namakshar[$nkw[3]] ." and charan is ".$mych[3]."<br>";



//$namealpha=split(',',$namakshar[$nkw[3]]);



		



		//$namealpha1=$namealpha[$mych[3]-1];



		////echo"name alphabet is ".$namealpha1;



 //$luckystone=gemanalysis($getpl3[3]);



}

  

function MakeTime($inday,$inmonth,$inyear,$inhours,$inmins,$insecs)

{

 global $utdatenow,$utnow;

   if ($inmins<0)

    {

    $inmins=60+$inmins;

	$inhours=$inhours-1;

    }



   if ($inhours<0) 

    {

      $inhours=24+$inhours;

	  $inday=$inday-1;

	}



	if ($inday<0)



	{



	    if ($inmonth=1) {



		$inmonth=12;



		$inday=31;



		$inyear=$inyear-1;



		}



		if ($inmonth=2) {



		$inmonth=1;



		$inday=31;



		}



		if ($inmonth=3) {



		 if (($inyear/4)==0) 



		 {



		   $inday=29;



		 }



		 else



		 {



		   $inday=28;



		 }



		$inmonth=2;



	  }



		if ($inmonth=4) {



		$inmonth=3;



		$inday=31;



		}



		if ($inmonth=5) {



		 $inmonth=4;



		 $inday=30;



		}



		if ($inmonth=6) {



		 $inmonth=5;



		 $inday=31;



		



		}



		if ($inmonth=7) {



		$inmonth=6;



		$inday=30;



	



		}



		if ($inmonth=8) {



		$inmonth=7;



		$inday=31;



		



		}



		if ($inmonth=9) {



		$inmonth=8;



		$inday=31;



	



		}



		if ($inmonth=10) {



		$inmonth=9;



		$inday=30;



	



		}



		if ($inmonth=11) {



		$inmonth=10;



		$inday=31;



		



		}



		if ($inmonth=12) {



		$inmonth=11;



		$inday=30;



	      }



			



	}  //close bracket of inday



	 $utdatenow=$inday.'.'.$inmonth.'.'.$inyear;



	 $utnow=$inhours.':'.$inmins.':'.$insecs;







}



function mdy2julian($m,$d,$y)

{



	



		$im = 12 * ($y + 4800) + $m - 3;



	//	document.write("In Julian Day:".im." <br> ");



		$j = (2 * ($im - floor($im/12) * 12) + 7 + 365 * $im)/12;



		//document.write("j1:".j." <br> ");



		$j = floor($j) + $d + floor($im/48) - 32083;



		//document.write("j2:".j." <br> ");



		if($j > 2299171) $j += floor($im/4800) - floor($im/1200) + 38;



		//document.write("Final j: " .j." <br> ");



		return $j;	



	



}			  

			  

			  

	function Julday()

 {

     global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

global $dy,$mn,$yr;

         $MN1 = $MN; $yr1 = $YR;



		 $flag1[1] = 1; 



		  $b = 0;



         if ($yr1 < 0) { $yr1 = $yr1 + 1; }



         if ($MN < 3) { $MN1 = $MN + 12; $yr1 = $yr1 - 1;}



         if ($YR < 1582) {  f_21187(); }



         if ($YR == 1582 && $MN < 10) { f_21187();}



         if ($YR == 1582 && $MN == 10 && $DY < 15) { f_21187(); }



         $a = floor($yr1 / 100); $b = 2 - $a + floor($a / 4);



         ////echo("a= $a and b= $b <br>");



          f_21187();   



          return;



          //21189();  



         // 21190();   



 }

		  

			  

	function f_21190() {



	 global $b,$c,$D_lcl,$DY,$MN1,$DJD1;

global $dy,$mn,$yr;

        $D_lcl = (30.6001 * ($MN1 + 1));



		// //echo("D_lcl= $D_lcl <br>");



        ////document.write("D_lcl; " .D_lcl);



         $DJD1 = $b + $c + $D_lcl + $DY - 0.5;



          ////document.write("DJD1; " .DJD1."<br>");



		 // alert("DJD1: ".DJD1);



		 // document.DJD.value=DJD1;



         return;



         }



    function f_21187() {



	global $b,$c,$D_lcl,$DY,$MN1,$yr1;

global $dy,$mn,$yr;

          if ($yr1 < 0) {  //f_21189(); 

		  }



         $c = (365.25 * $yr1) - 694025;



		 // //echo("c= $c <br>");



         f_21190();



         return;



         }



         



   function calculate_yoga()

    {

	//int yoga;

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	 $finallong = $LONGRAH1[3] + $LONGRAH1[2];

	//double tithipassed = (finallong / 12);

	//echo("in calculate yoga finallong: ".$finallong."<br>");

	if ($finallong > 360){// Then

	   $finallong = $finallong - 360;

	}//End if

	//--------------------------------------------------

	   $ouryoga = $finallong / 13.33;

	   $yogaDEG=$finallong;

	   $yoga=(int)$ouryoga+1;

	   //echo("Yoga Number: ".$yoga."<br>");

	   $yogaName=getyoganame($yoga);

	   $yoga=$yoga+1;

	   if ($yoga>27) {$yoga=$yoga-27; }

	   $nextyoga=getyoganame($yoga);

	    //return(ouryoga + 1);

}

 function getyoganame($yoga)

{

	switch($yoga){

    case 1:

       return("Vishkumbha");

        break;

   case 2:

       return("Priti");

        break;

  case 3:

       return("Ayusman");

        break;

  case 4:

       return("Saubhagya");

        break;

  case 5:

       return("Sobhana");

        break;

  case 6:

       return("Atiganda");

        break;

  case 7:

       return("Sukarma");

        break;

  case 8:

       return("Dhriti");

        break;

  case 9:

       return("Sula");

        break;

  case 10:



       return("Ganda");

        break;

  case 11:

       return("Vriddhi");

        break;

   case 12:

       return("Dhruva");

        break;

   case 13:

       return("Vyaghata");

        break;

   case 14:

       return("Harsana");

        break;

   case 15:

       return("Vajra");

        break;

   case 16:

       return("Siddhi");

        break;

   case 17:

       return("Vyatipat");

        break;

   case 18:

       return("Variyan");

        break;

   case 19:

       return("Parigha");

        break;

   case 20:

       return("Siva");

        break;

   case 21:

       return("Siddha");

        break;

   case 22:

       return("Sadhya");

        break;

  case 23:

       return("Shubha");

        break;

   case 24:

       return("Sukla");

        break;

  case 25:

       return("Brahma");

        break;

  case 26:

       return("Indra");

        break;

  case 27:

       return("Vaidhriti");

        break;

}



return(" ");

}

function getrashiname($rashi)

{

	switch($rashi)

	{

	case 1:

		  return("Aries");

         break;         

	case 2:

		return("Taurus");

         break;       

	case 3:

		return("Gemini");

         break;       

	case 4:

		return("Cancer");

         break;       

	case 5:

		return("Leo");

        break;        

	case 6:

		return("Virgo");

         break;       

	case 7:

		return("Libra");

         break;       

	case 8:

		return("Scorpio");

        break;        

	case 9:

		return("Sagittarius");

          break;      

	case 10:

		return("Capricorn");

        break;        

	case 11:

		return("Aquarius");

         break;       

	case 12:

		return("Pisces");

        break;        

	}

	return(" ");

}

function tithiRange($tithi,$paksha)

{

	////echo("in tithi module tithi is: ".tithi. " and paksha is ".paksha);

	global $startDEG,$endDEG;

	if ($paksha=="Krishna"){

	switch($tithi)

	{

	case 1:

		$startDEG=180;

		$endDEG=192;

		return;

	case 2:

		$startDEG=192;

		$endDEG=204;

		return;

	case 3:

		$startDEG=204;

		$endDEG=216;

		return;

	case 4:

		$startDEG=216;

		$endDEG=228;

		return;

	case 5:

		$startDEG=228;

		$endDEG=240;

		return;

	case 6:

		$startDEG=240;

		$endDEG=252;

		return;

	case 7:

		$startDEG=252;

		$endDEG=264;

		return;

	case 8:

		$startDEG=264;

		$endDEG=276;

		return;

	case 9:

		$startDEG=276;

		$endDEG=288;

		return;

	case 10:

		$startDEG=288;

		$endDEG=300;

		return;

	case 11:

		$startDEG=300;

		$endDEG=312;

		return;

	case 12:

		$startDEG=312;

		$endDEG=324;

		return;

	case 13:

		$startDEG=324;

		$endDEG=336;

		return;

	case 14:

		$startDEG=336;

		$endDEG=348;

		return;

	case 15:

		$startDEG=348;

		$endDEG=360;

		return;

	}

}//closing if

	else

	{

		switch($tithi)

		{

		case 1:

			$startDEG=00;

			$endDEG=12;

			return;

		case 2:

			$startDEG=12;

			$endDEG=24;

			return;

		case 3:

			$startDEG=24;

			$endDEG=36;

			return;

		case 4:

			$startDEG=36;

			$endDEG=48;

			return;

		case 5:

			$startDEG=48;

			$endDEG=60;

			return;

		case 6:

			$startDEG=60;

			$endDEG=72;

			return;

		case 7:

			$startDEG=72;

			$endDEG=84;

			return;

		case 8:

			$startDEG=84;

			$endDEG=96;

			return;

		case 9:

			$startDEG=96;

			$endDEG=108;

			return;

		case 10:

			$startDEG=108;

			$endDEG=120;

			return;

		case 11:

			$startDEG=120;

			$endDEG=132;

			return;

		case 12:

			$startDEG=132;

			$endDEG=144;

			return;

		case 13:

			$startDEG=144;

			$endDEG=156;

			return;

		case 14:

			$startDEG=156;

			$endDEG=168;

			return;

		case 15:

			$startDEG=168;

			$endDEG=180;

			return;

		}		//closing case

	}//closing else

}//closing sub

function tithiend($tithi,$tithideg)

{

global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad,$exactrashino;

global $dy,$mn,$yr;

	global $flagyoga;

global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;	

		//echo("in Tithi end Tithi=".$tithi. " and Current Paksha=".$currentpaksha."<br>");

		tithiRange($tithi,$currentpaksha);	

	//echo("startDEG=".$startDEG. " and endDEG=".$endDEG."<br>");

	//echo("LONGRAH1[2]=".$LONGRAH1[2]. " and nextLONGRAH1=".$nextLONGRAH1." and longrah1[3]=".$LONGRAH1[3]."<br>");

	$speedSUN=calculatespeed($LONGRAH1[2],$nextLONGRAH1);

	$speedMON=calculatespeed($LONGRAH1[3],$nextLONGRAH2);

	//echo("speedSun= ".$speedSUN."<br>");

	//echo("speedMon= ".$speedMON."<br>");

	$distanceleft=($endDEG-$tithideg);

	////echo("distance left: ".distanceleft);

	 $timetaken=($distanceleft*60);

	$speedfactor=$speedMON-$speedSUN;

	$timetaken1=($timetaken/$speedfactor)*24;

	//echo("in tithi end timetaken= ".$timetaken1."<br>");

    $tithiEND=getTimeStr($timetaken1);

	//echo("in tithiEnd-tithiEnd=".$tithiEND."<br>");

     $dbltithitime=$timetaken1+5.5;

 	 ////echo("tithi end= ".tithiEND);

	//------This part calculates nakshatra end time---

 	 ////echo("$flagkaran=".$flagkaran);

	 //echo("in tithiend flagkaran=".$flagkaran."<br>");

  if ($flagkaran==0) {

	  $dbltithitime=$timetaken1+5.5;

	  //echo("before naksremaindeg=".$LONGRAH1[3]."<br>");

   $remaindeg=NakshatraRemainDeg($LONGRAH1[3]);

   //echo("naksremaindeg=".$remaindeg."<br>");

  $remaindeg=$remaindeg*60;

  $timetaken=($remaindeg/$speedMON)*24;

  $naksdbl=$timetaken+5.5;

  //echo("naksdbl=".$naksdbl."<br>");

  $naksEND=getTimeStr($timetaken);

  //echo("Nakshatra End= ".$naksEND."<br>");

  //-----This part Calculates Yoga end time-----

  ////echo("yogaDEG=".yogaDEG);

  $remaindeg=YogaRemainDeg($yogaDEG);

  $remaindeg=$remaindeg*60;

  $timetaken=($remaindeg/($speedSUN+$speedMON))*24;

  $yogadbl=$timetaken+5.5;

  $yogaEND=getTimeStr($timetaken);

  

  //This part is updated on 3rd Jan 2012

  getCurrentHindiRashiEnd($LONGRAH1[3], $speedMON, $rashiName);

  $exactrashino=$rashino;

  //echo("Rashiname-".$rashiName." rasidbl=".$rasidbl." and rasino= ".$rashino."<br>");

  if ($rasidbl < 12) {//Then

   $rashino = $rashino + 1;

   if ($rashino > 12) { 

	$rashino = $rashino - 12; }

    //echo("rashino=".rashino."<br>");

    $prerashi = $rashiName;

    $rashiName = getrashiname($rashino);

    $rashistr = "Rashi: " . $prerashi . " Till " . $rasiend1 . " then " . $rashiName;

  }else{

    $rashistr = "Rashi: " . $rashiName;

  }

   //echo("rashistr-".$rashistr."<br>");

  }//End If

  ////echo("yoga End= ".yogaEND);

  //}

}

function YogaRemainDeg($yogadeg)

{

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	

	$yogasdeg=array(28);

	$remaindeg=0.0;

	$yogasdeg[0]=0;

	for($i=1;$i<28;$i++)

	{

		$yogasdeg[$i]=$yogasdeg[$i-1]+13.333333;

		if ($yogadeg<$yogasdeg[$i])

		{

			$remaindeg=$yogasdeg[$i]-$yogadeg;

			////echo("remaining yoga deg: ".remaindeg);

			return($remaindeg);

		}

	}

	return(0.1);

}

function NakshatraRemainDeg($moondeg)

{

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	

	$naksdeg=array(28);

	$remaindeg=0.0;

	$naksdeg[0]=0.0;

	for($i=1;$i<28;$i++)

	{

		$naksdeg[$i]=$naksdeg[$i-1]+13.333333;

		//echo("naksdeg[".$i."]= ".$naksdeg[$i]." and moondeg is: ".$moondeg);

		if ($moondeg<$naksdeg[$i])

		{

			$remaindeg=$naksdeg[$i]-$moondeg;

			//echo("remaining naks deg: ".$remaindeg);

			return($remaindeg);

		}

	}

	return(0.1);

}

function calculatespeed($l1,$l2)

{

	////echo("longrah[2]= ".LONGRAH[2]." nextLONGRAH1= ".nextLONGRAH1);

	////echo("l1= ".l1." l2= ".l2);

	if ($l2<$l1) $l2=$l2+360;

	$l3=$l2-$l1;   //deg travelled in 24 hour

	$l3=$l3*60;  //convert it into minutes

	return($l3);

}

function getTimeStr($t)

{

	  $endhr=(int)$t+5;

	 // String s="".timetaken1;

	  $t1=$t-(int)$t;

	  ////echo("t1= ".t1);

	  $t1=($t1*60)+30;

	   ////echo("t1= ".t1); 

	   $endmin=(int)$t1;

	   $t1=$t1-(int)$t1;

	   $endsec=(int)($t1*60);

	  if ($endmin>=60)

	  {

		  $endmin=$endmin-60;

		  $endhr=$endhr+1;

	  }

	  if ($endsec>=60)

	  {

		  $endsec=$endsec-60;

		  $endmin=$endmin+1;

	  }

	  //String e1,e2;

	  $e1="".$endhr;

	  $e2="".$endmin;

	  //echo "e1=$e1 and e2=$e2<br>";

	  if (strlen($e1)==1) $e1="0".$e1;

	  if (strlen($e2)==1) $e2="0".$e2;

	  $tstr=$e1.":".$e2;    //.":".endsec;

	  //echo "in GetTimeStr-endtime: ".$tstr."<br>";

	  return($tstr);

}

function calculateKaran($d)

{

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

	global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

	//echo("d=".$d."<br>");

	$deghalf=$d/2;

	//double timetaken;

   // deghalf=deghalf;

	//echo("Tithi Deg=".$d."<br>");

    $timetaken=($deghalf/($speedMON-$speedSUN))*24;

    $karanend=getTimeStr($timetaken);

    getKaranName($fcurrtithi,$currentpaksha);

//-------------------------------------------------------------------------------------------------------------------	

    //echo("for currtithi & Paksha: ".$fcurrtithi.",".$currentpaksha." Karan1: ".$Karan1." till ".$karanend."<br>");

//-------------------------------------------------------------------------------------------------------------------

    ////echo("Karan1: ".Karan2." till ".tithiEND);

}

function getKaranName($tithi,$paksha)

{

	//echo("in getKaranName:paksha=".$paksha."<br>");

	global $Karan1,$Karan2;

 if ($paksha=="Krishna"){

	switch($tithi)

	{

	case 1:

		$Karan1="Balava";

		$Karan2="Kaulava";

		return;

	case 2:

		$Karan1="Taitila";

		$Karan2="Gara";

		return;

	case 3:

		$Karan1="Vanija";

		$Karan2="Vishti";

		return;

	case 4:

		$Karan1="Bava";

		$Karan2="Balava";

		return;

	case 5:

		$Karan1="Kaulava";

		$Karan2="Taitila";

		return;

	case 6:

		$Karan1="Gara";

		$Karan2="Vanija";

		return;

	case 7:

		$Karan1="Vishti";

		$Karan2="Bava";

		return;

	case 8:

		$Karan1="Balava";

		$Karan2="Kaulava";

		return;

	case 9:

		$Karan1="Taitila";

		$Karan2="Gara";

		return;

	case 10:

		$Karan1="Vanija";

		$Karan2="Vishti";

		return;

	case 11:

		$Karan1="Bava";

		$Karan2="Balava";

		return;

	case 12:

		$Karan1="Kaulava";

		$Karan2="Taitila";

		return;

	case 13:

		$Karan1="Gara";

		$Karan2="Vanija";

		return;

	case 14:

		$Karan1="Vishti";

		$Karan2="Sakuna";

		return;

	case 15:

		$Karan1="Chatuspada";

		$Karan2="Naga";

		return;

	}

}

else

{

	switch($tithi)

	{

	case 1:

		$Karan1="Kinstughna";

		$Karan2="Bava";

		return;

	case 2:

		$Karan1="Balava";



		$Karan2="Kaulava";

		return;

	case 3:

		$Karan1="Taitila";

		$Karan2="Gara";

		return;

	case 4:

		$Karan1="Vanija";

		$Karan2="Vishti";

		return;

	case 5:

		$Karan1="Bava";

		$Karan2="Balava";

		return;

	case 6:

		$Karan1="Kaulava";

		$Karan2="Taitila";

		return;

	case 7:

		$Karan1="Gara";

		$Karan2="Vanija";

		return;

	case 8:

		$Karan1="Vishti";

		$Karan2="Bava";

		return;

	case 9:

		$Karan1="Balava";

		$Karan2="Kaulava";

		return;

	case 10:

		$Karan1="Taitila";

		$Karan2="Gara";

		return;

	case 11:

		$Karan1="Vanija";

		$Karan2="Vishti";

		return;

	case 12:

		$Karan1="Bava";

		$Karan2="Balava";

		return;

	case 13:

		$Karan1="Kaulava";

		$Karan2="Taitila";

		return;

	case 14:

		$Karan1="Gara";

		$Karan2="Vanija";

		return;

	case 15:

		$Karan1="Vishti";

		$Karan2="Bava";

		return;

	}

	

}

}

function getTithiName($tithi,$paksha)

{

	////echo("in tithi name= ".tithi. " and paksha= ".paksha);

	switch($tithi)

	{

	case 1:

		return("Pratipada");

        break;

	case 2:

		return("Dwitiya");

      break;

	case 3:

		return("Tritiya");

          break;

	case 4:

		return("Chaturthi");

        break;

	case 5:

		return("Panchami");

        break;

	case 6:

		return("Sashthi");

        break;

	case 7:

		return("Saptami");

        break;

	case 8:

		return("Ashtami");

        break;

	case 9:

		return("Navami");

        break;

	case 10:

		return("Dashami");

        break;

	case 11:

		return("Ekadashi");

        break;

	case 12:

		return("Dwadashi");

        break;

	case 13:

		return("Trayodashi");

        break;

	case 14:

		return("Chaturdashi");

        break;

	}

	if ($paksha=="Krishna"){

		//currentpaksha=" ";

		if ($tithi==15) return("Amavasya");

	}

	if ($paksha=="Shukla"){

		//currentpaksha=" ";

		if ($tithi==15) return("Purnima");

	}

	return("");

}

function compute($la,$ln,$tz1)

{

// ampmMode = document.solar_form.ampm[1].checked

global $flagSUNRISE,$sun1,$sun2,$suns1,$suns2,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$Rad_Deg,$Deg_Rad;

global $r,$rms,$sp,$Planets,$DECL;

global $SUNSET,$sp,$rms,$sun1,$sun2;

global $dy,$mn,$yr;

		//echo("value of pi: ".pi()."<br>");

 $Rad_Deg = 180.0 / pi();

 $Deg_Rad = pi() / 180.0;

 //int type1;   // As Integer; //'= document.solar_form.format[1].checked

 ////echo("i m here calculating sunrise");

 //type1 = 0;

 $day1 = $dy;   //'17

 $month1 = $mn;

 $year1 = $yr;

 $lat = $la;

 $lng = $ln;

 $tz = $tz1;

 //echo("for sunrise/sunset--tz=".$tz." lat=".$lat." lng=".$lng."<br>");

 compute_current_date($lat, $lng, $year1, $month1, $day1, $tz);

 }

//End Function

function compute_current_date($lat,$lng,$year,$month,$day,$tz)

{ 

global $flagSUNRISE,$sun1,$sun2,$suns1,$suns2,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$Rad_Deg,$Deg_Rad;

global $r,$rms,$sp,$Planets,$DECL;

global $SUNSET,$sp,$rms,$sun1,$sun2;

global $dy,$mn,$yr;

	$jd = mdy_jd($year, $month, $day, 0, 0, 0);

	//echo("for Sunrise-jd=".$jd."<br>");

    $sp = new sunRTS();

	////echo("jd= ".jd);

  calcsun($jd, 0, 0, 0, $tz);

   //echo("after calcsun jd= ". $jd . " and tz= ".$tz."<br>");

    //echo("jd=$jd, lat=$lat, lng=$lng, tz=$tz,sunset=".SUNSET.",sp-lng=$sp->lng,sp-lat=$sp->lat"."<br>");

  rmstime($jd, $lat, $lng, $tz,SUNSET,$sp->lng,$sp->lat);

 $sunriseV = $rms->rise;

 $sunsetV = $rms->set1;

 //echo "Sunrise: ".$sunriseV." and Sunset: ".$sunsetV."<br>";

 $sunrise1 = gethourminutes($rms->rise);

 //echo "in sunrise module= $sunrise1<br>";

 $sunHR=$sun1;

 $sunMIN=$sun2;

 $suns1=$sun1;

 $suns2=$sun2;

 //echo("sun1=".$suns1." sun2=".$suns2."<br>");

 $sunset1 = gethourminutes($rms->set1);

 //echo("after sunset1 sun1=".$suns1." sun2=".$suns2."<br>");

}  //End Function

function calcsun($jd,$hh,$mm,$ss,$tz) 

{//'As sunRTS ' compute sun's position on this date

global $flagSUNRISE,$sun1,$sun2,$suns1,$suns2,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$Rad_Deg,$Deg_Rad;

global $r,$rms,$sp,$Planets,$DECL;

global $SUNSET,$sp,$rms,$sun1,$sun2;

global $dy,$mn,$yr;

 $jd = $jd - ($tz / 24);    // '/* convert to GMT */

 $h = (($hh) + ($mm / 60) + ($ss / 3600)) * 15;

 //echo("h:".$h."<br>");

 $t = ($jd - 2451545) * 2.7378507871321E-05;

 $lo = 280.46645 + (36000.76983 * $t) + (0.0003032 * $t * $t);

 $m = 357.5291 + (35999.0503 * $t) - (0.0001559 * $t * $t) - (0.00000048 * $t * $t * $t);

 $rm = radians($m);

 $e = 0.016708617 - (0.000042037 * $t) - (0.0000001236 * $t * $t);

 $c = (1.9146 - 0.004817 * $t - 0.000014 * $t * $t) * sin($rm);

 $c = $c + (0.019993 - 0.000101 * $t) * sin(2 * $rm);

 $c = $c + 0.00029 * sin(3 * $rm);

 $tl = $lo + $c;

 $v = $m + $c;

 $r = (1.000001018 * (1 - $e * $e)) / (1 + ($e * cos(radians($v))));

 //echo("r:".$r."<br>");

 $nut = 125.04 - 1934.136 * $t;

 $al = radians($tl - 0.00569 - 0.00478 * sin(radians($nut)));

 $obliq = 23.4391666666667 - 1.30041666666666E-02 * $t - 0.000000163888888 * $t * $t + 5.03611111111E-08 * $t * $t * $t;

 $obliq = radians($obliq + 0.00256 * cos(radians($nut)));

 $sunra = degrees(atan2(cos($obliq) * sin($al), cos($al)));

 //echo("Sunra=".$sunra."<br>");

 if ($sunra < 0) {

   $sunra = 360 + $sunra;

 }

 ////echo("r= ".r. " and h= ".h);

 ////echo("obliq= ".obliq. " and al= ".al);



 $sundecl = degrees(asin(sin($obliq) * sin($al)));

 //echo("sundecl= ". $sundecl . " and sunra= ".$sunra."<br>");

 $sp->lat = $sundecl;

 $sp->lng = $sunra;

 //echo("sp.lat= ".$sp->lat. " and sp.lng= ".$sp->lng."<br>");

 //'calcsun = s

} //End Function

function degrees($v)

{

global $Rad_Deg;

return($v * $Rad_Deg);

}  //End Function

function rmstime($jd,$lat,$lng,$timezone,$atcr,$ra,$decl) //As sunRTS

{

//double X, gmtsid;

global $flagSUNRISE,$sun1,$sun2,$suns1,$suns2,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$Rad_Deg,$Deg_Rad;

global $r,$rms,$sp,$Planets,$DECL;

global $SUNSET,$sp,$rms,$sun1,$sun2;

global $dy,$mn,$yr;

$rms->jd = $jd;

//echo("rms->jd=".$rms->jd."<br>");

$timezone = $timezone * convday;

//echo("timezone=".$timezone."<br>");

$gmtsid = sidtime((int)$jd+ 0.5, 0);

$rms->transit = (($ra + $lng - $gmtsid) / 360);

//echo("rms->transit=".$rms->transit." and atcr=".$atcr."<br>");

$atcr = radians($atcr);

$lat = radians($lat);

$decl = radians($decl);

//echo("atcr in radians=".$atcr."<br>");

$X = sin($atcr) - (sin($lat) * sin($decl));

$X = $X / (cos($lat) * cos($decl));

if (($X < 1) && ($X > -1)){

  $X = degrees(acos($X)) * convcircle;

  //echo("X=".$X."<br>");

  $rms->rise = (mod1(($rms->transit - $X) + $timezone)) * 24;

  $rms->set1 = (mod1(($rms->transit + $X) + $timezone)) * 24;

  $rms->transit = (mod1($rms->transit + $timezone)) * 24;

   //echo("rms-rise=".$rms->rise."<br>");

   //echo("rms-set1=".$rms->set1."<br>");

   //echo("rms-transit=".$rms->transit."<br>");

}

else

{ if ($X >= 0)

{

  $X = -100; }

  else

  { $X = 100;

  }  //End if



////  x = (x >= 0.0)?-100.0:100.0

  $rms->rise = $X;

  $rms->transit = $X;

  $rms->set1 = $X;

 //echo("rms-rise=".$rms->rise."<br>");

   //echo("rms-set1=".$rms->set1."<br>");

   //echo("rms-transit=".$rms->transit."<br>");

}//End if

//// rmstime = r

}//End Function



function mod1($t) 

{

//double ot;

$ot = $t;

$t = abs($t);

$t = $t - (int)($t);

if ($ot < 0) {

  $t = 1 - $t;

}//End if

return($t);

}    //End Function

function rmsCheck($s, $r){

if (($r == -100) || ($r == 100)){// Then

  return($r);

}else

{

  return($s - $r); }

}//End Function

function rms_diff()

{

	global $rms;

	//double r1,r2;

	//r1=rms.set1;

	//r2=rms.rise;

return(rmsCheck($rms->set1, $rms->rise));

} //End Function

function mdy_jd($yr,$mo,$da,$hh,$mm,$ss) 

{

//double a, b, jd;

  if ($yr < 100) {

  if ($yr > 50) {

  $yr = $yr + 1900;

  } else

  { $yr = $yr + 2000;

  }

}//End if  //yr += ((yr > 50)?1900.0:2000.0)       // // try to cope with date problem

if ($mo < 3) {

    $yr = $yr - 1;

    $mo = $mo + 12;

}//End if

$a = $da + ($mo * 100) + ($yr * 10000);

if ($a < 15821015) {   ///* Julian calendar */

    $b = 0;

}else {                      ///* Gregorian */

   $a = (int)($yr / 100);

   $b = 2 - $a + (int)($a / 4);

} //End if

 $jd = (int)(365.25 * ($yr + 4716)) + (int)(30.6001 * ($mo + 1)) + $da + $b - 1524.5;

 $jd = $jd + ($hh / 24) + ($mm / 1440) + ($ss / 86400);

 return($jd);

}  //End Function



function jd_mdy($jd) // As datim

{

//double z, f, a, b, c, d, e;

//datim r;

$jd = $jd + 0.5;

$z = (int)$jd;

$f = $jd - $z;

if ($z < 2299161) {///* Julian calendar */

    $a = $z;

} else

{///* Gregorian */

  $b = (int)(($z - 1867216.25) / 36524.25);

  $a = $z + 1 + $b - (int)($b / 4);

}//End if

$b = $a + 1524;

$c = (int)(($b - 122.1) / 365.25);

$d = (int)(365.25 * $c);

$e = (int)(($b - $d) / 30.6001);

if ($e < 14) {

	$r->mo = $e - 1;

}

  else {

  $r->mo = $e - 13;

  }  //End if

//r.mo = (e < 14)?e-1:e-13

$r->da = $b - $d - (int)(30.6001 * $e) + $f;

if ($r->mo < 3) {// Then

 $r->yr = (int)($c - 4715);

}  else

{ $r->yr = (int)($c - 4716); }

//r.yr = (r.mo < 3)?c-4715:c-4716

///* now get h,m,s */

$a = $r->da;

$r->da = (int)($r->da);

$r->hh = 24 * ($a - $r->da);

$a = $r->hh;

$r->hh = (int)($r->hh);

$r->mm = (int)(60 * ($a - $r->hh));

$a = $r->mm;

$r->mm = (int)($r->mm);

$r->ss = 60 * ($a - $r->mm);

$r->ss = (int)($r->ss);

//return(r);

}  //End Function

function gethourminutes($d)

{

//double $t;

//int $thr;

global $sun1,$sun2;

$thr = (int)($d);

$t = $d - (int)($d);

$t = $t * 60;

$sun1=$thr;

$sun2=$t;

$Sthr="";$St="";

$Sthr="".$thr;

$St="".(int)$t;

	if (strlen($Sthr)==1) $Sthr="0".$Sthr;

	if (strlen($St)==1) $St="0".$St;

	return($Sthr . ":" . ($St));

}  //End Function



function sidtime($jd,$lng)

{

$t = (((int)($jd) + 0.5) - 2451545) * 2.7378507871321E-05;

$X = 280.46061837;

$X = $X + 360.98564736629 * ($jd - 2451545);

$X = $X + 0.000387933 * $t * $t;

$X = $X - ($t * $t * $t) * 2.58331180573495E-08;

$X = $X - $lng;

$X = $X * convcircle;

//echo("in sidtime: X=".$X."<br>");

$X = $X - (int)($X);

$X = $X * 360;

return($X);

}//End Function



function radians($v){

global $Deg_Rad;

return($v * $Deg_Rad);

}//End Function



function karanend3($c1)

{

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  	$nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

 global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

	global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

$dt=date("Y-m-d");

// dt = dt - 1;

$flagkaran=1;

$ctithi=$currtithi;

$cpaksha=$currentpaksha;

$tithiend1=$tithiEND;

////echo("in karan tithiend1= ".tithiend1);

 $dy = date("d");

 $mn = date("m");

 $yr = date("Y");

 //$dt.set($yr,$mn,$dy);

 $dt=date("Y-m-d",strtotime("-1 day",strtotime($dt))); //.add(Calendar.DATE,-1);

 $dy=date("d",strtotime($dt));

 $mn=date("m",strtotime($dt));

 $yr=date("Y",strtotime($dt));

 $mDay=$dy;

 $mMonth=$mn;

 $mYear=$yr;

 ////echo("pre date is= ".front1.mDay."-".front1.mMonth."-".front1.mYear);

     //init_parameter();

 NewPlaCalc();

 tithiend($currtithi,$tithiDEG);

 $preendtime1 = $tithiEND;

 ////echo("$preendtime1= ".$preendtime1);

 $c=array(3);  //[3];

 $c=split(":",$preendtime1);

//I = InStr(1, $preendtime1, ":", vbTextCompare)

$s1 = ($c[0]);

$s2 = ($c[1]);

$preendtime = $s1 + ($s2) / 60;

//timetaken1 = $preendtime;

////echo("$preendtime= ".$preendtime);

//tithiend(front.currtithi, front.tithiDEG);

//front.Calculate_Tithi();

//front.tithiend(front.currtithi,front.tithiDEG);

//$preendtime1 = front.tithiEND;

$flagkaran=0;

//echo("$preendtime1= ".$preendtime1."<br>");

$c=split(":",$preendtime1);

$s1 = ($c[0]);

$s2 = ($c[1]);

$preendtime2 = ($s1 + ($s2) / 60);

////echo("$preendtime2= ".$preendtime2);

$tithilength = 24 - $preendtime2;

$tithilength = $tithilength + $preendtime;

//'$tithilength = timetaken1 - timetaken2

$tithihalf = $tithilength / 2;

$t1 = $tithilength - $tithihalf;

$t1 = $preendtime2 + $t1;

if ($t1 > 24) { $t1 = $t1 - 24; }

$t2 = $preendtime;

//float $tempcomp = $tithihalf + 5.5;

if ((int)($t2) == (int)($preendtime2) && (int)$t2 < (int)$tempcomp){

$Karan1 = $Karan2;

if ($ctithi == 15){

 $ctithi = 1;

 if ($cpaksha=="Krishna") { $cpaksha = "Shukla"; }

 if ($cpaksha=="Shukla") { $cpaksha = "Krishna"; }

}

else

{

 $ctithi = $ctithi + 1;

}  //End If

//string $mykaran;   // As String;

$mykaran = $Karan1;

 getKaranName($ctithi, $cpaksha);

  $Karan2 = $Karan1;

  $Karan1 = $mykaran;

  $t1 = $t2;



  $t2 = 0;

  $KaranEND11 = getTimeStr2($t1);

  $Karan2END = "";

}

 else

 {

  $KaranEND11 = getTimeStr2($t1);

  $Karan2END = getTimeStr2($t2);

}//End If

$dt=date("Y-m-d",strtotime("+1 day",strtotime($dt))); //.add(Calendar.DATE,-1);

 $dy=date("d",strtotime($dt));

 $mn=date("m",strtotime($dt));

 $yr=date("Y",strtotime($dt));



//dt.add(Calendar.DATE,1);

//$dy=dt.get(Calendar.DATE);

//$mn=dt.get(Calendar.MONTH);

//$yr=dt.get(Calendar.YEAR);

$mDay=$dy;

$mMonth=$mn;

$mYear=$yr;



}

function getTimeStr2($t)

{

	$endhr=(int)$t;

	 // String s="".timetaken1;

	  $t1=$t-(int)$t;

	  ////echo("$t1= ".$t1);

	  $t1=($t1*60);

	   ////echo("$t1= ".$t1); 

	   $endmin=(int)$t1;

	  $t1=$t1-(int)$t1;

	  $endsec=(int)($t1*60);

	  if ($endmin>60)

	  {

		  $endmin=$endmin-60;

		  $endhr=$endhr+1;

	  }

	  if ($endsec>60)

	  {

		  $endsec=$endsec-60;

		  $endmin=$endmin+1;

	  }

	  //string $e1,$e2;

	  $e1="".$endhr;

	  $e2="".$endmin;

	  if (strlen($e1)==1) $e1="0".$e1;

	  if (strlen($e2)==1) $e2="0".$e2;

	  $tstr=$e1.":".$e2;    //

	  return($tstr);

}

function getrahukaal($cdate)

{

	global $sunsetV,$sunriseV;

	$rtime=array(9); 

	//int $weekno;

	$diff = $sunsetV - $sunriseV;

	  $diff = $diff / 8;

	 $rtime[0] = $sunriseV;

	 for($i=1;$i<=8;$i++){

	  $rtime[$i] = $rtime[$i-1] + $diff;

	 }//Next I

	 $dt=$cdate; //date("Y-m-d");

	 //dt.set(front1.mYear,front1.mMonth,front1.mDay);

     //DatabaseHelper.currdt.set(mYear,mMonth,mDay);// value)

	 ////echo("rahukaal date is: ".front1.mDay."-".(front1.mMonth+1)."-".front1.mYear);

	  $j=date("w",strtotime($dt));

      //echo("before -day of week: ".$j."<br>");

      $weekno = $j;   //Weekday(dt)

	  //int j;         // As Integer

	   $weekno= $weekno+1;

	    //echo("day of week: ".$weekno."<br>");

	  switch($weekno)

	  {

	    case 1:

	     $j = 8;

	     break;

	    case 2:

	     $j = 2;

	     break;

	    case 3:

	     $j = 7;

	     break;

	   case 4:

	     $j = 5;

	     break;

	   case 5:

	     $j = 6;

	     break;

	   case 6:

	     $j = 4;

	     break;

	   case 7:

	      $j = 3;

	      break;

	  }// End Select

	  //echo "rkaal j=$j<br>";

	 $rstart = gethourminutes($rtime[$j-1]);

	 $rend = gethourminutes($rtime[$j]);

	  return($rstart . " to " . $rend);

}

function getCurrentHindiRashiEnd($deg,$speedMon,$rasi)

{

//int $uend,$lend;  // As Integer, $lend As Integer

global $uend,$lend,$rasiend1,$rasidbl;

$uend=0;

$lend=0;

if ($rasi=="Aries")

{

 $lend = 0;

 $uend = 30;

}

if ($rasi=="Taurus")

{

 $lend = 30;

 $uend = 60;

}

if ($rasi=="Gemini")

{

 $lend = 60;

 $uend = 90;

}

if ($rasi=="Cancer")

{

 $lend = 90;

 $uend = 120;

}

if ($rasi=="Leo")

{

 $lend = 120;

 $uend = 150;

}

if ($rasi=="Virgo")

{

 $lend = 150;

 $uend = 180;

}

if ($rasi=="Libra")

{

 $lend = 180;

 $uend = 210;

}

if ($rasi=="Scorpio")

{

 $lend = 210;

 $uend = 240;

}

if ($rasi=="Sagittarius")

{

 $lend = 240;

 $uend = 270;

}

if ($rasi=="Capricorn")

{

 $lend = 270;

 $uend = 300;

}

if ($rasi=="Aquarius")

{

 $lend = 300;

 $uend = 330;

}

if ($rasi=="Pisces")

{

 $lend = 330;

 $uend = 360;

}

//End Select

//float $remaindeg,$timetaken;

//echo("$lend:".$lend."<br>");

  $remaindeg = $uend - $deg;

  $remaindeg = $remaindeg * 60;

  $timetaken = ($remaindeg / $speedMon) * 24;

  $rasidbl = $timetaken + 5.5;

  $rasiend1 = getTimeStr($timetaken);

}//End Sub

function rashiend(){

global $rashino,$speedMON,$LONGRAH1,$rasiend;

//float $rend;// As float

//float $etime; // As float

//String estr;  // As String

$rend = ($rashino * 30) - $LONGRAH1[3];

$etime = (($rend * 60) / $speedMON) * 24;

//'* 24

$rend = $etime + 5.5;

////echo("estr:".estr);

if ($rend > 24){ //Then

$rasiend = ""; }

else {

$rasiend = getTimeStr($etime);

//echo "Rashi End=".$rasiend."<br>";

}//End If

}//End Sub



function naksend()

{

 global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

 global $dy,$mn,$yr;

	global $flagyoga;

 global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

//float $timediffHR;  // As float

//float $timediffMIN;  // As float

//float $remaindeg,$timetaken;

//echo("longrah1[3]=".$LONGRAH[3]." and nextLONGRAH2=".$nextLONGRAH2."<br>");

  //speedMON = calculatespeed($LONGRAH[3], nextLONGRAH2);

  $remaindeg = NakshatraRemainDeg($LONGRAH[3]);

  $remaindeg = $remaindeg * 60;

  $timediffHR = $sunHR - 5;

  $timediffMIN = $sunMIN - 30;

  $timetaken = (($remaindeg / $speedMON) * 24) + $timediffHR + ($timediffMIN / 60);

  $naksdbl = $timetaken + 5.5;

  $naksEND = getTimeStr($timetaken);

}//End Sub



function yogaendt(){

	//float $timediffHR; // As float

	//float $timediffMIN; // As float

	//float $timetaken,$remaindeg;

	global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	global $dy,$mn,$yr;

	global $flagyoga;

 global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8; 	//' speedMon = calculatespeed($LONGRAH(3), nextLONGRAH2)

  $timediffHR = $sunHR - 5;

  $timediffMIN = $sunMIN - 30;

	//  timetaken = ((remaindeg / speedMON) * 24) + timediffHR + (timediffMIN / 60);

  $remaindeg = YogaRemainDeg($yogaDEG);

  $remaindeg = $remaindeg * 60;

  $timetaken = (($remaindeg / ($speedSUN + $speedMON)) * 24) + $timediffHR + ($timediffMIN / 60);

  $yogadbl = $timetaken + 5.5;

  $yogaEND = getTimeStr($timetaken);

	}	//End Sub

function karanend1($c1)

{

global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1, $sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

global $dy,$mn,$yr;

global $flagyoga;

global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

global $sun_no,$venus_no;

global $sadesatiresult;

global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

global $utdatenow,$utnow;

global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;//float $preendtime; // As float

//float $tithilength; // As float, tithihalf As float

//float $t1,$t2;       //As float, $t2 As float

//float $tempcomp;    // As float

//float $dlength;     // As float

//int $dy,$mn, $yr;      // As Integer

//float $nxtlongrah1,$nxtlongrah2;

 $c1=date("Y-m-d",strtotime('-1 day', strtotime($c1)));

 $dy = date("d", strtotime($c1));

 $mn = date("m", strtotime($c1));

 $yr = date("Y", strtotime($c1));

//Call init_parameter

 $tithiend1=$tithiEND;

 //echo("in karanend1 date is= ".$dy." $mn= ".$mn." $yr= ".$yr."<br>");

 $flagSUNRISE = 1;

 NewPlaCalc1($c1,"5","30");

       $LONGRAH1[2] = $LONGRAH2[2];

       $LONGRAH1[3] = $LONGRAH2[3];

       $LONGRAH1[4] = $LONGRAH2[4];

       $LONGRAH1[5] = $LONGRAH2[5];

       $LONGRAH1[6] = $LONGRAH2[6];

       $LONGRAH1[7] = $LONGRAH2[7];

       $LONGRAH1[8] = $LONGRAH2[8];

       $LONGRAH1[9] = $LONGRAH2[9];

       $LONGRAH1[10] = $LONGRAH2[10];

       $flagkaran = 1;

       Calculate_Tithi();

       //echo("inn karanend1 currtithi=".$currtithi."<br>");

       $c1=date("Y-m-d",strtotime('+1 day', strtotime($c1)));

	  $dy = date("d", strtotime($c1));

 	  $mn = date("m", strtotime($c1));

	  $yr = date("Y", strtotime($c1));

       //echo("for nextlongrah karanend1 next date is= ".$dy." $mn= ".$mn." $yr= ".$yr."<br>");

		//$preendtime1;

// float s1,s2;

 //int I;

	 NewPlaCalc1($c1,"5","30");

 	 $nextLONGRAH1 = $LONGRAH2[2];

	 $nextLONGRAH2 = $LONGRAH2[3];

  	$nxtlongrah1=$nextLONGRAH1;

    $nxtlongrah2=$nextLONGRAH2;

	//echo "In Karan End-tithiDeg=$tithiDEG and currtithi=$currtithi<br>";

   tithiend($currtithi, $tithiDEG);

   $preendtime1 = $tithiEND;

 //echo("$preendtime1=".$preendtime1."<br>");

 $c=array(3);

 $c=split(":",$preendtime1);

$s1 = ($c[0]);

$s2 = ($c[1]);

$preendtime = $s1 + ($s2/60);

$timetaken1 = $preendtime;

//int $CT;   // As Integer

$CT = $fcurrtithi;

//echo("CT=".$CT."<br>");

$I=0;

//echo("fcurrtithi=".$fcurrtithi." currtithi=".$currtithi." I=".$I."<br>");

if ($fcurrtithi < $currtithi){ //Then 

	$CT = $fcurrtithi + 15;

}

if (($CT - $currtithi) > 1){// Then

	//echo("I am in CT-$currtithi"."<br>");

  $flagSUNRISE = 0;

  $c1=date("Y-m-d",strtotime('-1 day', strtotime($c1)));

   $dy = date("d", strtotime($c1));

   $mn = date("m", strtotime($c1));

   $yr = date("Y", strtotime($c1));

  $suns1 = $s1 + 1;

  $suns2 = $s2;

  //echo("now date is:".$dy."-".$mn."-".$yr."<br> and suns1=".$suns1." suns2=".$suns2."<br>");

  NewPlaCalc1($c1,$suns1,$suns2);

       $LONGRAH1[2] = $LONGRAH2[2];

       $LONGRAH1[3] = $LONGRAH2[3];

       $LONGRAH1[4] = $LONGRAH2[4];

       $LONGRAH1[5] = $LONGRAH2[5];

       $LONGRAH1[6] = $LONGRAH2[6];

       $LONGRAH1[7] = $LONGRAH2[7];

       $LONGRAH1[8] = $LONGRAH2[8];

       $LONGRAH1[9] = $LONGRAH2[9];

       $LONGRAH1[10] = $LONGRAH2[10];

       Calculate_Tithi();

        $nextLONGRAH1=$nxtlongrah1;

        $nextLONGRAH2=$nxtlongrah2;

       //echo("Now $currtithi:".$currtithi." and tithideg=".$tithiDEG."<br>");

       tithiend($currtithi,$tithiDEG);

    //  ' Call rashiend

       //echo("I am in CT-currtithi and here tithiend=".$tithiEND."<br>");

        $flagSUNRISE = 1;//true;

}//End If

$preendtime1 = $tithiEND;

//echo("prentime2=".$preendtime1."<br>");

$c=split(":",$preendtime1);

$s1 = ($c[0]);

$s2 = ($c[1]);

$preendtime = $s1 + ($s2/60);

$timetaken1 = $preendtime;

$preendtime1 = $tithiend2;

$c=split(":",$preendtime1);

$s1 = ($c[0]);

$s2 = ($c[1]);

$timetaken2 = ($s1 + ($s2/60));

$dlength = 24; //'+ suntime

//'If (timetaken1 < $dlength) Then

$tithilength = $dlength - $timetaken1;

//echo("tithilength= ".$tithilength."<br>");

//'Else

//'$tithilength = timetaken1 - $dlength

//'End If

//float $ttaken2,$tithihalf;

$ttaken2 = $timetaken2;

//echo("ttaken2=".$ttaken2."<br>");

if (($tithilength < 0) && ($timetaken2 < 12)){// Then 

	$ttaken2 = $timetaken2 + 24;

}

$tithilength = $tithilength + $ttaken2;

//echo("final tithilength=".$tithilength."<br>");

//'$tithilength = timetaken1 - timetaken2

$tithihalf = $tithilength / 2;

$t1 = $tithilength - $tithihalf;

$t1 = $timetaken1 + $t1;

if ($t1 > 24){ $t1 = $t1 - 24; }

$t2 = $timetaken2;

//echo("t2=".$t2." mytithiend=".$mytithiend."<br> and suntime=".$suntime."<br>");

$tempcomp = $tithihalf + $suntime;

//echo "tempcomp=$tempcomp<br>";

if (((int)($t2) == (int)($mytithiend)) && ($t2 < $tempcomp)){// Then

	

 $Karan1 = $Karan2;

 //echo("in condition--karan1=".$Karan1."<br>");

 if ($ctithi == 15){// Then

 $ctithi = 1;

 if ($cpaksha == "Krishna"){$cpaksha = "Shukla";}

 if ($cpaksha == "Shukla") {$cpaksha = "Krishna";}

 }else

 {$ctithi = $ctithi + 1;

 }//End If

  //'Dim mykaran As String

  $mykaran = $Karan1;

  getKaranName($ctithi, $cpaksha);

  $Karan2 = $Karan1;

  //echo("Karan2=".$Karan2."<br>");

  $Karan1 = $mykaran;

  $t1 = $t2;

  $t2 = 0;

  $Karanend11 = getTimeStr2($t1);

  $Karanend2 = "";

  //echo("Karanend11=".$Karanend11."<br>");

}

  else {

  $Karanend11 = getTimeStr2($t1);

  $Karanend2 = getTimeStr2($t2);

  }//End If

//echo("suntime=".$suntime."<br>");

if ($t1 < $suntime){// Then

 $Karan1 = $Karan2;

 if ($ctithi == 15){// Then

 $ctithi = 1;

 if ($cpaksha == "Krishna"){$currentpaksha = "Shukla";}

 if ($cpaksha == "Shukla"){$currentpaksha = "Krishna";}

 }else

  {$ctithi = $ctithi + 1;

  }//End If

 $mykaran = $Karan1;

 getKaranName($ctithi, $currentpaksha);

  $Karan2 = $Karan1;

  $Karan1 = $mykaran;

  $t1 = $t2;

  $t2 = 0;

  $Karanend11 = getTimeStr2($t1);

  $Karanend2 = "";

}

else

  {$Karanend11 = getTimeStr2($t1);

  $Karanend2 = getTimeStr2($t2);

  }//End If



//'End If

//'------CHECK $t1 TIMING WITH SUNRISE TIMING----------

//'Dim newsunrise As Double

//'I = InStr(1, frmsunrise.sunrise1, ":", vbTextCompare)

//'s1 = Mid(frmsunrise.sunrise1, 1, I - 1)

//'s2 = Mid(frmsunrise.sunrise1, I + 1, Len(frmsunrise.sunrise1) - (I))

//'newsunrise = s1 + CDbl(s2) / 60

//'If $t1 > 17.3 Then

//'karan1 = karan2

//'If (ctithi = 15) Then

//' ctithi = 1

//' If (cpaksha = "Krishna") Then cpaksha = "Shukla"

//' If (cpaksha = "Shukla") Then cpaksha = "Krishna"

//' Else

//' ctithi = ctithi + 1

//'End If

//'Dim mykaran As String

//'mykaran = karan1

//' Call getKaranName(ctithi, cpaksha)

//'  karan2 = karan1

//'  karan1 = mykaran

//'  $t1 = $t2

//'  $t2 = 0

//'  karanend11 = getTimeStr($t1)

//'  karanend2 = ""

//'Else

//'  karanend11 = getTimeStr($t1)

//'  karanend2 = getTimeStr($t2)

//'End If

//'---------------------------------------------------

$flagkaran = 0;

}//End Function

//---------PANCHAK CALCULATION------------------------------

function CalculatePanchak($nakshatra,$nxtnakshatra,$naksend) 

{//'GET PANCHAK

global $rasiend1,$starttime,$exactrashino;

//Dim endtime As String

//Dim starttime As String

$panchstr = "";

 if ((strcmp($nakshatra, "Dhanishtha") == 0) || (strcmp($nakshatra, "Shatbhisha") == 0) || (strcmp($nakshatra, "PurwaBhadrapad") == 0) || (strcmp($nakshatra, "UttraBhadrapad") == 0) || (strcmp($nakshatra, "Rewati") == 0)) 

  {

 $firsthalf = 1;

 }

 else

 {

 $firsthalf = 0;

 }//End If

 if ((strcmp($nxtnakshatra, "Dhanishtha") == 0) || (strcmp($nxtnakshatra, "Shatbhisha") == 0) || (strcmp($nxtnakshatra, "PurwaBhadrapad") == 0) || (strcmp($nxtnakshatra, "UttraBhadrapad") == 0) || (strcmp($nxtnakshatra, "Rewati") == 0)) 

 {

 $secondhalf = 1;

 }

 else 

 {

 $secondhalf = 0;

 }//End If

 if ($exactrashino == 11 || $exactrashino == 12) 

 {

 $starttime = $naksend;

 }

 else

 {

 $starttime = $rasiend1;

 }//End If

//---------------------------------------------------

  if ($firsthalf == 1 && $secondhalf == 0){ //Then

    if ($kshayanaks == 1){// Then

        $panchstr = "From Sunrise";  //'till " & finalnaksend

   }else{

        $panchstr = "Till " . $naksend;// & " rd"

    }//End If

    $panchaknaks = $nakshatra;

  }//End If

  if ($firsthalf == 0 && $secondhalf == 1) {//Then

   if ($kshayanaks == 0){// Then

     $I = strpos($naksend, ":");

                if ($I!=0){// Then

                  //'I = InStr(1, preendtime1, "%", vbTextCompare)

                   $s2 = substr($naksend, 1, $I - 1);

                    if ((int)$s2 >= 12) {//Then

                      $panchstr = "No";

					  }

                     else{

                       $panchstr = "From ".$starttime; // & " ls"

                       $panchaknaks = $nxtnakshatra;

                      }//End If

                 }//End If

    }else{

    $panchstr = "No";

    }//End If

  }//End If

  if ($firsthalf == 1 && $secondhalf == 1) {

  if ($exactrashino == 11 || $exactrashino == 12) 

    {//Then

    $panchstr = "Yes";

    }else

	{

    $panchstr = "From " . $starttime; // & " ls"

    }//End If

    $panchaknaks = $nakshatra; //'& "]" & nextnakshatra

  }//End If

  if ($firsthalf == 0 && $secondhalf == 0){// Then

    $panchstr = "No";

  }//End If

  return($panchstr);

}//End Function

//----------------------------------------------------

function newtithiend($tithi,$tithideg)

{

	 global $flagkaran,$naksend1,$yogaend,$mynaksend,$ctithi,$fcurrtithi,$prerashi,$kshayatithi,$kshayayoga,$kshayanaks,$rasiend,$nextyoga,  $nextnakshatra,$naksdbl,$dbltithitime,$rashiname,$rashistr,$rasiend1,$ftithitime,$rasidbl,$sunHR,$sunMIN,$cpaksha,$tithifinalend,$tithiend2,$finalyogaend,$finalnaksend,$mytithiend,$timetaken2,$preendtime1,$tithiend1,$rkaal,$flagSUNRISE,$Karanend11,$Karanend2,$sun1,$sun2,$suns1,$suns2,$yogadbl,$suntime,$sunriseV,$sunsetV,$sunr1,$sunrise1,$sunset1,$currsunrise,$currsunset,$H,$m,$yogaDEG,$mYear,$rlord,$Rad_Deg,$Deg_Rad;

	 global $dy,$mn,$yr;

	global $flagyoga;

	 global $mMonth,$mDay,$mhr,$mmin,$m_ampm,$DYY,$lonmin,$londeg,$lamin,$ladeg,$d2r,$r2d,$tz,$Off,$eln,$sla,$tjd_ut,$retval,$tjd_et,$d1,$lon,$lat,$timetaken1,$MLN_Decl,$TLN_Decl,$MLN,$H,$Karan1,$Karan2,$Karan1END,$Karan2END,$KaranEND11,$z3,$z1,$z2a,$z2,$z1a,$Qi,$currtithi,$currentpaksha,$tithiDEG,$rashino,$rashiName,$tithiName,$Nakshatra,$yogaName,$karanName,$startDEG,$endDEG,$tithiEND,$naksEND,$yogaEND,$karanEND,$nextLONGRAH1,$nextLONGRAH2,$speedSUN,$speedMON,$latns,$longew;

	global $sun_no,$venus_no;

	global $sadesatiresult;

	global $MND_local,$YRD,$DYD,$YM,$pl,$plh,$PLA,$YI,$m,$XX,$YF,$dasacount,$mahadasa1,$MD_lcl,$DDD,$y2,$signA,$namealpha1;

	global $b,$c,$D_lcl,$DY,$MN1,$yr1,$YR,$MN,$a,$DJD1;

	global $utdatenow,$utnow;

	global $dst,$war,$ew,$ns,$long_deg,$long_min,$lat_deg,$lat_min,$timehr,$timemin,$AYNS,$timezone;

		global $r,$rms,$sp,$Planets,$LONGRAH,$LONGRAH1,$LONGRAH2,$DECL,$RETROPL,$XOPTION,$RETROPL,$XOPTION,$NKS,$getpl1,$getpl2,$getpl3,$getpl4,$getpl5,$getpl6,$getpl7,$getpl8;

		tithiRange($tithi,$currentpaksha);	

		//echo("$startDEG=".$startDEG. " and $endDEG=".$endDEG."<br>");

		//echo("LONGRAH1[2]=".$LONGRAH1[2]. " and nextLONGRAH1=".$nextLONGRAH1." and longrah1[3]=".$LONGRAH1[3]."<br>");

		//speedSUN=calculatespeed(LONGRAH1[2],nextLONGRAH1);

		//speedMON=calculatespeed(LONGRAH1[3],$nextLONGRAH2);

		////echo("speedSun= ".speedSUN);

		////echo("speedMon= ".speedMON);

		 $distanceleft=($endDEG-$tithideg);

		////echo("distance left: ".distanceleft);

		$timetaken=($distanceleft*60);

		$speedfactor=$speedMON-$speedSUN;

		$timetaken1=($timetaken/$speedfactor)*24;

		//echo("timetaken= ".$timetaken1."<br>");

	    $tithiEND=getTimeStr($timetaken1);

	    $dbltithitime=$timetaken1+5.5;

}

//-----FORMAT STRINGS--------

function getdaysinmonth($mno,$yr)

{

  switch($mno)

  {

     case 1:

	     return(31);

		 break;

	 case 2:

	   $j=$yr%4;

	    if ($j==0){

	   	  return(29);

		  }

		  else

		  {

		   return(28);

		  }

		 break;

	 case 3:

	  return(31);

		 break;

	 case 4:

	  return(30);

		 break;

	 case 5:

	  return(31);

		 break;

	 case 6:

	  return(30);

		 break;

	 case 7:

	  return(31);

		 break;

	 case 8:

	  return(30);

		 break;

	 case 9:

	    return(31);

		 break;

	 case 10:

	    return(30);

		 break;

	 case 11:

	    return(30);

		 break;

	 case 12:

	    return(31);

		 break;

  }

}

 $panch2="Sunrise: ".$currsunrise."  Sunset: ".$currsunset;

			  	  		if ($ctithi!=15){

			  	  			  if ($kshayatithi==false){

			  	  		        $panch3="".$tithiName." till ".$tithifinalend."\n(".$cpaksha." Paksha)";

			  	  			  }

			  	  			  else

			  	  			  {

			  	  				$panch3="".$tithiName."(Kshaya)"."\n(".$cpaksha." Paksha)";

			  	  			  }

			  	  				  

			  	  		  }

			  	  		  else

			  	  		  {

			  	  			if ($kshayatithi==false){  

			  	  		      $panch3="".$tithiName." till ".$tithifinalend; 

			  	  			}

			  	  			else

			  	  			{

			  	  			 $panch3="".$tithiName."(Kshaya)"; 	

			  	  			}

			  	  		  }

			  	  		if ($kshayanaks==false){ 

			  	  		  $panch4="".$Nakshatra." till ".$finalnaksend;

			  	  		}

			  	  		else

			  	  		{

			  	  		  $panch4="".$Nakshatra."(Kshaya)"; //+$finalnaksend;	

			  	  		}

			  	  	if ($kshayayoga==false){ 

			  	  	    $panch5="".$yogaName." till ".$finalyogaend;

			  	  	}

			  	  	else

			  	  	{

			  	     	$panch5="".$yogaName."(Kshaya)";  //+$finalyogaend;

			  	  	}

			  	  		

			  	  		  $panch6="".$Karan1." till ". $Karanend11 ." /".$Karan2;

			  	  		  $panch7=$rashistr;  // ." till ".$naksEND;

			  	  		  $panch8="".$rkaal;  // ." till ".$naksEND;

			  	  		  $panch9="".$gandmoolstr;

		  	  			  $panch10="".$panchakstr;

			  	  		//  if (festnm!=""){

			  	  			//$panch9="Today is ".festnm;  

			  	  			//$panch10="Gandmool: ".gandmoolstr;

			  	  		//	$panch11="".festnm;

			  	  		//  }

			  	  		// else

			   		  //	  {

			   		  		$panch11=$fstr;

			   		  	//    DatabaseHelper.panch10="Panchak: ".panchak;

			   		  //	 }

		

//----------------------------		 	  		

?>

<div id="container">

<?php include("includes/header.php");

 $b = time (); 

 $dy=$mdt[1];

 $mn=$mdt[0];

 $yr=$mdt[2];

 $b=$yr."-".$mn."-".$dy;

// print date("l, F j, Y",strtotime($b)) . "<br>"; 

 ?>

<div class="about-me-container">

<p>

  <?php include("includes/left-free-services.php");?>

</p>

<p>&nbsp;</p>

<div class="middle-about-box">

  <table width="474" border="0" cellspacing="0" cellpadding="5">

  <tr>

    <td colspan="3" bgcolor="#990000"><div align="center"><strong><a href="freepanchak.php" style="color:#FFFFFF">Change Month </a></strong></div></td>

  </tr>

  <tr>

    <td colspan="3" bgcolor="#FFCC00"><div align="center"><?php echo $monthname."-".$selyear."(".$selcity.")"; ?></div>      </td>

    </tr>

  <tr>

    <td bgcolor="#339900"><div align="center"><span class="style3">Date</span></div></td>

    <td bgcolor="#339900"><div align="center"><span class="style3">Day</span></div></td>

    <td bgcolor="#339900"><div align="center"><span class="style3">Panchak</span></div></td>

  </tr>

  <?php for($i=0;$i<30;$i++)

  {

   echo "<tr>

    <td><div align='center'>$rdt[$i]</div></td>

    <td><div align='center'>$rday[$i]</div></td>

    <td><div align='center'>$newpanchak[$i]</div></td>

  </tr>";

  } ?>

</table>
<div style="width:450px; height:120px; margin-left:110px; float:left;">
 <?php include("includes/personalized-prediction.php");?>
 </div>

</div><!--middle-about-box--> 

<div class="right-sunsign-box">

<?php include("includes/right-pannel.php");?>

</div>

</div><!--contact-container-box-->

<?php include("includes/footer.php");?>

</div><!--main-container-box-->

</body>

</html>