// JavaScript Document
/** *********************************************************
*	@file www/js/codes_postaux.js
*	@author COPHIGNON CYRIL
*	@date	31/08/2006
*	@brief bibliotheque javascript de gestion des codes postaux
*************************************************************/

/**
 * @fn IsCP(valeur)
 * @brief fonction verfiant la chaine passe en parametre est un numero de code postal francais valide
 * @param valeur string code postal
 * @param pays int numero identifiant du pays
 * @param true ou false
 */
function IsCP(valeur, pays)
{
	var dep_ok=true;
	switch(Number(pays))
	{
		case 133://NL
		case 16: //Belgique
			var reg= new RegExp("^[1-9]{1}[0-9]{3}$","g");
		break;
		case 63: //Espagne
			var reg= new RegExp("^([0-4]{1}[0-9]{1}|[50|51|52])[0-9]{3}$","g");
		break;
		case 108: //LU
			var reg= new RegExp("^[L]{1}[\-]?[0-9]{4}$","g");
		break;
		default: //France	
			var reg= new RegExp("^[0-9]{2}[0-9]{3}$","g");
				
			switch(valeur.substr(0,2))
			{
				case '00' : dep_ok=false;break;
				case '99' : dep_ok=false;break;
				case '96' : dep_ok=false;break;
				default: break;
			}
	}
	return (valeur.search(reg)!= -1 && dep_ok);
}

/**
 * @fn IsDep(valeur)
 * @brief fonction verfiant la chaine passe en parametre est un numero de departement francais valide
 * @param valeur string le numero de departement
 * @param true ou false
 */
function IsDep(valeur, pays)
{
	var dep_ok=true;
	var reg= new RegExp("^([2]{1}[ABab]{1}|[0-9]{2}|[A-Za-z]{1,2})$");
	if(Number(pays)==57)//Pour la france uniquement
	{
		switch(Number(valeur))
		{
			case 0  : dep_ok=false;break;
			case 99 : dep_ok=false;break;
			case 96 : dep_ok=false;break;
			default: break;
		}
	}
	//else dep_ok=IsCP(valeur, pays);
	
	return (valeur.search(reg)!= -1 && dep_ok);
}

