function MP(day){
	day2=new Date();
	day2=day; Date.UTC(day);
	var Y=day2.getFullYear();
	var M=day2.getMonth()+1;
	var D=day2.getDate();
	var YY,MM,K1,K2,K3,J,V,IP,AG;
	YY=Y-Math.floor((12-M)/10);
	MM=M+9;
	if(MM>=12){MM=MM-12};
	K1=Math.floor(365.25*(YY+4712));
	K2=Math.floor(30.6*MM+.5);
	K3=Math.floor(Math.floor((YY/100)+49)*.75)-38;
	J=K1+K2+D+59;
	if(J>2299160){J=J-K3};
	V=(J-2451550.1)/29.530588853;
	V=V-Math.floor(V);
	if(V<0){V=V+1};
	IP=V;
	AG=IP*29.53;
	IP=IP*Math.PI*2
	return IP;
}
function calceclp(calcmonth,calcyear){
	EC1=0;
	EC2=0;
	EM1="";
	EM2="";
	R1=3.14159265/180;
	U=0;
	Y=calcyear;
	calcmonth++;
	G=1;
	K0=Math.floor((Y-1900)*12.3685);
	T=(Y-1899.5)/100;
	T2=T*T;
	T3=T*T*T;
	J0=2415020+29*K0;
	F0=0.0001178*T2-0.000000155*T3;
	F0=F0+0.75933+0.53058868*K0;
	F0=F0-0.000837*T-0.000335*T2;
	J0=J0+Math.floor(F0);
	F0=F0-Math.floor(F0);
	M0=K0*0.08084821133;
	M0=360*(M0-Math.floor(M0))+359.2242;
	M0=M0-0.0000333*T2;
	M0=M0-0.00000347*T3;
	M1=K0*0.07171366128;
	M1=360*(M1-Math.floor(M1))+306.0253;
	M1=M1+0.0107306*T2;
	M1=M1+0.00001236*T3;
	B1=K0*0.08519585128;
	B1=360*(B1-Math.floor(B1))+21.2964;
	B1=B1-0.0016528*T2;
	B1=B1-0.00000239*T3;
	for(K9=1;K9<=27;K9=K9+2){
		J=J0+14*K9;
		F=F0+0.765294*K9;
		K=K9/2;
		M5=(M0+K*29.10535608)*R1;
		M6=(M1+K*385.81691806)*R1;
		B6=(B1+K*390.67050646)*R1;
		F=F-0.4068*Math.sin(M6);
		F=F+(0.1734-0.000393*T)*Math.sin(M5);
		F=F+0.0161*Math.sin(2*M6);
		F=F-0.0104*Math.sin(2*B6);
		F=F-0.0074*Math.sin(M5-M6);
		F=F-0.0051*Math.sin(M5+M6);
		F=F+0.0021*Math.sin(2*M5);
		F=F+0.5/1440;
		J=J+Math.floor(F);
		F=F-Math.floor(F);
	}
}
function calc(calcmonth,calcyear){
	calceclp(calcmonth,calcyear);
	var Y,JJ,K1,K2,K3,D,M,MM,FM1,FM2,NM1,NM2;
	FM1=0;
	FM2=0;
	NM1=0;
	NM2=0;
	y=calcyear;
	M=calcmonth;
	M++;
	D=-1;
	YY=Y-Math.floor((12-M)/10);
	MM=M+9;
	if(MM>=12){MM=MM-12}
	K1=Math.floor(365.25*(YY+4712));
	K2=Math.floor(30.6*MM+.5);
	K3=Math.floor(Math.floor((YY/100)+49)*.75)-38;
	JJ=K1+K2+D+59;
	if(JJ>2299160){JJ=JJ-K3}
	var A,B,C,Dq,E,G,D1,H1,M9,Mq,H,Yq,A1,Fq,Jq;
	var R1,U,K0,T,T2,T3,J0,F0,J,M0,M1,B1,M5,M6,K9,F;
	R1=3.14159265/180;
	U=0;
	K0=Math.floor((Y-1900)*12.3685);
	T=(Y-1899.5)/100;
	T2=T*T;
	T3=T*T*T;
	J0=2415020+29*K0;
	F0=0.0001178*T2-0.000000155*T3;
	F0=F0+0.75933+0.53058868*K0;
	F0=F0-0.000837*T-0.000335*T2;
	J=J+Math.floor(F);
	F=F-Math.floor(F);
	M0=K0*0.08084821133;
	M0=360*(M0-Math.floor(M0))+359.2242;
	M0=M0-0.0000333*T2;
	M0=M0-0.00000347*T3;
	M1=K0*0.07171366128;
	M1=360*(M1-Math.floor(M1))+306.0253;
	M1=M1+0.0107306*T2;
	M1=M1+0.00001236*T3;
	B1=K0*0.08519585128;
	B1=360*(B1-Math.floor(B1))+21.2964;
	B1=B1-0.0016528*T2;
	B1=B1-0.00000239*T3;
	for(K9=0;K9<29;K9++){
		J=J0+14*K9;
		F=F0+0.765294*K9;
		K=K9/2;
		M5=(M0+K*29.10535608)*R1;
		M6=(M1+K*385.81691806)*R1;
		B6=(B1+K*390.67050646)*R1;
		F=F-0.4068*Math.sin(M6);
		F=F+(0.1734-0.000393*T)*Math.sin(M5);
		F=F+0.0161*Math.sin(2*M6);
		F=F+0.0104*Math.sin(2*B6);
		F=F-0.0074*Math.sin(M5-M6);
		F=F-0.0051*Math.sin(M5+M6);
		F=F+0.0021*Math.sin(2*M5);
		F=F+0.0010*Math.sin(2*B6-M6);
		J=J+Math.floor(F);
		F=F-Math.floor(F);
		Jq=J;
		Fq=F;
		G=1;
		if( Y<1583){G=0}
		Fq=Fq+0.5;
		if(!(Fq<1)){
			Fq=Fq-1;
			Jq=Jq+1;
		}
		if(G==1){
			A1=Math.floor((Jq/36524.25)-51.12264);
			A=Jq+1+A1-Math.floor(A1/4)
		}else{
			A=Jq;
		}
		B=A+1524;
		C=Math.floor((B/365.25)-0.3343);
		Dq=Math.floor(365.25*C);
		E=Math.floor((B-Dq)/30.61);
		Dq=B-Dq-Math.floor(30.61*E)+Fq;
		Mq=E-1;
		Yq=C-4716;
		if(E>13.5){Mq=Mq-12};
		if(Mq<2.5){Yq=Yq+1};
		D1=Math.floor(Dq);
		H=24*(Dq-D1);
		H1=Math.floor(H);
		M9=Math.floor(60*(H-H1));
		if(M9<10){M9="0"+M9};
		if((U==0) && (Mq==M) && (Yq==Y)){if(NM1==0){NM1=D1;}else{if(NM2==0){NM2=D1;}}};
		if((U==1) && (Mq==M) && (Yq==Y)){if(FM1==0){FM1=D1;}else{if(FM2==0){FM2=D1;}}};
		U=U+1;
		if(U==2){U=0};
	}
	var temp,dayoffset,days,i,j;
	today=new Date(Date.UTC(calcyear,calcmonth,10,1,1));
	month=new Date(Date.UTC(calcyear,calcmonth,10,1,1));
	month.setDate(1);
	dayoffset=month.getDay()-1;
	if(dayoffset==-1){dayoffset=6};
	today.setDate(1);
	today.setMonth(today.getMonth()+1);
	days=(today-month)/1000/60/60/24;
	month.setHours(11);
	for(i=0;i<(days+dayoffset)/7;i++){
	   for(j=1;j<8;j++){
			if((i*7)+j-dayoffset<=0 || (i*7)+j-dayoffset>Math.round(days)){
				//le 1er ne tombe pas un lundi
			}else{
				month.setDate((i*7)+j-dayoffset);
			}
			if((i*7)+j-dayoffset==daytoday){
				return(Math.floor(MP(month)*29/2/Math.PI)+1);
			}
		}
	}
}
