String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g, ""); }

function addDate(type,nb,d){
	d = new Date(d);
	var an = d.getFullYear();
	var mois = d.getMonth();
	var jour = d.getDate();
	switch(type){
		case "d": 	jour = eval(jour+nb);
					break;
		case "m":	mois = eval(mois+nb);
					break;
		case "y":	an = eval(an+nb);
					break;
	}
	var res = new Date(an,mois,jour);
	return res;
}
function dater(dat){
	if (dat.indexOf('\/')==2 || dat.indexOf('\/')==1) {
		tmp=dat.split('\/');
		if (tmp.lengh < 1) return false;
		if (tmp[0]<1 || tmp[0]>31) return false;
		if (tmp[1]<1 || tmp[1]>12) return false;
		if (!(tmp[2]>1800 && tmp[2]<2200)) return false;
		return true;
	}
	return false;
}

function majeur(str){
	jour =parseFloat(str.substr(0,2));
	mois =parseFloat(str.substr(3,2));
	annee=parseFloat(str.substr(6,4));
	var d= new Date(annee,mois-1,jour);
	
	var aujdui = new Date();
	var d2 = addDate("y",-18,aujdui);
	
	if (d2>d) return true;
	else return false;
}

function plusdetrenteans(str){
	jour =parseFloat(str.substr(0,2));
	mois =parseFloat(str.substr(3,2));
	annee=parseFloat(str.substr(6,4));
	var d= new Date(annee,mois-1,jour);
	
	var aujdui = new Date();
	var d2 = addDate("y",-30,aujdui);
	
	if (d2>d) return true;
	else return false;
}
function plusdequarantecinqans(str){
	jour =parseFloat(str.substr(0,2));
	mois =parseFloat(str.substr(3,2));
	annee=parseFloat(str.substr(6,4));
	var d= new Date(annee,mois-1,jour);
	
	var aujdui = new Date();
	var d2 = addDate("y",-45,aujdui);
	
	if (d2>d) return true;
	else return false;
}


function isset(varname)  {
  if(typeof( window[ varname ] ) != "undefined") return true;
  else return false;
}

function isNumeric(obj){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   sText = obj.value;
   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         alert("Ce champs ne doit contenir que des chiffres");
		 obj.select();
		 return false;
      }
   }
   return true;
 }
 
 function isInt(sText){
 	var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         return false;
      }
   }
   return true;
 }
 
 function isFloat(obj){
   var ValidChars = "0123456789.";
   var Char;
   sText = obj.value;
   for (i = 0; i < sText.length; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         alert("Ce champs ne doit contenir que des chiffres éventuellement séparés par un point");
		 obj.select();
		 return false;
      }
   }
   return true;
 }
 
 function blurDate(obj){
	if (obj.value!=""){
		if (!dater(obj.value)){
			alert("La date a un mauvais format");
			obj.select();
			return false;
		}
	}
	return true;
}

function validDep(obj){
	res = true;
	if (obj.value.trim()!=""){
		if (isInt(obj.value)){
			if (obj.value.trim().length>2){
				if (obj.value.trim()!="971" && obj.value.trim()!="972" && obj.value.trim()!="973" && obj.value.trim()!="974" && obj.value.trim()!="987"){
					alert("Le numéro de département n'est pas valide. Il est normalement constitué de 2 chiffres ou 3 pour les départements d'outre-mer");
					obj.select();
					res = false;
				}
			}
			else if (obj.value.trim().length<2){
				alert("Un code de département est composé de 2 chiffres");
				obj.select();
				res = false;
			}
			else if (obj.value=="00"){
				alert("Ce champ ne peut avoir la valeur 00 (pour l'etranger tapez 99)");
				obj.select();
				res = false;
			}
			else if (obj.value>95 && obj.value!="99"){
				alert("Les numéros de départements sont compris entre 01 et 95 sauf la Corse (2A ou 2B) et les départements d'outre-mer (971,972,973,974)");
				obj.select();
				res = false;
			}
		}
		else {
			if (obj.value.trim().toUpperCase()!="2A" && obj.value.trim().toUpperCase()!="2B"){//corse
				alert("Ce champ doit comporter des chiffres uniquement, sauf pour la corse (2A ou 2B)");
				obj.select();
				res = false;
			}
			else {
				obj.value = obj.value.trim().toUpperCase();
			}
		}
	}
	return res;
}

function validCP(obj){
	res = true;
	if (obj.value.trim()!=""){
		if (isNumeric(obj)){
			if (obj.value.trim().length<5){
				alert("Un code postal est composé de 5 chiffres");
				obj.select();
				res = false;
			}
			else if (obj.value=="00000"){
				alert("Ce champ ne peut avoir la valeur 00000 (pour l'etranger tapez 99999)");
				obj.select();
				res = false;
			}
		}
		else res = false;
	}
	return res;
}

function validTel(obj){
	if (obj.value.trim()!=""){
		if (isNumeric(obj)){
			if (obj.value.length<10){
				alert("Un numéro de téléphone est composé de 10 chiffres");
				obj.select();
			}
		}
	}
}

function adresse_identique(){
	if (document.myform.adresse.checked){
		document.myform.numero_colocataire.value=document.myform.numero_locataire.value;
		document.myform.rue1_colocataire.value=document.myform.rue1_locataire.value;
		document.myform.rue2_colocataire.value=document.myform.rue2_locataire.value;
		document.myform.cp_colocataire.value=document.myform.cp_locataire.value;
		document.myform.ville_colocataire.value=document.myform.ville_locataire.value;
	}
	else {
		document.myform.numero_colocataire.value="";
		document.myform.rue1_colocataire.value="";
		document.myform.rue2_colocataire.value="";
		document.myform.cp_colocataire.value="";
		document.myform.ville_colocataire.value="";
	}	
}

//controle la validite de la date et la contrainte sur l'anteriorité
function dateNaiss(str){
		jour =parseFloat(str.substr(0,2));
		mois =parseFloat(str.substr(3,2));
		annee=parseFloat(str.substr(6,4));
		var d= new Date(annee,mois-1,jour);
		
		jour2 = d.getDate();
		mois2 = d.getMonth()+1;
		annee2 = d.getFullYear();
		
		aujdui = new Date();
		
		if ((jour2!=jour) || (mois2!=mois) || (annee!=annee2)||(d>aujdui)){
			return false;
		}
		else return true;
}

function isDate(str){
		jour =parseFloat(str.substr(0,2));
		mois =parseFloat(str.substr(3,2));
		annee=parseFloat(str.substr(6,4));
		var d= new Date(annee,mois-1,jour);
		
		jour2 = d.getDate();
		mois2 = d.getMonth()+1;
		annee2 = d.getFullYear();
		
		if ((jour2!=jour) || (mois2!=mois) || (annee!=annee2)){
			return false;
		}
		else return true;
}

function dateBailLoca(obj){
	str = obj.value;
	if (str!=""){
		jour =parseFloat(str.substr(0,2));
		mois =parseFloat(str.substr(3,2));
		annee=parseFloat(str.substr(6,4));
		var d= new Date(annee,mois-1,jour);
		
		jour2 = d.getDate();
		mois2 = d.getMonth()+1;
		annee2 = d.getFullYear();
		
		limite = new Date();
		limite.setMonth(limite.getMonth()-2)
		limite.setDate(limite.getDate()-1)
		
		if ((jour2!=jour) || (mois2!=mois) || (annee!=annee2)){
			alert("La date est invalide.");
			obj.select();
		}
		else if (d<limite){
			alert("La date d'effet du bail ne peut dater de plus de 2 mois.");
			obj.select();
		}
		else return true;
	}
}