function popup(url,name,width,height){
    if (height =='')
		height=790;
	if (width =='')
		width=330;   
	open1 = window.open(url,name,'height='+height+',width='+width+',top=0,left=0,toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=yes,resizable=1');
	open1.focus();    
}

function controle(str,type,champs){
/*********************************************
Fonction permettant de tester des chaines de caracteres.
Paramètres : 
			str 	->	chaine a tester
			type	->	modele de construction a respecter
			PasMvt  ->  nom du champs retourne si non valide
**********************************************/	
	switch(type) {
		case "email":
			re = new RegExp("^([0-9a-zA-Z-_.]+)(@{1})([0-9a-zA-Z-_.]+)([.]{1})([a-zA-Z]{2,4})$")
		break;
		case "numero":
			re = new RegExp("^([0-9]*)$")
		break;
		case "numero+":
			re = new RegExp("^([0-9 ]*)$")
		break;
		case "texte":
			re = new RegExp("^([a-zA-Z' ]*)$")
		break;
		case "alphanum":
			re = new RegExp("^([0-9a-zA-Z_' -]*)$")		
		break;
		case "alphanum+":
			re = new RegExp("^([0-9a-zA-Z_' -\?\&\.\,\*\+àâäòôöèéêëÇçìîïùûü\(\)\"]*)$")		
		break;
		case "lien":
			re = new RegExp("^([0-9a-zA-Z_'./:-]*)$")
		break;
		case "float":
			re = new RegExp("^([0-9]*[.]*[0-9]*)$")
		break
	}

	if (!re.test(str)) {
		str_erreur= str_erreur+ champs + " " + str_non_valide + " \n";
		return false;
	} else if (str == '') {
		str_erreur= str_erreur+ champs + " " + str_incomplet + " \n";
		return false;
	} else
		return true;
}

function test_date() {
	var msg_error="";
	var jd=document.formulaire.day_arrivee.value;
	var md=document.formulaire.month_arrivee.value;
	var ad=document.formulaire.year_arrivee.value;
	var jf=document.formulaire.day_depart.value;
	var mf=document.formulaire.month_depart.value;
 	var af=document.formulaire.year_depart.value;
	var dated=jd+"/"+md+"/"+ad;
	var datef=jf+"/"+mf+"/"+af;
	if ( (dated.length!=10) || (datef.length!=10) )
		{msg_error=1}
	else {
		var date_correcte_d=true;
		var date_correcte_f=true;
		if (!isdate(dated))  
			date_correcte_d=false;
		if (!isdate(datef))  
			date_correcte_f=false;
		if 	( (!date_correcte_d) || (!date_correcte_f) ){
			if (!date_correcte_d) 
				msg_error=2;
			if (!date_correcte_f) 
				msg_error=3;
		} else {
			if (!isdate_ok(dated,datef)) {msg_error=4}
			if (!isdate_sup_today(dated)) {msg_error=5}
		}
	}
	return(msg_error);
}

function isdate(sDate) {
  var aiDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var iDay;
  var iMonth;
  var iYear;
  if (sDate.substring(1, 2) == '/') {
    iDay = parseInt(sDate.substring(0, 1), 10);
    if (sDate.substring(3, 4) == '/') {
      iMonth = parseInt(sDate.substring(2, 3), 10);
      iYear = parseInt(sDate.substring(4, 8), 10);
    }
    else {
      iMonth = parseInt(sDate.substring(2, 4), 10);
      iYear = parseInt(sDate.substring(5, 9), 10);
    }
  }
  else {
    iDay = parseInt(sDate.substring(0, 2), 10);
    if (sDate.substring(4, 5) == '/') {
      iMonth = parseInt(sDate.substring(3, 4), 10);
      iYear = parseInt(sDate.substring(5, 9), 10);
    }
    else {
      iMonth = parseInt(sDate.substring(3, 5), 10);
      iYear = parseInt(sDate.substring(6, 10), 10);
    }
  }
  if (iDay < 1 || iMonth < 1 || iYear < 0)
    return 0;

  if (iMonth > 12)
    return 0;

  iYear += iYear < 100 ? iYear > 10 ? 1900 : 2000 : 0;
  aiDays[1] += (iYear % 4 ? 0 : iYear % 100 ? 1 : iYear % 400 ?
    iYear == 200 ? 1 : 0 : 1);

  return (iDay <= aiDays[iMonth - 1]);
}

function isdate_ok(d,f){
	if ( (Date.parse(date_en_texte(f))) > (Date.parse(date_en_texte(d))) )
		{return(true)}
	else
		{return(false)}
}
function date_en_texte(madate){
	tabmadate=madate.split("/");
	return(new Date( parseInt(tabmadate[2],10) ,(parseInt(tabmadate[1],10)-1),parseInt(tabmadate[0],10)));
}
