// $Id: check.js,v 1.2 2002/03/19 11:12:45 Administrator Exp $
function In(c, strc)
{
	var i, n;
	var bIn = false;
	
	n = strc.length;
	for (i = 0;i < n;i++) {
		if (strc.charAt(i) == c) {
			bIn = true;
		}
	}
	
	return bIn;
}

function checkString(strString, strIn)
{
	var n, i;
	
	n = strString.length;
	for (i = 0;i < n;i++) {
		if (!In(strString.charAt(i), strIn)) {
			return false;
		}
	}
	
	return true;
}

function checkInteger(strString)
{
	return checkString(strString, "1234567890+-");
}

function checkNumeric(strString)
{
	return checkString(strString, "1234567890+-.Ee");
}

function checkDayPerMonth(nDay, nMonth, nYear)
{
	var nDayPerMonth = new Array();
	
	// Initialize table
	nDayPerMonth[1] = 31;
	if ((nYear % 4) == 0) {
		nDayPerMonth[2] = 29;
	}
	else {
		nDayPerMonth[2] = 28;
	}
	nDayPerMonth[3] = 31;
	nDayPerMonth[4] = 30;
	nDayPerMonth[5] = 31;
	nDayPerMonth[6] = 30;
	nDayPerMonth[7] = 31;
	nDayPerMonth[8] = 31;
	nDayPerMonth[9] = 30;
	nDayPerMonth[10] = 31;
	nDayPerMonth[11] = 30;
	nDayPerMonth[12] = 31;
	
	if (nDay > nDayPerMonth[nMonth]) {
		return false;
	}
	
	return true;
}

// DD.MM.YYYY
function checkDateFormat(sDate)
{
	var n, i;
	var c;
	var npa, npb;
	var sDay, sMonth, sYear;
	var nDay, nMonth, nYear;
	var sTmp;

	n = sDate.length;

	if (n < 8 || n > 10) {
		return 1;
	}

	npa = sDate.indexOf(".");
	npb = sDate.lastIndexOf(".");

	if ((npa == 1 || npa == 2) && (npb >=3 && npb <= 5)) {
		sDay	= sDate.substring(0, sDate.indexOf("."));
		sMonth	= sDate.substring(sDate.indexOf(".") + 1, sDate.lastIndexOf("."));
		sYear	= sDate.substring(sDate.lastIndexOf(".") + 1, sDate.length);

		if (sYear.length < 4) {
			return 3;
		}

		if (sDay.length == 1) {
			sTmp = sDay;
			sDay = "0" + sTmp;
		}

		if (sMonth.length == 1) {
			sTmp = sMonth;
			sMonth = "0" + sTmp;
		}

		nDay	= parseInt(sDay);
		nMonth	= parseInt(sMonth);
		nYear	= parseInt(sYear);

		if (nMonth < 0 || nMonth > 12) {
			return 4;
		}

		if (!checkDayPerMonth(nDay, nMonth, nYear)) {
			return 5;
		}

		return 0;
	}

	return 2;
}

function makeDateString(dd,mm,yy)
{
	var sDate;
	var sdd, smm;

	if (dd < 10) {
		sdd = "0" + dd;
	}
	else {
		sdd = "" + dd;
	}

	if (mm < 10) {
		smm = "0" + mm;
	}
	else {
		smm = "" + mm;
	}

	sDate = sdd + "." + smm + "." + yy
	return sDate;
}

