box.dom(function() {
    
    var W = window, D = this;
    
    var page = D.getElementById('tagPageView'),
        product = D.getElementById('tagProductView')
        register = D.getElementById('tagRegisterView')
        error = D.getElementById('tagErrorView');
    
    var extract = function(datas) {
        var results = {}, parts = datas.split(';'), i = parts.length, tmp;
        while(i--) {
            tmp = parts[i].split('=');
            results[tmp[0]] = tmp[1];
        }
        return results;
    };
    
    if(!D.getElementById('tagOnDev')) {
        cmSetProduction();
    }
    
    var datas;
    
    if(page && page.value && W.cmCreatePageviewTag) {
        datas = extract(page.value);
        W.cmCreatePageviewTag(datas.tag, datas.category, null);
    }
    
    if(product &&  product.value && W.cmCreateProductviewTag) {
        datas = extract(product.value);
        W.cmCreateProductviewTag(datas.code, datas.tag, datas.category);
    }
    
    if(register && register.value && W.cmCreateRegistrationTag) {
        datas = extract(register.value);
        W.cmCreateRegistrationTag(datas.email, datas.email, datas.city, null, datas.zip, null, null);
    }
    
    if(error && error.value && W.cmCreateErrorTag) {
        W.cmCreateErrorTag(error.value, 'ERROR');
    }
    
    // bind stats calls to popin
    box.bind({
        'open.generic.popin.discoverKerastase': function() {cmCreatePageviewTag('Discover_Kerastase', 'Discover', null);},
        'open.generic.popin.ingredientsListing': function() {cmCreatePageviewTag('Popin_Ingredients_Listing', 'Footer', null);},
        'open.generic.popin.password': function() {cmCreatePageviewTag('Popin_Lost_Password', 'My_Kerastase', null);},
        'open.generic.popin.contact': function() {cmCreatePageviewTag('Popin_Contact', 'Footer', null);},
        'open.generic.popin.sendToFriend': function() {cmCreatePageviewTag('Popin_Send_To_Friend', 'Footer', null);},
        'open.generic.popin.productFinder': function() {cmCreatePageviewTag('Popin_Product_Finder', 'Footer', null);},
        'open.generic.popin.applicationCimentThermique': function() {cmCreatePageviewTag('Popin_Application_Ciment_Thermique', 'Products', null);},
        'open.generic.popin.applicationCimentThermique': function() {cmCreatePageviewTag('Popin_Interview_Ciment_Thermique', 'Products', null);}
    });
    
});