function ChangeToEth(Day,Month,Year,Type)
{
	var Today=new Date(Year,Month-1,Day),ref=new Date(1998,8,11),Base_Date=new Date(1970,0,1)
	var Diff,Block365,LeapYear,Day,Month,Year,YearRset,StrReturn,No_Milliseconds,SMonth
	Diff=parseInt((Today-ref)/(3600*1000*24))+1;
	Block365=parseInt(Diff/365);
	LeapYear=(Diff % 365)-parseInt((Block365+3)/4);
	Year=1991+Block365;
	if(LeapYear<=0)
	{
		Year--;
		YearRset=(Year+1) % 4;
		LeapYear=365+LeapYear+1-parseInt((((YearRset+2)%(YearRset+1))+1)/2)
	}
	Day=(LeapYear % 30);
	Day=Day+30*(1-parseInt((((Day+2)%(Day+1))+1)/2));
	Month=parseInt(LeapYear/30)+parseInt((((Day+2)%(Day+1))+1)/2);
	if((LeapYear % 30)==0)
	{
		Month=parseInt(LeapYear/30);
	}
	No_Milliseconds=(Today-Base_Date)-((Day-1)*3600*24*1000);
	var True_Date=new Date(No_Milliseconds);
	if (Type == -1)
	{
		StrReturn=Year + "|" + Month + "|" + Day +"|"+True_Date.getDay();
		StrReturn=StrReturn.split("|");
	} // if (Type == -1)
	if (Type == 0) // format day/month/year
	{
		StrReturn=Day +"/"+Month+"/"+Year;
	} // if (Type == 0)
	if (Type == 1) // format month day year
	{
		SMonth = EthMonth (Month);
		StrReturn=SMonth+" " +Day +" "+Year;
	} // if (Type == 0)
	
	return StrReturn;
}

function GetDiff(Day,Month,Year)
{
	var YearDays,Reminant_Days,Leapyear
	Number_Of_Years=Year-1991; // 23/4/1994;
	Leapyear=parseInt((Number_Of_Years+3)/4); //To adjust to Habesha leapyear add 4
	YearDays=365*Number_Of_Years+Leapyear;
	Reminant_Days=((Month-1) % 13)*30 + Day;
	Total_Number_Of_Days=Reminant_Days + YearDays;
	return Total_Number_Of_Days;
}
function ChangeToGregorian(Day,Month,Year)
{
	var Diff,Day,Month,Year,No_Milliseconds,StrReturn
	var Base_Date=new Date(1970,0,1),My_Ref_Date=new Date(1998,8,11),Current_Date
	Diff=GetDiff(Day,Month,Year);
	No_Milliseconds=(My_Ref_Date-Base_Date)+((Diff-1)*3600*24*1000);
	var Current_Date=new Date(No_Milliseconds);
	Month=Current_Date.getMonth()+1;
	Day=Current_Date.getDate();
	Year=Current_Date.getFullYear();
	StrReturn=Year + "|" + Month + "|" + Day ;
	StrReturn=StrReturn.split("|");
	return StrReturn;
}

function EthMonth (month)
{
	switch (month) {
		case 1 :
		smonth = "Meskerem";
		break;
		case 2 :
		smonth = "Tikimt";
		break;
		case 3 :
		smonth = "Hidar";
		break;
		case 4 :
		smonth = "Tahissas";
		break;
		case 5 :
		smonth = "Tir";
		break;
		case 6 :
		smonth = "Yekatit";
		break;
		case 7 :
		smonth = "Megabit";
		break;
		case 8 :
		smonth = "Miyaziya";
		break;
		case 9 :
		smonth = "Ginbot";
		break;
		case 10 :
		smonth = "Sene";
		break;
		case 11 :
		smonth = "Hamlie";
		break;
		case 12 :
		smonth = "Nehassie";
		break;
		case 13 :
		smonth = "Pagume";
		break;
		default :
		smonth = "Meskerem";
	} // switch (month)
	return smonth;
} // function EthMonth (month)
