function GetNewTime( iInitialDateTime, iTimeMeasurement )
{
  var newTime = new Date(iInitialDateTime);
  try
  {
    if( typeof(newTime) == "string" )
      newTime = new Date(newTime);
  	var re_englishTime = /^(-?[0-9]*) (second|minute|hour|day|week|month|year)s?$/i;
  	if( iTimeMeasurement.length > 0 )
  	{
  		//break string into number and measurement components.
  		var num = iTimeMeasurement.replace(re_englishTime, "$1") * 1;
  		var measure = iTimeMeasurement.replace(re_englishTime, "$2").toLowerCase();
  		newTime = ConvertDate(newTime, num, measure);
  	}
  }
  catch( e )
  {
    //eat it
  }
	
	return newTime;
}

function ConvertDate( iDate, iNum, iMeasure )
{
	myDate = iDate;
	try
	{
  	if( typeof(myDate) == "string" )
      myDate = new Date(myDate);
  	switch( iMeasure.toLowerCase() )
  	{
  		case "second":
  			myDate.setSeconds(myDate.getSeconds() + iNum);
  			break;
  		case "minute":
  			myDate.setMinutes(myDate.getMinutes() + iNum);
  			break;
  		case "hour":
  			myDate.setHours(myDate.getHours() + iNum);
  			break;
  		case "day":
  			myDate.setDate(myDate.getDate() + iNum);
  			break;
  		case "week":
  			myDate.setDate(myDate.getDate() + (iNum * 7));
  			break;
  		case "month":
  			myDate.setMonth(myDate.getMonth() + iNum);
  			break;
  		case "year":
  			myDate.setFullYear(myDate.getFullYear() + iNum);
  			break;
  	}
  }
  catch( e )
  {
    //eat it
  }
  
	return myDate;
}

