// Copyright 2003-2011 Emergent Discovery LLC  All rights reserved.
/* PROMOTE.PY: STAND-ALONE */

/* Emergent Discovery Conversion Script
    Load this script as:
        <script type="text/javascript" src="http://www.emergentdiscovery.com/static/live/adserver/js/ed/conversion.js"></script>
*/

function EDCONV_logMsg(message) {
    // Log messages to the console so we can see errors in browsers that support the console.
    try {
        if (navigator.userAgent.match(/safari/i)) {
            console.log(message);
        }
    } catch(err) {}
}

function EDCONV_location() {
    // Detect the location data from the page.
    var location = {};
    try {
        var hostpage = '';
        var host     = '';
        var hostname = '';
        var pathname = '';
        var search   = '';
        try {
            var loc = window.top.location;
            hostpage = loc.toString();
            host = loc.host.toString();
            hostname = loc.hostname.toString();
            pathname = loc.pathname.toString();
            search = loc.search.toString();
        } catch (locErr) {
            hostpage = document.referrer;
            var parts = hostpage.split('//');
            host = parts[1].split('/', 1)[0];
            hostname = host.split(':')[0];
            parts = parts[1].substr(host.length).split('?');
            pathname = parts[0];
            search = parts.length > 1 ? parts[1] : null;
        }
        
        location = {
                     hostpage: hostpage,
                     host    : host,
                     hostname: hostname,
                     pathname: pathname,
                     search:   search
                   };
    } catch (err) {
        EDCONV_logMsg("EDCONV: Error finding location: " + err);
    }
    return location;
}

function EDCONV_loadBeacon_SimpliFi(campaignID, conversionType) {
    var scriptURL = 'http://i.simpli.fi/dpx.js?cid=51&pid=0&conversion=' + conversionType + '&campaign_id=' + campaignID;
    
    var body = document.getElementsByTagName('body')[0];
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = scriptURL;
    body.appendChild(script);
}

function EDCONV_loadBeacon_SimpliFi_Purchase(campaignID) {
    var purchase = '0';
    EDCONV_loadBeacon_SimpliFi(campaignID, purchase);
}

function EDCONV_loadBeacon_SimpliFi_Lead(campaignID) {
    var lead = '10';
    EDCONV_loadBeacon_SimpliFi(campaignID, lead);
}

function EDCONV_loadBeacon_SimpliFi_Signup(campaignID) {
    var signup = '20';
    EDCONV_loadBeacon_SimpliFi(campaignID, signup);
}

// These numbers and tables should be built dynamically from the database
EDCONV_SimpliFi_JonBell = 1421;
EDCONV_SimpliFi_Jonny = 1366;
EDCONV_SimpliFi_SidecarRadioEAROptimizer = 1009;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_29 = 1016;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_29__2 = 1019;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_30 = 1020;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_5 = 1051;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_6 = 1055;
EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_7 = 1059;
EDCONV_SimpliFi_TimesNewViking = 1367;
EDCONV_SimpliFi_Tourmaline = 1420;

function EDCONV_loadBeaconForArtist() {
    var result = false;
    try {
        var artists = typeof(EDPROBE_ARTISTS) === 'string' ? [EDPROBE_ARTISTS] : EDPROBE_ARTISTS;
        var l = artists.length;
        var i;
        for (i = 0; i < l; ++i) {
            switch(artists[i]) {
                case 'Jon Bell':
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_JonBell);
                   result = true;
                    break;
                    
                case 'Tourmaline':
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_Tourmaline);
                    result = true;
                    break;
                    
                case 'Sidecar Radio':
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_29);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_29__2);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_12_30);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_5);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_6);
                    EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_SidecarRadioEAROptimizer_2_7);
                    result = true;
                    break;

                default:
                    EDCONV_logMsg("EDCONV: Artist not found: " + artists[i]);
                    break;
            }
        }
        
    } catch(err) {
        EDCONV_logMsg("EDCONV: Error recording conversion: " + err);
    }
    return result;
}
    
function EDCONV_loadBeaconForURL() {
    var result = false;
    try {
        var location = EDCONV_location();
        var hostname = location.hostname.toLowerCase();
        switch(hostname) {
        
            case 'www.mergerecords.com':    // Jonny and Times New Viking
                EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_Jonny);
                EDCONV_loadBeacon_SimpliFi_Lead(EDCONV_SimpliFi_TimesNewViking);
                
                if (location.pathname.indexOf('/store/store_accepted.php') >= 0) {
                    EDCONV_loadBeacon_SimpliFi_Purchase(EDCONV_SimpliFi_Jonny);
                    EDCONV_loadBeacon_SimpliFi_Purchase(EDCONV_SimpliFi_TimesNewViking);
                }
                result = true;
                break;

            case 'localhost':    // Testing
                EDCONV_loadBeacon_SimpliFi_Lead(999);
                result = true;
                if (location.pathname.indexOf('/bobtest') >= 0) {
                    EDCONV_loadBeacon_SimpliFi_Purchase(999);
                }
                break;

            default:
                break;
        }        
    } catch(err) {
        EDCONV_logMsg("EDCONV: Error recording conversion: " + err);
    }
    return result;
}

function EDCONV_conversion() {
    if ( (typeof(EDPROBE_ARTISTS) === 'undefined')  || !EDCONV_loadBeaconForArtist() ) {
        EDCONV_loadBeaconForURL();
    }
}

if (typeof(EDCONV_HAS_RUN) === "undefined") {
    EDCONV_HAS_RUN = true;
    EDCONV_conversion();
    var f = function(){
        var p=document.createElement("script");
        p.type="text/javascript";
        p.src=("http://partner.emergentdiscovery.com/static/live/adserver/js/ed/probe.js");
        document.body.appendChild(p);
    };
    setTimeout(f, 4000);
}

