timer_check_date = 0;

function checkDate(){

	$("form.periode input").keyup(function () {
		
		if( $(this).val().length = 8){
			
			id_input = $(this).attr("id");
			if(id_input = 'from')id_other = 'to';
			else id_other = 'from';
			
			clearTimeout(timer_check_date);
			
			timer_check_date = setTimeout(function() {
		
				if(verifdate($("input#"+id_input).val()) && verifdate($("input#"+id_other).val())){
					if(orderDate()){setZoom();}
					else $("div#flashcontent").html('<p style="height:80px;text-align:center;padding-top:70px;">Les dates entr&eacute;es sont trop proches.</p>');
				}
			},"1000");
		}
	});
}

$(document).ready(function() {checkDate();});

function verifdate(d) {
  var dateaverifier=d
  // rangement de la date dans des variables
  if (dateaverifier.substring(0,1)=="0"){
         var j=parseInt(dateaverifier.substring(1,2));
      }
      else {
         var j=parseInt(dateaverifier.substring(0,2));
      }
      if (dateaverifier.substring(3,4)=="0"){
         var m=parseInt(dateaverifier.substring(4,5));
      }
      else {
         var m=parseInt(dateaverifier.substring(3,5));
         }
      var a=parseInt(dateaverifier.substring(6,8));
   //si la longueur est différent de 8 , problème
     if (dateaverifier.length != 8) {
         return false;
   }
   //les caratères / ne sont pas aux endroits attendus
   else {
      if((dateaverifier.charAt(2) != '/') && (dateaverifier.charAt(5) != '/')) {
         return false;
      }
   }
   //l'année n'est pa un chiffre
   if (isNaN(a)) {
      return false;
    }
   //le mois n'est pas un chiffre ou n'est pas compris entre 0 et12
     if ((isNaN(m))||(m<1)||(m>12)) {
      return false;
    }

   if ((isNaN(j)) || ((m!=2) && ((j<1)||(j>31))) || ((m==2) && ((j<1)||(j>29)))){
         return false;
    }

   return true;
}

function orderDate() {
	
	var from = $("input#from").val();
	var to = $("input#to").val();
	var timestampDate = new Date();
	var today = new Date();
	var cinqans = 157766400000;
	var deuxjours = 172800000;
	
if (from.length == 8) {
			// Convert to timestamp
			reg = new RegExp("[/]+", "g");
			var splitted = from.split(reg);
			
			timestampDate.setDate(splitted[0]);
			timestampDate.setMonth(splitted[1]-1);
			timestampDate.setFullYear('20'+splitted[2]);

			var ts_from = timestampDate.getTime();

		}

if (to.length == 8) {
			// Convert to timestamp
			reg = new RegExp("[/]+", "g");
			var splitted = to.split(reg);
			timestampDate.setDate(splitted[0]);
			timestampDate.setMonth(splitted[1]-1);
			timestampDate.setFullYear('20'+splitted[2]);

			var ts_to = timestampDate.getTime();

		}
	
	if(ts_from > ts_to){
		$("input#from").val(to);
		$("input#to").val(from);
		from = $("input#from").val();
		to = $("input#to").val();
		temp = ts_to;
		ts_to = ts_from;
		ts_from = temp;
	}
	
	var ts_today = today.getTime();
	
	if(ts_to > ts_today){
	ts_to = ts_today;
	
	var new_to = today.setTime(ts_to);
	var day = today.getUTCDate(ts_to);
	if(day < 10) day = '0'+ day;
	new_to = day+'/';
	var month = today.getUTCMonth(ts_to)+1;
	if(month < 10) month = '0'+ month;
	new_to += month+'/';
	var year = today.getUTCFullYear(ts_to).toString();
	new_to += year.substring(2,4);
	$("input#to").val(new_to);
	}
	
	if(ts_from < (ts_today-cinqans)){
	ts_from = ts_today-cinqans;
	
	var cinqans_date = new Date();
	var new_from = cinqans_date.setTime(ts_from);
	var day = cinqans_date.getUTCDate(ts_from);
	if(day < 10) day = '0'+ day;
	new_from = day+'/';
	var month = cinqans_date.getUTCMonth(ts_from)+1;
	if(month < 10) month = '0'+ month;
	new_from += month+'/';
	var year = cinqans_date.getUTCFullYear(ts_from).toString();
	new_from += year.substring(2,4);
	$("input#from").val(new_from);
	}
	
	if(Math.abs(ts_to-ts_from) < deuxjours){
	return false;
	}
	
	return true;
}