	function makeArray(n)
	{
		this.length = n;
		for(var i=1; i<=n; i++)
		this[i] = 0;
		return this;
	}

	function CheckValidIDDate(id, str)
	{
		var TodayYear, TodayMon, TodayDay;
		var idYear, idMon, idDay, cfDate;

		idDay = new makeArray(13);

		idDay = new makeArray(13);
		Today = new makeArray(13);

		for(var i = 0; i < 13; i++)
		{
			idDay[i] = parseInt(id.charAt(i), 10);
		}
		for(i = 0; i < 8; i++)
		{
			Today[i] = parseInt(str.charAt(i), 10);
		}

		if (idDay[6] == 1 || idDay[6] == 2)
			idYear = (idDay[0]*10 + idDay[1]) + 1900;
		if (idDay[6] == 3 || idDay[6] == 4)
			idYear = (idDay[0]*10 + idDay[1]) + 2000;

		TodayYear = Today[0]*1000 + Today[1]*100 + Today[2]*10 + Today[3];

		idMon = idDay[2]*10 + idDay[3];
		idDay = idDay[4]*10 + idDay[5];

		TodayMon = Today[4]*10 + Today[5];
		TodayDay = Today[6]*10 + Today[7];

		if(idYear > TodayYear)
		{
				return false;
		}
		else if (idYear < TodayYear)
		{
			return true;
		}
		else
		{
			if (idMon > TodayMon)
			{
				return false;
			}
			else if (idMon < TodayMon)
			{
				return true;
			}
			else
			{
				if (idDay > TodayDay)
				{
					return false;
				}
				else
					return true;
				}
			}
		}

	function checkRegno(str)
	{
		num = new makeArray(13);
		digit = new makeArray(12);

		digit[1] = 2
		digit[2] = 3
		digit[3] = 4
		digit[4] = 5
		digit[5] = 6
		digit[6] = 7
		digit[7] = 8
		digit[8] = 9
		digit[9] = 2
		digit[10] = 3
		digit[11] = 4
		digit[12] = 5

		for(var j=1; j<=13; j++)
		{
				num[j] = parseInt(str.charAt(j-1),10)
		}
		if (CheckValidIDDate(str, '19991001') == false)
			return false;

		if (num[7] != 3 &&num[7] != 4)
		{
			sum = 0;
			for(i=1; i<=12; i++)
			{
				sum += digit[i] * num[i];
			}
				div = (sum%11);
				if(div == 1)
				{
					comp = 0;
				}
				else if(div == 0)
				{
					comp = 1;
				}
				else if((div != 0)&&(div != 1))
				{
					comp = 11 - div;
				}

				if(div == 0)
				{
					if(num[13] == 1)
						return true;
					else
					{
						return false;
					}
				}
				else if(div == 1)
				{
					if(num[13] == 0)
						return true;
					else
					{
						return false;
					}
				}
				else if((11-div) == num[13])
				{
					return true;
				}
				else
				{
					{
						return false;
					}
				}
		}
		else
		{
			if (num[3] != 0 && num[3] != 1)
			{
				return false;
			}
			else if (num[5] != 0 && num[5] != 1 && num[5] != 2 && num[5] != 3)
			{
				return false;
			}
			else if (num[7] != 1 && num[7] != 2 && num[7] != 3 && num[7] != 4)
			{
				return false;
			}
			else if (num[3] == 0 && num[4] == 0)
			{
				return false;
			}
			else if ((num[3] == 1) && (num[4] != 0 && num[4] != 1 && num[4] != 2))
			{
				return false;
			}
			else if (num[5] == 0 && num[6] == 0)
			{
				return false;
			}
			else if (num[5] == 3 && (num[6] != 0 && num[6]!= 1))
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}