function AD(_placementID, _sizeID)
{
    this.networkID = 665; //Morningstar
    this.placementID = _placementID;
    this.sizeID = _sizeID;
}

var ADDictionary = new Dictionary();
var PortfolioBottomRightFlag = new Boolean();

ADDictionary.add( 'topADSmallDefault', new AD('1595073', '1653') );//Additional banner next to leaderboard 195x90
ADDictionary.add( 'ToolsHomeSquare', new AD('1625842', '6') ); // 1402894 Tools Home Square 125x125
ADDictionary.add( 'EquitiesSquare', new AD('1625842', '6') ); // 1496639 Equities Square 125x125

// Ishares
ADDictionary.add( 'ETFsHomeTop', new AD('2363070', '225') );
ADDictionary.add( 'ETFsConferenceTop', new AD('2363068', '225'));
ADDictionary.add( 'ETFsNewsLetterTop', new AD('2363285', '225'));
ADDictionary.add( 'ETFsSurveyTop', new AD('2363063', '225'));
ADDictionary.add( 'ETFArticleTop', new AD('2363068', '225') );
ADDictionary.add( 'ETFArchiveTop', new AD('2363070', '225') );
ADDictionary.add('ETFQuickrankTop', new AD('2363070', '225'));
ADDictionary.add( 'ETFArticleRight', new AD('2377276', '154') );
ADDictionary.add( 'ETFArchiveRight', new AD('2377276', '154') ); 
ADDictionary.add( 'ETFQuickrankRight', new AD('2377276', '154') ); 
ADDictionary.add( 'OeicsHomeSquare', new AD('2366671', '6') );
ADDictionary.add( 'ETFsHomeMPU', new AD('2363071', '171') ); 
ADDictionary.add( 'ETFQuickRankBottomLeftMPU', new AD('2363071', '171'));  
ADDictionary.add( 'ETFsNewsLetterMPU', new AD('2363287', '171') ); 
ADDictionary.add( 'ETFConferenceMPU', new AD('2363066', '171') ); 
ADDictionary.add( 'ETFSurveyMPU', new AD('2363067', '171') ); 
ADDictionary.add( 'ETFsHomeBottom', new AD('2363064', '1748') );
ADDictionary.add( 'ETFsNewsLetterBottom', new AD('2363288', '1748') );
ADDictionary.add( 'ETFSurveyBottom', new AD('2363288', '1748') );
ADDictionary.add( 'ETFSurveyBottomButton', new AD('2454781', '1653') );
ADDictionary.add('ETFBottomButton', new AD('2363062', '1748'));
ADDictionary.add('ETFConferenceBottom', new AD('2363065', '1748'));
ADDictionary.add('ETFConferenceBottomButton', new AD('2454781', '1653'));

ADDictionary.add('ETFReportSkyscraper', new AD('3159183', '154'));
ADDictionary.add('ETFDataTop', new AD('3159185', '225'));
ADDictionary.add('ETFDataSky', new AD('3159183', '154'));
ADDictionary.add('ETFQuickrankBottom', new AD('3159182', '1748'));
ADDictionary.add('ETFReportMPU', new AD('3159184', '171'));

// Hedge Fund cover page adverts
ADDictionary.add('HFHomeTop', new AD('3558107', '225'));
ADDictionary.add('HFDefaultButton', new AD('1595073', '1653'));
ADDictionary.add('HFDefaultMPU', new AD('3558108', '171'));
ADDictionary.add('HFDefaultBottom', new AD('3558105', '1748'));
ADDictionary.add('HFDefaultButtonBottom', new AD('2454781', '1653'));

//Ishares Custom  
ADDictionary.add( 'ETFCustomSignup', new AD('2363069', '16') );

