/*Fonctions diverses et variées.
*/

function byId(elmId){
	var elm = document.getElementById(elmId);
	if(elm==null) elm = document.getElementsByName(elmId)[0];
	return elm;
}

function setClassName( element, className) {
  agt = navigator.userAgent.toLowerCase();
  if (agt.indexOf('mozilla')!=-1 && agt.indexOf('spoofer')==-1 && agt.indexOf('compatible') == -1)
    element.setAttribute("class", className);
  else
    element.setAttribute("className", className);
}

function setFocus(ctrl){
	try{
		byId(ctrl).focus();
	}catch(e){;};
}


function rawencode(str) {
	var result = "";
	
	for (i = 0; i < str.length; i++) {
		if (str.charAt(i) == " ") result += "+";
		else result += str.charAt(i);
	}
	return escape(result);
}

function isNull(a){
	try{
		if (a.toString()=='undefined'){
			return true;
		}else if (a.toString()=='NULL'){
			return true;
		}
	} catch (e){
		return true;
	}
	return false;
}

function favoris(lk,nom) {
	if(isNull(lk)){
		lk='http://www.lannuaire.fr';
	}
	if(isNull(nom)){
		nom='Lannuaire.fr';
	}
	if ( navigator.appName != 'Microsoft Internet Explorer' ){
		try{
			window.sidebar.addPanel(nom,lk,"");
		}catch(e){
			alert("Fonction non-supportée par votre naviguateur Internet.");
		}
	} else {
		try{
			window.external.AddFavorite(lk,nom);
		}catch(e){
			alert("Fonction non-supportée par votre naviguateur Internet.");
		}
	}
}

function trim(string){
	return string.replace(/(^\s*)|(\s*$)/g,'');
}

function Right(str, n){
	if (n <= 0){
		return "";
	} else if (n > String(str).length){
		return str;
	} else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}

function ValidateEmail(email){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(email);
}

function IsValid(s,min,num){
	var val= trim(s.value);
	if(val.length<min) return false;
	if (num && isNaN(val)) return false;
	return true;
}

function IsValidAPE(code){
	var filter  = /^([0-9]{4})+([a-zA-Z]{1})$/;
	return filter.test(code.value);
}

function IsValidFRTVA(tva,siret){
	s=trim(byId(tva).value);
	s=s.toUpperCase();
	byId(tva).value=s;
	//Il faut 13 caracteres
	//Les 2 premiers doivent ĂȘtre FR
	//Les 2 suivants un nombre
	//les 9 suivants un nombre aussi et doivent ĂȘtre identiques au numero de SIREN
	var filter  = /^(FR)([0-9]{11})$/;
	if ( ! filter.test(s)){
		return false;
	}
	// On recup le no de siren Ă  partir du code Siret. (Les 9 premiers chiffres)
	nosiren=byId(siret).value;
	nosiren=nosiren.substr(0,9);
	//les 9 derniers doivent ĂȘtre identiques au numero de SIREN
	t=s.substr(4,9);
	if(t!=nosiren){
		//alert('Le NÂ° de TVA Intracommunautaire est invalide.\nIl ne correspond pas au NÂ° SIREN.');
		//setFocus(tva);
		return false;
	}
	return true;
}

function IsValidSimpleFRTVA(tva){
	s=trim(tva.value);
	s=s.toUpperCase();
	//Il faut 13 caracteres
	//Les 2 premiers doivent ĂȘtre FR
	//Les 2 suivants un nombre
	//les 9 suivants un nombre aussi et doivent ĂȘtre identiques au numero de SIREN
	var filter  = /^(FR)([0-9]{11})$/;
	if ( ! filter.test(s)){
		return false;
	}
	//les 9 derniers doivent etre un numero
	t=s.substr(4,9);
	if( t.length < 9) return false;
	if ( isNaN(t) ) return false;
	return true;
}

function IsValidSiret(code){
	var filter  = /^([0-9]{9})+(000)+([0-9]{2})$/;
	return filter.test(code.value);
}

// Enleve le '0' des nb < 10
function ConvNum(tabDeDate) {
	for (i=0; i<tabDeDate.length; i++)
	tabDeDate[i] = (tabDeDate[i].charAt(0)=='0')?tabDeDate[i].charAt(1):tabDeDate[i];
	return tabDeDate;
}


