2011-08-31 14:58:21 +00:00

193 lines
4.5 KiB
JavaScript

$(document).ready(function(){
$('input.button').button();
$('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;
});
}
//Tooltip de surveillance
$('u[tooltip]').each(function(){
$(this).qtip({
content: $(this).attr('tooltip'),
style: {
classes: "ui-tooltip-dark"
},
position: {
at: "top center",
my: "bottom center"
}
});
});
//Tooltip de domiciliation
if ($('div.domiciliation').length){
$('div.domiciliation').qtip({
show: {
event: "click"
},
hide: {
event: "unfocus"
},
content: $('div.domiciliation span').html(),
style: {
width: 200,
classes: "ui-tooltip-cream"
},
position: {
at: "bottom center",
my: "top center"
}
});
}
//Tooltip AncienSiege
if ($('a.AncienSiege').length){
var title = $('a.AncienSiege').attr('title');
$('a.AncienSiege').qtip({
show: {
event: "click"
},
hide: {
event: "unfocus"
},
content: title,
style: {
width: 350,
classes: "ui-tooltip-cream"
},
position: {
at: "bottom center",
my: "top center"
}
});
$('a.AncienSiege').attr('title', "Cliquez pour consulter les informations d'activité.");
}
//Auto Scroll
$(window).scroll(function() {
var offset = $(window).scrollTop();
$("#menu").css('margin-top',offset);
});
//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); }
);
}
});
});
/**
* 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 {
$('input[name=submit]').click();
}
}