// New Beta Fund Default Page TK - added 29/03/2010
ADDictionary.add( 'FundsDefaultTop', new AD('2436181', '225') ); // Fund Default Top
ADDictionary.add( 'FundsDefaultButton', new AD('1595073', '1653') ); // Fund Default Button
ADDictionary.add( 'FundsDefaultMPU', new AD('2436183', '171') ); // Fund Default MPU
ADDictionary.add( 'FundsDefaultBottom', new AD('2436180', '1748') ); // Fund Default Bottom
ADDictionary.add( 'FundDefaultButtonBottom', new AD('2454781', '1653') ); // Fund Default Bottom
ADDictionary.add( 'FundsDefaultHouseAd', new AD('2454764', '1071') ); // Fund Default House Ad
ADDictionary.add( 'FundsDefaultNewHouseAd', new AD('2454763', '1750') ); // Fund Default House Ad

// New Beta Fund Solution Center and Fund Default Page TK - added 29/03/2010
ADDictionary.add( 'FundsSolutionTop', new AD('2454765', '225') ); // Fund Solution Top
ADDictionary.add( 'FundsSolutionButton', new AD('1595073', '1653') ); // Fund Solution Bottom Button
ADDictionary.add( 'FundsSolutionMPU', new AD('2454766', '171') ); // Fund Solution MPU
ADDictionary.add( 'FundsSolutionBottom', new AD('2454767', '1748') ); // Fund Solution Bottom
ADDictionary.add( 'FundsSolutionButtonBottom', new AD('2454781', '1653') ); // Fund Solution Bottom button
ADDictionary.add( 'FundArchiveButtonBottom', new AD('2454781', '1653') ); // Fund Solution Bottom button

// New ETF Default Page TK - added 29/03/2010
ADDictionary.add( 'ETFDefaultTop', new AD('2363070', '1653') ); // ETF Default Top 
ADDictionary.add( 'ETFDefaultButton', new AD('1595073', '1653') ); // ETF Default Button 
ADDictionary.add( 'ETFDefaultMPU', new AD('2363071', '171') ); // Fund Default MPU
ADDictionary.add( 'ETFDefaultButtonBottom', new AD('2454781', '1653') ); // Fund Default Bottom
ADDictionary.add( 'ETFDefaultNewHouseAd', new AD('2454769', '1071') ); // Fund Default House Ad
ADDictionary.add( 'ETFDefaultNewHouseAd2', new AD('2454768', '1750') ); // Fund Default House Ad

// New ETF Solution Page TK - added 29/03/2010
ADDictionary.add( 'ETFSolutionTop', new AD('2454770', '225') ); // ETF Solution Top 
ADDictionary.add( 'ETFSolutionButton', new AD('1595073', '1653') ); // ETF Solution Button 
ADDictionary.add( 'ETFDefaultBottom', new AD('2363064', '1748') ); // ETF Solution Bottom
ADDictionary.add( 'ETFSolutionMPU', new AD('2454771', '171') ); // Fund Solution MPU
ADDictionary.add( 'ETFSolutionBottom', new AD('2454772', '1748') ); // Fund Solution Bottom
ADDictionary.add( 'ETFSolutionButtonBottom', new AD('2454781', '1653') ); // Fund Solution Bottom

// ETF Survey
ADDictionary.add( 'ETFSurveyButtonBottom', new AD('2454781', '1653') ); // Fund Solution Bottom

// New Equity Default Page TK - added 29/03/2010
ADDictionary.add( 'EquityDefaultTop', new AD('2454773', '225') ); // Equity Default Top 
ADDictionary.add( 'EquityDefaultButton', new AD('1595073', '1653') ); // Equity Default Button 
ADDictionary.add( 'EquityDefaultMPU', new AD('2454774', '171') ); // Equity Default MPU
ADDictionary.add( 'EquityDefaultBottom', new AD('2454777', '1748') ); // Equity Default bottom
ADDictionary.add( 'EquityDefaultButtonBottom', new AD('2454781', '1653') ); // Equity Default Bottom Button
ADDictionary.add( 'EquityDefaultNewHouseAd', new AD('2454776', '1071') ); // Equity Default House Ad
ADDictionary.add( 'EquityDefaultNewHouseAd2', new AD('2454775', '1750') ); // Equity Default House Ad

