function getCardInfoBlue() {
    var cardNumber = $("#ugcblue1").val() + $("#ugcblue2").val()
    + $("#ugcblue3").val() + $("#ugcblue4").val();
    dwr_cardManager.getCardInfo(cardNumber, $("#ugcblue_typecarte").val(), "",
        getCardInfoBlue_callBack);
}

var getCardInfoBlue_callBack = function(cardInfoBean) {
    if (!cardInfoBean.error) {
        $("#error_message").hide(true);
        $("#div_solde").show();
        $("#ajax_expirationDate").text("" + cardInfoBean.expirationDate);

        var callbackSoldes = function(ligne, element) {
            ligne.find(".ajax_soldes_designation").text(
                "" + element.designation);
            ligne.find(".ajax_soldes_validityZone").text(
                "" + element.validityZone);
            ligne.find(".ajax_soldes_endOfValidity").text(
                "" + element.endOfValidity);
            ligne.find(".ajax_soldes_solde").text("" + element.solde);
        };

        cloneTableau("soldes", cardInfoBean.soldes, callbackSoldes);

        var callbackHistory = function(ligne, element) {
            ligne.find(".ajax_history_showing").text("" + element.showing);
            ligne.find(".ajax_history_movie").text("" + element.movie);
            ligne.find(".ajax_history_complex").text("" + element.complex);
            ligne.find(".ajax_history_tickets").text("" + element.ticketCount);
        };

        if (cardInfoBean.historique.length > 0) {
            cloneTableau("history", cardInfoBean.historique, callbackHistory);
        } else {
            $("#ajax_output_history").hide(true);
        }
    } else {
        $("#error_message").show(true);
        $("#div_solde").hide();
    }
}

function cloneTableau(nom, list, callback) {
    $("#ajax_output_" + nom).find("table").remove();
    var tableau = $("#ajax_" + nom).clone().removeAttr("id");

    tableau.appendTo($("#ajax_output_" + nom));
    // enleve la ligne du tableau source
    tableau.find(".ajax_ligne").remove();

    var ligne = $("#ajax_" + nom).find(".ajax_ligne");
    jQuery.each(list, function(index, element) {
        var clone = ligne.clone();
        clone.appendTo(tableau);
        callback(clone, element);
    });
    tableau.show();
    $("#ajax_output_" + nom).show(true);
}
