function CheckDateFormat( sFieldName )
{
	var oField = document.getElementById( sFieldName );
	var sText = oField.value
	var sMsg = ''
	var sRes = ''

	if ( sText != '' )
	{
		var d = sText.split('/')

		if ( d.length == 2 )
		{
			var d = new Date()
			d[2] = d.getFullYear()
		}
		
		if ( d.length != 3 )
		{
			sMsg = 'Invalid date format - ' + sText
		}
		else
		{
			if ( isNaN(parseInt(d[0],10)) || d[0] > 31 || d[0] < 1 )
			{
				sMsg = 'Invalid day of month - ' + d[0]
			}
			else if ( isNaN(parseInt(d[1],10)) || d[1] > 12 || d[1] < 1 )
			{
				sMsg = 'Invalid month - ' + d[1]			
			}
			else if ( isNaN(parseInt(d[2],10)) )
			{
				sMsg = 'Invalid day of year - ' + d[2]			
			}
			else if ( d[2] > -1 && d[2] < 100 )
			{
				d[2] = parseInt(d[2],10) + 2000
			}
			
			if ( d[2] < 1900 || d[2] > 3000 )
			{
				sMsg = 'Invalid year - ' + d[2]
			}
			
			var day, month
			
			day = parseInt(d[0],10)
			if (day<10)
				day = '0' + day
			
			month = parseInt(d[1],10)
			if ( month<10 )
				month = '0' + month
			
			sRes = day + '/' + month  + '/' + parseInt(d[2],10) 
		}
	}

	if ( sMsg != '' )
	{
		alert( sMsg );
		oField.focus();
		oField.select();
	}
	else
	{
		oField.value  = sRes
	}
}


Date.prototype.Add = function( interval, i )
	{
		var newdate = new Date( this );
		i = parseInt(i)
		switch (interval)
		{
			case 'd':
			{
				newdate.setDate( this.getDate() + i );
				return newdate;
			}
			case 'w':
			{
				newdate.setDate( this.getDate() + i*7 );
				return newdate;		
			}
		
		}
	}


	Date.prototype.DatabaseDate = function()
	{
		return (this.getMonth()+1) + '/' + this.getDate() + '/' + this.getFullYear()
	}

	Date.prototype.EnglishDate = function()
	{

		var day, month
				
		day = parseInt(this.getDate(),10)
		if (day<10)
			day = '0' + day
				
		month = parseInt((this.getMonth()+1),10)
		if ( month<10 )
			month = '0' + month

		return day + '/' + month + '/' + this.getFullYear()
	}

	String.prototype.GetDate = function()
	{
		var sText = this;
		var sMsg = ''
		var sRes = ''
		
		if ( sText != '' )
		{
			var d = sText.split('/')

			if ( d.length == 2 )
			{
				var d = new Date()
				d[2] = d.getFullYear()
			}
			
			if ( d.length != 3 )
			{
				sMsg = 'Invalid date format - ' + sText
			}
			else
			{
				if ( isNaN(parseInt(d[0],10)) || d[0] > 31 || d[0] < 1 )
				{
					sMsg = 'Invalid day of month - ' + d[0]
				}
				else if ( isNaN(parseInt(d[1],10)) || d[1] > 12 || d[1] < 1 )
				{
					sMsg = 'Invalid month - ' + d[1]			
				}
				else if ( isNaN(parseInt(d[2],10)) )
				{
					sMsg = 'Invalid day of year - ' + d[2]			
				}
				else if ( d[2] > -1 && d[2] < 100 )
				{
					d[2] = parseInt(d[2],10) + 2000
				}
				
				if ( d[2] < 1900 || d[2] > 3000 )
				{
					sMsg = 'Invalid year - ' + d[2]
				}
				
				var day, month
				
				day = parseInt(d[0],10)
				if (day<10)
					day = '0' + day
				
				month = parseInt(d[1],10)
				if ( month<10 )
					month = '0' + month
				
				//sRes = day + '/' + month  + '/' + parseInt(d[2],10)
				sRes =  month + '/' +  day + '/' + parseInt(d[2],10)  
			}
		}
		
		if ( sMsg != '' )
		{
			return null;
		}
		else
		{
			var dRes = new Date( Date.parse( sRes ) );
			return dRes;
		}
	}
