function testIp(ip, curIP)
{
var res = true;
var err ='';
if(ip == '')
	err = 'Vous devez indiquez une adresse IP.';
else if(! formalReg(ip))
	err = 'Une adresse Ip est constituée de 4 groupes de chiffres séparés par des points.\n'
		+ 'Par exemple, votre adresse courante est ' + curIP ;
else if(! less256(ip))
	err = 'Chaque groupe de chiffres doit être compris entre 0 et 255.\n'
		+ 'Par exemple, votre adresse courante est ' + curIP ;
else if(localIP(ip))
	err = 'L\'adresse IP indiquée correspond à une adresse sur votre réseau local.\n'
		+' Vous devez indiquer une adresse IP publique sur Internet.\n'
		+ 'Par exemple, votre adresse IP publique courante est ' + curIP ;


if (err != '')
	res = confirm(err+ '\n' +'Voulez-vous continuer malgré tout?');
return res;
}
function formalReg(ip)
{
return ip.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/) != null; 
}
function less256(ip)
{
var res = true;
var octets= ip.split('.');
res &= octets.length == 4;

for(var i =0 ; i<4 ; ++i)
	res &= parseInt(octets[i], 10) < 256;
return res; 
}
function localIP(ip)
{
res = false;

var octets = ip.split('.');
for(var i = 0; i < 4; ++i)
	octets[i] = parseInt(octets[i], 10);

res |= octets[0] == 0;
res |= octets[0] == 10;
res |= octets[0] == 127;
res |= octets[0] == 169 && octets[1] == 254;
res |= octets[0] == 172&& octets[1] >=16 && octets[1] <=31 ;
res |= octets[0] == 192 && octets[1] ==168;
res |= octets[0] == 255 && octets[1] ==255 && octets[2] == 255;

return res;
}
