
/*
    Machine: NETWS10
    This file is the setup file to be included in the top of each page
*/
(function() {
    ImmAds = {
        Debug         : false,
        Options       : {},
        DefaultOptions: {
            // Object initialized with default options (detected on initial load)
            Width : 0,
            Height: 0,
        
            Age    : 0,
            Sex    : undefined,
            Country: "US",

            Domain: "",
            Page  : "/",

            Params: ""
        },

        SetOptions: function (opt) {   
            // Function called before each ad is displayed, and overrides default options (if present)
            ImmAds.Options.Width  = opt.Width  || ImmAds.DefaultOptions.Width;
            ImmAds.Options.Height = opt.Height || ImmAds.DefaultOptions.Height;

            ImmAds.Options.Age     = opt.Age || ImmAds.DefaultOptions.Age;
            ImmAds.Options.Sex     = typeof(opt.Sex) != 'undefined' ? opt.Sex : ImmAds.DefaultOptions.Sex;
            ImmAds.Options.Country = opt.Country || ImmAds.DefaultOptions.Country;

            ImmAds.Options.Domain = opt.Domain || ImmAds.DefaultOptions.Domain;
            ImmAds.Options.Page   = opt.Page   || ImmAds.DefaultOptions.Page;
            ImmAds.Options.Params = opt.Params || ImmAds.DefaultOptions.Params;
        },

        Write: function(msg) {
            if (ImmAds.Debug && window.console) {
                console.log(msg);
            }
        },
        
        // START: ADSENSE CONFIGURATION
        GoogleAdServer: function (ad_client, ad_slot) {
            // setup values
            google_ad_client   = ad_client;
            google_ad_slot     = ad_slot;
            google_ad_width    = ImmAds.Options.Width;
            google_ad_height   = ImmAds.Options.Height;
            google_cust_age    = undefined;
            google_cust_gender = undefined;
    
            if (ImmAds.Options.Age > 12) {
                // A voire...... (mapping age/sex google/IMM)
                if (ImmAds.Options.Age > 64)
                {
                    google_cust_age = 1006; // 65-99
                }
                else if (ImmAds.Options.Age > 54)
                {
                    google_cust_age = 1005; // 55-64
                }
                else if (ImmAds.Options.Age > 44)
                {
                    google_cust_age = 1004; // 45-54
                }
                else if (ImmAds.Options.Age > 34)
                {
                    google_cust_age = 1003; // 35-44
                }
                else if (ImmAds.Options.Age > 24)
                {
                    google_cust_age = 1002; // 26-34
                }
                else if (ImmAds.Options.Age > 18)
                {
                    google_cust_age = 1001; // 18-25
                }
                else if (ImmAds.Options.Age > 12)
                {
                    google_cust_age = 1000; // 13-17
                }
            }
    
            if (typeof(ImmAds.Options.Sex) != 'undefined') {
                switch (ImmAds.Options.Sex)
                {
                    case 0:
                        google_cust_gender = 1; // male
                        break;

                    case 1:
                        google_cust_gender = 2; // female
                        break;
                }
            }
    
            if (ImmAds.Debug && window.console) {
                console.log("ImmAds.Options.Sex: ", ImmAds.Options.Sex, " ImmAds.Options.Age: ", ImmAds.Options.Age);
                console.log("google_ad_client:", google_ad_client, "google_ad_slot:", google_ad_slot, "google_ad_width:", google_ad_width, "google_ad_height:", google_ad_height, "google_cust_age:", typeof(google_cust_age) != 'undefined' ? google_cust_age : ImmAds.Options.Age, "google_cust_gender:", typeof(google_cust_gender) != 'undefined' ? google_cust_gender : ImmAds.Options.Sex > -1 ? ImmAds.Options.Sex : "nada");
            }

            document.write('<scr'+'ipt src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></scr'+'ipt>');                
        },
        // END: ADSENSE CONFIGURATION

        // START: SMART CONFIGURATION
        SmartAdServer: function (sas_pageid, sas_formatid) {
            if (sas_masterflag == 1) {
                sas_masterflag = 0;
                sas_master     = 'M';
            }
            else {
                sas_master = 'S';
            }

            // Start Custom Options (Age/Sex/Params)
            var sas_target_tmp = [];
            if (ImmAds.Options.Params !=  "") {
                sas_target_tmp.push(ImmAds.Options.Params);
            }

            if (ImmAds.Options.Age > 0) {
                sas_target_tmp.push("Age=" + ImmAds.Options.Age);
            }
        
            if (typeof(ImmAds.Options.Sex) != 'undefined') {
                var _sex = ImmAds.Options.Sex == 0 ? "H" : "F";
                sas_target_tmp.push("Sex=" + _sex);
            }

            if (sas_target_tmp.length > 0) {
                sas_target = sas_target_tmp.join(";");
            }
            // End Custom Options

            if (ImmAds.Debug && window.console) {
                console.log("sas_pageid:", sas_pageid, "sas_formatid:", sas_formatid, "sas_target:", sas_target_tmp);
            }
                        
            document.write('<scr'+'ipt src="http://ads.horyzon-media.com/call/pubj/' + sas_pageid + '/' + sas_formatid + '/' + sas_master + '/' + sas_tmstp + '/' + escape(sas_target) + '?"></scr'+'ipt>');                
        }   
        // END: SMART CONFIGURATION       
    };
})();

// START: SMART Related Global Variables
sas_tmstp      = Math.round(Math.random() * 10000000000);
sas_masterflag = 1;
sas_target     = ""; 
// END: SMART Related Global Variables

function ShowAdvertising (opt) {
    // Fractured for readability 
    ImmAds.SetOptions(opt);
        
    var queryString = "http://advertising.indexmultimedia.com/AdDisplay.aspx";
    queryString     = queryString.concat("?Width="      , ImmAds.Options.Width);
    queryString     = queryString.concat("&amp;Height=" , ImmAds.Options.Height);
    queryString     = queryString.concat("&amp;Age="    , ImmAds.Options.Age);
    queryString     = queryString.concat("&amp;Sex="    , ImmAds.Options.Sex);
    queryString     = queryString.concat("&amp;Country=", ImmAds.Options.Country);
    queryString     = queryString.concat("&amp;Domain=" , ImmAds.Options.Domain);
    queryString     = queryString.concat("&amp;Page="   , ImmAds.Options.Page);
        
    document.write('<scr'+'ipt src="'+queryString+'"></scr'+'ipt>');  
};

