function AD(_placementID, _sizeID)
{
    this.networkID = 665; //Morningstar
    this.placementID = _placementID;
    this.sizeID = _sizeID;
}

var ADDictionary = new Dictionary();

// General defaults

ADDictionary.add('OeicsHomeSquare', new AD('1916128', '6')); //Nav Button 125x125
ADDictionary.add('ToolsHomeSquare', new AD('1916128', '6')); //Nav Button 125x125

ADDictionary.add('NavButton', new AD('1846989', '6')); //Nav Button 125x125
ADDictionary.add('QuickRankBottomLeft', new AD('2104659', '170')); //Quick Rank Bottom Left 300x250
ADDictionary.add('QuickRankBottomRightTop', new AD('1708665', '186')); //Quick Rank Bottom right top 150
ADDictionary.add('QuickRankBottomRightBottom', new AD('1709888', '186')); //Quick Rank Bottom right bottom 150
ADDictionary.add('TopLeaderboard', new AD('2104660', '225')); //Top Leaderboard 728x90
ADDictionary.add('BottomLeaderboard', new AD('2104666', '225')); //Bottom Leaderboard 728x90
ADDictionary.add('BottomButton', new AD('2717632', '1653')); // Bottom right
ADDictionary.add('topADSmallDefault', new AD('1846988', '1653')); //Additional banner next to leaderboard 195x90

// General defaults
//ADDictionary.add('MPU', new AD('2104659', '170') );//Homepage MPU 300x250
//ADDictionary.add('Skyescraper', new AD('2104661', '154')); //Homepage Skyescraper 160x600

// Homepage 
ADDictionary.add('HomepageTop', new AD('2734073', '225')); //Homepage Top 728x90
ADDictionary.add('HomepageTopRight', new AD('2734074', '1653') );//Top right
ADDictionary.add('HomepageMPU', new AD('2734076', '170') );//Homepage MPU 300x250
ADDictionary.add('HomepageSkyescraper', new AD('2104661', '154')); //Homepage Skyescraper 160x600
ADDictionary.add('HomepageBottom', new AD('2734075', '1748') );  //Bottom Leaderboard 728x90
ADDictionary.add('HomepageButtonBottom', new AD('2734077', '1653')); // Bottom right

// Video
ADDictionary.add('VideoCenterMPU', new AD('2734076', '170')); // MPU

// Equity Default
ADDictionary.add('EquityDefaultTop', new AD('2717679', '225')); // Equity Top
ADDictionary.add('EquityDefaultButton', new AD('2717677', '1653')); //Additional banner next to leaderboard 195x90
ADDictionary.add('EquityDefaultMPU', new AD('2717675', '171')); // Equity MPU
ADDictionary.add('EquityDefaultBottom', new AD('2717678', '1748')); //Bottom 728x90
ADDictionary.add('EquityDefaultButtonBottom', new AD('2717676', '1653')); // Bottom right

// Equity Solution Page
ADDictionary.add('EquitySolutionTop', new AD('2717679', '225')); // Equity Top
ADDictionary.add('EquitySolutionButton', new AD('2717677', '1653')); //Bottom banner
ADDictionary.add('EquitySolutionMPU', new AD('2717675', '171')); //MPU 
ADDictionary.add('EquitySolutionBottom', new AD('2717678', '1748')); //Additional banner next to leaderboard 195x90
ADDictionary.add('EquitySolutionButtonBottom', new AD('2717676', '1653')); // Bottom right

//FundsDefault
ADDictionary.add('FundsDefaultTop', new AD('2717649', '225')); // Funds Top
ADDictionary.add('FundsDefaultButton', new AD('2717647', '1653')); //Additional banner next to leaderboard 195x90
ADDictionary.add('FundsDefaultMPU', new AD('2717646', '171')); // Equity MPU
ADDictionary.add('FundDefaultBottom', new AD('2717648', '1748')); //Bottom 728x90
ADDictionary.add('FundDefaultButtonBottom', new AD('2717650', '1653')); // Bottom right
ADDictionary.add('FundScreenerTop', new AD('2734073', '225')); 
ADDictionary.add('FundscreenerEmailTop', new AD('2717649', '225')); 

// Fund Solution Page
ADDictionary.add('FundsSolutionTop', new AD('2717649', '225')); // Top Banner
ADDictionary.add('FundsSolutionButton', new AD('2717647', '1653')); //Button right
ADDictionary.add('FundsSolutionMPU', new AD('2717646', '171')); // Equity MPU
ADDictionary.add('FundSolutionBottom', new AD('2717648', '1748')); //Bottom banner
ADDictionary.add('FundSolutionButtonBottom', new AD('2717650', '1653')); // Bottom right
ADDictionary.add('FundQuickrankTop', new AD('2717649', '225')); // Top Banner
ADDictionary.add('FundCompareTop', new AD('2734073', '225')); // Top Banner

