function TestMag(objet,Nom) 
{
	var zon=document.form1.id_mag.value;
	if(!(zon)){
		if (confirm(Nom + " obligatoire")==true)
			
		return false;
	}
	return true;
}

function TestVide(objet,Nom)
{
	zone = objet.value;
	while (zone.length > 0 && (zone.substring(zone.length-1,zone.length)==' '))
	{
		objet.value = zone.substring(0,zone.length-1);
		zone = objet.value;
	}
	if (objet.value.length == 0)
	{
		if (confirm(Nom + " obligatoire")==true)
			objet.focus();
		return false;
	}
	return true;
}

function isNumeric(zone)
{
var i;
	for (i = 0 ; i< zone.length; i++)
	{
		if (zone.substring(i,i+1) < "0" || zone.substring(i,i+1) > "9")
			return false;
	}
	return true;
}

function TestCP()
{
	if (isNumeric(document.form1.CP.value) == false)
	{
		if (confirm("Code postal incorrect")==true)
			document.form1.CP.focus();
		return false;
		}

	if (document.form1.CP.value.length==1)
		{
		document.form1.CP.value="0000"+ document.form1.CP.value;
		}
	if (document.form1.CP.value.length==2)
		{
		document.form1.CP.value="000"+ document.form1.CP.value;
		}
	if (document.form1.CP.value.length==3)
		{
		document.form1.CP.value="00"+ document.form1.CP.value;
		}
	if (document.form1.CP.value.length==4)
		{
		document.form1.CP.value="0"+ document.form1.CP.value;
		}

	if (document.form1.CP.value.length != 5)
		{
			if (confirm("Code postal incomplet")==true)
			document.form1.CP.focus();
		return false;
		}
	return true;
}

function ValidCp()
{
    if (TestCP() == false)
	{
		return;
	}
}

/*
**************************************************
 POPUP
**************************************************
*/
function Message(URL,Nom,Attributs)
{
window.open(URL,Nom,Attributs);
}

