﻿tradera.adManager = {
    writeAd: function () {
        var args = arguments[0];
        var contentType = args.contentType ? args.contentType : 'placementName';
        switch (contentType) {
            case 'placementName':
                if (Object.prototype.toString.apply(args.value) === '[object Array]') {
                    for (var i = 0, item = args.value[i]; i < args.value.length; item = args.value[++i]) {
                        tradera.adManager.renderAdItem(item,
                            args.surroundingTagName, args.surroundingTagClass, args.surroundingTagStyle);
                    }
                } else {
                    tradera.adManager.renderAdItem(args.value,
                        args.surroundingTagName, args.surroundingTagClass, args.surroundingTagStyle);
                }
                break;
            case 'customized':
                switch (args.value) {
                    case 'bfg':
                        tradera.adManager.writeAd(tradera.adManager.getCustomized.bfg());
                        break;
                    case 'right':
                        tradera.adManager.writeAd({ value: ['right_1', 'right_2'] });
                        break;
                    case 'top':
                        tradera.adManager.writeAd({ value: ['top', 'rm_1'] });
                        break;
                    case 'regtrader_tracking':
                        document.writeln(tradera.adManager.getCustomized.regtrader_tracking());
                        break;
                    case 'mros_itemlisting':
                        tradera.adManager.writeAd({
                            value: ['mros', 'right_3'],
                            surroundingTagName: 'div'
                        });
                        break;
                    case 'right_itemlisting':
                        tradera.adManager.writeAd({
                            value: ['right_top', 'right_1', 'right_2'],
                            surroundingTagName: 'div'
                        });
                        break;
                    case 'bfg_empty':
                        document.writeln(tradera.adManager.getCustomized.bfg_empty());
                        break;
                    case 'bb_puff':
                        tradera.adManager.writeAd({
                            value: ['bb1', 'bb2', 'bb3', 'hpuff']//,
                            //surroundingTagName: 'div',
                            //surroundingTagStyle: 'float: left'
                        });
                        break;
                    case 'startspecialx3':
                        tradera.adManager.writeAd({
                            value: ['startspecial1', 'startspecial2', 'startspecial3']//,
                            //surroundingTagName: 'div',
                            //surroundingTagStyle: 'float: left'
                        });
                        break;
                    default:
                        tradera.adManager.writeAd({ value: args.value });
                        break;
                }
                break;
        }
    },
    getCustomized: {
        bfg: function () {
            return { value: [
				'bfg_1',
				{ placementName: 'bfg_4_horizontal', count: 4 },
				{ placementName: 'bfg_4_square', count: 4 },
				{ placementName: 'bfg_24', count: 24 }
			]
            };
        },
        regtrader_tracking: function () {
            return '<img src="http://adsby.webtraffic.se/pcsale/3.0/733/0/0/0/BeaconId=9221;rettype=img;subnid=1;SalesValue=[AmountInCent];;custom1=[OrderId]" width="1" height="1" />';
        },
        bfg_empty: function () {
            return '<img src="http://static.tradera.com/external/banners/tradera/640x480_blank.gif" border="0" width="640" height="480" />';
        }
    },
    renderAdItem: function (item, surroundingTagName, surroundingTagClass, surroundingTagStyle) {
        if (typeof item == 'string') {
            tradera.adManager.renderAd(item, surroundingTagName, surroundingTagClass, surroundingTagStyle);
        } else {
            var count = item.count ? item.count : 1;
            for (var i = 0; i < count; i++) {
                tradera.adManager.renderAd(item.placementName,
                    surroundingTagName, surroundingTagClass, surroundingTagStyle);
            }
        }
    },
    renderAd: function (placementName, surroundingTagName, surroundingTagClass, surroundingTagStyle) {
        if (surroundingTagName) {
            document.writeln('<' + surroundingTagName);
            if (surroundingTagClass) document.writeln(' class="' + surroundingTagClass + '"');
            if (surroundingTagStyle) document.writeln(' style="' + surroundingTagStyle + '"');
            document.writeln('>');
        }

        //document.writeln(placementName);
        window.Fusion.space(placementName);

        if (surroundingTagName) {
            document.writeln('</' + surroundingTagName + '>');
        }
    }
};

