// JavaScript Document
function validate_date()
{
  var sdate = $("input#df").val();
  var edate = $("input#dt").val();
  d1 = new_date(sdate);
  d2 = d1.start_validate();
  sdate = d2.format("dd.mm.yyyy");
  d3 = new_date(edate);
  d4 = d3.stop_validate(d1);
  edate = d4.format("dd.mm.yyyy");
  
  $("input#df").attr('value', sdate);
  $("input#dt").attr('value', edate);
}

function new_date(date)
{
	var date_arr = date.split('.');
	var year = date_arr[2];
	var mouth = date_arr[1];
	var days = date_arr[0];
	var ndate = new Date(year, mouth, days);
	var ndate = new Date(ndate.getFullYear(), ndate.getMonth()-1, ndate.getDate())
	return ndate;
}

/*
**
*/

function formatDate(formatDate, formatString)
{
  		var yyyy = formatDate.getFullYear();
  		var yy = yyyy.toString().substring(2);
  		var m = formatDate.getMonth() + 1;
  		var mm = m < 10 ? "0" + m : m;
  		var d = formatDate.getDate();
 		var dd = d < 10 ? "0" + d : d;

  		var h = formatDate.getHours();
		var hh = h < 10 ? "0" + h : h;
		var n = formatDate.getMinutes();
		var nn = n < 10 ? "0" + n : n;
		var s = formatDate.getSeconds();
		var ss = s < 10 ? "0" + s : s;

		formatString = formatString.replace(/yyyy/i, yyyy);
		formatString = formatString.replace(/yy/i, yy);
		formatString = formatString.replace(/mm/i, mm);
		formatString = formatString.replace(/m/i, m);
		formatString = formatString.replace(/dd/i, dd);
		formatString = formatString.replace(/d/i, d);
		formatString = formatString.replace(/hh/i, hh);
		formatString = formatString.replace(/h/i, h);
		formatString = formatString.replace(/nn/i, nn);
		formatString = formatString.replace(/n/i, n);
		formatString = formatString.replace(/ss/i, ss);
		formatString = formatString.replace(/s/i, s);

		return formatString;	
}

function start_validate(date)
{
  d = new Date();
  d2 = new Date(d.getTime());
  if (d2.getTime() > date.getTime())
  {
	return d2;
  }
  else
  {
	return date;
  }
}

function stop_validate(sdate, edate)
{
  edate = new Date(edate.getTime()+86400000);
  if (edate > sdate.getTime())
  {
	return edate;
  }
  else
  {
	return sdate;
  }
  return sdate;
}

Date.prototype.format = function(format)
{
	return formatDate(this, format);
}
Date.prototype.start_validate = function(date)
{
	return start_validate(this, date);
}
Date.prototype.stop_validate = function(date)
{
	return stop_validate(this, date);
}