/*
**************************************************
  verification de l adresse email
**************************************************
*/
function checkEmail(emailAddr) {
	// Cette fonction vérifie la bon format d'une adresse e-mail.
	// Comme :
	// user@domain.com ou user.perso@domain.com
	
	var i;
	
	// Recherche de @
	i = emailAddr.indexOf("@");
	if (i == -1) {
		return false;
	}
	
	// Séparation du nom de l'utilisateur et du nom de domaine.
	var username = emailAddr.substring(0, i);
	var domain = emailAddr.substring(i + 1, emailAddr.length)

	// Recherche de . dans le domaine
	i = domain.indexOf(".");
	if (i == -1) {
		return false;
	}

	// Recherche des espaces au début du nom de l'utilisateur.
	i = 0;
	while ((username.substring(i, i + 1) == " ") && (i < username.length)) {
		i++;
	}
	// Les enlève s'il en trouve.
	if (i > 0) {
		username = username.substring(i, username.length);
	}

	// Recherche d'espaces à la fin du nom de domaine.
	i = domain.length - 1;
	while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
		i--;
	}
	// Les enlève s'il en trouve.
	if (i < (domain.length - 1)) {
		domain = domain.substring(0, i + 1);
	}

	// Vérifie que le nom de l'utilisateur et du domaine ne soit pas vide.
	if ((username == "") || (domain == "")) {
		return false;
	}
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de l'utilisateur.
	var ch;
	for (i = 0; i < username.length; i++) {
		ch = (username.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de domaine
	for (i = 0; i < domain.length; i++) {
		ch = (domain.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}
	return true;
}	
	

function emailOK(emailAddr) {
	if (!(checkEmail(emailAddr))) {
		alert("Merci de vérifier votre adresse e-mail. Elle n\'est pas dans le bon format.");
	}
}

/*
**************************************************
  Position d un objet
**************************************************
*/
function TrouvePosition(obj) {
    var curleft = obj.offsetLeft || 0;
    var curtop = obj.offsetTop || 0;
    while (obj = obj.offsetParent) {
        curleft += obj.offsetLeft
        curtop += obj.offsetTop
    }
    return {x:curleft,y:curtop};
}



/*
**************************************************
 Case a cocher sur formulaire
**************************************************
*/
function Etranger2()
{
	document.form1.action="deman_numabo.php?adresse=E";
	document.form1.submit();
}
/*
**************************************************
 Case a cocher sur formulaire
**************************************************
*/
function France2()
{
	document.form1.action="deman_numabo.php?adresse=F";
	document.form1.submit();
}

/*
**************************************************
 Case a cocher sur formulaire
**************************************************
*/
function France(opt,adr,SID,codgrp,page)
{
//  document.form1.onSubmit="";
	document.form1.action=page+"?edit="+opt+"&adresse=F&"+SID+"&codgrp="+codgrp;
//  document.getElementsByName("form1").submit();
	document.form1.submit();
}


/*
**************************************************
 Case a cocher sur formulaire
**************************************************
*/
function Etranger(opt,adr,SID,codgrp,page)
{
//url = "http://www.dipresse.fr/"+page+"?edit="+opt+"&adresse=E&"+SID+"&codgrp="+codgrp;
//document.location(url);
//  document.form1.onSubmit="";
 	document.form1.action.value=page+"?edit="+opt+"&adresse=E&"+SID+"&codgrp="+codgrp;
//	document.forms[0].action=page+"?edit="+opt+"&adresse=E&"+SID+"&codgrp="+codgrp;
//  document.getElementsByName("form1").submit();
 	document.form1.submit();
}

/*
**************************************************
 Validation du formulaire
**************************************************
*/
function accepter(option,lngCODABO,page)
{


	if(TestVide(document.form1.NOM,"Nom")==false)
		{return;}
	if(TestVide(document.form1.PRENOM,"Prénom")==false)
		{return;}
	if(TestVide(document.form1.VOIE,"Voie")==false)
		{return;}
  if (TestCP() == false)
		{return;}
	if(TestVide(document.form1.VILLE,"Ville")==false)
		{return;}
  if(TestVide(document.form1.MAIL,"Courriel(Email)")==false)
		{return;}
	strurl=page+"?option="+option+"&CODABO="+lngCODABO+"&etape=validation";
	document.form1.action=strurl;
	document.form1.submit();

}


/*
**************************************************
 Validation du formulaire
**************************************************
*/
function accepter2()
{

	if(TestMag(document.form1.id_mag.value,"Magazine")==false)
	{return;}
	if(TestVide(document.form1.NOM,"Nom")==false)
		{return;}
	if(TestVide(document.form1.PRENOM,"Prénom")==false)
		{return;}
	if (TestCP() == false)
		{return;}
	if(TestVide(document.form1.VILLE,"Ville")==false)
		{return;}
  	if(TestVide(document.form1.MAIL,"Courriel(Email)")==false)
		{return;}

	strurl="deman_numabo.php?etape=validation";
	document.form1.action=strurl;
	document.form1.submit();

}

/*
**************************************************
 scan de touche sur keypresse
 onKeyPress="return scanTouche(event);"
**************************************************
*/
function codeTouche(evenement)
{
	for (prop in evenement)
	{
		if(prop == 'which') return(evenement.which);
	}
	return(evenement.keyCode);
}

function pressePapierNS6(evenement,touche)
{
	var rePressePapierNS = /[cvxz]/i;
	var isModifiers = false

	for (prop in evenement) if (prop == 'ctrlKey') isModifiers = true;
	if (isModifiers) return evenement.ctrlKey && rePressePapierNS.test(touche);
	else return false;
}

function scanTouche(evenement)
{
	var reCarSpeciaux = /[\x00\x08\x0D\x03\x16\x18\x1A\x2F]/;
	var reCarValides = /\d/;

	var codeDecimal  = codeTouche(evenement);
	var car = String.fromCharCode(codeDecimal);
	var autorisation = reCarValides.test(car) || reCarSpeciaux.test(car) || pressePapierNS6(evenement,car);

	return autorisation;
}

/*
**************************************************
 scan la saisie d'un champ 0 à 9
**************************************************
*/
function scanChamp(objChamp)
{
	var reContenuValide = /^\d*$/; //Que des chiffres
	var reCarSpeciaux = /[\x00\x08\x0D\x2F]/;
	if (!reContenuValide.test(objChamp.value) && !reCarSpeciaux.test(objChamp.value))
	{
		objChamp.value = '';
		objChamp.focus();
		alert('Chiffres ou caractère / !');
	}
}

/*
**************************************************
 obtention de ville
**************************************************
*/
function getville(vcp) {
if (vcp.type=='select-one') {
  villeget(vcp.options[vcp.options.selectedIndex].value);
} else {
  villeget(vcp.value);
}
}

function villeget(donne) {
var xhr_object = null;

 if(window.XMLHttpRequest) // Firefox
    xhr_object = new XMLHttpRequest();
 else if(window.ActiveXObject) // Internet Explorer
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
 else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    return;
 }

 var method   = "POST";
 var filename = "ajax/listville.php";
 var data     = null;

 if(donne != "" && donne != "undefined")
    data = "donne="+donne;

 if(method == "GET" && data != null) {
    filename += "?"+data;
    data      = null;
 }   

 xhr_object.open(method, filename, true);

 xhr_object.onreadystatechange = function() {
    if(xhr_object.readyState != 4) {

      var nico = document.getElementById('posCP');
      nicores = (TrouvePosition(nico));
      var iea = document.getElementById('imageattente');
      iea.style.display="block";
      iea.style.position="absolute";
      iea.style.top=nicores.y+"px";
      iea.style.left=nicores.x+"px";   
  
    }
    if(xhr_object.readyState == 4) {
      var strresptext = xhr_object.responseText;
      var iea = document.getElementById('imageattente');
      iea.style.display="none";
      if(strresptext=='0') {
        document.getElementById('chpmeserr').innerHTML = 'aucune ville ne correspond à ce code postal.';
      } else {
        if(strresptext.substr(0, 1)=='<') {
          document.getElementById('idvi').innerHTML = strresptext;
          document.getElementById('chpmeserr').innerHTML = '';
        } else {
          strrpl='<input TYPE="text" NAME="city" size="26" maxlength="26" class="textupper" value="'+strresptext+'">';
          document.getElementById('idvi').innerHTML = strrpl;
          document.getElementById('chpmeserr').innerHTML = '';
        }
      }
    }
 }

 if(method == "POST")
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

 xhr_object.send(data);
}

function restinp(vcp) {
if (vcp.type=='select-one') {
  strresptext=vcp.options[vcp.options.selectedIndex].value;
  posvirgule=strresptext.indexOf(",",0);
  strville=strresptext.substr(0,posvirgule)
  strcp=strresptext.substr(posvirgule+1,strresptext.length)
  strrpl='<input TYPE="text" NAME="city" style="background-color:#E6E6FA" size="26" maxlength="26" class="textupper" value="'+strville+'">';
  document.getElementById('idvi').innerHTML = strrpl;
  document.form1.postcode.value=strcp;
}
}

