// JavaScript Document

//----------------------------------------------------------------------------------------------------
// Fonctions spÃ©cifiques Client_LB
//----------------------------------------------------------------------------------------------------
$(document).ready(function(){
    /**
     * Binding automatic des fonctions de callback de vÃ©rifications
     */
    function __checkKeyCodeNumeric(ev){
        return keyCodeIsNumeric(ev);
    }
    function __checkKeyCodeAlphabetic(ev){
        return keyCodeIsAlphebetic(ev);
    }
	function __checkkeyCodeIsToStreetInformation(ev){
		 return keyCodeIsToStreetInformation(ev);
	}
	function __checkkeyCodeIsToPhoneInformation(ev){
		 return keyCodeIsToPhoneInformation(ev);
	}
    /**
     * TÃ©lÃ©phone et mobile sont des champs qui n'autorisent
     * que les caractÃ¨res numÃ©riques
     */
    if (document.getElementById('telephone'))
        $('#telephone').keydown(__checkKeyCodeNumeric);
    if (document.getElementById('mobile'))
        $('#mobile').keydown(__checkKeyCodeNumeric);

    /**
     * Nom et prÃ©nom sont des champs
     * qui n'acceptent pas les nombres
     */
    if (document.getElementById('prenom'))
        $('#prenom').keydown(__checkKeyCodeAlphabetic);
    if (document.getElementById('nom'))
        $('#nom').keydown(__checkKeyCodeAlphabetic);
	/**
	 * Format d'adresse
	 */
	 if (document.getElementById('rue')){
		  // $('#rue').keydown(__checkkeyCodeIsToStreetInformation);
	 }
	 if (document.getElementById('adresse_suite')){
		  $('#adresse_suite').keydown(__checkkeyCodeIsToStreetInformation);
	 }
	/* if (document.getElementById('code_batiment')){
		  $('#code_batiment').keydown(__checkkeyCodeIsToStreetInformation);
	 }
	 if (document.getElementById('telephone')){
		  $('#telephone').keydown(__checkkeyCodeIsToPhoneInformation);
	 }
*/


});

//----------------------------------------------------------------------------------------------------
// Fonctions génériques
//----------------------------------------------------------------------------------------------------

function keyCodeIsToStreetInformation(event){
	var key = event.keyCode;
	if(	keyCodeIsNumeric(event) // numeric
		|| ( key >=65 && key <= 90) // lettres
		|| keyCodeIsBlank(event, true) // espace et autre shift..
		|| key == 54	// -
		){
		return true;
	}
	return false;
}

function keyCodeIsToPhoneInformation(event){
	var key = event.keyCode;
	if(	keyCodeIsNumeric(event) // numeric
		|| keyCodeIsBlank(event) // espace et autre shift..
		|| key == 109	// -
		|| key == 54	// -
		|| key == 190	// .
		|| key == 107	// +
		)
		return true;
	return false;
}


function keyCodeIsBlank (event, allowSpace){
    var key = event.keyCode;
    if ( key == 8       // suppr back
        || (key == 32 && allowSpace == true)   // espace
        || key == 46   // delete
        || key == 9    // tab
        || key == 16   // shit
        || key == 17   // ctrl
        || key == 18   // alt
        || key == 20   // cpas lock
        || key == 27   // echap
        || key == 27   // verr num
        || key == 34   // page dwn
        || key == 33   // page up
        || key == 35   // fin ??
        || key == 36   // ??
        || key == 37   // fleche gauche
        || key == 38   // fleche haut
        || key == 39   // fleche droite
        || key == 40   // fleche bas
		|| key == 255
            )
        return true;
    return false;
}

function keyCodeIsAlphaNumeric (event){
    var key = event.keyCode;

    if ( keyCodeIsNumeric (event) || keyCodeIsAlphebetic(event) )
        return true;

    return false;
}

function keyCodeIsNumeric (event){
    var key = event.keyCode;

    if ( (key > 94 && key < 106) || keyCodeIsBlank(event) )
        return true;
    if ( event.shiftKey && (key > 47 && key < 58) || keyCodeIsBlank(event) )
        return true;

    return false;
}

function keyCodeIsAlphebetic (event){
    var key         = event.keyCode;
    var hasShift    = event.shiftKey;
    /**
     * Pour interdire le pavÃ©s numÃ©rique
     */
    if ( (key > 94 && key < 106) ){
        return false;
    }
    /**
     * Pour interdire les chiffres de 0 Ã  9 sur le haut du clavier
     */
    if ( hasShift && (key > 47 && key < 58) ){
        return false;
    }

    return true;
}