// ETF Default
ADDictionary.add('ETFsHomeTop', new AD('2717633', '225')); // Funds Top
ADDictionary.add('ETFArticleTop', new AD('2717633', '225')); // ETF's Top
ADDictionary.add('ETFDefaultButton', new AD('2717630', '1653')); //Additional banner next to leaderboard 195x90
ADDictionary.add('ETFDefaultMPU', new AD('2717634', '171')); // Equity MPU
ADDictionary.add('ETFDefaultBottom', new AD('2717631', '1748')); //Bottom 728x90
ADDictionary.add('ETFDefaultButtonBottom', new AD('2717632', '1653')); // Bottom right
ADDictionary.add('ETFsNewsLetterTop', new AD('2717633', '225')); // Bottom right
ADDictionary.add('ETFsNewsLetterMPU', new AD('2717634', '171')); // Equity MPU

// ETF Solution Page
ADDictionary.add('ETFSolutionTop', new AD('2717633', '225')); // Top Banner
ADDictionary.add('ETFSolutionButton', new AD('2717630', '1653')); //Button right
ADDictionary.add('ETFSolutionMPU', new AD('2717634', '171')); // Equity MPU
ADDictionary.add('ETFSolutionBottom', new AD('2717631', '1748')); //Bottom banner
ADDictionary.add('ETFSolutionButtonBottom', new AD('2717632', '1653')); // Bottom right

// ETF Conference Page(s) 
ADDictionary.add('ETFsConferenceTop', new AD('2837785', '225')); // Top Banner
//ADDictionary.add('ETFsConferenceButton', new AD('2717630', '1653')); //Button right
ADDictionary.add('ETFConferenceMPU', new AD('2837791', '170')); // Equity MPU
ADDictionary.add('ETFConferenceBottom', new AD('2837792', '1748')); //Bottom banner
ADDictionary.add('ETFConferenceBottomButton', new AD('2717632', '1653')); // Bottom right

// ETF Survey page
ADDictionary.add('ETFsSurveyTop', new AD('2837788', '225')); // Top
ADDictionary.add('ETFSurveyMPU', new AD('2837789', '170')); // MPU
ADDictionary.add('ETFSurveyBottom', new AD('2837786', '1748')); // Bottom
ADDictionary.add('ETFSurveyButtonBottom', new AD('2717632', '1653')); // Bottom

// Archive Page - temporarily duplicated from HP
ADDictionary.add('FundArchiveTop', new AD('2104660', '225')); // Top Banner
ADDictionary.add('FundArchiveTopRight', new AD('1846988', '1653')); // Top Right Banner
ADDictionary.add('FundArchiveBottom', new AD('2104666', '225')); // Bottom Banner
ADDictionary.add('FundArchiveButtonBottom', new AD('2717632', '1653')); // Bottom Right Banner

//Awards
ADDictionary.add('FundArticleTop', new AD('2717649', '225')); // Top Banner

// Snapshot Overview
ADDictionary.add('ToolsFundOverviewTop', new AD('2344358', '225')); // Top Banner
ADDictionary.add('ToolsHomeTop', new AD('2734073', '225')); // Top Banner

// Feedback
ADDictionary.add('AnalystFeedbackTop', new AD('2717649', '225')); // Top Banner

// Misc
ADDictionary.add('OeicsHomeTop', new AD('2717649', '225')); // Top Banner
ADDictionary.add('GlossaryTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('HelpTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('InstantXRayTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('MembershipHomeTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('MembershipMyProfileTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('MembershipLoginTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('MembershipNewUserRegTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('ArticleEmailTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('PortfolioLeaderboard', new AD('2837793', '225')); // Top Banner
ADDictionary.add('StockQuickrankEmailTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('StockQuickrankEmailTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('SnapshotEmailTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('VideoCenterTop', new AD('2837793', '225')); // Top Banner
ADDictionary.add('LearningSkyescraper', new AD('2104661', '154')); // Skyscraper Banner
ADDictionary.add('PortfolioMPU', new AD('2837791', '170')); // Portfolio MPU

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('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;
        }
    } 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 WebQTSponsorTag(fundId, companyId)
{   
    try{
        wbds_ads.qWrite('TEXTBOX','RIGHT1');
    }catch(e){}
}

function WebAdsBottomTag(width, height, placementKey)
{
    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
	}
}
