function acot(w){

     
      return Math.atan(1/w);
    }
    function AsT(declin,lat){
        var radian= Math.PI/180;
         declin=declin*  radian;         
         lat=lat*radian;
         var i0=1+Math.tan(lat-declin);
         var i1=acot(i0);
         i1=Math.sin(i1);
         var i2=Math.sin(declin)*Math.sin(lat);
         var i2=i1-i2; 
         
         var i3=Math.cos(lat)*Math.cos(declin);
          var t=(1/15)*Math.acos((i2/i3));
           t=(t/(Math.PI/180))*60 ;
          return t;
    }



    function T(a,declin,lat){
        var  AIT=a*Math.PI/180;
         declin=declin*  Math.PI/180;
         
         lat=lat*Math.PI/180;
         var i1=-Math.sin(AIT)-Math.sin(lat)*Math.sin(declin);
         var i2=Math.cos(lat)*Math.cos(declin);
          var t=(1/15)*Math.acos((i1/i2));
           t=(t/(Math.PI/180))*60 ;
          return t;
    }
   function delta(j){
    var a=(2*Math.PI)*(j)/(365);

    var del=0.006918-0.399912*Math.cos(a)+0.070257*Math.sin(a)-0.006758*Math.cos(2*a)+0.000907*Math.sin(2*a)-0.002697*Math.cos(3*a)+0.00148*Math.sin(3*a);
    return (del*180/Math.PI);
   }
  function longcorr(fm)  {
     var lngtd = fm;
    var tzone = Math.round(lngtd/15);
    var degcorr = lngtd-15*tzone;
  
  return tzone;
}

function calcET(jday) {
  with(Math) {
    radian = 180/PI;
    var T = (jday-2451545.0)/36525;
    tau = T/10;
    obl=23.439291-0.001300*T;
    obl=obl/radian;
    L = 280.46644567+360007.6982779*tau+0.030320*tau*tau+pow(tau,3)/49931-pow(tau,4)/15299;
    L = L/radian;
    M = 357.052910+35999.05030*T-0.0001559*T*T-0.00000048*T*T*T;
    M = M/radian;
    e = 0.01670617-0.000042037*T-0.0000001236*T*T;
    y = pow(tan(obl/2),2);
    ET = y*sin(2*L)-2*e*sin(M)+4*e*y*sin(M)*cos(2*L)-y*y/2*sin(4*L);
}
  ET = ET*radian*4;
  return ET;
}
function sXY(y, H) {
    return y * H / 100;
}

    function Jd(y,m,d,t,tzone){
      if (m <= 2) {
      y = y - 1;
      m = m + 12;
    } 
    var a = Math.floor(y/100);
    var b = 2 - a + Math.floor(a/4);
    d += t/24
    jdg = Math.floor(365.25*(y+4716))+Math.floor(30.6001*(m+1))+d+b-1524.5;
// Correct the time for UT from local standard time - this only sets up calc to give the right jd for 0h UT
    jdg -= tzone/24;
    jd0 = Math.floor(jdg+0.5)-0.5
// Julian day 0h UT
  return jd0;
/*
      */
    }
    function EqT(d1){
      var d=d1-2451545.0;
      var radian = Math.PI/180;
      var M= (357.5291+0.98560028*d);
      
      M=M*radian;      
      var C=(1.9148*Math.sin(M)+0.0200*Math.sin(2*M)+0.0003*Math.sin(3*M));     
      var Lam=(280.4665+0.98564736*d) ;
    
      Lam=Lam*radian;
      var R=(-2.46569*Math.sin(2*Lam) +0.0530*Math.sin(4*Lam)-0.0014*Math.sin(6*Lam));
      
      return -4*(C+R)/radian;
      
      
    }    
    function TRQ(B){

      return Math.floor(B);
    }
    function JulianDay(M,A,J){
      if(M<=2){
        M=M+12;
        A=A-1;
      }
      var S= TRQ(A/100);
      var B=2-S+TRQ(S/4);
      var JJ=TRQ(365.25*(A+4716))+TRQ(30.6001*(M+1))+J+B-1524;
      
      return JJ;
    }
    function Declin(d1){
      var d=d1-2451545.0;
      var radian = Math.PI/180;
      var g= (357.5291+0.9856003*d);
      var L=280.460+0.9856474*d;
      L=L%360;
      g=g%360;      
      var Lam=L+1.915*Math.sin(g*radian)+0.0200*Math.sin(2*g*radian)+0.0003*Math.sin(3*g*radian);

      var e=23.439-0.00000036*d;
      e=e%360;    
      return Math.asin(Math.sin(e*radian)* Math.sin(Lam*radian))/radian;
    

    }
    

    function Qibla(lat,lng){

      var lngM=39.8233333;//East in degrees
      var latM=21.423333 ; //North in dgrees
      var radian = Math.PI/180;
      var i0=Math.sin((lngM-lng)*radian);
      var i1=Math.cos(lat*radian)*Math.tan(latM*radian);
      var i2=-Math.sin(lat*radian)*Math.cos((lngM-lng)*radian);
      var tQ=(i0)/(i1+i2);
      
      return 180+Math.atan(tQ)/radian;

    }
    function closeH(hou, tab) {
        hou = hou - 10;
      var min=(24*60)*(24*60);
      var k=0;
      var j=0;
      for(i=0;i<tab.length;i++){
        k=(tab[i]-hou)*(tab[i]-hou);
        if( k<=min){
            min=k;
            j=i;

        }
      }
      if ((hou > tab[j]) || (hou < tab[j] && j === 5 && hou<=14) ) {

          j = (j + 1) % 6;
      }
        
      return j;
  }
  function ReOrder(pn){

    var tab1=[3,1,0,4,2,5];
    return tab1[pn];

  }
  
  
 function  DaysSinceEpoch(y,m,d,delta){
	var  a= 354*(y-1);

	return a+Math.floor((11*(y-1)+delta)/30) + 29*(m - 1) +Math.floor(m/2) + d;
	
	
	}
	
