Array.prototype.contains = function(element)
{
    for (var i = 0; i < this.length; i++)
    {
        if (this[i] == element) { return true; }
    } return false;
};

function Delegate() { }
Delegate.create = function(o, f)
{
    var a = new Array();
    var l = arguments.length;
    for (var i = 2; i < l; i++) a[i - 2] = arguments[i];
    return function()
    {
        var aP = [].concat(arguments, a);
        f.apply(o, aP);
    }
}

Tween = function(obj, prop, func, begin, finish, duration, suffixe)
{
    this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;

t.obj = new Object();
t.prop = '';
t.func = function(t, b, c, d) { return c * t / d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();
t.setTime = function(t)
{
    this.prevTime = this._time;
    if (t > this.getDuration())
    {
        if (this.looping)
        {
            this.rewind(t - this._duration);
            this.update();
            this.broadcastMessage('onMotionLooped', { target: this, type: 'onMotionLooped' });
        } else
        {
            this._time = this._duration;
            this.update();
            this.stop();
            this.broadcastMessage('onMotionFinished', { target: this, type: 'onMotionFinished' });
        }
    } else if (t < 0)
    {
        this.rewind();
        this.update();
    } else
    {
        this._time = t;
        this.update();
    }
}
t.getTime = function()
{
    return this._time;
}
t.setDuration = function(d)
{
    this._duration = (d == null || d <= 0) ? 100000 : d;
}
t.getDuration = function()
{
    return this._duration;
}
t.setPosition = function(p)
{
    this.prevPos = this._pos;
    var a = this.suffixe != '' ? this.suffixe : '';
    this.obj[this.prop] = Math.round(p) + a;
    this._pos = p;
    this.broadcastMessage('onMotionChanged', { target: this, type: 'onMotionChanged' });
}
t.getPosition = function(t)
{
    if (t == undefined) t = this._time;
    return this.func(t, this.begin, this.change, this._duration);
};
t.setFinish = function(f)
{
    this.change = f - this.begin;
};
t.geFinish = function()
{
    return this.begin + this.change;
};
t.init = function(obj, prop, func, begin, finish, duration, suffixe)
{
    if (!arguments.length) return;
    this._listeners = new Array();
    this.addListener(this);
    if (suffixe) this.suffixe = suffixe;
    this.obj = obj;
    this.prop = prop;
    this.begin = begin;
    this._pos = begin;
    this.setDuration(duration);
    if (func != null && func != '')
    {
        this.func = func;
    }
    this.setFinish(finish);
}
t.start = function()
{
    this.rewind();
    this.startEnterFrame();
    this.broadcastMessage('onMotionStarted', { target: this, type: 'onMotionStarted' });
    //alert('in');
}
t.rewind = function(t)
{
    this.stop();
    this._time = (t == undefined) ? 0 : t;
    this.fixTime();
    this.update();
}
t.fforward = function()
{
    this._time = this._duration;
    this.fixTime();
    this.update();
}
t.update = function()
{
    this.setPosition(this.getPosition(this._time));
}
t.startEnterFrame = function()
{
    this.stopEnterFrame();
    this.isPlaying = true;
    this.onEnterFrame();
}
t.onEnterFrame = function()
{
    if (this.isPlaying)
    {
        this.nextFrame();
        setTimeout(Delegate.create(this, this.onEnterFrame), 0);
    }
}
t.nextFrame = function()
{
    this.setTime((this.getTimer() - this._startTime) / 1000);
}
t.stop = function()
{
    this.stopEnterFrame();
    this.broadcastMessage('onMotionStopped', { target: this, type: 'onMotionStopped' });
}
t.stopEnterFrame = function()
{
    this.isPlaying = false;
}

t.continueTo = function(finish, duration)
{
    this.begin = this._pos;
    this.setFinish(finish);
    if (this._duration != undefined)
        this.setDuration(duration);
    this.start();
}
t.resume = function()
{
    this.fixTime();
    this.startEnterFrame();
    this.broadcastMessage('onMotionResumed', { target: this, type: 'onMotionResumed' });
}
t.yoyo = function()
{
    this.continueTo(this.begin, this._time);
}

t.addListener = function(o)
{
    this.removeListener(o);
    return this._listeners.push(o);
}
t.removeListener = function(o)
{
    var a = this._listeners;
    var i = a.length;
    while (i--)
    {
        if (a[i] == o)
        {
            a.splice(i, 1);
            return true;
        }
    }
    return false;
}
t.broadcastMessage = function()
{
    var arr = new Array();
    for (var i = 0; i < arguments.length; i++)
    {
        arr.push(arguments[i])
    }
    var e = arr.shift();
    var a = this._listeners;
    var l = a.length;
    for (var i = 0; i < l; i++)
    {
        if (a[i][e])
            a[i][e].apply(a[i], arr);
    }
}
t.fixTime = function()
{
    this._startTime = this.getTimer() - this._time * 1000;
}
t.getTimer = function()
{
    return new Date().getTime() - this._time;
}
Tween.backEaseIn = function(t, b, c, d, a, p)
{
    if (s == undefined) var s = 1.70158;
    return c * (t /= d) * t * ((s + 1) * t - s) + b;
}
Tween.backEaseOut = function(t, b, c, d, a, p)
{
    if (s == undefined) var s = 1.70158;
    return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
}
Tween.backEaseInOut = function(t, b, c, d, a, p)
{
    if (s == undefined) var s = 1.70158;
    if ((t /= d / 2) < 1) return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;
    return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;
}
Tween.elasticEaseIn = function(t, b, c, d, a, p)
{
    if (t == 0) return b;
    if ((t /= d) == 1) return b + c;
    if (!p) p = d * .3;
    if (!a || a < Math.abs(c))
    {
        a = c; var s = p / 4;
    }
    else
        var s = p / (2 * Math.PI) * Math.asin(c / a);

    return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;

}
Tween.elasticEaseOut = function(t, b, c, d, a, p)
{
    if (t == 0) return b; if ((t /= d) == 1) return b + c; if (!p) p = d * .3;
    if (!a || a < Math.abs(c)) { a = c; var s = p / 4; }
    else var s = p / (2 * Math.PI) * Math.asin(c / a);
    return (a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b);
}
Tween.elasticEaseInOut = function(t, b, c, d, a, p)
{
    if (t == 0) return b; if ((t /= d / 2) == 2) return b + c; if (!p) var p = d * (.3 * 1.5);
    if (!a || a < Math.abs(c)) { var a = c; var s = p / 4; }
    else var s = p / (2 * Math.PI) * Math.asin(c / a);
    if (t < 1) return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;
    return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b;
}

Tween.bounceEaseOut = function(t, b, c, d)
{
    if ((t /= d) < (1 / 2.75))
    {
        return c * (7.5625 * t * t) + b;
    } else if (t < (2 / 2.75))
    {
        return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
    } else if (t < (2.5 / 2.75))
    {
        return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
    } else
    {
        return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
    }
}
Tween.bounceEaseIn = function(t, b, c, d)
{
    return c - Tween.bounceEaseOut(d - t, 0, c, d) + b;
}
Tween.bounceEaseInOut = function(t, b, c, d)
{
    if (t < d / 2) return Tween.bounceEaseIn(t * 2, 0, c, d) * .5 + b;
    else return Tween.bounceEaseOut(t * 2 - d, 0, c, d) * .5 + c * .5 + b;
}

Tween.strongEaseInOut = function(t, b, c, d)
{
    return c * (t /= d) * t * t * t * t + b;
}

Tween.regularEaseIn = function(t, b, c, d)
{
    return c * (t /= d) * t + b;
}
Tween.regularEaseOut = function(t, b, c, d)
{
    return -c * (t /= d) * (t - 2) + b;
}

Tween.regularEaseInOut = function(t, b, c, d)
{
    if ((t /= d / 2) < 1) return c / 2 * t * t + b;
    return -c / 2 * ((--t) * (t - 2) - 1) + b;
}
Tween.strongEaseIn = function(t, b, c, d)
{
    return c * (t /= d) * t * t * t * t + b;
}
Tween.strongEaseOut = function(t, b, c, d)
{
    return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
}

Tween.strongEaseInOut = function(t, b, c, d)
{
    if ((t /= d / 2) < 1) return c / 2 * t * t * t * t * t + b;
    return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;
}

ColorTween.prototype = new Tween();
ColorTween.prototype.constructor = Tween;
ColorTween.superclass = Tween.prototype;

function ColorTween(obj, prop, func, fromColor, toColor, duration)
{
    toColor = toColor.replace("#", "");
    fromColor = fromColor.replace("#", "");

    this.targetObject = obj;
    this.targetProperty = prop;
    this.fromColor = fromColor;
    this.toColor = toColor;
    this.init(new Object(), 'x', func, 0, 100, duration);
    this.listenerObj = new Object();
    this.listenerObj.onMotionChanged = Delegate.create(this, this.onColorChanged);
    this.addListener(this.listenerObj);
}
var o = ColorTween.prototype;
o.targetObject = {};
o.targetProperty = {};
o.fromColor = '';
o.toColor = '';
o.currentColor = '';
o.listenerObj = {};
o.onColorChanged = function()
{
    this.currentColor = this.getColor(this.fromColor, this.toColor, this._pos);
    this.targetObject[this.targetProperty] = this.currentColor;
}


o.getColor = function(start, end, percent)
{
    var r1 = this.hex2dec(start.slice(0, 2));
    var g1 = this.hex2dec(start.slice(2, 4));
    var b1 = this.hex2dec(start.slice(4, 6));

    var r2 = this.hex2dec(end.slice(0, 2));
    var g2 = this.hex2dec(end.slice(2, 4));
    var b2 = this.hex2dec(end.slice(4, 6));

    var pc = percent / 100;

    r = Math.floor(r1 + (pc * (r2 - r1)) + .5);
    g = Math.floor(g1 + (pc * (g2 - g1)) + .5);
    b = Math.floor(b1 + (pc * (b2 - b1)) + .5);

    return ("#" + this.dec2hex(r) + this.dec2hex(g) + this.dec2hex(b));
}

o.dec2hex = function(dec) { return (this.hexDigit[dec >> 4] + this.hexDigit[dec & 15]); }
o.hexDigit = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
o.hex2dec = function(hex) { return (parseInt(hex, 16)) };

OpacityTween.prototype = new Tween();
OpacityTween.prototype.constructor = Tween;
OpacityTween.superclass = Tween.prototype;

function OpacityTween(obj, func, fromOpacity, toOpacity, duration)
{
    this.targetObject = obj;
    this.init(new Object(), 'x', func, fromOpacity, toOpacity, duration);
}
var o = OpacityTween.prototype;
o.targetObject = {};
o.onMotionChanged = function(evt)
{
    var v = evt.target._pos;
    var t = this.targetObject;
    t.style['opacity'] = v / 100;
    t.style['-moz-opacity'] = v / 100;

    try
    {
        t.style.filter = 'alpha(opacity=' + v + ')';
    }
    catch (e)
    {
    }

    try
    {
        if (t.filters) t.filters.alpha['opacity'] = v;
    }
    catch (e)
    {
    }
}

Reports =
{
    CRinUKEF: { text: "CRinUKEF", url: "reports.php?file=CarbonRisksinUKEquityFunds.pdf " },
    SandP500CRO: { text: "SandP500-CRO", url: "reports.php?file=Carbon Risks & Opportunities S&P 500.pdf " },
    RNCEDU: { text: "RN-CED-U", url: "reports.php?file=Corporate-CRC-Updated.pdf " },
    JapNikkeiJap: { text: "JapNikkei-Jap", url: "reports.php?file=Japan & Nikkei - Japanese Version.pdf " },
    JapNikkeiEng: { text: "JapNikkei-Eng", url: "reports.php?file=Japan & Nikkei - English Version.pdf " },
    CCUSA2009: { text: "CCUSA2009", url: "reports.php?file=CarbonCounts-USA_April2009.pdf " },
    ExplanatoryNotes: { text: "ExplanatoryNotes", url: "reports.php?file=Explanatory Notes.pdf " },
    ESR: { text: "ESR", url: "reports.php?file=EurosifShippingSectorReport.pdf " },
    CompCac: { text: "CompCac", url: "reports.php?file=ClimateChangeAct.pdf " },
    VicCC2008: { text: "VicCC2008", url: "reports.php?file=VicSuper Carbon Count 2008 report.pdf " },
    HENDIILCE: { text: "HEND-IILCE", url: "reports.php?file=investinginlowcarboneconomy.pdf " },
    HENDCM2008: { text: "HEND-CM2008", url: "reports.php?file=carbonmatters2008.pdf " },
    EAF100: { text: "EA-F100", url: "reports.php?file=EnvironmentalDisclosuresF100.pdf " },
    RNCED: { text: "RN-CED", url: "reports.php?file=Corporate-CRC.pdf " },
    CCAIST: { text: "CCAIST", url: "reports.php?file=CarbonCounts-AIST.pdf " },
    RN3: { text: "RN3", url: "reports.php?file=RN3-Oilsands.pdf " },
    RNECR: { text: "RNECR", url: "reports.php?file=RNElecrtricityCarbonRisk.pdf " },
    VMCRE: { text: "VMCRE", url: "reports.php?file=VehicleManufacturerCarbonRisk.pdf " },
    ILCS2007: { text: "ILCS2007", url: "reports.php?file=investinglowcarbonsolutions.pdf " },
    TBPF2008: { text: "TBPF2008", url: "reports.php?file=TrucostBriefingforPensionFunds2008.pdf " },
    CNR2007: { text: "CNR2007", url: "reports.php?file=CarbonNeutralityReport2007.pdf " },
    EAD: { text: "EAD", url: "reports.php?file=Environmentaldisclosures.pdf " },
    CDP5: { text: "CDP5", url: "reports.php?file=CDP FTSE 350 25.9.7.pdf " },
    VICS: { text: "VICS", url: "reports.php?file=13816VSASX200Web.pdf " },
    HENDGC2007: { text: "HENDGC2007", url: "reports.php?file=Henderson-GettingGreenerYearbyYear2007.pdf " },
    CDR350: { text: "CDR-350", url: "reports.php?file=CDP-FTSE-350-report-Final.pdf " },
    CDR3502007: { text: "CDR-350-2007", url: "reports.php?file=CC2007.pdf " },
    CCA2007: { text: "CCA2007", url: "reports.php?file=CarbonCountsAsia_DPF.pdf " },
    CC2: { text: "CC2", url: "reports.php?file=CC2007.pdf " },
    CDRAsia: { text: "CDR-Asia", url: "reports.php?file=CDP_report2006Asria.pdf " },
    CNFTSEALL: { text: "CNFTSE-ALL", url: "reports.php?file=Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All-Share.pdf " },
    _2003euemissions: { text: "2003euemissions", url: "reports.php?file=20030815-euemissions.pdf " },
    _2204aviat: { text: "2204aviat", url: "reports.php?file=20040322aviationreport.pdf " },
    _2304aviat: { text: "2304aviat", url: "reports.php?file=20040323aviationreport.pdf " },
    _2304aviat2: { text: "2304aviat2", url: "reports.php?file=20040323aviationreport2.pdf " },
    OFRReview: { text: "OFRReview", url: "reports.php?file=20040618Trucost_OFR_Review.pdf " },
    avia0422: { text: "avia0422", url: "reports.php?file=aviation20040322.pdf " },
    avia0423: { text: "avia0423", url: "reports.php?file=aviation20040323.pdf " },
    CarbonRep: { text: "CarbonRep", url: "reports.php?file=Carbon_Report.pdf " },
    CDPElecUt265: { text: "CDPElecUt265", url: "reports.php?file=CDPElecUt265.pdf " },
    CasellaOFR: { text: "CasellaOFR", url: "reports.php?file=Casella-TrucostOFRBriefing.pdf " },
    DefraKPI: { text: "DefraKPI", url: "reports.php?file=Defra_Trucost_Environmental_KPIs_01-06.pdf " },
    Disclosure: { text: "Disclosure", url: "reports.php?file=Disclosure_2_Report_initial findings.pdf " },
    StillGreen: { text: "StillGreen", url: "reports.php?file=Henderson-Is-my-Portfolio-Still-Green.pdf " },
    LowCarbon: { text: "LowCarbon", url: "reports.php?file=Henderson-The-Future-is-Low-Carbon-Finl-07.06.pdf " },
    AMD: { text: "AMD", url: "reports.php?file=SA Trucost Guide - EU Accounts Modernisation Directive v7_0.pdf " },
    LawBill: { text: "UK Companies Law Breifing", url: "reports.php?file=SA-Trucost-companies-Law-Bill-briefing-9-Aug-06-v1_0.pdf " },
    CompAct: { text: "CompAct", url: "reports.php?file=SA Trucost Guide - Companies Act.pdf " },
    CarbonNeutrality: { text: "CarbonNeutrality", url: "reports.php?file=Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All-Share.pdf " },
    AMDGerman1: { text: "AMDGerman1", url: "reports.php?file=Trucost_Briefing_EU_Modernisation_German .1.pdf " },
    AMDGerEn1: { text: "AMDGerEn1", url: "reports.php?file=Trucost_Briefing_EU_Modernisation_Germany_InEnglish.1.pdf " },
    AMDGerEn2: { text: "AMDGerEn2", url: "reports.php?file=Trucost_Briefing_EU_Modernisation_Germany_InEnglish.pdf " },
    DisStudy1: { text: "DisStudy1", url: "reports.php?file=Trucost_EA_Disclosure_Study_Part_1.pdf " },
    DisStudy2: { text: "DisStudy2", url: "reports.php?file=Trucost_EA_Disclosure_Study_Part_2.pdf " },
    DisSummary: { text: "DisSummary", url: "reports.php?file=Trucost_EA_Environmental_Disclosures_Summary.pdf " },
    EnvironKPIs: { text: "#EnvironKPIs", url: "reports.php?file=Trucost_Environmental_KPIs.pdf " },
    GreenPortfolio: { text: "GreenPortfolio", url: "reports.php?file=Trucost_How_Green_Is_My_Portfolio.pdf " },
    SandP500: { text: "SandP500", url: "reports.php?file=Trucost_SandP500keyfindings.pdf " },
    MetMining: { text: "MetMining", url: "reports.php?file=Trucost_Sector_Report_MetMining.pdf " },
    Carbon100: { text: "Carbon100", url: "reports.php?file=Trucost_The_Carbon_100.pdf " },
    DTIOFR: { text: "DTIOFR", url: "reports.php?file=Trucost_Update_Dti_Ofr.pdf " },
    UKAlloc: { text: "UKAlloc", url: "reports.php?file=uknationalallocationplan.pdf " },
    SATransportSector: { text: "SATransportSector", url: "reports.php?file=SA Trucost Transport Sector Report v1_0 (August 05).pdf " },
    EnviroDisc100: { text: "EnviroDisc100", url: "reports.php?file=EA Environmental Disclosures - First 100 Report 15-11-06 .pdf " },
    FootPrintSample: { text: "Sample Footprint Report", url: "reports.php?file=Trucost_Environmental_Footprint_Analysis.pdf " },
    TrucostRegulatoryGuide: { text: "TrucostRegulatoryGuide", url: "reports.php?file=TrucostRegulatoryGuide.pdf " },
    TrucostSampleBriefingReport: { text: "Trucost Company Briefing Sample Report.", url: "reports.php?file=TrucostCompanyBriefing" },
    CRCPolicyBriefing: { text: "CRC Energy Efficiency Scheme", url: "reports.php?file=CRCBriefing" }
}

Documents =
{
    _13816VSASX200Web_pdf: { text: "13816VSASX200Web", name: "13816VSASX200Web.pdf", url: "13816VSASX200Web.pdf" },
    _20021113_TrucostIsAnExcellentSystem_pdf: { text: "20021113_TrucostIsAnExcellentSystem", name: "20021113_TrucostIsAnExcellentSystem.pdf", url: "docs/20021113_TrucostIsAnExcellentSystem.pdf" },
    _20030506_CommunicatingEnvironmentalPerformance_pdf: { text: "20030506_CommunicatingEnvironmentalPerformance", name: "20030506_CommunicatingEnvironmentalPerformance.pdf", url: "docs/20030506_CommunicatingEnvironmentalPerformance.pdf" },
    _20030604_NewTool_pdf: { text: "20030604_NewTool", name: "20030604_NewTool.pdf", url: "docs/20030604_NewTool.pdf" },
    _20030604newtool_pdf: { text: "20030604newtool", name: "20030604newtool.pdf", url: "docs/20030604newtool.pdf" },
    _20030606_Insead_pdf: { text: "20030606_Insead", name: "20030606_Insead.pdf", url: "docs/20030606_Insead.pdf" },
    _20030609_TECCLaunch_pdf: { text: "20030609_TECCLaunch", name: "20030609_TECCLaunch.pdf", url: "docs/20030609_TECCLaunch.pdf" },
    _20030815_euemissions_pdf: { text: "20030815-euemissions", name: "20030815-euemissions.pdf", url: "20030815-euemissions.pdf" },
    _20030910_greenmountain_pdf: { text: "20030910-greenmountain", name: "20030910-greenmountain.pdf", url: "docs/20030910-greenmountain.pdf" },
    _20031024_triplebottomline_pdf: { text: "20031024-triplebottomline", name: "20031024-triplebottomline.pdf", url: "docs/20031024-triplebottomline.pdf" },
    _20031110jpmorgan_pdf: { text: "20031110jpmorgan", name: "20031110jpmorgan.pdf", url: "docs/20031110jpmorgan.pdf" },
    _20040322aviationreport_pdf: { text: "20040322aviationreport", name: "20040322aviationreport.pdf", url: "20040322aviationreport.pdf" },
    _20040323aviationreport_pdf: { text: "20040323aviationreport", name: "20040323aviationreport.pdf", url: "20040323aviationreport.pdf" },
    _20040323aviationreport2_pdf: { text: "20040323aviationreport2", name: "20040323aviationreport2.pdf", url: "20040323aviationreport2.pdf" },
    _20040618Trucost_OFR_Review_pdf: { text: "20040618Trucost_OFR_Review", name: "20040618Trucost_OFR_Review.pdf", url: "20040618Trucost_OFR_Review.pdf" },
    _20040618Trucost_OFR_Review_pdf: { text: "20040618Trucost_OFR_Review", name: "20040618Trucost_OFR_Review.pdf", url: "docs/20040618Trucost_OFR_Review.pdf" },
    aviation20040322_pdf: { text: "aviation20040322", name: "aviation20040322.pdf", url: "aviation20040322.pdf" },
    aviation20040323_pdf: { text: "aviation20040323", name: "aviation20040323.pdf", url: "aviation20040323.pdf" },
    Carbon_Report_pdf: { text: "Carbon_Report", name: "Carbon_Report.pdf", url: "Carbon_Report.pdf" },
    Carbon_Risks_AND_Opportunities_SANDP_500_pdf: { text: "Carbon Risks & Opportunities S&P 500", name: "Carbon Risks & Opportunities S&P 500.pdf", url: "Carbon Risks & Opportunities S&P 500.pdf" },
    CarbonCounts_AIST_pdf: { text: "CarbonCounts-AIST", name: "CarbonCounts-AIST.pdf", url: "CarbonCounts-AIST.pdf" },
    CarbonCounts_Awards_InviteFinal_pdf: { text: "CarbonCounts Awards-InviteFinal", name: "CarbonCounts Awards-InviteFinal.pdf", url: "CarbonCounts Awards-InviteFinal.pdf" },
    CarbonCounts_USA_April2009_pdf: { text: "CarbonCounts-USA_April2009", name: "CarbonCounts-USA_April2009.pdf", url: "CarbonCounts-USA_April2009.pdf" },
    CarbonCountsAsia_DPF_pdf: { text: "CarbonCountsAsia_DPF", name: "CarbonCountsAsia_DPF.pdf", url: "CarbonCountsAsia_DPF.pdf" },
    carbonmatters2008_pdf: { text: "carbonmatters2008", name: "carbonmatters2008.pdf", url: "carbonmatters2008.pdf" },
    CarbonNeutralityReport2007_pdf: { text: "CarbonNeutralityReport2007", name: "CarbonNeutralityReport2007.pdf", url: "CarbonNeutralityReport2007.pdf" },
    CarbonReductionCommitment: { text: "Carbon Reduction Commitment Policy Breifing", name: "carbonrecuctioncommitmentpolicybriefing", url: "reports.php?file=RN-CED-U%20" },
    CarbonRisksinUKEquityFunds_pdf: { text: "CarbonRisksinUKEquityFunds", name: "CarbonRisksinUKEquityFunds.pdf", url: "CarbonRisksinUKEquityFunds.pdf" },
	Case_Study_Barking_pdf: { text: "Case Study: London Borough of Barking & Dagenham", name: "Case_Study_Barking.pdf", url: "Case_Study_Barking.pdf" },
	Case_Study_Leicestershire_pdf: { text: "Case Study: Leicestershire County Council", name: "Case_Study_Leicestershire.pdf", url: "Case_Study_Leicestershire.pdf" },
	Case_Study_Lewisham_pdf: { text: "Case Study: London Borough of Lewisham", name: "Case_Study_Lewisham.pdf", url: "Case_Study_Lewisham.pdf" },
	Case_Study_Waltham_Forest_pdf: { text: "Case Study: London Borough of Waltham Forest", name: "Case_Study_Waltham_Forest.pdf", url: "Case_Study_Waltham_Forest.pdf" },
    Casella_TrucostOFRBriefing_pdf: { text: "Casella_TrucostOFRBriefing", name: "Casella_TrucostOFRBriefing.pdf", url: "Casella_TrucostOFRBriefing.pdf" },
    Casella_TrucostOFRBriefing_pdf: { text: "Casella-TrucostOFRBriefing", name: "Casella-TrucostOFRBriefing.pdf", url: "Casella-TrucostOFRBriefing.pdf" },
    CC2007_pdf: { text: "CC2007", name: "CC2007.pdf", url: "CC2007.pdf" },
    CDP_FTSE_350_25_9_7_pdf: { text: "CDP FTSE 350 25.9.7", name: "CDP FTSE 350 25.9.7.pdf", url: "CDP FTSE 350 25.9.7.pdf" },
    CDP_FTSE_350_report_2007_pdf: { text: "CDP-FTSE-350-report-2007", name: "CDP-FTSE-350-report-2007.pdf", url: "CDP-FTSE-350-report-2007.pdf" },
    CDP_FTSE_350_report_Final_pdf: { text: "CDP-FTSE-350-report-Final", name: "CDP-FTSE-350-report-Final.pdf", url: "CDP-FTSE-350-report-Final.pdf" },
    CDP_report2006Asria_pdf: { text: "CDP_report2006Asria", name: "CDP_report2006Asria.pdf", url: "CDP_report2006Asria.pdf" },
    CDPElecUt265_pdf: { text: "CDPElecUt265", name: "CDPElecUt265.pdf", url: "CDPElecUt265.pdf" },
    ClimateChangeAct_pdf: { text: "ClimateChangeAct", name: "ClimateChangeAct.pdf", url: "ClimateChangeAct.pdf" },
    cobriefsample_pdf: { text: "cobriefsample", name: "cobriefsample.pdf", url: "cobriefsample.pdf" },
    companylist_xls: { text: "companylist", name: "companylist.xls", url: "companylist.xls" },
    constructing_environmental_benchmarks_1_pdf: { text: "constructing_environmental_benchmarks.1", name: "constructing_environmental_benchmarks.1.pdf", url: "constructing_environmental_benchmarks.1.pdf" },
    Constructing_Environmental_Benchmarks_pdf: { text: "Constructing Environmentally Tilted Indices", name: "Constructing_Environmental_Benchmarks.pdf", url: "Constructing_Environmental_Benchmarks.pdf" },
    Corporate_CRC_pdf: { text: "Corporate-CRC", name: "Corporate-CRC.pdf", url: "Corporate-CRC.pdf" },
    Corporate_CRC_Updated_pdf: { text: "Corporate-CRC-Updated", name: "Corporate-CRC-Updated.pdf", url: "Corporate-CRC-Updated.pdf" },
    Creating_Environmental_Benchmarks_pdf: { text: "Creating_Environmental_Benchmarks", name: "Creating_Environmental_Benchmarks.pdf", url: "Creating_Environmental_Benchmarks.pdf" },
    Defra_Trucost_Environmental_KPIs_01_06_pdf: { text: "Defra_Trucost_Environmental_KPIs_01-06", name: "Defra_Trucost_Environmental_KPIs_01-06.pdf", url: "Defra_Trucost_Environmental_KPIs_01-06.pdf" },
    Disclosure_2_Report_initial_findings_pdf: { text: "Disclosure_2_Report_initial findings", name: "Disclosure_2_Report_initial findings.pdf", url: "Disclosure_2_Report_initial findings.pdf" },
    drrepettojoinstrucost_pdf: { text: "drrepettojoinstrucost", name: "drrepettojoinstrucost.pdf", url: "drrepettojoinstrucost.pdf" },
    EA_Environmental_Disclosures___First_100_Report_15_11_06__pdf: { text: "EA Environmental Disclosures - First 100 Report 15-11-06 ", name: "EA Environmental Disclosures - First 100 Report 15-11-06 .pdf", url: "EA Environmental Disclosures - First 100 Report 15-11-06 .pdf" },
    EAInvite_pdf: { text: "EAInvite", name: "EAInvite.pdf", url: "docs/EAInvite.pdf" },
    Elliot_Morley_Speech_pdf: { text: "Elliot_Morley_Speech", name: "Elliot_Morley_Speech.pdf", url: "Elliot_Morley_Speech.pdf" },
    emerging0203_pdf: { text: "emerging0203", name: "emerging0203.pdf", url: "emerging0203.pdf" },
	Environmental_Accounting_pdf: { text: "Environmental Accounting For Local Authorities", name: "Environmental_Accounting.pdf", url: "Environmental_Accounting.pdf" },
    Environmental_Disclosure_in_the_FTSE_All_Share_15th_July_04_Invitation_pdf: { text: "Environmental_Disclosure_in_the_FTSE_All_Share_(15th_July_04)_Invitation", name: "Environmental_Disclosure_in_the_FTSE_All_Share_(15th_July_04)_Invitation.pdf", url: "Environmental_Disclosure_in_the_FTSE_All_Share_(15th_July_04)_Invitation.pdf" },
    Environmental_Footprint_Analysis_pdf: { text: "Environmental_Footprint_Analysis", name: "Environmental_Footprint_Analysis.pdf", url: "Environmental_Footprint_Analysis.pdf" },
    Environmentaldisclosures_pdf: { text: "Environmentaldisclosures", name: "Environmentaldisclosures.pdf", url: "Environmentaldisclosures.pdf" },
    EnvironmentalDisclosuresF100_pdf: { text: "EnvironmentalDisclosuresF100", name: "EnvironmentalDisclosuresF100.pdf", url: "EnvironmentalDisclosuresF100.pdf" },
    EurosifShippingSectorReport_pdf: { text: "EurosifShippingSectorReport", name: "EurosifShippingSectorReport.pdf", url: "EurosifShippingSectorReport.pdf" },
    expectmore_pdf: { text: "expectmore", name: "expectmore.pdf", url: "expectmore.pdf" },
    explanatorynote_pdf: { text: "explanatorynote", name: "explanatorynote.pdf", url: "explanatorynote.pdf" },
    First_100_report_pdf: { text: "First_100_report", name: "First_100_report.pdf", url: "First_100_report.pdf" },
    Henderson_Getting_Greener_Year_by_Year_2007_pdf: { text: "2007: My Portfolio is Getting Greener Year after Year", name: "Henderson-GettingGreenerYearbyYear2007.pdf", url: "reports.php?file=StillGreen" },
    Henderson_How_Green_Is_My_Portfolio: { text: "2005: How Green is my Portfolio?", url: "reports.php?file=GreenPortfolio" },
    Henderson_Is_my_Portfolio_Still_Green_pdf: { text: "2006: Is my Portfolio Still Green", name: "Henderson-Is-my-Portfolio-Still-Green.pdf", url: "reports.php?file=StillGreen" },
    Henderson_The_Future_is_Low_Carbon_Finl_07_06_pdf: { text: "2006: The Future is Low Carbon", name: "Henderson-The-Future-is-Low-Carbon-Finl-07.06.pdf", url: "Henderson-The-Future-is-Low-Carbon-Finl-07.06.pdf" },
    How_To_Use_Trucost_pdf: { text: "How_To_Use_Trucost", name: "How To Use _Trucost", url: "How_To_Use_Trucost.pdf" },
    HR_Job_Specification____NET_Developer_Apr09_pdf: { text: "HR Job Specification - .NET Developer Apr09", name: "HR Job Specification - .NET Developer Apr09.pdf", url: "HR Job Specification - .NET Developer Apr09.pdf" },
    HR_Job_Specification___Business_Development_Manager__DMH_2_pdf: { text: "HR Job Specification - Business Development Manager DMH_2", name: "HR Job Specification - Business Development Manager DMH_2.pdf", url: "careers/HR Job Specification - Business Development Manager DMH_2.pdf" },
    HR_Job_Specification___Business_Development_Manager_pdf: { text: "HR Job Specification - Business Development Manager", name: "HR Job Specification - Business Development Manager.pdf", url: "HR Job Specification - Business Development Manager.pdf" },
    HR_Job_Specification___Head_of_Information_Technology_Apr09_pdf: { text: "HR Job Specification - Head of Information Technology Apr09", name: "HR Job Specification - Head of Information Technology Apr09.pdf", url: "HR Job Specification - Head of Information Technology Apr09.pdf" },
    HR_Job_Specification___Head_of_Research_Dec08_doc: { text: "HR Job Specification - Head of Research Dec08", name: "HR Job Specification - Head of Research Dec08.doc", url: "HR Job Specification - Head of Research Dec08.doc" },
    HR_Job_Specification___Head_of_Research_Dec08_pdf: { text: "HR Job Specification - Head of Research Dec08", name: "HR Job Specification - Head of Research Dec08.pdf", url: "HR Job Specification - Head of Research Dec08.pdf" },
    HR_Job_Specification___Marketing_Assistant_pdf: { text: "HR Job Specification - Marketing Assistant", name: "HR Job Specification - Marketing Assistant.pdf", url: "HR Job Specification - Marketing Assistant.pdf" },
    HR_Job_Specification___Marketing_Manager_pdf: { text: "HR Job Specification - Marketing Manager", name: "HR Job Specification - Marketing Manager.pdf", url: "HR Job Specification - Marketing Manager.pdf" },
    HR_Job_Specification___Office_Admin_Assistant_pdf: { text: "HR Job Specification - Office Admin Assistant", name: "HR Job Specification - Office Admin Assistant.pdf", url: "HR Job Specification - Office Admin Assistant.pdf" },
    HR_Job_Specification___Office_Assistant_Mar09_pdf: { text: "HR Job Specification - Office Assistant Mar09", name: "HR Job Specification - Office Assistant Mar09.pdf", url: "HR Job Specification - Office Assistant Mar09.pdf" },
    HR_Job_Specification___Office_Assistant_pdf: { text: "HR Job Specification - Office Assistant", name: "HR Job Specification - Office Assistant.pdf", url: "HR Job Specification - Office Assistant.pdf" },
    HR_Job_Specification___Research_Analyst_pdf: { text: "HR Job Specification - Research Analyst", name: "HR Job Specification - Research Analyst.pdf", url: "HR Job Specification - Research Analyst.pdf" },
    HR_Job_Specification___Research_Team_Members_v1_0_old_pdf: { text: "HR Job Specification - Research Team Members v1_0_old", name: "HR Job Specification - Research Team Members v1_0_old.pdf", url: "HR Job Specification - Research Team Members v1_0_old.pdf" },
    HR_Job_Specification___Research_Team_Members_v1_0_pdf: { text: "HR Job Specification - Research Team Members v1_0", name: "HR Job Specification - Research Team Members v1_0.pdf", url: "HR Job Specification - Research Team Members v1_0.pdf" },
    HR_Job_Specification_OA_pdf: { text: "HR Job Specification-OA", name: "HR Job Specification-OA.pdf", url: "HR Job Specification-OA.pdf" },
    HR_Job_Specification_Research_Team_Members_21_06_2007_pdf: { text: "HR-Job-Specification-Research-Team-Members-21-06-2007", name: "HR-Job-Specification-Research-Team-Members-21-06-2007.pdf", url: "HR-Job-Specification-Research-Team-Members-21-06-2007.pdf" },
    HR_Job_Specification_Research_Team_Members_v1_021_09_06_pdf: { text: "HR-Job-Specification-Research-Team-Members-v1_021.09.06", name: "HR-Job-Specification-Research-Team-Members-v1_021.09.06.pdf", url: "HR-Job-Specification-Research-Team-Members-v1_021.09.06.pdf" },
    Insead_pdf: { text: "Insead", name: "Insead.pdf", url: "images/Insead.pdf" },
    internship_pdf: { text: "internship", name: "internship.pdf", url: "internship.pdf" },
    investinginlowcarboneconomy_pdf: { text: "investinginlowcarboneconomy", name: "investinginlowcarboneconomy.pdf", url: "investinginlowcarboneconomy.pdf" },
    investinglowcarbonsolutions_pdf: { text: "2007: Investing in Low Carbon Solutions", name: "investinglowcarbonsolutions.pdf", url: "reports.php?file=LowCarbon" },
    Japan_AND_Nikkei___English_Version_pdf: { text: "Japan & Nikkei - English Version", name: "Japan & Nikkei - English Version.pdf", url: "Japan & Nikkei - English Version.pdf" },
    Japan_AND_Nikkei___Japanese_Version_pdf: { text: "Japan & Nikkei - Japanese Version", name: "Japan & Nikkei - Japanese Version.pdf", url: "Japan & Nikkei - Japanese Version.pdf" },
    JPMorganReport_pdf: { text: "JPMorganReport", name: "JPMorganReport.pdf", url: "docs/JPMorganReport.pdf" },
    Lessismore_pdf: { text: "Less Is More", name: "Lessismore.pdf", url: "brochures/Lessismore.pdf" },
    Mark_Ware_Presentation_pdf: { text: "Mark_Ware_Presentation", name: "Mark_Ware_Presentation.pdf", url: "Mark_Ware_Presentation.pdf" },
    Mike_Toms_Presentation_pdf: { text: "Mike_Toms_Presentation", name: "Mike_Toms_Presentation.pdf", url: "Mike_Toms_Presentation.pdf" },
    Newmont_Environmental_Issues_pdf: { text: "Newmont_Environmental_Issues", name: "Newmont_Environmental_Issues.pdf", url: "Newmont_Environmental_Issues.pdf" },
    newsletter_4_pdf: { text: "newsletter 4", name: "newsletter 4.pdf", url: "newsletter 4.pdf" },
    newsletter3_pdf: { text: "newsletter3", name: "newsletter3.pdf", url: "newsletter3.pdf" },
    newsletter4_pdf: { text: "newsletter4", name: "newsletter4.pdf", url: "newsletter4.pdf" },
    ofrseminar_pdf: { text: "ofrseminar", name: "ofrseminar.pdf", url: "ofrseminar.pdf" },
    PensionFundBriefing: { text: "Pension Fund Briefing", url: "reports.php?file=TBPF2008" },
    privacy_pdf: { text: "privacy", name: "privacy.pdf", url: "docs/privacy.pdf" },
    privacy_pdf: { text: "privacy", name: "privacy.pdf", url: "images/privacy.pdf" },
    PublicSectorBrochure: { text: "Public Sector Brochure", name: "publicsectorbrochure", url: "brochures/publicsector.pdf" },
    research_team_members_pdf: { text: "research_team_members", name: "research_team_members.pdf", url: "research_team_members.pdf" },
    ResearchAnalyst_pdf: { text: "ResearchAnalyst", name: "ResearchAnalyst.pdf", url: "ResearchAnalyst.pdf" },
    researchanddevelopmentassociate_pdf: { text: "researchanddevelopmentassociate", name: "researchanddevelopmentassociate.pdf", url: "researchanddevelopmentassociate.pdf" },
    researchandproductpricelist_pdf: { text: "researchandproductpricelist", name: "researchandproductpricelist.pdf", url: "old/researchandproductpricelist.pdf" },
    researchassociate_pdf: { text: "researchassociate", name: "researchassociate.pdf", url: "researchassociate.pdf" },
    RN3_Oilsands_pdf: { text: "RN3-Oilsands", name: "RN3-Oilsands.pdf", url: "RN3-Oilsands.pdf" },
    RNElecrtricityCarbonRisk_pdf: { text: "RNElecrtricityCarbonRisk", name: "RNElecrtricityCarbonRisk.pdf", url: "RNElecrtricityCarbonRisk.pdf" },
    SA_ComplianceANDAssurance_Report_v1_2Combined_document_pdf: { text: "SA Compliance&Assurance Report v1_2Combined document", name: "SA Compliance&Assurance Report v1_2Combined document.pdf", url: "SA Compliance&Assurance Report v1_2Combined document.pdf" },
    SA_Trucost_companies_Law_Bill_briefing_9_Aug_06_v1_0_pdf: { text: "SA-Trucost-companies-Law-Bill-briefing-9-Aug-06-v1_0", name: "SA-Trucost-companies-Law-Bill-briefing-9-Aug-06-v1_0.pdf", url: "SA-Trucost-companies-Law-Bill-briefing-9-Aug-06-v1_0.pdf" },
    SA_Trucost_Guide___Companies_Act_pdf: { text: "SA Trucost Guide - Companies Act", name: "SA Trucost Guide - Companies Act.pdf", url: "SA Trucost Guide - Companies Act.pdf" },
    SA_Trucost_Guide___Companies_Act_v1_0__7_3_07_pdf: { text: "SA Trucost Guide - Companies Act v1_0  (7-3-07)", name: "SA Trucost Guide - Companies Act v1_0  (7-3-07).pdf", url: "SA Trucost Guide - Companies Act v1_0  (7-3-07).pdf" },
    SA_Trucost_Guide___EU_Accounts_Modernisation_Directive_v7_0_pdf: { text: "SA Trucost Guide - EU Accounts Modernisation Directive v7_0", name: "SA Trucost Guide - EU Accounts Modernisation Directive v7_0.pdf", url: "SA Trucost Guide - EU Accounts Modernisation Directive v7_0.pdf" },
    SA_Trucost_Transport_Sector_Report_v1_0_August_05_pdf: { text: "SA Trucost Transport Sector Report v1_0 (August 05)", name: "SA Trucost Transport Sector Report v1_0 (August 05).pdf", url: "SA Trucost Transport Sector Report v1_0 (August 05).pdf" },
    SampleEnvironmentalFootprintAnalysis: { text: "Sample Environmental Footprint Analysis", name: "sampleenvfootprintanalysis", url: "reports.php?file=FootPrintSample" },
    SampleSectorReport: { text: "Sample Sector Report", name: "SampleSectorReport", url: "reports.php?file=2204aviat" },
    security_pdf: { text: "security", name: "security.pdf", url: "docs/security.pdf" },
    security_pdf: { text: "security", name: "security.pdf", url: "images/security.pdf" },
    Simon_Thomas_Speech_ELI_2005_pdf: { text: "Simon_Thomas_Speech_ELI_2005", name: "Simon_Thomas_Speech_ELI_2005.pdf", url: "Simon_Thomas_Speech_ELI_2005.pdf" },
    Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All_Share_pdf: { text: "Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All-Share", name: "Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All-Share.pdf", url: "Standard_Life_Environment_Agency_Carbon_Management_Carbon_Neutrality_in_the_FTSE_All-Share.pdf" },
    SupplychainFootprinting_pdf: { text: "Supply Chain Footprinting.", name: "Supplychain.pdf", url: "brochures/Supplychain.pdf" },
	Supply_Chain_Footprinting_pdf: { text: "Supply Chain Footprinting", name: "Supply_Chain_Footprinting.pdf", url: "Supply_Chain_Footprinting.pdf" },
    tandcsbusiness_pdf: { text: "tandcsbusiness", name: "tandcsbusiness.pdf", url: "docs/tandcsbusiness.pdf" },
    TECCTerms_pdf: { text: "TECCTerms", name: "TECCTerms.pdf", url: "docs/TECCTerms.pdf" },
    teccterms_pdf: { text: "teccterms", name: "teccterms.pdf", url: "images/teccterms.pdf" },
    tesrelease_pdf: { text: "tesrelease", name: "tesrelease.pdf", url: "images/tesrelease.pdf" },
    TESTerms_pdf: { text: "TESTerms", name: "TESTerms.pdf", url: "docs/TESTerms.pdf" },
    testerms_pdf: { text: "testerms", name: "testerms.pdf", url: "images/testerms.pdf" },
    Trucost__Methodology_pdf: { text: "Trucost Methodology", name: "Trucost Methodology.pdf", url: "Trucost Methodology.pdf" },
    Trucost_Briefing_EU_Modernisation_German__1_pdf: { text: "Trucost_Briefing_EU_Modernisation_German .1", name: "Trucost_Briefing_EU_Modernisation_German .1.pdf", url: "Trucost_Briefing_EU_Modernisation_German .1.pdf" },
    Trucost_Briefing_EU_Modernisation_German__pdf: { text: "Trucost_Briefing_EU_Modernisation_German ", name: "Trucost_Briefing_EU_Modernisation_German .pdf", url: "Trucost_Briefing_EU_Modernisation_German .pdf" },
    Trucost_Briefing_EU_Modernisation_German_1_pdf: { text: "Trucost_Briefing_EU_Modernisation_German.1", name: "Trucost_Briefing_EU_Modernisation_German.1.pdf", url: "Trucost_Briefing_EU_Modernisation_German.1.pdf" },
    Trucost_Briefing_EU_Modernisation_German_pdf: { text: "Trucost_Briefing_EU_Modernisation_German", name: "Trucost_Briefing_EU_Modernisation_German.pdf", url: "Trucost_Briefing_EU_Modernisation_German.pdf" },
    Trucost_Briefing_EU_Modernisation_Germany_InEnglish_1_pdf: { text: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish.1", name: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish.1.pdf", url: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish.1.pdf" },
    Trucost_Briefing_EU_Modernisation_Germany_InEnglish_pdf: { text: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish", name: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish.pdf", url: "Trucost_Briefing_EU_Modernisation_Germany_InEnglish.pdf" },
    Trucost_Business_Development_Manager_pdf: { text: "Trucost_Business_Development_Manager", name: "Trucost_Business_Development_Manager.pdf", url: "Trucost_Business_Development_Manager.pdf" },
    Trucost_Corporate_Services_Brochure_pdf: { text: "Trucost-Corporate-Services-Brochure", name: "Trucost-Corporate-Services-Brochure.pdf", url: "Trucost-Corporate-Services-Brochure.pdf" },
    trucost_coveragelist_1_xls: { text: "trucost_coveragelist.1", name: "trucost_coveragelist.1.xls", url: "trucost_coveragelist.1.xls" },
    trucost_coveragelist_xls: { text: "trucost_coveragelist", name: "trucost_coveragelist.xls", url: "trucost_coveragelist.xls" },
    Trucost_Data_Verification_1_pdf: { text: "Trucost_Data_Verification.1", name: "Trucost_Data_Verification.1.pdf", url: "Trucost_Data_Verification.1.pdf" },
    Trucost_Data_Verification_pdf: { text: "Trucost_Data_Verification", name: "Trucost_Data_Verification.pdf", url: "Trucost_Data_Verification.pdf" },
    Trucost_EA_Disclosure_Study_Part_1_pdf: { text: "Trucost_EA_Disclosure_Study_Part_1", name: "Trucost_EA_Disclosure_Study_Part_1.pdf", url: "Trucost_EA_Disclosure_Study_Part_1.pdf" },
    Trucost_EA_Disclosure_Study_Part_2_pdf: { text: "Trucost_EA_Disclosure_Study_Part_2", name: "Trucost_EA_Disclosure_Study_Part_2.pdf", url: "Trucost_EA_Disclosure_Study_Part_2.pdf" },
    Trucost_EA_Environmental_Disclosures_Summary_pdf: { text: "Trucost_EA_Environmental_Disclosures_Summary", name: "Trucost_EA_Environmental_Disclosures_Summary.pdf", url: "Trucost_EA_Environmental_Disclosures_Summary.pdf" },
    Trucost_Environmental_Cost_Calculator_pdf: { text: "Trucost Environmental Cost Calculator", name: "Trucost_Environmental_Cost_Calculator.pdf", url: "Trucost_Environmental_Cost_Calculator.pdf" },
    Trucost_Environmental_Footprint_Analysis_pdf: { text: "Trucost_Environmental_Footprint_Analysis", name: "Trucost_Environmental_Footprint_Analysis.pdf", url: "Trucost_Environmental_Footprint_Analysis.pdf" },
    Trucost_Environmental_KPIs_pdf: { text: "Environmental KPIs", name: "Trucost_Environmental_KPIs.pdf", url: "Trucost_Environmental_KPIs.pdf" },
    Trucost_Environmental_Policy_pdf: { text: "Trucost_Environmental_Policy", name: "Trucost_Environmental_Policy.pdf", url: "Trucost_Environmental_Policy.pdf" },
    Trucost_How_Green_Is_My_Portfolio_pdf: { text: "Trucost_How_Green_Is_My_Portfolio", name: "Trucost_How_Green_Is_My_Portfolio.pdf", url: "Trucost_How_Green_Is_My_Portfolio.pdf" },
    Trucost_IT_Operations_Manager_pdf: { text: "Trucost_IT_Operations_Manager", name: "Trucost_IT_Operations_Manager.pdf", url: "Trucost_IT_Operations_Manager.pdf" },
    Trucost_Marketing_Manager_pdf: { text: "Trucost_Marketing_Manager", name: "Trucost_Marketing_Manager.pdf", url: "Trucost_Marketing_Manager.pdf" },
    Trucost_Methodology_Companies_pdf: { text: "Methodology Document", name: "Trucost_Methodology_Companies.pdf", url: "Trucost_Methodology_Companies.pdf" },
    Trucost_Methodology_pdf: { text: "Trucost_Methodology", name: "Trucost_Methodology.pdf", url: "Trucost_Methodology.pdf" },
    Trucost_OFR_EU_Review_pdf: { text: "Trucost_OFR_EU_Review", name: "Trucost_OFR_EU_Review.pdf", url: "docs/Trucost_OFR_EU_Review.pdf" },
	Trucost_Pension_Report_pdf: { text: "Pension funds at risk", name: "Trucost_Pension_Report.pdf", url: "Trucost_Pension_Report.pdf" },
    Trucost_Research_Analyst_pdf: { text: "Trucost_Research_Analyst", name: "Trucost_Research_Analyst.pdf", url: "Trucost_Research_Analyst.pdf" },
    Trucost_Research_Associate_pdf: { text: "Trucost_Research_Associate", name: "Trucost_Research_Associate.pdf", url: "Trucost_Research_Associate.pdf" },
    Trucost_SandP500keyfindings_pdf: { text: "Trucost_SandP500keyfindings", name: "Trucost_SandP500keyfindings.pdf", url: "Trucost_SandP500keyfindings.pdf" },
    Trucost_Sector_Report_MetMining_pdf: { text: "Trucost_Sector_Report_MetMining", name: "Trucost_Sector_Report_MetMining.pdf", url: "Trucost_Sector_Report_MetMining.pdf" },
    Trucost_supplyChain_Management_pdf: { text: "Trucost-supplyChain-Management", name: "Trucost-supplyChain-Management.pdf", url: "Trucost-supplyChain-Management.pdf" },
    Trucost_tandcsbusiness_pdf: { text: "Trucost_tandcsbusiness", name: "Trucost_tandcsbusiness.pdf", url: "docs/Trucost_tandcsbusiness.pdf" },
    Trucost_Technical_Developer_pdf: { text: "Trucost_Technical_Developer", name: "Trucost_Technical_Developer.pdf", url: "Trucost_Technical_Developer.pdf" },
    Trucost_The_Carbon_100_pdf: { text: "Trucost_The_Carbon_100", name: "Trucost_The_Carbon_100.pdf", url: "Trucost_The_Carbon_100.pdf" },
    Trucost_Update_Dti_Ofr_pdf: { text: "Trucost_Update_Dti_Ofr", name: "Trucost_Update_Dti_Ofr.pdf", url: "Trucost_Update_Dti_Ofr.pdf" },
    Trucost_websiteterms_pdf: { text: "Trucost_websiteterms", name: "Trucost_websiteterms.pdf", url: "docs/Trucost_websiteterms.pdf" },
    TrucostandBusinesEco_pdf: { text: "TrucostandBusinesEco", name: "TrucostandBusinesEco.pdf", url: "TrucostandBusinesEco.pdf" },
    TrucostandBusinessEco_pdf: { text: "TrucostandBusinessEco", name: "TrucostandBusinessEco.pdf", url: "TrucostandBusinessEco.pdf" },
    TrucostBriefing_EUEmissionsTrading_pdf: { text: "TrucostBriefing_EUEmissionsTrading", name: "TrucostBriefing_EUEmissionsTrading.pdf", url: "docs/TrucostBriefing_EUEmissionsTrading.pdf" },
    TrucostBriefing_OFR_pdf: { text: "TrucostBriefing_OFR", name: "TrucostBriefing_OFR.pdf", url: "docs/TrucostBriefing_OFR.pdf" },
    TrucostBriefing_pdf: { text: "TrucostBriefing", name: "TrucostBriefing.pdf", url: "images/TrucostBriefing.pdf" },
    TrucostBriefing_SarbaneOxley_pdf: { text: "TrucostBriefing_SarbaneOxley", name: "TrucostBriefing_SarbaneOxley.pdf", url: "docs/TrucostBriefing_SarbaneOxley.pdf" },
    TrucostBriefingforPensionFunds2008_pdf: { text: "TrucostBriefingforPensionFunds2008", name: "TrucostBriefingforPensionFunds2008.pdf", url: "TrucostBriefingforPensionFunds2008.pdf" },
    TrucostCorporateServicesBrochure_pdf: { text: "TrucostCorporateServicesBrochure", name: "TrucostCorporateServicesBrochure.pdf", url: "docs/TrucostCorporateServicesBrochure.pdf" },
    TrucostNewsletter1_April03_doc: { text: "TrucostNewsletter1-April03", name: "TrucostNewsletter1-April03.doc", url: "docs/TrucostNewsletter1-April03.doc" },
    TrucostNewsletter2_July03_doc: { text: "TrucostNewsletter2-July03", name: "TrucostNewsletter2-July03.doc", url: "docs/TrucostNewsletter2-July03.doc" },
    Trucostnewsletter5_pdf: { text: "Trucostnewsletter5", name: "Trucostnewsletter5.pdf", url: "Trucostnewsletter5.pdf" },
    trucostofficeassistant_pdf: { text: "trucostofficeassistant", name: "trucostofficeassistant.pdf", url: "trucostofficeassistant.pdf" },
    TrucostOFRBriefing_pdf: { text: "TrucostOFRBriefing", name: "TrucostOFRBriefing.pdf", url: "images/TrucostOFRBriefing.pdf" },
    TrucostRegulatoryGuide_pdf: { text: "TrucostRegulatoryGuide", name: "TrucostRegulatoryGuide.pdf", url: "TrucostRegulatoryGuide.pdf" },
    Trucost_Sample_Company_Briefing_pdf: { text: "Sample Company Briefing", url: "reports.php?file=TrucostCompanyBriefing" },
    Trucost_SA_Sample_Company_Briefing_PDF: { text: "Sample Company Briefing", url: "reports.php?file=TrucostCompanyBriefing" },    
    TrucostSampleCompanyDataSheetv2_0_pdf: { text: "Sample Company Data Sheet", name: "TrucostSampleCompanyDataSheetv2_0.pdf", url: "TrucostSampleCompanyDataSheetv2_0.pdf" },
    Trueva___Environmental_Finance___July_06_pdf: { text: "Trueva - Environmental Finance - July 06", name: "Trueva - Environmental Finance - July 06.pdf", url: "Trueva - Environmental Finance - July 06.pdf" },
    uknationalallocationplan_pdf: { text: "uknationalallocationplan", name: "uknationalallocationplan.pdf", url: "uknationalallocationplan.pdf" },
    UKCompaniesAct2006: { text: "UK Companies Act 2006", name: "UKCompaniesAct2006", url: "reports.php?file=CompAct" },
    UKClimateChangeAct2006: { text: "UK Climate Change Act 2006", name: "UKClimateChangeAct2006", url: "reports.php?file=CompCac" },
    UKEnvironmentalReportingGuidelines: { text: "UK Environmental Reporting Guidelines", name: "UKEnvironmentalReportingGuidelines", url: "reports.php?file=DefraKPI" },
    VehicleManufacturerCarbonRisk_pdf: { text: "VehicleManufacturerCarbonRisk", name: "VehicleManufacturerCarbonRisk.pdf", url: "VehicleManufacturerCarbonRisk.pdf" },
    VicSuper_Carbon_Count_2008_report_pdf: { text: "VicSuper Carbon Count 2008 report", name: "VicSuper Carbon Count 2008 report.pdf", url: "VicSuper Carbon Count 2008 report.pdf" },
    WebSiteTerms_1_pdf: { text: "WebSiteTerms.1", name: "WebSiteTerms.1.pdf", url: "docs/WebSiteTerms.1.pdf" },
    WebSiteTerms_pdf: { text: "WebSiteTerms", name: "WebSiteTerms.pdf", url: "docs/WebSiteTerms.pdf" },
    websiteterms_pdf: { text: "websiteterms", name: "websiteterms.pdf", url: "images/websiteterms.pdf" },
    Whatisyourfootprint_pdf: { text: "What Is Your Footprint?", name: "Whatisyourfootprint.pdf", url: "brochures/Whatisyourfootprint.pdf" },
	What_Is_Your_Footprint_pdf: { text: "What Is Your Footprint?", name: "What_Is_Your_Footprint.pdf", url: "What_Is_Your_Footprint.pdf" },
    wysopal_testimony_pdf: { text: "wysopal_testimony", name: "wysopal_testimony.pdf", url: "wysopal_testimony.pdf" }
}

Links =
{
    _20030815_euemissions_html: { text: "20030815-euemissions", name: "20030815-euemissions.html", url: "news/20030815-euemissions.html" },
    _20030910_greenmountain_html: { text: "20030910-greenmountain", name: "20030910-greenmountain.html", url: "20030910-greenmountain.html" },
    _20030910_greenmountain_html: { text: "20030910-greenmountain", name: "20030910-greenmountain.html", url: "news/20030910-greenmountain.html" },
    _20031024_triplebottomline_html: { text: "20031024-triplebottomline", name: "20031024-triplebottomline.html", url: "20031024-triplebottomline.html" },
    _20031117jpmorgan_html: { text: "20031117jpmorgan", name: "20031117jpmorgan.html", url: "20031117jpmorgan.html" },
    _20040209_html: { text: "20040209", name: "20040209.html", url: "20040209.html" },
    _20040223repetto_html: { text: "20040223repetto", name: "20040223repetto.html", url: "20040223repetto.html" },
    _20040305expectmore_html: { text: "20040305expectmore", name: "20040305expectmore.html", url: "20040305expectmore.html" },
    _20040322aviationreport_html: { text: "20040322aviationreport", name: "20040322aviationreport.html", url: "20040322aviationreport.html" },
    _20040323aviationreport_html: { text: "20040323aviationreport", name: "20040323aviationreport.html", url: "20040323aviationreport.html" },
    _20040326TruandBuseco_html: { text: "20040326TruandBuseco", name: "20040326TruandBuseco.html", url: "20040326TruandBuseco.html" },
    _20040326TrucostandBuseco_html: { text: "20040326TrucostandBuseco", name: "20040326TrucostandBuseco.html", url: "20040326TrucostandBuseco.html" },
    _20040414TrucostSandP500_html: { text: "20040414TrucostSandP500", name: "20040414TrucostSandP500.html", url: "20040414TrucostSandP500.html" },
    _20040521TrucostGreenMount_html: { text: "20040521TrucostGreenMount", name: "20040521TrucostGreenMount.html", url: "20040521TrucostGreenMount.html" },
    _20040618Trucost_OFR_html: { text: "20040618Trucost_OFR", name: "20040618Trucost_OFR.html", url: "20040618Trucost_OFR.html" },
    _20040624Trucost_Casella_html: { text: "20040624Trucost_Casella", name: "20040624Trucost_Casella.html", url: "20040624Trucost_Casella.html" },
    _20040624Trucost_Casella_html: { text: "20040624Trucost_Casella", name: "20040624Trucost_Casella.html", url: "images/20040624Trucost_Casella.html" },
    _20040709ofr_workshops_html: { text: "20040709ofr_workshops", name: "20040709ofr_workshops.html", url: "20040709ofr_workshops.html" },
    _20040709ofr_workshops_html: { text: "20040709ofr_workshops", name: "20040709ofr_workshops.html", url: "images/20040709ofr_workshops.html" },
    _20040715_EAdisclosure_html: { text: "20040715_EAdisclosure", name: "20040715_EAdisclosure.html", url: "20040715_EAdisclosure.html" },
    _20040715_EAdisclosure_html: { text: "20040715_EAdisclosure", name: "20040715_EAdisclosure.html", url: "images/20040715_EAdisclosure.html" },
    _20040715RREV_html: { text: "20040715RREV", name: "20040715RREV.html", url: "20040715RREV.html" },
    _20040826Trucost_KPI_html: { text: "20040826Trucost_KPI", name: "20040826Trucost_KPI.html", url: "20040826Trucost_KPI.html" },
    _20041129BobMonks_html: { text: "20041129BobMonks", name: "20041129BobMonks.html", url: "20041129BobMonks.html" },
    _20041203dti_html: { text: "20041203dti", name: "20041203dti.html", url: "20041203dti.html" },
    _20041206miningreport_html: { text: "20041206miningreport", name: "20041206miningreport.html", url: "20041206miningreport.html" },
    _20050117Germanregs_html: { text: "20050117Germanregs", name: "20050117Germanregs.html", url: "20050117Germanregs.html" },
    _20050126Newmont_html: { text: "20050126Newmont", name: "20050126Newmont.html", url: "20050126Newmont.html" },
    _20050318ofr_html: { text: "20050318ofr", name: "20050318ofr.html", url: "20050318ofr.html" },
    _2005defrarelease_html: { text: "2005defrarelease", name: "2005defrarelease.html", url: "2005defrarelease.html" },
    _265_Electric_Utilities_companies: { text: "265 Electric Utilities companies", url: "reports.php?file=CDPElecUt265" },
    abouttrucost_html: { text: "About Trucost", name: "abouttrucost.html", url: "abouttrucost.html" },
    activemanagement_html: { text: "Active Management", name: "activemanagement.html", url: "activemanagement.html" },
    activemanagementtest_html: { text: "activemanagementtest", name: "activemanagementtest.html", url: "activemanagementtest.html" },
    advisorypanel_html: { text: "Advisory Panel", name: "advisorypanel.html", url: "advisorypanel.html" },
    ASIAEXJAPAN: { text: "Asia Ex-Japan", name: "Asia Ex-Japan ", url: "reports.php?file=CDR-Asia" },
    ASN_html: { text: "ASN", name: "ASN.html", url: "pressreleases/ASN.html" },
    authentication_php: { text: "Registration", name: "authentication.php", url: "authentication.php" },
    ayres_html: { text: "ayres", name: "ayres.html", url: "ayres.html" },
    benchmarking_html: { text: "benchmarking", name: "benchmarking.html", url: "benchmarking.html" },
    boardofdirectors_html: { text: "Board Of Directors", name: "boardofdirectors.html", url: "boardofdirectors.html" },
    box1_investors_rrev_htm: { text: "box1_investors_rrev", name: "box1_investors_rrev.htm", url: "images/box1_investors_rrev.htm" },
    businesstestimonials: { text: "Testimonials", name: "businesstestimonials.html", url: "businesstestimonials.html" },
	CalvertFunds_html: { text: "Calvert Funds", name: "CalvertFunds.html", url: "CalvertFunds.html" },
    CAP_html: { text: "CAP", name: "CAP.html", url: "pressreleases/CAP.html" },
    carbon_counts_awards_html: { text: "carbon_counts_awards", name: "carbon_counts_awards.html", url: "carbon_counts_awards.html" },
    carbon_disclosure_html: { text: "carbon_disclosure", name: "carbon_disclosure.html", url: "carbon_disclosure.html" },
    carbon_news_html: { text: "Carbon News", name: "carbon_news.html", url: "carbon_news.html" },
    CarbonAccounting_html: { text: "CarbonAccounting", name: "CarbonAccounting.html", url: "pressreleases/CarbonAccounting.html" },
    CarbonFootprintRanking: { text: "Trucost Carbon Footprint Ranking", name: "CarbonCounts2007.html", url: "pressreleases/CarbonCounts2007.html" },
    CarbonCountsAsia2007_html: { text: "CarbonCountsAsia2007", name: "CarbonCountsAsia2007.html", url: "pressreleases/CarbonCountsAsia2007.html" },
    CarbonCountsUSA2009_html: { text: "CarbonCountsUSA2009", name: "CarbonCountsUSA2009.html", url: "pressreleases/CarbonCountsUSA2009.html" },
    carbonfootprint_html: { text: "Carbon Footprint Analysis", name: "carbonfootprint.html", url: "carbonfootprint.html" },
    CarbonRisksinUKEquityFunds_html: { text: "CarbonRisksinUKEquityFunds", name: "CarbonRisksinUKEquityFunds.html", url: "pressreleases/CarbonRisksinUKEquityFunds.html" },
    careers_html: { text: "Careers", name: "careers.html", url: "careers.html" },
    CCAIST_html: { text: "CCAIST", name: "CCAIST.html", url: "pressreleases/CCAIST.html" },
    CDP5_html: { text: "CDP5", name: "CDP5.html", url: "pressreleases/CDP5.html" },
    CDPUtilitiesReport_html: { text: "CDPUtilitiesReport", name: "CDPUtilitiesReport.html", url: "pressreleases/CDPUtilitiesReport.html" },
    class_phpmailer_php: { text: "classmailer", name: "class.phpmailer.php", url: "class.phpmailer.php" },
    comenvperf_html: { text: "comenvperf", name: "comenvperf.html", url: "comenvperf.html" },
    communicateenvperf_html: { text: "communicateenvperf", name: "communicateenvperf.html", url: "communicateenvperf.html" },
    CompaniesAct_html: { text: "CompaniesAct", name: "CompaniesAct.html", url: "pressreleases/CompaniesAct.html" },
    companybriefing_html: { text: "Company Briefing", name: "companybriefing.html", url: "companybriefing.html" },
    companybriefing2_html: { text: "companybriefing2", name: "companybriefing2.html", url: "companybriefing2.html" },
    companydatasheets_html: { text: "Company Data Sheets", name: "companydatasheets.html", url: "companydatasheets.html" },
    compliance_html: { text: "compliance", name: "compliance.html", url: "compliance.html" },
    config_inc_php: { text: "config.inc", name: "config.inc.php", url: "config.inc.php" },
    constanza_html: { text: "constanza", name: "constanza.html", url: "constanza.html" },
    contact_html: { text: "Contact Trucost", name: "contact.html", url: "contact.html" },
    contacttestform_html: { text: "contacttestform", name: "contacttestform.html", url: "contacttestform.html" },
    contacttestform_php: { text: "contacttestform", name: "contacttestform.php", url: "contacttestform.php" },
    YourOwnOperations: { text: "Your Own Operations", name: "corporateFootprint.html", url: "corporateFootprint.html" },
    CorporateLibrary_html: { text: "CorporateLibrary", name: "CorporateLibrary.html", url: "pressreleases/CorporateLibrary.html" },
    coverage_html: { text: "Data Coverage", name: "coverage.html", url: "coverage.html" },
    CRCEnergyScheme: { text: "CRC Energy Efficiency Scheme", url: "CRCEnergyEfficiencyScheme.html" },
    daicosts_html: { text: "daicosts", name: "daicosts.html", url: "daicosts.html" },
    db_inc_php: { text: "db.inc", name: "db.inc.php", url: "db.inc.php" },
    dec03newsletter_html: { text: "dec03newsletter", name: "dec03newsletter.html", url: "dec03newsletter.html" },
    defraconference_html: { text: "defraconference", name: "defraconference.html", url: "defraconference.html" },
    defrakpi_html: { text: "Environmental KPIs", longText: "Environmental KPIs - Reporting Guidelines for UK Business", name: "defrakpi.html", url: "defrakpi.html" },
    direnvimpacts_html: { text: "direnvimpacts", name: "direnvimpacts.html", url: "direnvimpacts.html" },
    direnvimpacts2_html: { text: "direnvimpacts2", name: "direnvimpacts2.html", url: "direnvimpacts2.html" },
    do_php: { text: "do", name: "do.php", url: "do.php" },
    download_php: { text: "download", name: "download.php", url: "download.php" },
    EA_disclosures_html: { text: "EA-disclosures", name: "EA-disclosures.html", url: "pressreleases/EA-disclosures.html" },
    ELI_1_html: { text: "ELI (1)", name: "ELI (1).html", url: "ELI (1).html" },
    ELI_1_html: { text: "ELI.1", name: "ELI.1.html", url: "ELI.1.html" },
    eli_html: { text: "eli", name: "eli.html", url: "eli.html" },
	EmergingMarketsIndex_html: { text: "Emerging Markets Index", name: "EmergingMarketsIndex.html", url: "EmergingMarketsIndex.html" },
    emissionscalculator_html: { text: "emissionscalculator", name: "emissionscalculator.html", url: "emissionscalculator.html" },
    emissionscalculator2_html: { text: "emissionscalculator2", name: "emissionscalculator2.html", url: "emissionscalculator2.html" },
    enhancedengagement_html: { longText: "Enhanced Engagement Services", text: "Enhanced Engagement", name: "enhancedengagement.html", url: "enhancedengagement.html" },
    enhancedengagementtest_html: { text: "enhancedengagementtest", name: "enhancedengagementtest.html", url: "enhancedengagementtest.html" },
    env_policy_html: { text: "Environmental Policy", name: "env_policy.html", url: "env_policy.html" },
    envfootprint_html: { text: "Environmental Footprint Analysis", name: "envfootprint.html", url: "envfootprint.html" },
    environcostcalc_html: { text: "environcostcalc", name: "environcostcalc.html", url: "environcostcalc.html" },
    environcostcalc1_html: { text: "environcostcalc1", name: "environcostcalc1.html", url: "environcostcalc1.html" },
    environcostcalc2_html: { text: "environcostcalc2", name: "environcostcalc2.html", url: "environcostcalc2.html" },
    environment_agency_html: { text: "environment_agency", name: "environment_agency.html", url: "environment_agency.html" },
    environmental_rep_ass_html: { text: "Trucost Environmental Reporting Assurance Service", name: "environmental_rep_ass.html", url: "environmental_rep_ass.html" },
    environmentalbenchmarks_html: { text: "Environmental Benchmarks", longText: "Trucost Environmental Benchmark Service", name: "environmentalbenchmarks.html", url: "environmentalbenchmarks.html" },
    environmentalsystem_html: { text: "environmentalsystem", name: "environmentalsystem.html", url: "environmentalsystem.html" },
    environmentalsystem2_html: { text: "environmentalsystem2", name: "environmentalsystem2.html", url: "environmentalsystem2.html" },
    euaccmoddir_22_3_06_html: { text: "euaccmoddir_22.3.06", name: "euaccmoddir_22.3.06.html", url: "euaccmoddir_22.3.06.html" },
    euaccmoddir_html: { text: "euaccmoddir", name: "euaccmoddir.html", url: "euaccmoddir.html" },
    euemissions_html: { text: "euemissions", name: "euemissions.html", url: "euemissions.html" },
    euguide_html: { text: "euguide", name: "euguide.html", url: "euguide.html" },
    EUmanufacturers_html: { text: "EUmanufacturers", name: "EUmanufacturers.html", url: "pressreleases/EUmanufacturers.html" },
    eumodguide_html: { text: "eumodguide", name: "eumodguide.html", url: "eumodguide.html" },
    Euronext_html: { text: "Euronext", name: "Euronext.html", url: "pressreleases/Euronext.html" },
    Eurosif_html: { text: "Eurosif", name: "Eurosif.html", url: "pressreleases/Eurosif.html" },
    externalcosts_html: { text: "externalcosts", name: "externalcosts.html", url: "externalcosts.html" },
    farber_html: { text: "farber", name: "farber.html", url: "farber.html" },
    financialservices_html: { text: "financialservices", name: "financialservices.html", url: "financialservices.html" },
    FlashtestSandP500_html: { text: "FlashtestSandP500", name: "FlashtestSandP500.html", url: "FlashtestSandP500.html" },
    FTSE350: { text: "FTSE 350", name: "FTSE350.html", url: "reports.php?file=CDR-350" },
    ToolsForBusinesses: { text: "Tools For Businesses", name: "forbusinesses.html", url: "forbusinesses.html" },
    ProductsForInvestors: { text: "Products for Investors", name: "forinvestors.html", url: "forinvestors.html" },
    forinvestorstest_html: { text: "forinvestorstest", name: "forinvestorstest.html", url: "forinvestorstest.html" },
    ToolsForPublicSector: { text: "Tools For Public Sector", name: "forpublicsector.html", url: "forpublicsector.html" },
    fortis_html: { text: "fortis", name: "fortis.html", url: "fortis.html" },
    FRRPressRelease_html: { text: "FRRPressRelease", name: "FRRPressRelease.html", url: "FRRPressRelease.html" },
    FTSEdisclosure_html: { text: "FTSEdisclosure", name: "FTSEdisclosure.html", url: "FTSEdisclosure.html" },
    fullayres_html: { text: "fullayres", name: "fullayres.html", url: "fullayres.html" },
    fullconstanza_html: { text: "fullconstanza", name: "fullconstanza.html", url: "fullconstanza.html" },
    fullfaber_html: { text: "fullfaber", name: "fullfaber.html", url: "fullfaber.html" },
    fullgoodland_html: { text: "fullgoodland", name: "fullgoodland.html", url: "fullgoodland.html" },
    fullhannon_html: { text: "fullhannon", name: "fullhannon.html", url: "fullhannon.html" },
    fulllange_html: { text: "fulllange", name: "fulllange.html", url: "fulllange.html" },
    fullproops_html: { text: "fullproops", name: "fullproops.html", url: "fullproops.html" },
    fullrepetto_html: { text: "fullrepetto", name: "fullrepetto.html", url: "fullrepetto.html" },
    fullrepettto_html: { text: "fullrepettto", name: "fullrepettto.html", url: "fullrepettto.html" },
    fullsabourian_html: { text: "fullsabourian", name: "fullsabourian.html", url: "fullsabourian.html" },
    fullturner_html: { text: "fullturner", name: "fullturner.html", url: "fullturner.html" },
    fullvictor_html: { text: "fullvictor", name: "fullvictor.html", url: "fullvictor.html" },
    functions_inc_php: { text: "functions.inc", name: "functions.inc.php", url: "functions.inc.php" },
    getReport_php: { text: "getReport", name: "getReport.php", url: "getReport.php" },
    GLG_html: { text: "GLG Environment Fund", name: "GLG.html", url: "GLG.html" },
    goodland_html: { text: "goodland", name: "goodland.html", url: "goodland.html" },
    hamid_html: { text: "hamid", name: "hamid.html", url: "hamid.html" },
    hannon_html: { text: "hannon", name: "hannon.html", url: "hannon.html" },
    hdiw_html: { text: "hdiw", name: "hdiw.html", url: "hdiw.html" },
    hdiw2_html: { text: "hdiw2", name: "hdiw2.html", url: "hdiw2.html" },
    henderson_html: { text: "Henderson Carbon Footprint - How Green is my Portfolio?", name: "henderson.html", url: "henderson.html" },
    HendersonCarbonAudits_html: { text: "HendersonCarbonAudits", name: "HendersonCarbonAudits.html", url: "pressreleases/HendersonCarbonAudits.html" },
    holding_html: { text: "holding", name: "holding.html", url: "holding.html" },
    holdingpres_html: { text: "holdingpres", name: "holdingpres.html", url: "holdingpres.html" },
    howtrucostanalyses_html: { text: "Methodology", name: "howtrucostanalyses.html", url: "howtrucostanalyses.html" },
    ICCR_html: { text: "ICCR", name: "ICCR.html", url: "pressreleases/ICCR.html" },
    ifc_html: { text: "ifc", name: "ifc.html", url: "ifc.html" },
    Home: { text: "Home", name: "index.html", url: "index.html" },
    index_php: { text: "index", name: "index.php", url: "reports/index.php" },
    info_php: { text: "info", name: "info.php", url: "logs/info.php" },
    insead_html: { text: "insead", name: "insead.html", url: "insead.html" },
    InvestmentSolutions: { text: "Investment Solutions", boxTitle: "Low carbon investment solutions", name: "InvestmentSolutions", url: "InvestmentSolutions.html" },
    investorproducts_html: { text: "Investor Products", name: "investorproducts.html", url: "investorproducts.html" },
    InvestorTestimonials: { text: "Testimonials", name: "InvestorTestimonials.html", url: "InvestorTestimonials.html" },
    irsconference_html: { text: "irsconference", name: "irsconference.html", url: "irsconference.html" },
    javapage_html: { text: "javapage", name: "javapage.html", url: "javapage.html" },
    javascript_html: { text: "javascript", name: "javascript.html", url: "javascript.html" },
    kpinewsreport_html: { text: "kpinewsreport", name: "kpinewsreport.html", url: "kpinewsreport.html" },
    kpis_html: { text: "kpis", name: "kpis.html", url: "kpis.html" },
    lange_html: { text: "lange", name: "lange.html", url: "lange.html" },
    legislation_html: { text: "legislation", name: "legislation.html", url: "legislation.html" },
    legislation2_html: { text: "legislation2", name: "legislation2.html", url: "legislation2.html" },
    Lewisham_html: { text: "London Borough Of Lewisham", name: "Lewisham.html", url: "pressreleases/Lewisham.html" },
    lgps_html: { text: "lgps", name: "lgps.html", url: "images/lgps.html" },
    lgps_html: { text: "lgps", name: "lgps.html", url: "lgps.html" },
    Login: { text: "Login", name: "login", url: "https://login.trucost.com/newmatrix" },
    login_php: { text: "Login", name: "login.php", url: "login.php" },
    logout_php: { text: "Logout", name: "logout.php", url: "logout.php" },
	LondonPioneersReduction_html: { text: "London Pioneers Carbon Reduction", name: "LondonPioneersReduction.html", url: "LondonPioneersReduction.html" },
	TrucostAndValueLinePartnership_html: { text: "Trucost and Value Line to collaborate on data and managed funds", name: "TrucostAndValueLinePartnership.html", url: "TrucostAndValueLinePartnership.html" },
	PoweringAsiaIssuesforResponsibleInvestors_html: { text: "Trucost contributes emissions data to \"Powering Asia: Issues for Responsible Investors\" Report, by Responsible Research.", name: "PoweringAsiaIssuesforResponsibleInvestors.html", url: "PoweringAsiaIssuesforResponsibleInvestors.html" },
	ASX200CompanyCarbonEmissions_html: { text: "ASX200 Company Carbon Emissions",       name: "ASX200CompanyCarbonEmissions.html", url: "ASX200CompanyCarbonEmissions.html"},
	NaturalLogicandTrucost_html:       { text: "Natural Logic and Trucost Join Forces", name: "NaturalLogicandTrucost.html",       url: "NaturalLogicandTrucost.html"},
	GreenBusinessReputationsAndReality_html:       { text: "Green Business Reputations And Reality", name: "GreenBusinessReputationsAndReality.html",       url: "GreenBusinessReputationsAndReality.html"},
	
	
    managing_director_html: { text: "managing_director", name: "managing_director.html", url: "managing_director.html" },
    march04newsletter_html: { text: "march04newsletter", name: "march04newsletter.html", url: "march04newsletter.html" },
    MeasureYourRisk: { text: "Measure Your Risk", name: "MeasureYourRisk", url: "MeasureYourRisk.html" },
    meetofr_html: { text: "meetofr", name: "meetofr.html", url: "meetofr.html" },
    membership_html: { text: "Memberships", name: "membership.html", url: "membership.html" },
    Mercer_html: { text: "Mercer", name: "Mercer.html", url: "pressreleases/Mercer.html" },
    methodology_html: { text: "methodology", name: "methodology.html", url: "images/methodology.html" },
    methodology_html: { text: "methodology", name: "methodology.html", url: "methodology.html" },
    MLCarbonLeadersEuropeindex_html: { text: "MLCarbonLeadersEuropeindex", name: "MLCarbonLeadersEuropeindex.html", url: "pressreleases/MLCarbonLeadersEuropeindex.html" },
    name_php: { text: "name", name: "name.php", url: "name.php" },
    napupdate_html: { text: "napupdate", name: "napupdate.html", url: "napupdate.html" },
    National_Indicator_185_html_ressrelease: { text: "National Indicator 185", name: "National Indicator 185.html", url: "pressreleases/National Indicator 185.html" },
    newguidelines_html: { text: "newguidelines", name: "newguidelines.html", url: "newguidelines.html" },
    news_html: { text: "News", name: "news.html", url: "news.html" },
    newsarchive_html: { text: "News Archive", name: "newsarchive.html", url: "newsarchive.html" },
    newsarchiveblue_html: { text: "newsarchiveblue", name: "newsarchiveblue.html", url: "newsarchiveblue.html" },
    newsblue_html: { text: "newsblue", name: "newsblue.html", url: "newsblue.html" },
    newsletter_html: { text: "newsletter", name: "newsletter.html", url: "newsletter.html" },
    newsletterblue_html: { text: "newsletterblue", name: "newsletterblue.html", url: "newsletterblue.html" },
    newtool_html: { text: "newtool", name: "newtool.html", url: "newtool.html" },
    NationalIndicator185: { text: "National Indicator 185", name: "NI185.html", url: "NI185.html" },
    Novethic_html: { text: "Novethic", name: "Novethic.html", url: "pressreleases/Novethic.html" },
	NorthernTrust_html: { text: "Northern Trust", name: "NorthernTrust.html", url: "NorthernTrust.html" },
    NSF_html: { text: "NSF", name: "NSF.html", url: "pressreleases/NSF.html" },
    numberscalc_html: { text: "numberscalc", name: "numberscalc.html", url: "numberscalc.html" },
    numberscalc2_html: { text: "numberscalc2", name: "numberscalc2.html", url: "numberscalc2.html" },
    ofr_workshops_html: { text: "ofr_workshops", name: "ofr_workshops.html", url: "ofr_workshops.html" },
    ofrbriefing_html: { text: "ofrbriefing", name: "ofrbriefing.html", url: "ofrbriefing.html" },
    ofrreqguide_html: { text: "ofrreqguide", name: "ofrreqguide.html", url: "ofrreqguide.html" },
    OrderCompanyBriefings: { text: "Order Company Briefings", name: "ordercompanybriefings", url: "http://login.trucost.com/product" },
    YourOwnEstates: { text: "Your Own Estates", name: "organisationalfootprint.html", url: "organisationalfootprint.html" },
    partnerships_html: { text: "partnerships", name: "partnerships.html", url: "partnerships.html" },
    pauldruckman: { text: "Press Release", url: "pauldruckman.html" },
    pensionfunds_html: { text: "Pension Funds", longText: "Research for Pension Fund Managers and Trustees", name: "pensionfunds.html", url: "pensionfunds.html" },
    PeterdeGraaf_html: { text: "PeterdeGraaf", name: "PeterdeGraaf.html", url: "pressreleases/PeterdeGraaf.html" },
    phpinfo_php: { text: "phpinfo", name: "phpinfo.php", url: "phpinfo.php" },
    prepareofr_html: { text: "prepareofr", name: "prepareofr.html", url: "prepareofr.html" },
    pri_1_html: { text: "Principle 1", longText: "How Trucost Can Help", name: "pri_1.html", url: "pri_1.html" },
    pri_2_html: { text: "Principle 2", longText: "How Trucost Can Help", name: "pri_2.html", url: "pri_2.html" },
    pri_3_html: { text: "Principle 3", longText: "How Trucost Can Help", name: "pri_3.html", url: "pri_3.html" },
    pri_4_html: { text: "Principle 4", longText: "How Trucost Can Help", name: "pri_4.html", url: "pri_4.html" },
    pri_5_html: { text: "Principle 5", longText: "How Trucost Can Help", name: "pri_5.html", url: "pri_5.html" },
    pri_6_html: { text: "Principle 6", longText: "How Trucost Can Help", name: "pri_6.html", url: "pri_6.html" },
    pri_html: { text: "UN PRI", longText: "UN Principles for Responsible Investment", name: "pri.html", url: "pri.html" },
    privacytermspop_html: { text: "privacytermspop", name: "privacytermspop.html", url: "privacytermspop.html" },
    products_html: { text: "products", name: "products.html", url: "products.html" },
    products2_html: { text: "products2", name: "products2.html", url: "products2.html" },
    proops_html: { text: "proops", name: "proops.html", url: "proops.html" },
    publicsectortestimonials: { text: "Testimonials", name: "publicsectortestimonials.html", url: "publicsectortestimonials.html" },
    publishedresearch_html: { text: "Published Research", name: "publishedresearch.html", url: "publishedresearch.html" },
    publishedresearchspace_html: { text: "publishedresearchspace", name: "publishedresearchspace.html", url: "publishedresearchspace.html" },
    readersofreport_html: { text: "readersofreport", name: "readersofreport.html", url: "readersofreport.html" },
    readersofreport2_html: { text: "readersofreport2", name: "readersofreport2.html", url: "readersofreport2.html" },
    ReduceYourRisk: { text: "Reduce Your Risk", name: "RecuceYourRisk", url: "ReduceYourRisk.html" },
    register_php: { text: "Registration", name: "register.php", url: "register.php" },
    RegulatoryReview: { text: "Regulatory Review", name: "regulatory.html", url: "regulatory.html" },
    RegulatoryInformation: { text: "Regulatory Information", name: "prepareamd.html", url: "prepareamd.html" },
    reportdef_html: { text: "reportdef", name: "reportdef.html", url: "reportdef.html" },
    reportdef2_html: { text: "reportdef2", name: "reportdef2.html", url: "reportdef2.html" },
    PeerAnalysis: { text: "Peer Analysis", name: "reporting_benchmark_rep.html", url: "reporting_benchmark_rep.html" },
    purchase_php: { text: "Sign Up / Register", name: "purchase.php", url: "purchase.php" },
    paymentcomplete: { text: "Payment Complete", name: "paymentcomplete.php", url: "paymentcomplete.php" },
    reports_php: { text: "Reports", name: "reports.php", url: "reports.php" },
    reportsandresearch_html: { text: "reportsandresearch", name: "reportsandresearch.html", url: "reportsandresearch.html" },
    reportsandresearch2_html: { text: "reportsandresearch2", name: "reportsandresearch2.html", url: "reportsandresearch2.html" },
    //research_php: { text: "research", name: "research.php", url: "research.php" },
    //research_v1_php: { text: "research_v1", name: "research_v1.php", url: "research_v1.php" },
    research: { text: "Research",  name: "Research", url: "research.html" },
    RN3_Oilsands_html: { text: "RN3-Oilsands", name: "RN3-Oilsands.html", url: "pressreleases/RN3-Oilsands.html" },
    RNElectricityCarbonRisk_html: { text: "RNElectricityCarbonRisk", name: "RNElectricityCarbonRisk.html", url: "pressreleases/RNElectricityCarbonRisk.html" },
    SANDP_Carbon_Risk_html: { text: "S&P Carbon Risk", name: "S&P Carbon Risk.html", url: "pressreleases/S&P Carbon Risk.html" },
    SANDP_html: { text: "S&P", name: "S&P.html", url: "pressreleases/S&P.html" },
    securitytermspop_html: { text: "securitytermspop", name: "securitytermspop.html", url: "securitytermspop.html" },
    sept04newsletter_html: { text: "sept04newsletter", name: "sept04newsletter.html", url: "sept04newsletter.html" },
    session_php: { text: "session", name: "session.php", url: "session.php" },
    setup_php: { text: "setup", name: "setup.php", url: "setup.php" },
    stats_php: { text: "stats", name: "stats.php", url: "stats.php" },
    stats2_php: { text: "stats2", name: "stats2.php", url: "stats2.php" },
    StyleResearch_html: { text: "StyleResearch", name: "StyleResearch.html", url: "pressreleases/StyleResearch.html" },
    suppchimpacts_html: { text: "suppchimpacts", name: "suppchimpacts.html", url: "docs/suppchimpacts.html" },
    suppchimpacts_html: { text: "suppchimpacts", name: "suppchimpacts.html", url: "suppchimpacts.html" },
    suppchimpacts2_html: { text: "suppchimpacts2", name: "suppchimpacts2.html", url: "suppchimpacts2.html" },
    SupplyChainBusinesses: { text: "Your Supply Chain", name: "supplychain.html", url: "supplychain.html" },
    SupplyChainEnvironmentalRegister_html: { text: "SupplyChainEnvironmentalRegister", name: "SupplyChainEnvironmentalRegister.html", url: "SupplyChainEnvironmentalRegister.html" },
    SupplyChainPublicSector: { text: "Your Supply Chain", name: "SupplyChainPublicSector.html", url: "SupplyChainPublicSector.html" },
    supplyfeedback_html: { text: "supplyfeedback", name: "supplyfeedback.html", url: "supplyfeedback.html" },
    supplyfeedback2_html: { text: "supplyfeedback2", name: "supplyfeedback2.html", url: "supplyfeedback2.html" },
    supplyingfeedback_html: { text: "supplyingfeedback", name: "supplyingfeedback.html", url: "supplyingfeedback.html" },
    SustainableCityAwards_html: { text: "SustainableCityAwards", name: "SustainableCityAwards.html", url: "pressreleases/SustainableCityAwards.html" },
    SustainableInvesting_html: { text: "SustainableInvesting", name: "SustainableInvesting.html", url: "pressreleases/SustainableInvesting.html" },
    tandcsbusinesspop_html: { text: "tandcsbusinesspop", name: "tandcsbusinesspop.html", url: "tandcsbusinesspop.html" },
    tecclaunch_html: { text: "tecclaunch", name: "tecclaunch.html", url: "tecclaunch.html" },
    teccpreview_html: { text: "teccpreview", name: "teccpreview.html", url: "teccpreview.html" },
    tecctermspop_html: { text: "tecctermspop", name: "tecctermspop.html", url: "tecctermspop.html" },
    TER_html: { text: "TER", name: "TER.html", url: "TER.html" },
    termsandconditions_html: { text: "Legal Notices", name: "termsandconditions.html", url: "termsandconditions.html" },
    tes_html: { text: "tes", name: "tes.html", url: "newsletterimages/tes.html" },
    tes_html: { text: "tes", name: "tes.html", url: "tes.html" },
    tesactnow_html: { text: "tesactnow", name: "tesactnow.html", url: "tesactnow.html" },
    teshowmuch_html: { text: "teshowmuch", name: "teshowmuch.html", url: "teshowmuch.html" },
    tesrating_html: { text: "tesrating", name: "tesrating.html", url: "tesrating.html" },
    tesratinghow_html: { text: "tesratinghow", name: "tesratinghow.html", url: "tesratinghow.html" },
    tesrelease_html: { text: "tesrelease", name: "tesrelease.html", url: "tesrelease.html" },
    tesservice_html: { text: "tesservice", name: "tesservice.html", url: "tesservice.html" },
    testermspop_html: { text: "testermspop", name: "testermspop.html", url: "testermspop.html" },
    testimonals_html: { text: "Testimonials", name: "testimonals.html", url: "testimonals.html" },
    testimonalsnew_html: { text: "testimonalsnew", name: "testimonalsnew.html", url: "testimonalsnew.html" },
    testimonials_html: { text: "Testimonials", name: "testimonials.html", url: "testimonials.html" },
    testimonials2_html: { text: "testimonials2", name: "testimonials2.html", url: "testimonials2.html" },
    testimonials3_html: { text: "testimonials3", name: "testimonials3.html", url: "testimonials3.html" },
    testimonials4_html: { text: "testimonials4", name: "testimonials4.html", url: "testimonials4.html" },
    TheTER_html: { text: "TheTER", name: "TheTER.html", url: "TheTER.html" },
    transportsector_html: { text: "transportsector", name: "transportsector.html", url: "transportsector.html" },
    transportsector2_html: { text: "transportsector2", name: "transportsector2.html", url: "transportsector2.html" },
    trucost_review_ofr_eu_html: { text: "trucost_review_ofr_eu", name: "trucost_review_ofr_eu.html", url: "newsletterimages/trucost_review_ofr_eu.html" },
    trucost_review_ofr_eu_html: { text: "trucost_review_ofr_eu", name: "trucost_review_ofr_eu.html", url: "trucost_review_ofr_eu.html" },
    TrucostEnvironmentalRegister_html: { text: "Environmental Register", name: "TrucostEnvironmentalRegister.html", url: "TrucostEnvironmentalRegister.html" },
    TrucostEnhancedEngagementServices: { text: "Trucost Enhanced Engagement Services", name: "enhancedengagement.html", url: "enhancedengagement.html" },
    TrucostInTheNews: { text: "Trucost in the News", name: "mediaquotes.html", url: "mediaquotes.html" },
    TrucostOnline: { text: "Trucost Online", name: "login", url: "https://login.trucost.com/newmatrix" },
    TrucostOnlineInfo: { text: "Trucost Online", name: "trucostonline.html", url: "trucostonline.html" },
    TrucostOnlinePressRelease_html: { text: "TrucostOnlinePressRelease", name: "TrucostOnlinePressRelease.html", url: "TrucostOnlinePressRelease.html" },
    trucostrrev_html: { text: "trucostrrev", name: "trucostrrev.html", url: "trucostrrev.html" },
    turner_html: { text: "turner", name: "turner.html", url: "turner.html" },
    UBS_Research_html: { text: "UBS Research", name: "UBS Research.html", url: "pressreleases/UBS Research.html" },
    UBSIndex_html: { text: "UBSIndex", name: "UBSIndex.html", url: "pressreleases/UBSIndex.html" },
    uksurvey_html: { text: "uksurvey", name: "uksurvey.html", url: "uksurvey.html" },
    unep_html: { text: "unep", name: "unep.html", url: "unep.html" },
    unep_investment_html: { text: "unep_investment", name: "unep_investment.html", url: "unep_investment.html" },
    unep_pri_membership_html: { text: "unep_pri_membership", name: "unep_pri_membership.html", url: "unep_pri_membership.html" },
    upload: { text: "Upload Files", name: "upload", url: "upload.php" },
    usreportingforuk_html: { text: "usreportingforuk", name: "usreportingforuk.html", url: "usreportingforuk.html" },
    verify_php: { text: "verify", name: "verify.php", url: "verify.php" },
    VicSuper_html: { text: "VicSuper", name: "VicSuper.html", url: "pressreleases/VicSuper.html" },
    VicSuperCarbonCount2008_html: { text: "VicSuperCarbonCount2008", name: "VicSuperCarbonCount2008.html", url: "pressreleases/VicSuperCarbonCount2008.html" },
    victor_html: { text: "victor", name: "victor.html", url: "victor.html" },
    VirginClimateChangeFund_html: { text: "VirginClimateChangeFund", name: "VirginClimateChangeFund.html", url: "pressreleases/VirginClimateChangeFund.html" },
    VirginMoney_html: { text: "VirginMoney", name: "VirginMoney.html", url: "pressreleases/VirginMoney.html" },
    WalthamForest: { text: "London Borough Of Waltham Forest", name: "walthamforest", url: "walthamforest.html" },    
    websitetermspop_html: { text: "websitetermspop", name: "websitetermspop.html", url: "websitetermspop.html" },
    workshops_html: { text: "workshops", name: "workshops.html", url: "images/workshops.html" },
    workshops_html: { text: "workshops", name: "workshops.html", url: "workshops.html" },
    wsiui_html: { text: "wsiui", name: "wsiui.html", url: "wsiui.html" }
}

Colors =
    {
        trucostRed: "#A4001D",
        trucostBlue: "#081942",
        darkGrey: "#555555",
        lightGrey: "#DDDDDD",

        ConvertRGBToHex: function(color)
        {
            var RGB = color.replace(/rgb\(|\)/g, "").split(",");
            var R = RGB[0];
            var G = RGB[1];
            var B = RGB[2];

            return toHex(R) + toHex(G) + toHex(B);

            function toHex(N)
            {
                if (N == null) return "00";
                N = parseInt(N); if (N == 0 || isNaN(N)) return "00";
                N = Math.max(0, N); N = Math.min(N, 255); N = Math.round(N);
                return "0123456789ABCDEF".charAt((N - N % 16) / 16) + "0123456789ABCDEF".charAt(N % 16);
            }
        }
    };

//Set of tools for adding custom, javascript based controls
    Tools =
{
    attachEvent: function(element, eventName, fn)
    {
        //FF, SAFARI, ETC
        try
        {
            element.addEventListener(eventName, fn, false);
        }
        catch (e)
        {
        }

        //IE
        try
        {
            element.attachEvent('on' + eventName, fn);
        }
        catch (e)
        {
        }
    },

    isEven: function(value)
    {
        if (value % 2 == 0)
            return true;
        else
            return false;
    },

    searchEvent: null,

    searchText: '',

    toHtml: function(obj)
    {
        var div = document.createElement("div");
        div.appendChild(obj);

        return div.innerHTML;
    },

    getSearchBox: function()
    {
        var searchBox = document.getElementById("searchBox");
        return searchBox;
    },

    searchBoxTextChange: function()
    {
        if (Tools.searchEvent)
        {
            var searchBox = Tools.getSearchBox();

            if (searchBox.value != Tools.searchText)
            {
                Tools.searchText = searchBox.value;
                Tools.searchEvent.searchText = searchBox.value;
                setTimeout(Tools.searchEvent, 0);
            }
        }
    },

    setSearchEvent: function()
    {
        var searchBox = Tools.getSearchBox();

        Tools.attachEvent(searchBox, "keyup", Tools.searchBoxTextChange);
    },

    insertSearchBox: function(fn)
    {
        var input = document.createElement("input");
        input.setAttribute("type", "text");
        input.setAttribute("id", "searchBox");

        var div = document.createElement("div");
        div.setAttribute("align", "left");
        div.className = "searchBox";
        div.appendChild(input);

        document.write(Tools.toHtml(div));

        Tools.setSearchEvent();
        Tools.searchEvent = fn;
    },

    filterContent: function(controlId, searchText, searchMode)
    {
        searchText = searchText.toLowerCase();

        if (!searchMode)
        {
            searchMode = "";
        }

        var control = document.getElementById(controlId);
        var match = false;
        var children;

        switch (control.tagName.toLowerCase())
        {
            case "ul":
                children = control.children;
                break;

            case "table":
                children = control.getElementsByTagName("tbody")[0].children;
                break;
        }

        for (i = 0; i < children.length; i++)
        {
            var item = children[i];

            if (searchMode.toLowerCase() == "exact")
            {
                match = item.innerHTML.toLowerCase().indexOf(searchText) > -1;
            }
            else
            {
                match = true;
                var words = searchText.split(" ");

                for (w = 0; w < words.length; w++)
                {
                    word = words[w];
                    if (item.innerHTML.toLowerCase().indexOf(word) == -1)
                    {
                        match = false;
                        break;
                    }
                }
            }

            if (match)
            {
                item.style.display = '';
            }
            else
            {
                item.style.display = 'none';
            }
        }
    },

    setMenuEvents: function()
    {
        var menuTables = document.getElementsByTagName("table");
        var menus = [];

        for (i = 0; i < menuTables.length; i++)
        {
            var menuTable = menuTables[i];
            if (menuTable.className != "menuTable")
            {
                continue;
            }

            var divs = menuTable.getElementsByTagName("div");

            for (j = 0; j < divs.length; j++)
            {
                var div = divs[j];
                menus[menus.length] = div;
            }
        }

        for (i = 0; i < menus.length; i++)
        {
            var menu = menus[i];

            Tools.attachEvent(menu, "mouseover", Tools.menuMouseOver);
            Tools.attachEvent(menu, "mouseout", Tools.menuMouseOut);
        }
    },

    getSubMenuLevel: function(menuItem)
    {
        var level = menuItem.getAttribute("level");

        if (!level)
        {
            level = 0;
        }

        return level;
    },

    isSubMenuItem: function(menuItem)
    {
        return Tools.getSubMenuLevel(menuItem) > 0;
    },

    menuMouseOver: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        if (srcEl.getAttribute("selected"))
        {
            return;
        }
        if (Tools.isSubMenuItem(srcEl))
        {
            srcEl.style.color = Colors.trucostRed;
        }
        else
        {
            srcEl.style.background = Colors.trucostRed;
        }
    },

    menuMouseOut: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        if (srcEl.getAttribute("selected"))
        {
            return;
        }

        if (srcEl.getAttribute("menuId") == Tools.getSelectedMenu().menuId)
        {
            return;
        }

        if (Tools.isSubMenuItem(srcEl))
        {
            srcEl.style.color = Colors.trucostBlue;
        }
        else
        {
            srcEl.style.background = Colors.trucostBlue;
        }
    },

    getCurrentUrl: function()
    {
        var docLocation = document.location.toString();
        if (docLocation.lastIndexOf("/") == docLocation.length - 1)
        {
            docLocation += "index.html";
        }
        return docLocation.substring(docLocation.lastIndexOf("/") + 1, docLocation.length).toLowerCase();
    },

    getTitle: function(url)
    {
        var title = 'Title Not Found';
        var menuItems = Tools.getMenuItems();

        for (i = 0; i < menuItems.length; i++)
        {
            var menuItem = menuItems[i];
            if (menuItem.link.url.toLowerCase() == url)
            {
                if (menuItem.link.longText)
                {
                    title = menuItem.link.longText;
                }
                else
                {
                    title = menuItem.link.text;
                }

                break;
            }
        }

        return title;
    },

    getCurrentPageTitle: function()
    {
        var currentUrl = Tools.getCurrentUrl();

        if (currentUrl.indexOf("?") > -1)
        {
            currentUrl = currentUrl.substring(0, currentUrl.indexOf("?"));
        }

        return Tools.getTitle(currentUrl);
    },

    insertPageTitle: function()
    {
        document.write("<title>" + Tools.getCurrentPageTitle() + "</title>");
    },

    getMenuParents: function(menus, index)
    {
        var j = i;
        var currentMenuItem = menus[index];
        var parents = [];

        while (j > 0)
        {
            j -= 1;
            var previousMenuItem = menus[j];
            if (previousMenuItem)
            {
                if (previousMenuItem.level < currentMenuItem.level)
                {
                    parents[parents.length] = previousMenuItem;
                }
            }
        }

        return parents;
    },

    urlMarch: function(url1, url2)
    {
        url1 = url1.substring(url1.lastIndexOf("/") + 1, url1.length).toLowerCase();
        url2 = url2.substring(url2.lastIndexOf("/") + 1, url2.length).toLowerCase();
        return (url1 == url2);
    },

    getMenuItems: function()
    {
        var menus =
                [
                    { menuId: 1, link: Links.Home },
                    { menuId: 2, link: Links.ProductsForInvestors },
        //{ menuId: 2, link: Links.investorproducts_html, level: 1 },
                        {menuId: 2, link: Links.MeasureYourRisk, level: 1 },
                        { menuId: 2, link: Links.ReduceYourRisk, level: 1 },
                        { menuId: 2, link: Links.InvestmentSolutions, level: 1 },
                        { menuId: 2, link: Links.TrucostOnlineInfo, level: 1 },
                        { menuId: 2, link: Links.pri_html, level: 1 },
        //{ menuId: 2, link: Links.pri_1_html, level: 2 },
        //{ menuId: 2, link: Links.pri_2_html, level: 2 },
        //{ menuId: 2, link: Links.pri_3_html, level: 2 },
        //{ menuId: 2, link: Links.pri_4_html, level: 2 },
        //{ menuId: 2, link: Links.pri_5_html, level: 2 },
        //{ menuId: 2, link: Links.pri_6_html, level: 2 },
        //{ menuId: 2, link: Links.activemanagement_html, level: 1 },
        //{ menuId: 2, link: Links.enhancedengagement_html, level: 1 },
        //{ menuId: 2, link: Links.environmentalbenchmarks_html, level: 1 },
        //{ menuId: 2, link: Links.envfootprint_html, level: 1 },
        //{ menuId: 2, link: Links.carbonfootprint_html, level: 1 },
                        {menuId: 2, link: Links.howtrucostanalyses_html, level: 1 },
                        { menuId: 2, link: Links.research, level: 1 },
                        { menuId: 2, link: Links.coverage_html, level: 1 },
                        { menuId: 2, link: Links.InvestorTestimonials, level: 1 },
        //{ menuId: 2, link: Links.pensionfunds_html, level: 1 },
                    {menuId: 3, link: Links.ToolsForBusinesses },
                        { menuId: 3, link: Links.YourOwnOperations, level: 1 },
                        { menuId: 3, link: Links.SupplyChainBusinesses, level: 1 },
                        { menuId: 3, link: Links.PeerAnalysis, level: 1 },
                        { menuId: 3, link: Links.RegulatoryReview, level: 1 },
                        { menuId: 3, link: Links.companybriefing_html, level: 1 },
        //{ menuId: 3, link: Links.TrucostEnvironmentalRegister_html, level: 1 },
                        {menuId: 3, link: Links.RegulatoryInformation, level: 1 },
                        { menuId: 3, link: Links.defrakpi_html, level: 1 },
                        { menuId: 3, link: Links.businesstestimonials, level: 1 },
                    { menuId: 4, link: Links.ToolsForPublicSector },
                        { menuId: 4, link: Links.YourOwnEstates, level: 1 },
                        { menuId: 4, link: Links.SupplyChainPublicSector, level: 1 },
                        { menuId: 4, link: Links.NationalIndicator185, level: 1 },
                        { menuId: 4, link: Links.publicsectortestimonials, level: 1 },
                    { menuId: 5, link: Links.publishedresearch_html },
                    { menuId: 6, link: Links.news_html },
        //{ menuId: 6, link: Links.TrucostInTheNews, level: 1 },
                        {menuId: 6, link: Links.newsarchive_html, level: 1 },
                    { menuId: 7, link: Links.contact_html },
                    { menuId: 8, link: Links.abouttrucost_html },
                        { menuId: 8, link: Links.advisorypanel_html, level: 1 },
                        { menuId: 8, link: Links.boardofdirectors_html, level: 1 },
        //{ menuId: 8, link: Links.membership_html, level: 1 },
        //{ menuId: 8, link: Links.testimonials_html, level: 1 },
                        {menuId: 8, link: Links.careers_html, level: 1 },
                        { menuId: 8, link: Links.env_policy_html, level: 1 },
                        { menuId: 8, link: Links.contact_html, level: 1 },
                    { menuId: 9, link: Links.Login },

        //Invisible links
                    {menuId: 10, link: Links.register_php, visible: false },
                    { menuId: 11, link: Links.authentication_php, visible: false },
                    { menuId: 12, link: Links.reports_php, visible: false },
                    { menuId: 13, link: Links.purchase_php, visible: false },
                    { menuId: 14, link: Links.companydatasheets_html, visible: false },
                    { menuId: 15, link: Links.paymentcomplete, visible: false },
                    { menuId: 16, link: Links.TrucostInTheNews, visible: false },
                    { menuId: 17, link: Links.WalthamForest, visible: false },
                    { menuId: 18, link: Links.upload, visible: false },
                    { menuId: 19, link: Links.pauldruckman, visible: false },
                    { menuId: 20, link: Links.CRCEnergyScheme, visible: false },
					{ menuId: 21, link: Links.EmergingMarketsIndex_html, visible: false },
					{ menuId: 22, link: Links.CalvertFunds_html, visible: false },
					{ menuId: 23, link: Links.NorthernTrust_html, visible: false },
					{ menuId: 24, link: Links.LondonPioneersReduction_html, visible: false },
					{ menuId: 25, link: Links.TrucostAndValueLinePartnership_html, visible: false },
					{ menuId: 26, link: Links.PoweringAsiaIssuesforResponsibleInvestors_html, visible: false },
					{ menuId: 27, link: Links.ASX200CompanyCarbonEmissions_html, visible: false},
					{ menuId: 28, link: Links.NaturalLogicandTrucost_html, visible: false },
					{ menuId: 29, link: Links.GreenBusinessReputationsAndReality_html, visible: false }					
                ]

        //Set Properties        
        var activeMenu;
        for (i = 0; i < menus.length; i++)
        {
            var menuItem = menus[i];
            var currentUrl = Tools.getCurrentUrl();

            if (currentUrl.indexOf("?") > -1)
            {
                currentUrl = currentUrl.substring(0, currentUrl.indexOf("?"));
            }

            menuItem.selected = Tools.urlMarch(menuItem.link.url, currentUrl);
            menuItem.isSubMenu = (menuItem.level > 0);
            menuItem.index = i;

            if (menuItem.selected)
            {
                activeMenu = menuItem;
            }

            if (!menuItem.level)
            {
                menuItem.level = 0;
            }

            //Set Parent
            j = i;
            if (menuItem.isSubMenu)
            {
                while (j > 0)
                {
                    j -= 1;
                    var previousMenuItem = menus[j];
                    if (previousMenuItem)
                    {
                        if (previousMenuItem.level < menuItem.level)
                        {
                            menuItem.parent = previousMenuItem;
                            break;
                        }
                    }
                }
            }

            //Set Crumbs
            menuItem.crumbs = [];

            var crumbs = [{ text: menuItem.link.text, url: menuItem.link.url}];
            var parent = menuItem.parent

            while (parent)
            {
                crumbs[crumbs.length] = { text: parent.link.text, url: parent.link.url };
                parent = parent.parent;
            }

            //Reverse the order
            for (k = 0; k < crumbs.length; k++)
            {
                var crumb = crumbs[(crumbs.length - k - 1)];
                menuItem.crumbs[menuItem.crumbs.length] = crumb;
            }

        }

        //Set Visibility
        for (i = 0; i < menus.length; i++)
        {
            var menuItem = menus[i];

            if (menuItem.isSubMenu)
            {
                if (menuItem.selected)
                {
                    menuItem.visible = true;
                }
                else if (menuItem.menuId == activeMenu.menuId)
                {
                    if (menuItem.level == 1)
                    {
                        //Always show
                        menuItem.visible = true;
                    }
                    else
                    {
                        //Check if the selected menuitem is a descendent of the menu item
                        var activeParents = Tools.getMenuParents(activeMenu);
                        for (p = 0; p < activeParents.length; p++)
                        {
                            var parent = activeParents[p];
                            if (activeParents.contains(menuItem.parent))
                            {
                                menuItem.visible = true;
                            }
                        }

                        //Check if menuitem is child of selected menuItem
                        if (menuItem.parent == activeMenu)
                        {
                            menuItem.visible = true;
                        }

                        //Check if sibling of selected menuItem
                        if (menuItem.menuId == activeMenu.menuId && menuItem.level == activeMenu.level)
                        {
                            menuItem.visible = true;
                        }
                    }
                }

            }

        }

        return menus;
    },

    getSelectedMenu: function()
    {
        var menuItems = Tools.getMenuItems();
        for (i = 0; i < menuItems.length; i++)
        {
            var menuItem = menuItems[i];
            if (menuItem.selected)
            {
                return menuItem;
            }
        }
    },

    insertMenu: function(menuItems)
    {
        if (!menuItems)
        {
            var menuItems = Tools.getMenuItems();
        }

        var getIndendation = function(menuItem)
        {
            var spaces = "";

            for (s = 1; s < menuItem.level; s++)
            {
                spaces += "&nbsp &nbsp";
            }

            return spaces;
        }

        var menutable = document.createElement("table");
        menutable.setAttribute("name", "menuTable");
        menutable.setAttribute("border", "0");
        menutable.setAttribute("cellSpacing", "0");
        menutable.setAttribute("cellPadding", "0");
        menutable.className = "menuTable";

        var activeMenuId = Tools.getSelectedMenu().menuId;

        for (i = 0; i < menuItems.length; i++)
        {
            var menuItem = menuItems[i];

            if (menuItem.isSubMenu)
            {
                if (!menuItem.visible)
                {
                    continue;
                }
            }
            else
            {
                if (menuItem.visible == false)
                {
                    continue;
                }
            }

            //Div
            var div = document.createElement("div");
            div.setAttribute("id", menuItem.link.text);

            //Text
            if (menuItem.isSubMenu)
            {
                div.innerHTML = getIndendation(menuItem) + "> " + menuItem.link.text;
            }
            else
            {
                div.innerHTML = menuItem.link.text;
            }
            div.setAttribute("title", menuItem.link.text);

            //Correct Border With
            if (i > 0)
            {
                div.style.borderTop = "1px solid white";
                div.style.height = "17px";
            }

            //Formatting
            div.style.textAlign = "left";
            if (menuItem.isSubMenu)
            {
                div.style.fontWeight = "normal";
                div.style.border = "solid 1px " + Colors.trucostBlue;
                div.style.marginTop = "1px";
                div.style.width = "158px";
                div.style.background = "white";

                if (menuItem.selected)
                {
                    div.style.color = Colors.trucostRed;
                }
                else
                {
                    div.style.color = Colors.trucostBlue;
                }
            }
            else
            {
                if (menuItem.menuId == activeMenuId)
                {
                    div.style.background = Colors.trucostRed
                }
                else
                {
                    div.style.background = Colors.trucostBlue;
                }
            }

            //Attributes
            if (menuItem.selected)
            {
                div.setAttribute("selected", true);
            }
            div.setAttribute("level", menuItem.level);
            div.style.overflow = "hidden";


            //Link
            var anchor = document.createElement("a");
            anchor.setAttribute("href", menuItem.link.url);
            if (menuItem.newWindow)
            {
                anchor.setAttribute("target", "blank");
            }
            anchor.appendChild(div);

            //Table Cell
            var cell = document.createElement("td");
            cell.appendChild(anchor);

            //Table Row
            var row = document.createElement("tr");
            row.appendChild(cell);

            menutable.appendChild(row);
        }

        document.write(Tools.toHtml(menutable));

        Tools.setMenuEvents();
    },

    insertLegals: function()
    {
        var legals = [{ link: Links.termsandconditions_html}];
        Tools.insertMenu(legals);
    },

    insertBreadCrumbs: function()
    {
        var selectedMenu = Tools.getSelectedMenu();
        var crumbs = selectedMenu.crumbs;
        var div = document.createElement("div");
        div.className = "breadCrumb";

        for (i = 0; i < crumbs.length; i++)
        {
            var crumb = crumbs[i];

            var anchor = document.createElement("a");
            anchor.className = "breadcrumbs";
            anchor.style.margin = "4px";
            anchor.setAttribute("href", crumb.url);
            anchor.innerHTML = crumb.text;

            div.appendChild(anchor);
        }
        document.write(Tools.toHtml(div));
    },

    insertTitle: function(title, leftMargin)
    {
        var img = document.createElement("img");
        img.setAttribute("src", "images/TrucostTitle2.jpg");
        img.setAttribute("alt", "");
        img.setAttribute("border", "0");

        var table = document.createElement("table");
        table.setAttribute("id", "menuTable");
        table.setAttribute("border", "0");
        table.setAttribute("cellSpacing", "0");
        table.setAttribute("cellPadding", "0");
        table.className = "mainTitle";

        if (leftMargin != undefined)
        {
            table.style.marginLeft = leftMargin;
        }

        var imgCell = document.createElement("td");
        imgCell.appendChild(img);

        var textCell = document.createElement("td");
        textCell.innerHTML = title;

        var row = document.createElement("tr");
        row.appendChild(imgCell);
        row.appendChild(textCell);

        table.appendChild(row);

        document.write(Tools.toHtml(table));
    },

    insertFooter: function(text)
    {
        var table = document.createElement("table");
        table.style.width = "100%";

        var img = document.createElement("img");
        img.setAttribute("src", "images/UNEP_FI_3-colour_white.jpg");
        img.setAttribute("border", "0");

        var img2 = document.createElement("img");
        img2.setAttribute("src", "images/pri_logo_white.jpg");
        img2.setAttribute("border", "0");

        var imageCell = document.createElement("td");
        imageCell.setAttribute("align", "center");
        imageCell.setAttribute("valign", "bottom");
        imageCell.appendChild(img);
        imageCell.appendChild(img2);

        var imageRow = document.createElement("tr");
        imageRow.appendChild(imageCell);

        var div = document.createElement("div");
        div.setAttribute("valign", "bottom");
        div.className = "trucostFooter";
        div.innerHTML = text;

        var textCell = document.createElement("td");
        textCell.setAttribute("valign", "bottom");
        textCell.appendChild(div);

        var textRow = document.createElement("tr");
        textRow.appendChild(textCell);

        table.appendChild(imageRow);
        table.appendChild(textRow);

        document.write(this.toHtml(table));
    },

    insertContentList: function(items, id)
    {
        var table = document.createElement("table");
        table.setAttribute("name", "table");
        table.setAttribute("border", "0");
        table.setAttribute("cellSpacing", "0");
        table.setAttribute("cellPadding", "0");

        if (id)
        {
            table.setAttribute("id", id);
        }
        else
        {
            table.setAttribute("id", "contentList");
        }

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];

            //Cell
            var cell = document.createElement("td");
            cell.className = "contentRow";

            //Title
            var title = document.createElement("div");
            title.className = "subTitle";
            title.innerHTML = item.title;

            //Body
            var body = document.createElement("div");
            body.className = "body";
            body.innerHTML = item.body;
			
			if (item.bullets == true) {			
				var list = document.createElement("ul");
				var bullet1 = document.createElement("li");
				bullet1.innerHTML = "<b>• Company briefings</b><br /><br />Our Company briefings provide an instant overview of the environmental impact of a company's direct and supply chain operations – in quantity and financial terms.<br /><br />The report offers a detailed breakdown of a company's greenhouse gas emissions, natural resources, water abstraction, general waste, other emissions, heavy metals and VOCs. It also includes peer analysis and reveals disclosure levels across the company's sectors of operation.<br /><br />Mainstream equity analysts and fund manager use these reports to assess the environmental risk associated with a company as part of due diligence prior to stock picking.<br /><br />Download a sample Company Briefing <a href='docs/SampleCompanyBriefing.pdf'>here</a>";
				var bullet2 = document.createElement("li");
				bullet2.innerHTML = "<br /><b>• Portfolio footprints</b><br /><br />Our Footprints measure the carbon risks and opportunities not captured by standard portfolio analysis, providing an important benchmark for risk management.<br /><br />Our footprint reports examine the carbon and environmental efficiency of a portfolio at sector and stock levels. The footprint report identifies the effects of stock selection and sector allocation, comparison with benchmark, adequacy of companies’ disclosure, companies’ rank in sector, engagement opportunities and resulting recommendations.<br /><br />Download a sample Footprint Report <a href='docs/SampleFootprintReport.pdf'>here</a>";				
				list.appendChild(bullet1);
				list.appendChild(bullet2);
				body.appendChild(list);
			}			
            cell.appendChild(title);
            cell.appendChild(body);

            //Row
            var row = document.createElement("tr");
            row.appendChild(cell);
            table.appendChild(row);
        }
        document.write(Tools.toHtml(table));
    },

    insertList: function(items, headerText, id)
    {
        //Table
        var listTable = document.createElement("table");
        listTable.setAttribute("name", "listTable");
        listTable.setAttribute("border", "0");
        listTable.setAttribute("cellSpacing", "0");
        listTable.setAttribute("cellPadding", "0");

        if (id)
        {
            listTable.setAttribute("id", id);
        }
        else
        {
            listTable.setAttribute("id", "bulletList");
        }

        if (headerText)
        {
            //Top Cell
            var topCell = document.createElement("td");
            topCell.className = "subTitle";
            topCell.innerHTML = headerText;

            //Top Row
            var topRow = document.createElement("tr");
            topRow.appendChild(topCell);

            listTable.appendChild(topRow);
        }

        //List Items
        var list = document.createElement("ul");
        for (i = 0; i < items.length; i++)
        {
            var item = items[i];

            //Cell
            var listItem = document.createElement("li");

            //Anchor            
            if (item.url)
            {
                var anchor = document.createElement("a");
                anchor.className = "link";
                anchor.setAttribute("href", item.url);
                anchor.innerHTML = item.text;

                listItem.appendChild(anchor);
            }
            //Just Text
            else
            {
                listItem.innerHTML = item.text;
            }

            list.appendChild(listItem);
        }

        //Cell
        var cell = document.createElement("td");
        cell.appendChild(list);

        //Row
        var row = document.createElement("tr");
        row.appendChild(cell);

        listTable.appendChild(row);

        document.write(Tools.toHtml(listTable));
    },

    insertLinks: function(links, title, id)
    {
        if (!title)
        {
            title = "Other useful information";
        }

        title += ":";

        Tools.insertList(links, title, id);
    },

    insertNewsList: function(items, id, linkCaption, width)
    {
        var div = document.createElement("div");

        var mainList = document.createElement("table");
        if (!id)
        {
            id = "mainList";
        }
        mainList.setAttribute("id", id);
        mainList.className = "newsList";

        if (width != undefined)
        {
            mainList.style.width = width + "px";
        }

        if (!linkCaption)
        {
            linkCaption = "";
        }

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];

            var subList = document.createElement("ul");

            var title = document.createElement("li");
            title.style.color = Colors.trucostBlue;
            //            var titleTable = document.createElement("table");

            //            titleTable.setAttribute("width", "100%");
            //            titleTable.setAttribute("cellspacing", "0");
            //            titleTable.setAttribute("cellpadding", "0");
            //            titleTable.setAttribute("border", "0");

            //            var titleRow = document.createElement("tr");
            //            var titleCellLeft = document.createElement("td");
            //            var titleCellRight = document.createElement("td");

            //            titleCellLeft.innerHTML = item.title;
            //            titleCellLeft.setAttribute("valign", "top");
            //            titleCellLeft.style.paddingRight = "8px";
            //            //titleCellLeft.style.borderBottom = "1px dotted #A4001D";
            //            //titleCellLeft.style.background = "#EEEEEE";
            //            titleCellRight.setAttribute("align", "right");
            //            titleCellRight.setAttribute("valign", "top");
            //            //titleCellRight.style.borderBottom = "1px dotted #A4001D";
            //            //titleCellRight.style.background = "#EEEEEE";
            //            titleRow.appendChild(titleCellLeft);
            //            titleRow.appendChild(titleCellRight);
            //            titleTable.appendChild(titleRow);

            //            title.appendChild(titleTable);

            if (linkCaption == "" && item.url != null)
            {
                var mainAnchor = document.createElement("a");
                mainAnchor.setAttribute("href", item.url);
                mainAnchor.innerHTML = item.title;
                title.appendChild(mainAnchor);
            }
            else
            {
                title.innerHTML = item.title;
            }

            title.className = "title";
            title.style.padding = "0px";
            title.style.paddingBottom = "0px";

            var body = document.createElement("div");
            if (item.image)
            {
                var img = document.createElement("img");
                img.style.paddingRight = "4px";
                img.style.paddingBottom = "4px";
                img.style.paddingTop = "4px";
                img.style.float = "left";
                img.setAttribute("alt", "");
                img.setAttribute("src", item.image);
                body.appendChild(img);
            }
            if (item.body)
            {
                body.innerHTML += item.body + '&nbsp';
            }
            body.className = "body";
            body.style.paddingBottom = "8px";

            //            if (item.url)
            //            {
            //                var more = document.createElement("div");
            //                var innerDiv = document.createElement("div");
            //                innerDiv.style.background = "url(images/morebutton.gif)"
            //                innerDiv.style.backgroundRepeat = "no-repeat";
            //                innerDiv.style.width = "100px";
            //                innerDiv.style.height = "18px";
            //                innerDiv.style.paddingTop = "5px";
            //                innerDiv.setAttribute("align", "center");

            //                var anchor = document.createElement("a");
            //                anchor.setAttribute("href", item.url);
            //                anchor.style.marginLeft = "18px";
            //                anchor.innerHTML = linkCaption;

            //                innerDiv.appendChild(anchor);

            //                //more.style.background = "#EEEEEE";
            //                more.className = "more";
            //                more.style.marginTop = "2px";
            //                more.style.height = "26px";
            //                more.setAttribute("align", "right");
            //                more.appendChild(innerDiv);
            //            }

            var more = document.createElement("a");
            more.style.fontWeight = "bold";
            more.setAttribute("href", item.url);
            more.innerHTML = linkCaption;

            if (item.url)
            {
                body.appendChild(more);
            }
            subList.appendChild(title);
            subList.appendChild(body);

            subList.style.marginBottom = "8px";

            var row = document.createElement("tr");
            var cell = document.createElement("td");
            cell.appendChild(subList);
            row.appendChild(cell);
            mainList.appendChild(row);
        }

        div.appendChild(mainList);

        document.write(Tools.toHtml(div));
    },

    getParentNode: function(srcElement, tagName)
    {
        while (srcElement.tagName.toLowerCase() != tagName.toLowerCase())
        {
            srcElement = srcElement.parentNode;
        }

        return srcElement;
    },

    getParentNodeByClass: function(srcElement, className)
    {
        while (srcElement.className != className)
        {
            srcElement = srcElement.parentNode;
        }

        return srcElement;
    },

    getBackgroundColor: function(element)
    {
        var color = element.style.backgroundColor;

        if (BrowserDetect.browser == "Firefox")
        {
            try
            {
                color = Colors.ConvertRGBToHex(color);
            }
            catch (e)
            {
                color = "000000";
            }
        }
        return color;
    },

    getOpacity: function(element)
    {
        return (element.style.opacity * 100);
    },


    setOpacity: function(element, opacity)
    {
        //IE
        try
        {
            element.style.filter = 'alpha(opacity=' + (opacity) + ')';
            element.style.opacity = (opacity / 100)
        }
        //FF
        catch (e)
        {
            element.style.opacity = (opacity / 100);
        }
    },

    clearTween: function()
    {
        if (Tools.Tween)
        {
            try
            {
                Tools.Tween.stop();
            }
            catch (e)
            {
            }
        }
    },

    clearColorTween: function()
    {
        if (Tools.ColorTween)
        {
            try
            {
                Tools.ColorTween.stop();
            }
            catch (e)
            {
            }
        }
    },

    tweenOpacity: function(element, opacity, time)
    {
        var oldOpacity = Tools.getOpacity(element);

        if (isNaN(oldOpacity))
        {
            oldOpacity = 100;
        }

        //opacity
        try
        {
            if (Tools.tweenElement == element)
            {
                Tools.clearTween();
            }
        }
        catch (e)
        {
        }

        Tools.Tween = new OpacityTween(element, Tween.regularEaseIn, oldOpacity, opacity, time);
        Tools.tweenElement = element;
        Tools.Tween.start();
    },

    tweenColor: function(element, color, time)
    {
        var currentColor = Tools.getBackgroundColor(element);

        if (!currentColor)
        {
            currentColor = "000000";
        }

        //opacity
        try
        {
            if (Tools.tweenElement == element)
            {
                Tools.clearColorTween();
            }
        }
        catch (e)
        {
        }

        Tools.ColorTween = new ColorTween(element.style, "backgroundColor", Tween.regularEaseIn, currentColor, color, time);
        Tools.tweenElement = element;
        Tools.ColorTween.start();
    },

    linkButtonMouseOver: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var table = Tools.getParentNode(srcEl, "table");

        Tools.tweenOpacity(table, 80, 0.2);
    },

    linkButtonMouseOut: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var table = Tools.getParentNode(srcEl, "table");

        Tools.tweenOpacity(table, 100, 0.2);
    },

    setLinkEvents: function()
    {
        var linkButtons = document.getElementsByTagName("table");

        if (!linkButtons)
        {
            return;
        }

        for (i = 0; i < linkButtons.length; i++)
        {
            var table = linkButtons[i];
            if (table.className != "mainLinkButton")
            {
                continue;
            }

            Tools.attachEvent(table, "mouseover", Tools.linkButtonMouseOver);
            Tools.attachEvent(table, "mouseout", Tools.linkButtonMouseOut);

            //Opacity
            Tools.setOpacity(table, 100);
        }
    },

    insertLinkButton: function(title, body, url, align)
    {
        var table = document.createElement("table");
        table.setAttribute("border", "0");
        table.setAttribute("cellpadding", "0");
        table.setAttribute("cellspacing", "0");
        table.className = "mainLinkButton";

        if (!align)
        {
            align = "left";
        }
        table.setAttribute("align", align);

        var titleRow = document.createElement("tr");
        var titleCell = document.createElement("td");
        var titleAnchor = document.createElement("a");

        titleAnchor.setAttribute("href", url);
        titleAnchor.innerHTML = title;
        titleAnchor.className = "title";
        titleCell.setAttribute("valign", "top");
        titleCell.appendChild(titleAnchor);
        titleRow.appendChild(titleCell);

        var bodyRow = document.createElement("tr");
        var bodyCell = document.createElement("td");
        var bodyAnchor = document.createElement("a");

        bodyAnchor.setAttribute("href", url);
        bodyAnchor.innerHTML = body;
        bodyAnchor.className = "body";
        bodyCell.setAttribute("valign", "middle");
        bodyCell.setAttribute("align", "left");
        bodyCell.appendChild(bodyAnchor);
        bodyRow.appendChild(bodyCell);

        var moreRow = document.createElement("tr");
        var moreCell = document.createElement("td");
        var moreAnchor = document.createElement("a");

        moreAnchor.setAttribute("href", url);
        moreAnchor.innerHTML = "More";
        moreAnchor.className = "more";
        moreCell.setAttribute("valign", "bottom");
        moreCell.setAttribute("align", "right");
        moreCell.appendChild(moreAnchor);
        moreRow.appendChild(moreCell);

        table.appendChild(titleRow);
        table.appendChild(bodyRow);
        table.appendChild(moreRow);

        document.write(Tools.toHtml(table));

        Tools.setLinkEvents();
    },

    getHeadline: function(item)
    {
        var table = document.createElement("table");
        table.setAttribute("border", "0");
        table.setAttribute("cellspacing", "0");
        table.setAttribute("cellpadding", "0");
        table.className = "newsHeadLine";
        table.setAttribute("id", item.id);

        var titleRow = document.createElement("tr");
        var squareCell = document.createElement("td");
        var titleCell = document.createElement("td");
        var titleAnchor = document.createElement("a")

        squareCell.className = "bullet";
        titleAnchor.setAttribute("href", item.url);
        titleAnchor.innerHTML = item.title;
        titleCell.className = "title";
        titleCell.appendChild(titleAnchor);
        titleRow.appendChild(squareCell);
        titleRow.appendChild(titleCell);
        table.appendChild(titleRow);

        var headlineRow = document.createElement("tr");
        var headlineCell = document.createElement("td");
        var headlineAnchor = document.createElement("a");

        headlineCell.className = "headline";
        headlineCell.setAttribute("colspan", 2);
        headlineAnchor.setAttribute("href", item.url);
        headlineAnchor.innerHTML = item.headline;
        headlineCell.appendChild(headlineAnchor);
        headlineRow.appendChild(headlineCell);
        table.appendChild(headlineRow);

        var div = document.createElement("div");
        div.appendChild(table);

        return div;
    },

    getExpandButton: function(direction)
    {
        if (!direction)
        {
            direction = "down";
        }

        var img = document.createElement("img");

        if (direction == "up")
        {
            img.setAttribute("src", "images/UpArrow.gif");
        }
        else
        {
            img.setAttribute("src", "images/DownArrow.gif");
        }

        img.setAttribute("border", "0");
        img.setAttribute("alt", direction == "down" ? "Expand" : "Hide");
        img.style.cursor = "pointer";

        return img;
    },

    newsItemMouseOver: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var td = Tools.getParentNode(srcEl, "td");

        Tools.tweenColor(td, Colors.trucostRed, 0.2);
    },

    newsItemMouseOut: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var td = Tools.getParentNode(srcEl, "td");

        Tools.tweenColor(td, Colors.trucostBlue, 0.2);
    },

    expandButtonMouseOver: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var td = Tools.getParentNode(srcEl, "td");

        Tools.tweenOpacity(td, 80, 0.2);
    },

    expandButtonMouseOut: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var td = Tools.getParentNode(srcEl, "td");

        Tools.tweenOpacity(td, 100, 0.2);
    },

    expandItems: function(expand, control, rowTagName)
    {
        var children = control.getElementsByTagName(rowTagName);
        var limit = control.getAttribute("limit");

        for (i = 0; i < children.length; i++)
        {
            var child = children[i];

            if (child.className == "expandButton")
            {
                continue;
            }

            if (expand == true)
            {
                child.style.display = "";
            }
            else
            {
                if (i < limit)
                {
                    child.style.display = "";
                }
                else
                {
                    child.style.display = "none";
                }
            }
        }

        //scroll last child into view        
        control.scrollIntoView(child);
    },

    expandButtonClick: function(e, obj)
    {
        var srcEl = e.srcElement ? e.srcElement : e.target;
        var button = Tools.getParentNodeByClass(srcEl, "expandButton");
        var img = button.getElementsByTagName("img")[0];

        var expand = button.getAttribute("expanded").toString();

        expand = (expand == "false") ? true : false;

        button.setAttribute("expanded", expand);

        if (expand == true)
        {
            img.setAttribute("src", "images/UpArrow.gif");
        }
        else
        {
            img.setAttribute("src", "images/DownArrow.gif");
        }

        var newsList = document.getElementById("newsItems");

        Tools.expandItems(expand, newsList, "tbody");

        return false;
    },

    setNewsEvents: function(element)
    {
        var newsItems = element.getElementsByTagName("td");

        if (!newsItems)
        {
            return;
        }

        for (j = 0; j < newsItems.length; j++)
        {
            var title = newsItems[j];
            if (title.className == "title")
            {
                Tools.attachEvent(title, "mouseover", Tools.newsItemMouseOver);
                Tools.attachEvent(title, "mouseout", Tools.newsItemMouseOut);
            }
            else if (title.className == "expandButton")
            {
                Tools.attachEvent(title, "mouseover", Tools.expandButtonMouseOver);
                Tools.attachEvent(title, "mouseout", Tools.expandButtonMouseOut);
                Tools.attachEvent(title, "click", Tools.expandButtonClick);

                Tools.setOpacity(title, 100);
                title.setAttribute("expanded", false);
            }
        }
    },

    insertNewsHeadlines: function(items, limit)
    {
        var table = document.createElement("table");
        table.setAttribute("border", "0");
        table.setAttribute("cellspacing", "0");
        table.setAttribute("cellpadding", "0");

        if (limit == undefined)
        {
            limit = 8;
        }
        var id = "newsItems";
        table.setAttribute("id", id);
        table.setAttribute("limit", limit);

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];
            var headline = Tools.getHeadline(item);

            var row = document.createElement("tr");
            var cell = document.createElement("td");

            cell.appendChild(headline);
            row.appendChild(cell);
            table.appendChild(row);
        }

        var row = document.createElement("tr");
        var cell = document.createElement("td");
        var expandButton = Tools.getExpandButton();

        cell.appendChild(expandButton);
        cell.className = "expandButton";
        row.appendChild(cell);
        table.appendChild(row);

        document.write(Tools.toHtml(table));

        var table = document.getElementById(id);
        Tools.setNewsEvents(table);

        var newsList = document.getElementById("newsItems");

        Tools.expandItems(false, newsList, "tbody");
    },

    insertLargeLink: function(title, url, imageUrl)
    {
        var div = document.createElement("div");
        div.className = "largeLink";

        var table = document.createElement("table");
        table.setAttribute("border", "0");
        table.setAttribute("cellSpacing", "0");
        table.setAttribute("cellPadding", "0");
        table.setAttribute("width", "100%");

        var row = document.createElement("tr");

        //Image Cell
        var imageCell = document.createElement("td");
        var img = document.createElement("img");
        img.style.marginRight = "4px";
        img.setAttribute("src", imageUrl);
        imageCell.style.width = "80px";
        imageCell.appendChild(img);
        row.appendChild(imageCell);

        var linkCell = document.createElement("td");
        var anchor = document.createElement("a");
        anchor.setAttribute("href", url);
        anchor.innerHTML = title;
        linkCell.appendChild(anchor);
        row.appendChild(linkCell);

        var moreRow = document.createElement("tr");
        var moreCell = document.createElement("td");
        var moreAnchor = document.createElement("a");
        var moreImg = document.createElement("img");
        moreImg.setAttribute("border", "0");
        moreImg.setAttribute("alt", "More");
        moreImg.setAttribute("src", "images/moreInfoSmall.png");
        moreImg.style.marginLeft = "4px";
        moreAnchor.setAttribute("href", url);
        moreAnchor.appendChild(moreImg);
        moreCell.setAttribute("align", "right");
        moreCell.appendChild(moreAnchor);

        row.appendChild(moreCell);

        table.appendChild(row);
        div.appendChild(table);

        document.write(Tools.toHtml(div));
    },

    insertBoldFirstWordList: function(items)
    {
        var div = document.createElement("div");

        for (i = 0; i < items.length; i++)
        {
            var item = items[i].text;
            var firstWord = item.split(' ')[0];
            var p = document.createElement("p");

            p.innerHTML = "<b>" + firstWord + "</b>" + item.substring(firstWord.length, item.length);
            div.appendChild(p);
        }

        document.write(Tools.toHtml(div));
    },

    getFooter: function()
    {
        return "Trucost is a member of the United Nations Environment Programme (UNEP) and a signatory of UNEP's Principles for Responsible Investment";
    },

    insertInfoBox: function(title, items)
    {
        var div = document.createElement("div");
        var table = document.createElement("table");
        table.setAttribute("border", "0");
        table.setAttribute("cellSpacing", "0");
        table.setAttribute("cellPadding", "0");
        table.className = "infoBox";

        var titleRow = document.createElement("tr");
        var titleCell = document.createElement("td");

        titleCell.innerHTML = title;
        titleCell.style.background = Colors.trucostBlue;
        titleCell.style.color = "white";
        titleCell.style.fontWeight = "bold";
        titleCell.style.paddingTop = "0px";
        titleCell.style.paddingBottom = "0px";

        titleRow.appendChild(titleCell);
        table.appendChild(titleRow);

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];
            var row = document.createElement("tr");
            var cell = document.createElement("td");

            if (item.url)
            {
                var anchor = document.createElement("a");
                anchor.href = item.url;
                anchor.innerHTML = item.text;
                anchor.style.float = "left";
                cell.appendChild(anchor);
            }
            else
            {
                cell.innerHTML = item.text;
            }

            cell.style.paddingTop = "2px";
            row.appendChild(cell);
            table.appendChild(row);
        }

        div.appendChild(table);
        div.className = "infoBox";

        document.write(Tools.toHtml(div));
    },

    insertContacts: function(type)
    {
        var usNum = "";
        if (type == "r")
        {
            //usNum = "+1 (203) 376 6969";
            usNum = "+1 800 402 8774";
        }
        else
        {
            //usNum = "+1 (917) 454 8165";
            usNum = "+1 800 402 8774";
        }
        var contacts =
        [
            { text: "<b>UK / Global:</b> +44 (0) 20 7160 9800" },
            { text: "<b>US:</b> " + usNum },
            { text: "info@trucost.com", url: "mailto:info@trucost.com" }
        //{ text: "22 Chancery Lane <br /> London <br /> WC2A 1LS" }
        ]

        Tools.insertInfoBox("Contact Us", contacts);
    },

    insertLink: function(item, newline, customText)
    {
        var anchor = document.createElement("a");

        if (customText != undefined)
        {
            anchor.innerHTML = customText;
        }
        else
        {
            if (item.longText != undefined)
            {
                anchor.innerHTML = item.longText;
            }
            else
            {
                anchor.innerHTML = item.text;
            }
        }
        anchor.setAttribute("href", item.url);

        if (newline)
        {
            var div = document.createElement("div");
            div.appendChild(anchor);

            document.write(Tools.toHtml(div));
        }
        else
        {
            document.write(Tools.toHtml(anchor));
        }
    },

    insertForMoreInfo: function()
    {
        var div = document.createElement("div");
        var telephone = "+44 (0) 20 7160 980";
        var contacts =
                [
                     { name: "Anna Frazer", email: "anna.frazer@trucost.com" },
                     { name: "Jessica Hedley", email: "jessica.hedley@trucost.com" },
                     { name: "Neil Mcindoe", email: "neil.mcindoe@trucost.com" },
                     { name: "Lauren Smart", email: "lauren.smart@trucost.com" }
                ]

        div.innerHTML = "For further information please contact ";

        for (i = 0; i < contacts.length; i++)
        {
            var contact = contacts[i];
            var anchor = document.createElement("a");

            anchor.innerHTML = contact.name;
            anchor.setAttribute("href", "mailto:" + contact.email);

            if (i == contacts.length - 1)
            {
                div.innerHTML += " or "
            }
            else if (i > 0)
            {
                div.innerHTML += ", ";
            }

            div.appendChild(anchor);
        }

        div.innerHTML += " on " + telephone;
        document.write(div.innerHTML);
    },

    insertQuote: function(text)
    {
        text = "&quot;<i>" + text + "</i>&quot;";

        var div = document.createElement("div");
        div.innerHTML = text
        div.style.color = "#333333";

        document.write(Tools.toHtml(div));
    },

    insertPrinciples: function()
    {
        var principles =
                [
                    { id: 1, text: "Incorporate ESG issues into investment analysis and decision making processes", url: Links.pri_1_html.url },
                    { id: 2, text: "We will be active owners and incorporate ESG issues into our ownership policies and practices", url: Links.pri_2_html.url },
                    { id: 3, text: "We will seek appropriate disclosure on ESG issues by the entities in which we invest", url: Links.pri_3_html.url },
                    { id: 4, text: "We will promote acceptance and implementation of the Principles with the investment industry", url: Links.pri_4_html.url },
                    { id: 5, text: "We will work together to enhance our effectiveness in implementing the Principles", url: Links.pri_5_html.url },
                    { id: 6, text: "We will each report on our activities and progress towards implementing the Principles", url: Links.pri_6_html.url }
                ]

        var currentURL = Tools.getCurrentUrl();

        for (i = 0; i < principles.length; i++)
        {
            var principle = principles[i];
            if (principle.url.toLowerCase() == currentURL)
            {
                principle.selected = true;
            }
        }

        var ul = document.createElement("ul");
        ul.className = "principles";
        for (i = 0; i < principles.length; i++)
        {
            var principle = principles[i];
            var anchor = document.createElement("a");
            var li = document.createElement("li");

            anchor.innerHTML = "Principle " + principle.id + ": " + principle.text;
            anchor.setAttribute("href", principle.url);
            if (principle.selected)
            {
                anchor.style.fontWeight = "bold";
            }
            li.appendChild(anchor)
            ul.appendChild(li);
        }

        var div = document.createElement("div");
        var hr = document.createElement("hr");

        hr.setAttribute("color", "#BBBBBB");
        hr.setAttribute("height", 1);
        hr.style.height = "1px";
        hr.style.color = "#BBBBBB";
        hr.style.marginLeft = "20px";
        hr.style.marginRight = "20px";

        div.appendChild(ul);
        div.appendChild(hr);

        document.write(Tools.toHtml(div));
    },

    insertLargeQuote: function(text, from)
    {
        var div = document.createElement("div");
        var quote = document.createElement("p");
        var fromP = document.createElement("p");

        div.className = "largeQuote";
        fromP.className = "from";

        quote.innerHTML = "<i>&#8220;" + text + "&#8221;</i>";
        fromP.innerHTML = "<b>" + from + "</b>";

        div.appendChild(quote);
        div.appendChild(fromP);

        document.write(Tools.toHtml(div));
    },

    insertTestimonials: function(items)
    {
        var div = document.createElement("div");
        div.style.marginTop = "8px";

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];

            var img = document.createElement("img");
            var imageDiv = document.createElement("div");
            var quote = document.createElement("p");
            var fromP = document.createElement("p");
            var spaceP = document.createElement("p");

            img.setAttribute("src", item.imageSrc);
            img.setAttribute("border", "0");
            img.setAttribute("alt", "");

            imageDiv.style.width = "160px";
            imageDiv.style.margin = "20px";
            imageDiv.style.marginTop = "0px";
            imageDiv.setAttribute("valign", "top");
            if (Tools.isEven(i))
            {
                imageDiv.style.float = "left";
                fromP.style.textAlign = "right";
            }
            else
            {
                imageDiv.setAttribute("align", "right");
                imageDiv.style.float = "right";
            }
            imageDiv.appendChild(img);

            //div.className = "largeQuote";
            //fromP.className = "from";

            quote.innerHTML = "<i>&#8220;" + item.text + "&#8221;</i>";
            fromP.innerHTML = "<b>" + item.from + "</b>";
            spaceP.innerHTML = "&nbsp";

            div.appendChild(imageDiv);
            div.appendChild(quote);
            div.appendChild(fromP);
            div.appendChild(spaceP);
        }

        document.write(Tools.toHtml(div));
    },

    insertImageLinks: function(items)
    {
		var table = document.createElement("table");
        //table.style.marginLeft = "20px";
        table.style.width = "100%";

        for (i = 0; i < items.length; i++)
        {
            var item = items[i];
            var img = document.createElement("img");
            var text = document.createElement("div");
            var anchorImg = document.createElement("a");
            //var anchor = document.createElement("a");
            var row = document.createElement("tr");

            img.setAttribute("src", item.imageSrc);
            img.setAttribute("border", "0");
            img.setAttribute("alt", "");
            //img.style.paddingTop = "8px";
            //img.style.paddingBottom = "8px";
			img.style.paddingLeft = "20px";
			text.style.textDecoration = "none";
			text.style.padding = "20px";
            text.innerHTML = "<b>" + item.title +"</b>";	
			if (item.body != undefined) {
				text.innerHTML = text.innerHTML.concat("<br /> <br />" + item.body);	
			}
			
            anchorImg.appendChild(img);
            //anchor.appendChild(text);

            //anchor.setAttribute("href", item.url);
            //anchor.setAttribute("target", "_blank");
            anchorImg.setAttribute("href", item.url);
            anchorImg.setAttribute("target", "_blank");

            var imageCell = document.createElement("td");
            imageCell.appendChild(anchorImg);
            imageCell.setAttribute("valign", "middle");

            var anchorCell = document.createElement("td");
            anchorCell.setAttribute("valign", "middle");
            //anchorCell.appendChild(anchor);
			anchorCell.appendChild(text);

            row.appendChild(imageCell);
            row.appendChild(anchorCell);
            table.appendChild(row);
			
			// Create a blank row to allow some space between each item.
			var blankTr = document.createElement("tr");
			var blankTd = document.createElement("td");
			blankTd.setAttribute("colspan", "3");
			blankTr.appendChild(blankTd);
			table.appendChild(blankTr);
        }
        document.write(Tools.toHtml(table));
    }
}