// New Equity Solution Page TK - added 29/03/2010
ADDictionary.add( 'EquitySolutionTop', new AD('2454773', '225') ); //Equity Solution Top 
ADDictionary.add( 'EquitySolutionButton', new AD('1595073', '1653') ); // Equity Solution Button 
ADDictionary.add( 'EquitySolutionMPU', new AD('2454778', '171') ); // Equity Solution MPU
ADDictionary.add( 'EquitySolutionBottom', new AD('2454780', '1748') ); // Equity Solution Bottom
ADDictionary.add( 'EquitySolutionButtonBottom', new AD('2454781', '1653') ); // Equity Solution Bottom



ADDictionary.add( 'QuickRankBottomLeftMPU', new AD('2454757', '171') ); // Beta Home MPU


//HP
ADDictionary.add( 'HomeBottomButton', new AD('2454781', '1653') ); // Beta Home House Ad
ADDictionary.add( 'HomepageOverlay', new AD('2560626', '16') );

//General
ADDictionary.add( 'BottomButton', new AD('2454781', '1653') ); // Fund Default Bottom
ADDictionary.add( 'BottomLeaderboard', new AD('2363065', '1748') );

// Video Center page 
//ADDictionary.add( 'VideoCenterMPU', new AD('2457962', '171') ); // Video MPU
//ADDictionary.add( 'VideoCenterTop', new AD('2457960', '225') ); // Video Top Banner
//ADDictionary.add( 'VideoCenterBottom', new AD('2457961', '1748') ); // Video Bottom banner

//***Investing Mastermind Landing Page
ADDictionary.add('IMMLandingTopHeader', new AD('3314151', '225'));
ADDictionary.add('IMMLandingBottomBanner', new AD('3314147', '1748'));

//***Investing Mastermind Category Page
ADDictionary.add('IMMCategoryTopHeader', new AD('3314153', '225'));
ADDictionary.add('IMMCategoryBottomBanner', new AD('3314146', '1748'));

//***Investing Mastermind Question, Finish and AnswerPage
//CEF
//ADDictionary.add('IMMTopHeaderCEF', new AD('3293130', '225'));
//ADDictionary.add('IMMBottomBannerCEF', new AD('3293129', '1748'));

//Emerging market
ADDictionary.add('IMMTopHeaderEMarket', new AD('3314148', '225'));
ADDictionary.add('IMMBottomBannerEMarket', new AD('3314145', '1748'));

//Equity
ADDictionary.add('IMMTopHeaderEquity', new AD('3314172', '225'));
ADDictionary.add('IMMBottomBannerEquity', new AD('3314168', '1748'));

//ETF
ADDictionary.add('IMMTopHeaderETF', new AD('3314164', '225'));
ADDictionary.add('IMMBottomBannerETF', new AD('3314166', '1748'));

//Fixed Income
ADDictionary.add('IMMTopHeaderFixedIncome', new AD('3314171', '225'));
ADDictionary.add('IMMBottomBannerFixedIncome', new AD('3314165', '1748'));

//RDR
//ADDictionary.add('IMMTopHeaderRDR', new AD('3314183', '225'));
//ADDictionary.add('IMMBottomBannerRDR', new AD('3314182', '1748'));

//***Investing Mastermind Profile Page
//ADDictionary.add('IMMProfileTopHeader', new AD('1257284', '225'));
//ADDictionary.add('IMMProfileTopRight', new AD('1257283', '154'));
//ADDictionary.add('IMMProfileBottomLeft', new AD('1257284', '225'));
//ADDictionary.add('IMMProfileBottomRight', new AD('1257288', '225'));

//TK: added to change position for PortfolioBottomRight 05/02/09
PortfolioBottomRightFlag  = true;

