/*****************************
*
*  DATE UTILS v1.1
*
*
*
/****************************/

function getDateFromTimestamp(timestamp)
{
  var len = timestamp.length;
  timestamp = timestamp.substring(0, timestamp.indexOf("."));
  var pattern = /-/g;
  var newTimestamp = timestamp.replace(pattern, "/");
  var result = new Date(Date.parse(newTimestamp));
  
  return result;
}

function addHour(date, hour)
{
  date.setHours(date.getHours() + hour);
  return date;
}

function addDay(date, day)
{
  return new Date(date.getYear(), date.getMonth(), date.getDate() + day);
}

function addMonth(date, month)
{
  return new Date(date.getYear(), date.getMonth() + month, date.getDate());
}

function addYear(date, year)
{
  return new Date(date.getYear() + year, date.getMonth(), date.getDate());
}

function setElementsDate(date, dayElement, monthElement, yearElement)
{  
  dayElement.value = date.getDate();
  monthElement.value = date.getMonth()+1;
  yearElement.value = date.getYear();
}

function setToday(dayElement, monthElement, yearElement)
{
  var todayDate = new Date();
  
  setElementsDate(todayDate, dayElement, monthElement, yearElement);
}

function setPastWeek(dayElement, monthElement, yearElement)
{
  var date = addDay(new Date(), -7);
  setElementsDate(date, dayElement, monthElement, yearElement);
}

function setPastMonth(dayElement, monthElement, yearElement)
{
  var date = addMonth(new Date(), -1);
  setElementsDate(date, dayElement, monthElement, yearElement);
}

function getFromDateString(date)
{
  var result = "";
  result += "&fromDate:year=" + date.getYear();
  result += "&fromDate:month=" + (date.getMonth()+1);
  result += "&fromDate:day=" + date.getDate();
  result += "&fromDate:hour=" + date.getHours();
  result += "&fromDate:minute=" + date.getMinutes();
  result += "&fromDate:sec=" + date.getSeconds();
  
  return result
}

function getToDateString(date)
{
  var result = "";
  result += "&toDate:year=" + date.getYear();
  result += "&toDate:month=" + (date.getMonth()+1);
  result += "&toDate:day=" + date.getDate();
  result += "&toDate:hour=" + date.getHours();
  result += "&toDate:minute=" + date.getMinutes();
  result += "&toDate:sec=" + date.getSeconds();
  
  return result
}

function getFirstMondayOfMonth(date)
{
  var srcDate = new Date(date.getYear(), date.getMonth(), 1);
  while(srcDate.getDay() != 1)
    srcDate = addDay(srcDate, 1);
  
  return srcDate;
}
