2012-06-06 06:39:12 +00:00

161 lines
4.4 KiB
JavaScript

$(document).ready(function(){
$('input.button:reset').click(function(){
$('input:text','form[name=recherche]').val('');
return false;
});
if ($('#siret').length){
$('#siret').focus();
$('form[name=recherche]').submit(function(){
var reg = /[a-z]{3}/i;
var siret = $('input[name="siret"]').val();
if(siret.match(reg)){
$('input[name="raisonSociale"]').val(siret);
$('input[name="siret"]').val('');
}
return true;
});
}
//Goidentite
$('#goidentite').click(function(){ goidentite(); });
$(document).keydown(function(e) {
if(e.keyCode == 13 && e.ctrlKey) {
goidentite();
return false;
}
});
//Autocomplete sur le champs NAF
$('#naf').autocomplete({
minLength:3,
source: function(request, response) {
$.getJSON('/recherche/naf', { q: request.term },
function(data) { response(data); }
);
}
});
//Page précédente-suivante
$('img.recherchePrec').hover(function() {
$(this).attr('src', '/themes/default/images/boutton_precedent_on.gif');
}, function() {
$(this).attr('src', '/themes/default/images/boutton_precedent_off.gif');
});
$('img.rechercheSuiv').hover(function() {
$(this).attr('src', '/themes/default/images/boutton_suivant_on.gif');
}, function() {
$(this).attr('src', '/themes/default/images/boutton_suivant_off.gif');
});
//Suppression surveillance
$('a.supprSurveillance').click(function(e){
e.preventDefault();
$.post($(this).attr('href'), function(data){
$(this).parent('span').html(data);
});
});
$('a.histopdf').on('click', function(e){
e.preventDefault();
var url = $(this).attr('href');
var objet = $(this);
objet.html('<a href="#" class="histopdf">Téléchargement du fichier...</a>');
$.post( url, function (data, textStatus) {
if( data=='' || data=='FALSE' || textStatus=='timeout' ) {
data = 'Le téléchargement du fichier a échoué.<br/>';
}
objet.replaceWith(data);
});
});
});
/**
* Verifie si un SIREN est valide
* @param Le code SIREN dont on veut vérifier la validité.
* @return Un booléen qui vaut 'true' si le code SIREN passé en
* paramètre est valide, false sinon.
*/
function EstSirenValide(siren) {
var estValide;
if ( (siren.length != 9) || (isNaN(siren)) )
estValide = false;
else {
// Donc le SIREN est un numérique à 9 chiffres
var somme = 0;
var tmp;
for (var cpt = 0; cpt<siren.length; cpt++) {
if ((cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
tmp = siren.charAt(cpt) * 2; // On le multiplie par 2
if (tmp > 9)
tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
}
else
tmp = siren.charAt(cpt);
somme += parseInt(tmp);
}
if ((somme % 10) == 0)
estValide = true; // Si la somme est un multiple de 10 alors le SIREN est valide
else
estValide = false;
}
return estValide;
}
/**
* Verifie si un SIRET est valide
* @param Le code SIRET dont on veut vérifier la validité.
* @return Un booléen qui vaut 'true' si le code SIRET passé en
* paramètre est valide, false sinon.
*/
function EstSiretValide(siret) {
var estValide;
if ( (siret.length != 14) || (isNaN(siret)) )
estValide = false;
else {
// Donc le SIRET est un numérique à 14 chiffres
// Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
// correspondent au numéro d'établissement
// et enfin le dernier chiffre est une clef de LUHN.
var somme = 0;
var tmp;
for (var cpt = 0; cpt<siret.length; cpt++) {
if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
if (tmp > 9)
tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
}
else
tmp = siret.charAt(cpt);
somme += parseInt(tmp);
}
if ((somme % 10) == 0)
estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
else
estValide = false;
}
return estValide;
}
/**
* Envoi directement vers la fiche identité
*/
function goidentite()
{
var siret = $('input[name=siret]').val().replace(/\s+/g, '');
var verif = false;
if (siret.length == 9) {
verif = EstSirenValide(siret);
} else if (siret.length == 14) {
verif = EstSiretValide(siret);
}
if (verif) {
window.location.href = '/identite/fiche/siret/' + siret;
} else {
$('form[name=recherche] input[name=submit]').click();
}
}