function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function

function checkdate(objName)
{
	var datefield = objName;
	if( datefield.value.lastIndexOf(" ") == -1 )
	{
		yearLength = datefield.value.length - datefield.value.lastIndexOf("/") - 1
		
	}
	else
	{
		yearLength = datefield.value.length - datefield.value.lastIndexOf(" ") - 1
		
	}
	
	//if the date is inferior to 1800, and it has more than 2 characters
	year = datefield.value.substr( datefield.value.length-yearLength );
	
	if( (yearLength > 2) && (year<1800) )
	{ 
		datefield.select();
		alert("That date is invalid. Please try again.");
		datefield.focus();
		return false;
	}
	
	if( datefield.value != "" )
	{
		if (chkdate(objName) == false)
		{
			datefield.select();
			alert("That date is invalid. Please try again.");
			datefield.focus();
			return false;
		}
		else 
		{
			return true;
		}
	}
}

function chkdate(objName)
{
	//var strDatestyle = "US"; //United States date style
	var strDatestyle = "EU";  //European date style

	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var err = 0;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = datefield.value;
	
	if (strDate.length < 1) {
		return false;
	}
	
	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
	{
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
		{
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			
			if (strDateArray.length != 3)
			{
				err = 1;
				return false;
			}
			else
			{
				strDay = strDateArray[0];
				strMonth = strDateArray[1];
				strYear = strDateArray[2];
			}
			
			booFound = true;
   		}
	}
	
	if (booFound == false)
	{
		if (strDate.length>5)
		{
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
   		}
		else
		{
			err = 1;
			return false;
		}
	}
	
	/*if (strYear.length == 2)
	{
		strYear = '20' + strYear;
	}*/
	// US style
	
	if (strDatestyle == "US")
	{
		strTemp = strDay;
		strDay = strMonth;
		strMonth = strTemp;
	}
	
	intday = parseInt(strDay, 10);
	
	if (isNaN(intday))
	{
		err = 2;
		return false;
	}

	intMonth = parseInt(strMonth, 10);
	
	if (isNaN(intMonth))
	{
		for (i = 0;i<12;i++)
		{
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
			{
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
   			}
		}
	
		if (isNaN(intMonth))
		{
			err = 3;
			return false;
   		}
	}
	
	intYear = parseInt(strYear, 10);
	
	if (isNaN(intYear))
	{
		err = 4;
		return false;
	}
	
	if (intMonth>12 || intMonth<1) 
	{
		err = 5;
		return false;
	}

	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
	{
		err = 6;
		return false;
	}
	
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) 
	{
		err = 7;
		return false;
	}

	if (intMonth == 2)
	{
		if (intday < 1)
		{
			err = 8;
			return false;
		}
	
		if (LeapYear(intYear) == true)
		{
			if (intday > 29)
			{
				err = 9;
				return false;
			}
		}
		else
		{
			if (intday > 28)
			{
				err = 10;
				return false;
			}
		}
	}
	
	if (strDatestyle == "US")
	{
		datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
	}
	else
	{
		datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
	}
	
	return true;
}

function LeapYear(intYear)
{
	if (intYear % 100 == 0)
	{
		if (intYear % 400 == 0)
		{ 
			return true;
		}
	}
	else
	{
		if ((intYear % 4) == 0) { return true; }
	}
	
	return false;
}

function checkStartEndDate( start_date, end_date )
{
	var start_year, start_month, start_day, end_year, end_month, end_day;
	var validDates;
		
	validDates = cutDate( start_date, end_date );
	
	if( validDates == "differentFormat" )
	{
		alert("please enter the date  in dd/mm/yyyy' format.");
		return false;
	}
	else
	{
		if( validDates == false )
		{	
			
			return false;
		}
	}
	
	return true;
}

function numberMonth( monthInLetters )
{
	var monthInNumber, i;
	
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	
	i = 0;
	
	while( ( strMonthArray[i] != monthInLetters ) && ( i < 12 ) )
	{
		i++;
	}
	
	if( strMonthArray[i] == monthInLetters )
	{
		monthInNumber = i;
	}
	
	return monthInNumber;
}


function cutDate( start_date, end_date )
{
	var position, start_year, start_month, start_day, end_year, end_month, end_day;
	
	//prepare the start date
	position = start_date.lastIndexOf(" ");
	
	start_year = start_date.substr( position + 1 );	

	start_month = start_date.substr( position - 3, 3 );
	
	start_day = start_date.substr( 0, position - 4 );
	
	//prepare the end date
	position = end_date.lastIndexOf(" ");
	
	end_year = end_date.substr( position + 1 );
	
	end_month = end_date.substr( position - 3, 3 );
	
	end_day = end_date.substr( 0, position - 4 );
	
	//we check that the two dates have the same format yy or yyyy
	if( start_year.length != end_year.length )
	{
		return "differentFormat";
	}
	
	//comparison of the dates
	if( Number(start_year) > Number(end_year) )
	{
		return false;
	}
	else
	{
		if( ( Number(start_year) == Number(end_year) ) && ( numberMonth( start_month ) > numberMonth( end_month ) ) )
		{
			return false;
		}
		else
		{
			if( ( Number(start_year) == Number(end_year) ) && ( numberMonth( start_month ) == numberMonth( end_month ) ) && ( Number(start_day) >= Number(end_day) ) )
			{
				return false;
			}
		}
	}
	
	return true;
}

function CheckStartEndDateTime( start_date, start_time, start_meridium, end_date, end_time, end_meridium )
{
	var start_year, start_month, start_day, end_year, end_month, end_day;
	var validDates;
		
	validDates = cutDate( start_date, end_date );
	
	if( validDates == false )
	{	
		//alert("The start date can't be superior to the end date.");
		return false;
	}
	else
	{
		if( start_date == end_date )
		{	
			if( (start_meridium == "pm") && (end_meridium == "am") )
			{	
				alert("The start time can't be superior to the end time for the same day.");
				return false;
			}
			else
			{
				if( start_meridium == end_meridium )
				{
					if( Number(start_time) >= Number(end_time) )
					{	
						alert("The start time can't be superior or equal to the end time for the same day.");
						return false;
					}
				}
			}
		}
	}
	
	return true;
}

function del_sure() 
{
if (confirm("Are you sure you want to delete?"))
	{
	return;
	}
return false;
}
