function intPart(floatNum){
if (floatNum< -0.0000001){
	 return Math.ceil(floatNum-0.0000001)
	}
return Math.floor(floatNum+0.0000001)	
}
function ChrMonth(arg){
	switch(arg){
		case 1: return("Enero");break;
		case 2: return("Febrero");break;
		case 3: return("Marzo");break;
		case 4: return("Abril");break;
		case 5: return("Mayo");break;
		case 6: return("Junio");break;
		case 7: return("Julio");break;
		case 8: return("Agosto");break;
		case 9: return("Septiembre");break;
		case 10: return("Octubre");break;
		case 11: return("Noviembre");break;
		case 12: return("Diciembre");break;
	}
}
function HigMonth(prova){
	switch(prova){
		case 1: return("Muharram");break;
		case 2: return("Safar");break;
		case 3: return("Rab&icirc; Al-Awwal");break;
		case 4: return("Rab&icirc; Ath-Th&acirc;n&icirc;");break;
		case 5: return("Jum&acirc;da Al-Awwal");break;
		case 6: return("Jum&acirc;da Ath-Th&acirc;n&icirc;");break;
		case 7: return("Rajab");break;
		case 8: return("Cha`b&acirc;n");break;
		case 9: return("Ramadan");break;
		case 10: return("Chaww&acirc;l");break;
		case 11: return("Dhul-Qa`da");break;
		case 12: return("Dhul-hijja");break;
	}
}
function weekDay(wdn){
					if(wdn==0){
						return "Lunes"
						}
					if(wdn==1){
						return "Martes"
						}
					if(wdn==2){
						return "Miercoles"
						}
					if(wdn==3){
						return "Jueves"
						}
					if(wdn==4){
						return "Viernes"
						}
					if(wdn==5){
						return "Sabado"
						}
					if(wdn==6){
						return "Domingo"
						}
	return ""

}
function ChrMonthArab(arg){
	switch(arg){
		case 1: return("<b>يناير</b>");break;
		case 2: return("<b>فبراير</b>");break;
		case 3: return("<b>مارس</b>");break;
		case 4: return("<b>إبريل</b>");break;
		case 5: return("<b>مايو</b>");break;
		case 6: return("<b>يونيو</b>");break;
		case 7: return("<b>يوليو</b>");break;
		case 8: return("<b>أغسطس</b>");break;
		case 9: return("<b>سبتمبر</b>");break;
		case 10: return("<b>أكتوبر</b>");break;
		case 11: return("<b>نوفمبر</b>");break;
		case 12: return("<b>ديسمبر</b>");break;
	}
}
function HigMonthArab(prova){
	switch(prova){
		case 1: return("<b>المحرم</b>");break;
		case 2: return("<b>صفر</b>");break;
		case 3: return("<b>ربيع الأول</b>");break;
		case 4: return("<b>ربيع الآخر</b>");break;
		case 5: return("<b>جمادى الأولى</b>");break;
		case 6: return("<b>جمادى الآخرة</b>");break;
		case 7: return("<b>رجب</b>");break;
		case 8: return("<b>شعبان</b>");break;
		case 9: return("<b>رمضان</b>");break;
		case 10: return("<b>شوال</b>");break;
		case 11: return("<b>ذو القعدة</b>");break;
		case 12: return("<b>ذو الحجة</b>");break;
	}
}
function weekDayArab(wdn){
					if(wdn==0){
						return "<b>الإثنين</b>"
						}
					if(wdn==1){
						return "<b>الثلاثاء</b>"
						}
					if(wdn==2){
						return "<b>الأربعاء</b>"
						}
					if(wdn==3){
						return "<b>الخميس</b>"
						}
					if(wdn==4){
						return "<b>الجمعة</b>"
						}
					if(wdn==5){
						return "<b>السبت</b>"
						}
					if(wdn==6){
						return "<b>الأحد</b>"
						}
	return ""

}
function JDay(dn,mn,yn){
	d=parseInt(dn);
	m=parseInt(mn);
	y=parseInt(yn);
	if ((y>1582)||((y==1582)&&(m>10))||((y==1582)&&(m==10)&&(d>14))) {
		jd=intPart((1461*(y+4800+intPart((m-14)/12)))/4)+intPart((367*(m-2-12*(intPart((m-14)/12))))/12)-intPart( (3* (intPart(  (y+4900+    intPart( (m-14)/12)     )/100)    )   ) /4)+d-32075
	}
	else{
		jd = 367*y-intPart((7*(y+5001+intPart((m-9)/7)))/4)+intPart((275*m)/9)+d+1729777
	}
}