function  FixedFromDate(y,m,d,del,Dhepoch,H) {

	return H - 15 + Dhepoch + DaysSinceEpoch(y,m,d,del);

	}	
	function Hijri(jd){
	
		iyear = 10631./30.;
		
		epochastro = 1948084;
		epochcivil = 1948085;
		shift1 = 8.01/60.;	
		z = jd-epochastro;
		cyc = Math.floor(z/10631.);
		z = z-10631*cyc;
		j = Math.floor((z-shift1)/iyear);
		iy = 30*cyc+j;
		z = z-Math.floor(j*iyear+shift1);
		im = Math.floor((z+28.5001)/29.5);
		if(im==13) im = 12;
		id = z-Math.floor(29.5001*im-29);
		
		var myRes = new Array(8);
		
		
		myRes[0] = parseInt(id); //islamic date
		myRes[1] = im-1; //islamic month
		myRes[2] = iy; //islamic year
		

	return myRes;
	
	
	
	}
 function secondsToHm(d) {
    d = Number(d);

    var h = Math.floor(d / 3600);
    var m = Math.floor(d % 3600 / 60);
   var t="";
	if(h==0){
	 t=('' + m).slice(-2)+"m";
	}else{
		t=('' + h).slice(-2) + "h:" + ('' + m).slice(-2)+"m";
	}
    return  t;
}
   function convertMinsToHrsMins(n) {
       var minutes = n % 60
       var hours = (n - minutes) / 60
       if (hours === 0) {
           return minutes+'m';
       }
       return hours + 'h:' + minutes+'m';
}
   function convert(seconds) {
       seconds = Number(seconds);
       var hours = Math.floor(seconds / 3600);
       var minutes = Math.floor(seconds % 3600 / 60);
       var seconds = Math.floor(seconds % 3600 % 60);
       if (hours <=0) {
           if (minutes <= 0) {
               if (seconds < 0) {
                   return 0 + 's';
               } else {
                   return seconds + 's';
               }
               
           }
           return minutes + ':m' + seconds+'s';
       }
       return hours + 'h:' + minutes + 'm';
   }
  function inputf(s){
  var s1="";

	for(var i=0;i<s.length;i++){
		if(!$.isNumeric(s[i])){
			s1=s1+s[i];
			 
		
		}else{
		
		return s1;
		
		}
	
	
	}
	return s;  
   }
function inputf1(s) {
    var s1 = "";
    var b = false;
    for (var i = 0; i < s.length; i++) {
        if ($.isNumeric(s[i]) || b)  {
            
            s1 = s1 + s[i];
            b = true;
            
        }


    }
    return s1;
}
