function IsDate (sDate)
{
		// Check string's length
		if ( sDate.length < 6 || sDate.length > 10 ) { 
			return false;
		}
	
		// Get / position
		var lPos1 = sDate.indexOf( "/", 0 )
		if ( lPos1 < 1 || lPos1 > 2 ) {
			return false;
		}
	
		// Get Day
		var sDay = sDate.substring(0, lPos1)
	
		// Get / Position
		var lPos2 = sDate.indexOf( "/", lPos1+1 )
		if ( lPos2 < lPos1+2 || lPos2 > lPos1+3 ) {
			return false;
		}
	
		// Get Month
		var sMonth = sDate.substring(lPos1+1, lPos2)
	
		// Get Year
		var sYear = sDate.substring(lPos2+1, sDate.length)
		
		// Check is number
		if (isNaN(sDay) || isNaN(sMonth) || isNaN(sYear)) {
			return false;
		}

		// Format Year
		if ( sYear.length < 4  || sYear < 1)
			return false;
			
		if (sYear<1900) return false;
/*		if ( sYear.length == 1 || sYear.length == 3 ) {
			return false;
		}
		if ( sYear.length == 2 ) {
			if ( parseInt( sYear ) > 29 ) {
				sYear = "19" + sYear
			} else {
				sYear = "20" + sYear
			}
		}*/

		// Check Month 
		if ( sMonth < 1 || sMonth >12 ) {
			return false;
		}
	
		// Check Day
		if ( sDay < 1 || sDay >31) {
			return false;
		}
	
		// Check Day and Month
		if ( (sMonth==4 || sMonth==6 || sMonth==9 || sMonth==11) && (sDay == 31 ) ) {
			return false;
		}
	
		// Check February	
		if ( sMonth==2 ){
			if ( sDay > 29 ) {
				return false;
			}
			if ( ( sYear / 4 == parseInt( sYear / 4 ) )  
			     && ! ( ( sYear / 100 == parseInt( sYear / 100 ) ) 
		                     && ( sYear / 400 != parseInt( sYear / 400 ) ) ) ) {
				var bLeapYear = true;
			} else {
				var bLeapYear = false;
			}
			if ( ! bLeapYear && sDay==29 ) {
				return false;
			}
		}

		// Compare is the date is minor than today
		var now = new Date();
		var today = new Date(now.getFullYear(),(now.getMonth() + 1),now.getDate());
		var date = new Date(sYear,sMonth,sDay);
	
		if (today < date)
			return false;

		// Date Ok
		return true;
}

function IsMailAddress (sMail)
{
	var Pos    = sMail.indexOf('@')
	var Period   = sMail.lastIndexOf('.')
	var Space    = sMail.indexOf(' ')
	var Length   = sMail.length - 1   // Array is from 0 to length-1
	var invalid = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // invalid characters
	var valid = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid characters
	var end = /\.[a-zA-Z]{2,3}$/; // end of email

	if ((Pos < 3) ||				// Must be atleast 3 characters before @ sign
		(Period <= Pos+1) ||        // Must be atleast one valid char btwn '@' and '.'
		(Period == Length ) ||      // Must be atleast one valid char after '.'
		(Space  != -1) ||           // No empty spaces permitted
		(invalid.test(sMail)) ||	// Mustn't contain invalid characters
		(!valid.test(sMail)) ||		// Must contain valid characters
		(sMail.search(end) == -1))  // Check email's end
	{  
      //alert("Sorry, this email address seems wrong. Please check it.")
      return false;
	}
	return true;
}

function IsYear (theField)
{
	var theYear = theField.value;
	var Length = theYear.length;
	if(theYear<1900) {return false}
	if	((isNaN(theYear)) || (theYear == "") || (Length < 4))
      return false;
	else
      return true;
}