/******************************************************************************
/* INSTALLATION:
/*
/* Il faut remplacer les 3 premières variables : 
/* - newsletterFormID
/* - trackedUrl 
/* - deletionDelay
******************************************************************************/

/* ID de la balise <form> du formulaire d'inscription. */ 
/* Exemple : "#newsletter-form" (attention au #) */
var newsletterFormID = '#newsletter';

/* Url (relative ou absolue) de la page qui contient le code custom */
var trackedUrl = 'http://jeux-fun.net/newsletter.html'

/* deletionDelay = Delai en secondes avant de supprimer l'iframe cachée */
var deletionDelay = 1;

/* compteur utilisé pour générer un ID différent à chaque iframe */
var trackPageCounter = 0;

/******************************************************************************
/* Fonction de chargement du code de conversion (dans sa propre page) dans 
/* une iframe cachée. Cette iframe est supprimée une fois son contenu chargé 
/* et que le delai spécifié est passé (deletionDelay).
******************************************************************************/
function trackPage(url)
{
    // on incrémente le compteur
    trackPageCounter = trackPageCounter + 1;
    
    // on génère l'ID de cette iframe
    var currentFrameID = "tracking" + trackPageCounter;

    // on génère l'iframe
    var trackingFrame = $('<iframe></iframe>');
    trackingFrame.attr("id", currentFrameID);
    trackingFrame.attr("name", currentFrameID);
    trackingFrame.attr("style", "width:0px; height:0px;display:inline");

    // on ajoute l'iframe au document (à la page)
    jQuery(document.body).append(trackingFrame);

    // on spécifie une fonction qui sera exécutée quand l'iframe sera chargée
    jQuery.frameReady(
        function()
        {
            // l'iframe est chargée, on spécifie une fonction qui sera 
            // exécutée quand le delai spécifié sera passé
            jQuery.timer(
                deletionDelay * 1000, 
                function(timer)
                {
                    // on supprime l'iframe
                    trackingFrame.remove();
                    
                    // on arrête le timer
                    timer.stop();
                });
        },
        currentFrameID,
        { remote: false }
    );
    
    // on assigne l'url à l'iframe qui va donc commencer le chargement
    trackingFrame.attr("src", url);
}

/******************************************************************************
/* Fonction de chargement du code de conversion (dans sa propre page) dans 
/* une iframe cachée. Cette iframe est supprimée une fois son contenu chargé 
/* et que le delay spécifié est passé (deletionDelay).
******************************************************************************/
jQuery(document).ready(function()
{
    /* Quand le formulaire de souscription à la newsletter est soumis */
    jQuery(newsletterFormID).submit(function()
    {
        /* On charge le code de conversion dans une iframe cachée */
        trackPage(trackedUrl);
    });
});