//
// Script by:	Buttar, Harprit Singh (Happy)
// Home Town:	Nathowal, Punjab (India)
// e-mail:	harprit@mail.com
// web-site:	www.punjabis.netfirms.com
// Copyright:	(C) 2004-2005 All rights reserved
//

function offset_to_nanakshahi(my_month, my_date, my_year)
{
	my_month = Math.ceil(my_month);
	my_date = Math.ceil(my_date);
	my_year = Math.ceil(my_year);

	var date = 0;
	var month = 0;
	var year = 0;

	dates = new Array();

	dates['error'] = 0;
	dates['error_msg'] = '';

	dates['en_month_name'] = "";
	dates['month_name'] = "";
	dates['pu_month_name'] = "";
	dates['month'] = "";
	dates['date'] = "";
	dates['year'] = "";

	if(my_month < 1 || my_month > 12)
	{
		dates['error'] = 1;
		dates['error_msg'] = 'Month';

		return (dates);
	}

	if(my_date < 1 || my_date > 31)
	{
		dates['error'] = 1;
		dates['error_msg'] = 'Date';

		return (dates);
	}

	re = /^(-)?[0-9]+$/
	if(!re.test(my_year))
//	if (!preg_match('/^(-)?[0-9]+$/', my_year))
	{
		dates['error'] = 1;
		dates['error_msg'] = 'Year';

		return (dates);
	}

	en_month = new Array('','January','February','March','April','May','June','July','August','September','October','November','December');
	en_pu_month = new Array('','Chet','Vaisakh','Jeth','Haarh','Saavan','Bhaadon','Assu','Kattak','Maggar','Poh','Maagh','Phagun');
	pu_month = new Array('','ਚੇਤ','ਵੈਸਾਖ','ਜੇਠ','ਹਾੜ','ਸਾਵਣ','ਭਾਦੋਂ','ਅੱਸੂ','ਕੱਤਕ','ਮੱਘਰ','ਪੋਹ','ਮਾਘ','ਫੱਗਣ');

	//
	// Gets the right Month & date
	//
	if(my_month == 1 && my_date <= 12)
	{
		date = my_date + 18;
		if(date>30)
		{
			month = 11;
			date = date-30;
		}
		else
		{
			month = 10;
		}
	}
	else if(my_month == 1 && my_date > 12)
	{
		date = my_date - 12;
		month = 11;
	}
	else if(my_month == 2 && my_date <= 11)
	{
		date = my_date + 19;
		if(date>30)
		{
			month = 12;
			date = date - 30;
		}
		else
		{
			month = 11;
		}
	}
	else if(my_month == 2 && my_date > 11)
	{
		date = my_date - 11;
		month = 12;
	}
	else if(my_month == 3 && my_date <= 13)
	{
		// If it's NOT a leap year
		if(my_year%2)
		{
			date = my_date + 17;

			if(date>30)
			{
				month = 1;
				date = date-30;
			}
			else
			{
				month = 12;
			}
		}
		else
		{
			date = my_date + 18;

			if(date>31)
			{
				month = 1;
				date = date-31;
			}
			else
			{
				month = 12;
			}
		}
	}
	else if(my_month == 3 && my_date > 13)
	{
		date = my_date - 13;
		month = 1;
	}
	else if(my_month == 4 && my_date <= 13)
	{
		date = my_date + 18;
		if(date>31)
		{
			month = 2;
			date = date-31;
		}
		else
		{
			month = 1;
		}
	}
	else if(my_month == 4 && my_date > 13)
	{
		date = my_date - 13;
		month = 2;
	}
	else if(my_month == 5 && my_date <= 14 )
	{
		date = my_date + 17;
		if(date>31)
		{
			month = 3;
			date = date-31;
		}
		else
		{
			month = 2;
		}
	}
	else if(my_month == 5 && my_date > 14)
	{
		date = my_date - 14;
		month = 3;
	}
	else if(my_month == 6 && my_date <= 14)
	{
		date = my_date + 17;
		if(date>31)
		{
			month = 4;
			date = date-31;
		}
		else
		{
			month = 3;
		}
	}
	else if(my_month == 6 && my_date > 14)
	{
		date = my_date - 14;
		month = 4;
	}
	else if(my_month == 7 && my_date <= 15)
	{
		date = my_date + 16;
		if(date>31)
		{
			month = 5;
			date = date-31;
		}
		else
		{
			month = 4;
		}
	}
	else if(my_month == 7 && my_date > 15)
	{
		date = my_date - 15;
		month = 5;
	}
	else if(my_month == 8 && my_date <= 15)
	{
		date = my_date + 16;
		if(date>31)
		{
			month = 6;
			date = date-31;
		}
		else
		{
			month = 5;
		}
	}
	else if(my_month == 8 && my_date > 15)
	{
		date = my_date - 15;
		month = 6;
	}
	else if(my_month == 9 && my_date <= 14)
	{
		date = my_date + 16;
		if(date>30)
		{
			month = 7;
			date = date-30;
		}
		else
		{
			month = 6;
		}
	}
	else if(my_month == 9 && my_date > 14)
	{
		date = my_date - 14;
		month = 7;
	}
	else if(my_month == 10 && my_date <= 14)
	{
		date = my_date + 16;
		if(date>30)
		{
			month = 8;
			date = date-30;
		}
		else
		{
			month = 7;
		}
	}
	else if(my_month == 10 && my_date > 14)
	{
		date = my_date - 14;
		month = 8;
	}
	else if(my_month == 11 && my_date <= 13)
	{
		date = my_date + 17;
		if(date>30)
		{
			month = 9;
			date = date-30;
		}
		else
		{
			month = 8;
		}
	}
	else if(my_month == 11 && my_date > 13)
	{
		date = my_date - 13;
		month = 9;
	}
	else if(my_month == 12 && my_date <= 13)
	{
		date = my_date + 17;
		if(date>30)
		{
			month = 10;
			date = date-30;
		}
		else
		{
			month = 9;
		}
	}
	else if(my_month == 12 && my_date > 13)
	{
		date = my_date - 13;
		month = 10;
	}
	else
	{
		date = 0;
		month = 0;
	}

	//
	// Gets the right Year
	//
	if( (my_month == 3 && my_date <= 13) || (my_month < 3) )
	{
		year = my_year - 1469;
	}
	else
	{
		year = my_year - 1468;
	}

	dates['en_month_name'] = en_month[month];
	dates['month_name'] = en_pu_month[month];
	dates['pu_month_name'] = pu_month[month];
	dates['month'] = month;
	dates['date'] = date;
	dates['year'] = year;

	return (dates);
}