function islToChr(arg) {
	d=parseInt(arg.HDay.value)
	m=parseInt(arg.HMonth.value)
	y=parseInt(arg.HYear.value)
	jd=intPart((11*y+3)/30)+354*y+30*m-intPart((m-1)/2)+d+1948440-385
	arg.JD.value=jd
	arg.wd.value=weekDay(jd%7)
					if (jd> 2299160 )
						{
						 l=jd+68569
						 n=intPart((4*l)/146097)
						l=l-intPart((146097*n+3)/4)
						 i=intPart((4000*(l+1))/1461001)
						l=l-intPart((1461*i)/4)+31
						 j=intPart((80*l)/2447)
						d=l-intPart((2447*j)/80)
						l=intPart(j/11)
						m=j+2-12*l
						y=100*(n-49)+i+l
						}	
					else	
						{
						 j=jd+1402
						 k=intPart((j-1)/1461)
						 l=j-1461*k
						 n=intPart((l-1)/365)-intPart(l/1461)
						 i=l-365*n+30
						j=intPart((80*i)/2447)
						d=i-intPart((2447*j)/80)
						i=intPart(j/11)
						m=j+2-12*i
						y=4*k+n+i-4716
						}

	sd=arg.HDay.value;
	sm=arg.HMonth.value;
	sy=arg.HYear.value;
	giorno=weekDay(jd%7);
	giornoarab=weekDayArab(jd%7);
	document.forms[0].campoa.value="<center><font face=\"Comic Sans MS\" color=\"#008000\"><h2>Resultado de la conversiَn</h2></font></center><center><p><font face=\"Comic Sans MS\">La fecha islamica, higri: "+giorno+" "+sd+" "+HigMonth(parseInt(sm))+" "+sy+"</p><p>corresponde a la fecha gregoriana: "+giorno+" "+d+" "+ChrMonth(parseInt(m))+" "+y+"</p><hr width='80%'>";
	document.forms[0].campob.value="<center><p><font face=\"Comic Sans MS\" color=\"#008000\"><h1>نتيجة التحويل</h1></font></p><p><center><p><b>التّاريخ الهجري: "+giornoarab+" "+sd+" "+HigMonthArab(parseInt(sm))+" "+sy+"</p><p>موافق للتّاريخ الميلادي: "+giornoarab+" "+d+" "+ChrMonthArab(parseInt(m))+" "+y+"</p>";
	finestra=window.open("result.html","nuovafin","width=480,height=335,scrollbars,resize");
	finestra.focus();
}

function ControllaH(nome){
	//This function is copyrighted by Softmasters - www.softmasters.net
	var stato="yes";
	if(nome.HYear.value==""||isNaN(nome.HYear.value)||(nome.HYear.value-Math.round(nome.HYear.value))!=0||nome.HYear.value<1){
		stato="no";
		alert("El aٌo debe ser un nْmero entero mayor o igual a 1");
		nome.HYear.select();
	}
	else{
		if((nome.HMonth.value-Math.round(nome.HMonth.value))!=0||nome.HMonth.value<=0||nome.HMonth.value>12){
			stato="no";
			alert("El més debe ser un nْmero entero entre 1 y 12");
			nome.HMonth.select();
		}
		else{
			if(nome.HDay.value-Math.round(nome.HDay.value)!=0||nome.HDay.value<=0||nome.HDay.value>30){
				stato="no";
				alert("El dيa del més debe ser un nْmero entero entre 1 y 30");
				nome.HDay.select();
			}
		}
	}
	if (stato=="yes") islToChr(nome);
}