function WebAdsWriteTagSponsor(width, height, placementID, key1, key2)
{
    // ignore the keys for now on non-uk sites
    WebAdsWriteTag(width, height, placementID);
}

function WebAdsWriteTag(width, height, placementKey) {

    try {
        if (!placementKey.match('^ETF')) {
            if (placementKey.match('MPU$')) {
                wbds_ads.qWrite('336X280', 'MIDDLE');
                return;
            } else if (placementKey.match('Top$') || placementKey.match('Leaderboard$')) {
                wbds_ads.qWrite('728X90', 'TOP');
                return;
            } else if (placementKey.match('ButtonBottom$') || placementKey.match('BottomButton$')) {
                WebAdsWriteTagAdTechTags(width, height, placementKey);
                return;
            } else if (placementKey.match('Bottom$') || placementKey.match('BottomLeaderboard$')) {
                wbds_ads.qWrite('728X90', 'BOTTOM');
                return;
            } else if (placementKey.match('PortfolioBottomRight$')) {
                wbds_ads.qWrite('TEXTBOX', placementKey);
                return;
            } else if (placementKey.match('topADSmallDefault')) {
                WebAdsWriteTagAdTechTags(width, height, placementKey);
                return;
            } else if (width == '160') {
                wbds_ads.qWrite('120X600', 'RIGHT');
                return;
            }
        } else {
            WebAdsWriteTagAdTechTags(width, height, placementKey);
            return;
        }
    } catch (e) { }
}

function WebAdsWriteTagAdTechTags(width, height, placementID)
{
    var currentAD;
    currentAD = ADDictionary.getVal(placementID);    
    if(!currentAD)
    {
        return;
    }
    
    if (window.adgroupid == undefined)
    {
	    window.adgroupid = Math.round(Math.random() * 1000);
    }   
    
    document.write('<scr'+'ipt language="javascript1.1" src="http://adserver.adtech.de/addyn|3.0|'+currentAD.networkID+'|'+currentAD.placementID+'|0|'+currentAD.sizeID+'|ADTECH;loc=100;target=_blank;key=key1+key2+key3+key4;grp='+window.adgroupid+';misc='+new Date().getTime()+'"></scri'+'pt>');
}

function WebAdsBottomTag(width, height, placementID)
{
    try {
        if (!placementID.match('ETF')) {
            wbds_ads.qWrite('728X90', 'BOTTOM');
            return;
        } else {
            WebAdsWriteTagAdTechTags(width, height, placementID);
            return;
        }
    }
    catch(e){
		wbds_ads.qWrite('728X90', 'BOTTOM'); // write the default
	}
}


function WebAdsBottomRightButtonTag(width, height, placementKey)
{
    try
    {
		var strLocation = location.href;  

		
		// Beta Fund default page
		if (strLocation.match("FundDefault")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'FundsDefaultButtonBottom');
				return;
		}
		
		// Beta Fund Solution page
		else if (strLocation.match("FundSolutionCenter")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'FundsSolutionButtonBottom');
				return;
		}

		// ETF default page
		else if (strLocation.match("ETFDefault")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'ETFDefaultButtonBottom');
				return;
		}

		// ETF Solution page
		else if (strLocation.match("ETFSolutionCenter")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'ETFSolutionButtonBottom');
				return;
		}

		// Equity Default page
		else if (strLocation.match("EquityDefault")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'EquityDefaultButtonBottom');
				return;
		}

		// Equity Solution page
		else if (strLocation.match("EquitiesSolutionCenter")) { 
				WebAdsWriteTagAdTechTags('195', '90', 'EquitySolutionButtonBottom');
				return;
		}

		WebAdsWriteTagAdTechTags(width, height, placementKey);
		
	}
	catch(e){
		// set to a default - not available yet
	}
}



function WebQTSponsorTag(fundId, companyId)
{   
    try{
        wbds_ads.qWrite('TEXTBOX','RIGHT1');
    }catch(e){}
}

