function dateIsValid(dateString)
{
	returnValue = true;
	dateArray = dateString.split("/");
	if (dateArray.length != 3)
	{
		returnValue = false;
	}
	else if (isNaN(dateArray[0]) || isNaN(dateArray[1]) || isNaN(dateArray[2]))
	{
		returnValue = false;
	}
	else if ((dateArray[0]%1 > 0) || (dateArray[1]%1 > 0) || (dateArray[2]%1 > 0))
	{
		returnValue = false;
	}
	else if ((dateArray[0]*1 < 1) || (dateArray[1]*1 < 1) || (dateArray[2]*1 < 1))
	{
		returnValue = false;
	}
	else if (dateArray[1]*1 > 12)
	{
		returnValue = false;
	}
	else if ((dateArray[0]*1 > 31) && (
		(dateArray[1]*1 == 1) ||
		(dateArray[1]*1 == 3) ||
		(dateArray[1]*1 == 5) ||
		(dateArray[1]*1 == 7) ||
		(dateArray[1]*1 == 8) ||
		(dateArray[1]*1 == 10) ||
		(dateArray[1]*1 == 12)
		))
	{
		returnValue = false;
	}
	else if ((dateArray[0]*1 > 30) && (
		(dateArray[1]*1 == 4) ||
		(dateArray[1]*1 == 6) ||
		(dateArray[1]*1 == 9) ||
		(dateArray[1]*1 == 11) 
		))
	{
		returnValue = false;
	}
	else if ((dateArray[0]*1 > 29) && (dateArray[1]*1 == 2) && (dateArray[2]%4 == 0))
	{
		returnValue = false;
	}
	else if ((dateArray[0]*1 > 28) && (dateArray[1]*1 == 2) && (dateArray[2]%4 > 0))
	{
		returnValue = false;
	}
	return returnValue;
}

function timeIsValid(timeString,format)
{
	returnValue = true;
	if (format == "hh:mm")
	{
		timeArray = timeString.split(":");
		if (timeArray.length != 2)
		{
			returnValue = false;
		}
		else if ((timeArray[0]%1 > 0) || (timeArray[1]%1 > 0) )
		{
			returnValue = false;
		}
		else if ((timeArray[0]*1 < 0) || (timeArray[1]*1 < 0))
		{
			returnValue = false;
		}
		else if (timeArray[1].length != 2)
		{
			returnValue = false;
		}
		else if ((timeArray[0]*1 > 23) || (timeArray[1]*1 > 59))
		{
			returnValue = false;
		}
	}
	return returnValue;
}

function dateAdd(datepart, number, inputDateString)
{
	if (dateIsValid(inputDateString))
	{
		returnDate = new Date();
		inputDateArray = inputDateString.split("/");
		inputYear = inputDateArray[2]*1;
		inputMonth = inputDateArray[1]*1 - 1;
		inputDay = inputDateArray[0]*1;
		returnDate.setYear(inputYear);
		returnDate.setMonth(inputMonth);
		returnDate.setDate(inputDay);
		if (datepart == "year")
		{
			returnDate.setYear(inputYear + number*1);
		}
		else if (datepart == "month")
		{
			returnDate.setMonth(inputMonth + number*1);
		}
		else if (datepart == "day")
		{
			returnDate.setDate(inputDay + number*1);
		}
		outputYear = returnDate.getFullYear();
		outputMonth = returnDate.getMonth();
		outputDay = returnDate.getDate();
		return dateFormat(returnDate, "eu");
	}
	else
	{
		return "";
	}
}

function createEuroDate(year, month, day)
{
	returnDate = new Date();
	returnDate = returnDate.setYear(year*1 + number*1);
	returnDate = returnDate.setMonth(month*1 + number*1);
	returnDate = returnDate.setMonth(day*1 + number*1);
	return returnDate;
}

function dateFormat(date,format)
{
	outputYear = date.getFullYear()*1;
	outputMonth = date.getMonth()*1 + 1;
	outputDay = date.getDate()*1;
	if (outputYear < 100)
	{
		outputYear = "20" + outputYear;
	}
	if (outputMonth < 10)
	{
		outputMonth = "0" + outputMonth;
	}
	if (outputDay < 10)
	{
		outputDay = "0" + outputDay;
	}
	if (format == "eu")
	{
		return outputDay + "/" + outputMonth + "/" + outputYear;
	}
	else
	{
		return outputMonth + "/" + outputDay + "/" + outputYear;
	}
}

function round15Minutes(valueString)
{
	if (isNaN(valueString))
	{
		return "";
	}
	returnValue = 0;
	dif = valueString%15;
	if (dif > 0)
	{
		returnValue = valueString*1 + (15 - dif);
	}
	else
	{
		returnValue = valueString;
	}
	if (returnValue < 10)
	{
		returnValue = "0" + returnValue + ""; 
	}
	return returnValue;
}

function dateRound15Minutes(dateVar)
{
	curMinute = round15Minutes(dateVar.getMinutes());
	if (curMinute == 60)
	{
		curHour = dateVar.getHours()+1;
		curMinute = "00";
	}
	else
	{
		curHour = dateVar.getHours();
	}
	if (curHour > 23)
	{
		dateString = dateFormat(dateVar,"eu");
		curDate = dateAdd("day", 1, dateString);
	}
	else
	{
		curDate = dateVar;
	}
	curDate.setHours(curHour);
	curDate.setMinutes(curMinute);
	curDate.setSeconds(0);
	return curDate;
}

