//This is for the pre-loading screen
var isSvg = !svg2vml.prototype.vml_capable;

var renderWidth = 600;
var renderHeight = 400;

var renderSF = 1;

var svgNS = "http://www.w3.org/2000/svg";
var starCanvas = null;
var boxCanvas = null;
var textCanvas = null;

function createSvgDoc()
{
    var container = document.getElementById("splashContent");
    var mySvg = document.createElementNS(svgNS, "svg");

    renderSF = Math.min( renderWidth/600, renderHeight/400 );
    container.appendChild(mySvg);
    mySvg.setAttribute("version", "1.1");
    mySvg.setAttribute("width", renderWidth);
    mySvg.setAttribute("height", renderHeight);

    var myG = document.createElementNS( svgNS, "g");
    myG.setAttribute("id", "starCanvas");
    starCanvas = myG;
    mySvg.appendChild(myG);

    myG = document.createElementNS( svgNS, "g");
    myG.setAttribute("id", "boxCanvas");
    boxCanvas = myG;
    mySvg.appendChild(myG);

    myG = document.createElementNS( svgNS, "g");
    myG.setAttribute("id", "textCanvas");
    textCanvas = myG;
    mySvg.appendChild(myG);
}
    
/////////////////////////////////////////
//Simple starfield:
var stars = [];
var starBoundsX;
var starBoundsY;
var starCentreX;
var starCentreY;
var starSpeed;
var starDiscardRange;

function initStarParams()
{
    starBoundsX = renderWidth;
    starBoundsY = renderHeight;
    starCentreX = starBoundsX/2;
    starCentreY = starBoundsY/2;

    starSpeed = 0.1*renderSF;
    starDiscardRange = 200*200*renderSF*renderSF;
}

//Create a saxonbury logo as a path rather than text (so scaling works...)
var saxonburyChars = [];
function createSaxonburyLogo()
{
    var canvas = boxCanvas;

    var s = document.createElementNS(svgNS, 'path');
    s.setAttribute('d', 'M -852.62057,-93.232285 L -852.62057,-20.10728 L -860.35487,-20.10728 C -866.29257,-43.07588 -873.94877,-58.70088 -883.32367,-66.982285 C -892.54257,-75.263285 -904.33937,-79.403985 -918.71427,-79.404185 C -929.65187,-79.403985 -938.47997,-76.513285 -945.19867,-70.732285 C -951.91747,-64.950785 -955.27687,-58.54458 -955.27677,-51.51348 C -955.27687,-42.76338 -952.77687,-35.26338 -947.77677,-29.01348 C -942.93307,-22.60708 -933.08937,-15.81028 -918.24557,-8.6228797 L -884.02677,8.0177203 C -852.30817,23.48662 -836.44887,43.87722 -836.44867,69.18962 C -836.44887,88.72092 -843.87067,104.50212 -858.71427,116.53332 C -873.40197,128.40832 -889.88627,134.34582 -908.16737,134.34582 C -921.29247,134.34582 -936.29247,132.00212 -953.16737,127.31462 C -958.32367,125.75212 -962.54247,124.97082 -965.82367,124.97082 C -969.41747,124.97082 -972.22997,127.00212 -974.26117,131.06462 L -981.99553,131.06462 L -981.99553,54.42402 L -974.26117,54.42402 C -969.88617,76.29902 -961.52687,92.78342 -949.18307,103.87712 C -936.83937,114.97082 -923.01127,120.51771 -907.69867,120.51771 C -896.91757,120.51771 -888.16757,117.39271 -881.44867,111.14271 C -874.57377,104.73652 -871.13627,97.08022 -871.13617,88.17402 C -871.13627,77.39282 -874.96447,68.33032 -882.62057,60.98652 C -890.12067,53.64282 -905.19877,44.34592 -927.85487,33.09582 C -950.51117,21.84592 -965.35497,11.68972 -972.38617,2.6271203 C -979.41744,-6.2789797 -982.93306,-17.52898 -982.93303,-31.12288 C -982.93306,-48.77898 -976.91747,-63.544585 -964.88617,-75.419785 C -952.69867,-87.294585 -936.99557,-93.232085 -917.77677,-93.232285 C -909.33937,-93.232085 -899.10507,-91.435185 -887.07367,-87.841685 C -879.10507,-85.497685 -873.79257,-84.325785 -871.13617,-84.325985 C -868.63627,-84.325785 -866.68317,-84.872685 -865.27677,-85.966685 C -863.87067,-87.060185 -862.23007,-89.482085 -860.35487,-93.232285 L -852.62057,-93.232285');
    var a = document.createElementNS(svgNS, 'path');
    a.setAttribute('d', 'M -677.98887,96.84582 C -700.02017,113.87712 -713.84827,123.72082 -719.47317,126.37702 C -727.91077,130.28332 -736.89517,132.23642 -746.42637,132.23642 C -761.27017,132.23642 -773.53577,127.15832 -783.22317,117.00202 C -792.75447,106.84582 -797.52007,93.48642 -797.52007,76.92392 C -797.52007,66.45522 -795.17637,57.39272 -790.48887,49.73642 C -784.08257,39.11152 -772.98887,29.11152 -757.20757,19.73642 C -741.27017,10.36152 -714.86397,-1.0446797 -677.98887,-14.48228 L -677.98887,-22.91978 C -677.98897,-44.32588 -681.42647,-59.01338 -688.30137,-66.982285 C -695.02017,-74.950885 -704.86397,-78.935285 -717.83257,-78.935485 C -727.67637,-78.935285 -735.48887,-76.278985 -741.27007,-70.966685 C -747.20767,-65.653985 -750.17637,-59.56028 -750.17637,-52.68548 L -749.70757,-39.09168 C -749.70767,-31.90408 -751.58267,-26.35718 -755.33257,-22.45108 C -758.92637,-18.54468 -763.69197,-16.59158 -769.62947,-16.59168 C -775.41077,-16.59158 -780.17637,-18.62278 -783.92637,-22.68548 C -787.52007,-26.74778 -789.31697,-32.29468 -789.31697,-39.32608 C -789.31697,-52.76338 -782.44197,-65.107085 -768.69197,-76.357285 C -754.94197,-87.607085 -735.64517,-93.232085 -710.80137,-93.232285 C -691.73897,-93.232085 -676.11397,-90.028985 -663.92637,-83.622985 C -654.70777,-78.778985 -647.91087,-71.200885 -643.53567,-60.888585 C -640.72337,-54.16968 -639.31717,-40.41968 -639.31697,-19.63858 L -639.31697,53.25202 C -639.31717,73.72082 -638.92647,86.29902 -638.14507,90.98642 C -637.36397,95.51772 -636.11397,98.56462 -634.39507,100.12702 C -632.52027,101.68962 -630.41087,102.47082 -628.06697,102.47082 C -625.56717,102.47082 -623.37967,101.92392 -621.50447,100.83022 C -618.22337,98.79892 -611.89527,93.09582 -602.52007,83.72082 L -602.52007,96.84582 C -620.02027,120.28332 -636.73897,132.00202 -652.67637,132.00202 C -660.33277,132.00202 -666.42647,129.34582 -670.95757,124.03332 C -675.48897,118.72082 -677.83267,109.65832 -677.98887,96.84582 M -677.98887,81.61142 L -677.98887,-0.18547975 C -701.58267,9.1897203 -716.81707,15.83032 -723.69197,19.73642 C -736.03577,26.61152 -744.86387,33.79902 -750.17637,41.29892 C -755.48887,48.79902 -758.14517,57.00212 -758.14507,65.90832 C -758.14517,77.15832 -754.78577,86.53332 -748.06697,94.03332 C -741.34827,101.37712 -733.61387,105.04892 -724.86387,105.04892 C -712.98897,105.04892 -697.36397,97.23642 -677.98887,81.61142');    
    var x = document.createElementNS(svgNS, 'path');
    x.setAttribute('d', 'M -595.48887,-86.904185 L -494.47317,-86.904185 L -494.47317,-78.232285 C -500.87957,-78.232085 -505.41077,-77.138385 -508.06697,-74.951085 C -510.56707,-72.763385 -511.81707,-69.872785 -511.81697,-66.279185 C -511.81707,-62.528985 -509.08267,-56.74778 -503.61387,-48.93548 C -501.89517,-46.43528 -499.31707,-42.52898 -495.87947,-37.21668 L -480.64507,-12.84168 L -463.06697,-37.21668 C -451.81707,-52.68528 -446.19207,-62.450885 -446.19197,-66.513585 C -446.19207,-69.794585 -447.52027,-72.528985 -450.17637,-74.716685 C -452.83277,-77.060285 -457.12957,-78.232085 -463.06697,-78.232285 L -463.06697,-86.904185 L -390.41067,-86.904185 L -390.41067,-78.232285 C -398.06717,-77.763385 -404.70777,-75.653985 -410.33257,-71.904185 C -417.98897,-66.591485 -428.45777,-55.02899 -441.73887,-37.21668 L -471.03567,1.9239203 L -417.59817,78.79892 C -404.47337,97.70522 -395.09837,109.11142 -389.47317,113.01772 C -383.84847,116.76772 -376.58277,118.87702 -367.67637,119.34582 L -367.67637,127.78332 L -468.92637,127.78332 L -468.92637,119.34582 C -461.89527,119.34582 -456.42647,117.78332 -452.52007,114.65832 C -449.55147,112.47082 -448.06707,109.58021 -448.06697,105.98642 C -448.06707,102.39271 -453.06707,93.33022 -463.06697,78.79892 L -494.47317,32.86142 L -528.92637,78.79892 C -539.55137,93.01772 -544.86387,101.45522 -544.86387,104.11142 C -544.86387,107.86142 -543.14517,111.29892 -539.70757,114.42392 C -536.11387,117.39271 -530.80137,119.03332 -523.77007,119.34582 L -523.77007,127.78332 L -593.84817,127.78332 L -593.84817,119.34582 C -588.22317,118.56452 -583.30137,116.61142 -579.08257,113.48642 C -573.14507,108.95522 -563.14507,97.39272 -549.08257,78.79892 L -504.08257,19.03332 L -544.86387,-40.02918 C -556.42637,-56.90398 -565.41077,-67.450885 -571.81697,-71.669785 C -578.06697,-76.044585 -585.95757,-78.232085 -595.48887,-78.232285 L -595.48887,-86.904185');
    var o = document.createElementNS(svgNS, 'path');
    o.setAttribute('d', 'M -241.81697,-93.232285 C -209.31707,-93.232085 -183.22337,-80.888385 -163.53567,-56.20108 C -146.81717,-35.10718 -138.45777,-10.88838 -138.45757,16.45522 C -138.45777,35.67402 -143.06717,55.12712 -152.28567,74.81452 C -161.50467,94.50212 -174.23897,109.34582 -190.48887,119.34582 C -206.58277,129.34582 -224.55147,134.34582 -244.39507,134.34582 C -276.73887,134.34582 -302.44197,121.45522 -321.50447,95.67392 C -337.59827,73.95522 -345.64507,49.58022 -345.64507,22.54892 C -345.64507,2.8615203 -340.80137,-16.66968 -331.11387,-36.04478 C -321.27017,-55.57588 -308.37947,-69.950885 -292.44197,-79.169785 C -276.50457,-88.544585 -259.62957,-93.232085 -241.81697,-93.232285 M -249.08257,-77.997985 C -257.36397,-77.997785 -265.72327,-75.497785 -274.16067,-70.497985 C -282.44207,-65.653985 -289.16077,-57.06028 -294.31697,-44.71668 C -299.47327,-32.37278 -302.05137,-16.51338 -302.05137,2.8614203 C -302.05137,34.11152 -295.87957,61.06462 -283.53567,83.72082 C -271.03577,106.37712 -254.62957,117.70522 -234.31697,117.70522 C -219.16087,117.70522 -206.66087,111.45522 -196.81697,98.95522 C -186.97337,86.45522 -182.05147,64.97091 -182.05137,34.50202 C -182.05147,-3.6227797 -190.25467,-33.62278 -206.66067,-55.49798 C -217.75457,-70.497785 -231.89517,-77.997785 -249.08257,-77.997985');
    var n = document.createElementNS(svgNS, 'path');
    n.setAttribute('d', 'M -44.23887,-47.76358 C -19.08267,-78.075885 4.9016303,-93.232085 27.71433,-93.232285 C 39.43293,-93.232085 49.51103,-90.263385 57.94863,-84.326085 C 66.38603,-78.544585 73.10473,-68.935285 78.10493,-55.49798 C 81.54223,-46.12278 83.26093,-31.74778 83.26113,-12.37298 L 83.26113,79.26772 C 83.26093,92.86152 84.35473,102.08022 86.54243,106.92392 C 88.26093,110.83022 90.99533,113.87712 94.74553,116.06452 C 98.65153,118.25202 105.76093,119.34582 116.07363,119.34582 L 116.07363,127.78332 L 9.9018303,127.78332 L 9.9018303,119.34582 L 14.35493,119.34582 C 24.35473,119.34582 31.30793,117.86142 35.21433,114.89271 C 39.27663,111.76772 42.08913,107.23642 43.65183,101.29892 C 44.27663,98.95522 44.58913,91.61152 44.58933,79.26772 L 44.58933,-8.6229797 C 44.58913,-28.15408 42.01103,-42.29468 36.85493,-51.04478 C 31.85473,-59.95088 23.33913,-64.403985 11.30803,-64.404185 C -7.2858697,-64.403985 -25.80147,-54.24778 -44.23887,-33.93548 L -44.23887,79.26772 C -44.23887,93.79892 -43.37957,102.78332 -41.66067,106.22082 C -39.47327,110.75212 -36.50457,114.11142 -32.75447,116.29892 C -28.84827,118.33022 -21.03577,119.34582 -9.3169697,119.34582 L -9.3169697,127.78332 L -115.48887,127.78332 L -115.48887,119.34582 L -110.80137,119.34582 C -99.863873,119.34582 -92.520073,116.61142 -88.77007,111.14271 C -84.86387,105.51771 -82.91077,94.89272 -82.91067,79.26772 L -82.91067,-0.41977975 C -82.91077,-26.20088 -83.53577,-41.90398 -84.78567,-47.52918 C -85.87947,-53.15398 -87.67637,-56.98218 -90.17637,-59.01358 C -92.520073,-61.044585 -95.723273,-62.060285 -99.785673,-62.060485 C -104.16077,-62.060285 -109.39507,-60.888385 -115.48887,-58.54478 L -119.00447,-66.982285 L -54.31697,-93.232285 L -44.23887,-93.232285 L -44.23887,-47.76358');
    var b = document.createElementNS(svgNS, 'path');
    b.setAttribute('d', 'M 192.01113,-49.87298 C 212.79233,-78.778985 235.21413,-93.232085 259.27683,-93.232285 C 281.30793,-93.232085 300.52663,-83.778985 316.93303,-64.872985 C 333.33903,-46.12278 341.54223,-20.41968 341.54243,12.23642 C 341.54223,50.36152 328.88593,81.06462 303.57363,104.34582 C 281.85473,124.34582 257.63603,134.34582 230.91743,134.34582 C 218.41733,134.34582 205.68293,132.08022 192.71433,127.54892 C 179.90173,123.01772 166.77673,116.22082 153.33933,107.15832 L 153.33933,-115.26358 C 153.33923,-139.63828 152.71423,-154.63828 151.46433,-160.26358 C 150.37053,-165.88828 148.57363,-169.71638 146.07363,-171.74798 C 143.57363,-173.77888 140.44863,-174.79448 136.69863,-174.79478 C 132.32363,-174.79448 126.85493,-173.54448 120.29243,-171.04478 L 117.01113,-179.24798 L 181.46433,-205.49794 L 192.01113,-205.49794 L 192.01113,-49.87298 M 192.01113,-34.87298 L 192.01113,93.56452 C 199.97983,101.37712 208.18293,107.31462 216.62053,111.37702 C 225.21423,115.28332 233.96413,117.23642 242.87053,117.23642 C 257.08913,117.23642 270.29223,109.42392 282.47993,93.79892 C 294.82353,78.17402 300.99533,55.43962 300.99553,25.59582 C 300.99533,-1.9040797 294.82353,-22.99778 282.47993,-37.68548 C 270.29223,-52.52898 256.38603,-59.95088 240.76113,-59.95108 C 232.47983,-59.95088 224.19853,-57.84148 215.91743,-53.62298 C 209.66733,-50.49778 201.69863,-44.24778 192.01113,-34.87298');
    var u = document.createElementNS(svgNS, 'path');
    u.setAttribute('d', 'M 561.38613,-86.904185 L 561.38613,43.17392 C 561.38593,68.01772 561.93283,83.25212 563.02683,88.87702 C 564.27663,94.34582 566.15163,98.17392 568.65183,100.36142 C 571.30783,102.54892 574.35473,103.64271 577.79243,103.64271 C 582.63593,103.64271 588.10473,102.31462 594.19863,99.65832 L 597.47993,107.86142 L 533.26113,134.34582 L 522.71433,134.34582 L 522.71433,88.87702 C 504.27663,108.87712 490.21413,121.45522 480.52683,126.61142 C 470.83923,131.76772 460.60483,134.34582 449.82363,134.34582 C 437.79233,134.34582 427.32363,130.90832 418.41743,124.03332 C 409.66733,117.00212 403.57363,108.01772 400.13613,97.08022 C 396.69863,86.14272 394.97993,70.67402 394.97993,50.67392 L 394.97993,-45.18548 C 394.97993,-55.34148 393.88613,-62.372785 391.69863,-66.279185 C 389.51113,-70.185285 386.22993,-73.153985 381.85493,-75.185485 C 377.63613,-77.372785 369.90183,-78.388385 358.65183,-78.232285 L 358.65183,-86.904185 L 433.88613,-86.904185 L 433.88613,56.76772 C 433.88613,76.76772 437.32363,89.89272 444.19863,96.14272 C 451.22983,102.39271 459.66733,105.51771 469.51113,105.51771 C 476.22983,105.51771 483.80793,103.40832 492.24553,99.18952 C 500.83913,94.97082 510.99543,86.92402 522.71433,75.04892 L 522.71433,-46.59168 C 522.71413,-58.77898 520.44853,-66.982085 515.91743,-71.201085 C 511.54223,-75.575885 502.32353,-77.919585 488.26113,-78.232285 L 488.26113,-86.904185 L 561.38613,-86.904185');
    var r = document.createElementNS(svgNS, 'path');
    r.setAttribute('d', 'M 675.99553,-93.232285 L 675.99553,-44.95108 C 693.96423,-77.138385 712.40163,-93.232085 731.30803,-93.232285 C 739.90163,-93.232085 747.01103,-90.575885 752.63613,-85.263585 C 758.26103,-80.107085 761.07353,-74.091485 761.07363,-67.216685 C 761.07353,-61.122785 759.04223,-55.96648 754.97993,-51.74798 C 750.91723,-47.52898 746.07353,-45.41968 740.44863,-45.41978 C 734.97983,-45.41968 728.80793,-48.07588 721.93303,-53.38858 C 715.21413,-58.85708 710.21423,-61.591485 706.93303,-61.591685 C 704.12043,-61.591485 701.07353,-60.028985 697.79243,-56.90418 C 690.76103,-50.49778 683.49543,-39.95088 675.99553,-25.26358 L 675.99553,77.62702 C 675.99543,89.50212 677.47983,98.48642 680.44863,104.58021 C 682.47983,108.79892 686.07363,112.31462 691.22993,115.12702 C 696.38603,117.93952 703.80793,119.34582 713.49553,119.34582 L 713.49553,127.78332 L 603.57363,127.78332 L 603.57363,119.34582 C 614.51113,119.34582 622.63613,117.62712 627.94863,114.18952 C 631.85493,111.68962 634.58923,107.70522 636.15183,102.23642 C 636.93303,99.58021 637.32363,92.00212 637.32363,79.50202 L 637.32363,-3.7010797 C 637.32363,-28.70088 636.77673,-43.54468 635.68303,-48.23228 C 634.74553,-53.07588 632.87053,-56.59148 630.05803,-58.77918 C 627.40173,-60.966485 624.04243,-62.060285 619.97993,-62.060485 C 615.13613,-62.060285 609.66743,-60.888385 603.57363,-58.54478 L 601.22993,-66.982285 L 666.15183,-93.232285 L 675.99553,-93.232285');
    var y = document.createElementNS(svgNS, 'path');
    y.setAttribute('d', 'M 761.30803,-86.904185 L 861.3861,-86.904185 L 861.3861,-78.232285 L 856.4643,-78.232285 C 849.4329,-78.232085 844.1204,-76.669585 840.5268,-73.544785 C 837.0892,-70.575885 835.3704,-66.825885 835.3705,-62.294785 C 835.3704,-56.20088 837.9486,-47.76338 843.1049,-36.98228 L 895.3705,71.29892 L 943.4174,-47.29478 C 946.0735,-53.70088 947.4016,-60.028985 947.4018,-66.279185 C 947.4016,-69.091485 946.8547,-71.200885 945.7611,-72.607285 C 944.511,-74.325885 942.5578,-75.653985 939.9018,-76.591685 C 937.2453,-77.685285 932.5578,-78.232085 925.8393,-78.232285 L 925.8393,-86.904185 L 995.683,-86.904185 L 995.683,-78.232285 C 989.9015,-77.607085 985.4484,-76.357085 982.3236,-74.482285 C 979.1984,-72.607085 975.7609,-69.091485 972.0111,-63.935485 C 970.6047,-61.747785 967.9484,-55.73218 964.0424,-45.88858 L 876.6205,168.33022 C 868.1829,189.11142 857.0892,204.81452 843.3393,215.43952 C 829.7454,226.06442 816.6205,231.37692 803.96433,231.37702 C 794.74553,231.37692 787.16743,228.72072 781.22993,223.40832 C 775.29243,218.09571 772.32363,212.00202 772.32363,205.12702 C 772.32363,198.56452 774.43303,193.25202 778.65183,189.18952 C 783.02673,185.28321 788.96423,183.33012 796.46433,183.33022 C 801.62053,183.33012 808.6517,185.04892 817.558,188.48642 C 823.8079,190.83012 827.7142,192.00202 829.2768,192.00202 C 833.9642,192.00202 839.0423,189.58011 844.5111,184.73642 C 850.136,179.89261 855.761,170.51762 861.3861,156.61142 L 876.6205,119.34582 L 799.51113,-42.60728 C 797.16743,-47.45088 793.41743,-53.46648 788.26113,-60.654185 C 784.35493,-66.122785 781.15173,-69.794585 778.65183,-71.669785 C 775.05803,-74.169585 769.27683,-76.357085 761.30803,-78.232285 L 761.30803,-86.904185');

    var halo = document.createElementNS(svgNS, 'path');
    halo.setAttribute('d', 'M 40.43753,-324.36528 C -127.13387,-324.36528 -262.99987,-275.35677 -262.99997,-214.99028 C -262.99997,-166.87528 -176.66977,-126.16828 -56.74997,-111.55278 C -127.01407,-127.99568 -173.93747,-156.88668 -173.93747,-189.99028 C -173.93747,-241.24742 -61.93747,-282.80279 76.06253,-282.80279 C 214.06253,-282.80279 326.06253,-241.24742 326.06253,-189.99028 C 326.06253,-184.75232 324.87243,-179.67998 322.62503,-174.67778 C 336.42463,-187.17185 344.18753,-200.73129 344.18753,-214.99028 C 344.18753,-275.35678 208.00903,-324.36528 40.43753,-324.36528');
    halo.setAttribute( 'fill', '#FAC659' );

    var fade1 = document.createElementNS(svgNS, 'ellipse');
    fade1.setAttribute( 'cx', '0' );
    fade1.setAttribute( 'cy', '-40' );
    fade1.setAttribute( 'rx', '880' );
    fade1.setAttribute( 'ry', '440' );
    fade1.setAttribute( 'fill', '#DDF' );

    var fade2 = document.createElementNS(svgNS, 'ellipse');
    fade2.setAttribute( 'cx', '0' );
    fade2.setAttribute( 'cy', '-40' );
    fade2.setAttribute( 'rx', '800' );
    fade2.setAttribute( 'ry', '400' );
    fade2.setAttribute( 'fill', '#FFF' );

    saxonburyChars.push( fade1 );    
    saxonburyChars.push( fade2 );
    saxonburyChars.push( halo );
    saxonburyChars.push( s );
    saxonburyChars.push( a );
    saxonburyChars.push( x );
    saxonburyChars.push( o );
    saxonburyChars.push( n );
    saxonburyChars.push( b );
    saxonburyChars.push( u );
    saxonburyChars.push( r );
    saxonburyChars.push( y );

    var i;
    for ( i=0;i<saxonburyChars.length;i++)
    {
        if ( i>=saxonburyChars.length-9 )
        {
            saxonburyChars[i].setAttribute('fill', '#8B3D4D' );
        }
        saxonburyChars[i].setAttribute( 'stroke', 'none' );
        saxonburyChars[i].setAttribute( 'stroke-width', '0' );

        var container = document.createElementNS(svgNS, 'g');
        container.appendChild( saxonburyChars[i] );
        saxonburyChars[i] = container;
        saxonburyChars[i].time = -i;

        container.setAttribute( 'fill', 'yellow');

        canvas.appendChild( saxonburyChars[i] );
    }

    animateSaxonbury();
}

//Animate the saxonbury chars:
function animateSaxonbury()
{
    var i;
    for ( i=0;i<saxonburyChars.length;i++ )
    {
        var c = saxonburyChars[i];
        c.time++;
        
        var extraY = 0;
        var scale = ((c.time<1)?0:Math.abs(1-1/(c.time/20))*2) * renderSF;
        /*if ( c.time > 130 )
        {
            scale *= 1 + (c.time-130);
            if ( i>1 )
            {
                extraY = -40*(c.time-130);
            }
        }*/
       
        scale /= 10;
        c.setAttribute('transform', 'translate('+parseInt(starCentreX)+','+parseInt(starCentreY+extraY)+') scale('+scale+')');

        if (c.time>170)
        {
            g_editing = true;
            location.href = 'page.php';
        }
    }
}


///////////////////////////////////
//Global:
function animate()
{
    if ( g_editing ) return;
    animateSaxonbury();
}

//This initialises scaling both for SVG elements AND HTML elements:
function initialiseScaling()
{
    var bestWidth = parseInt(GetWindowWidth()) - 50;
    var bestHeight = parseInt(GetWindowHeight());

    //Maintain aspect ratio:
    var sf = Math.min( bestWidth/600, bestHeight/400 );
    bestWidth = 600*sf;
    bestHeight = 400*sf;

    var elems = [ GetElem('splashOverlapper'), GetElem('splashContent'), GetElem('splashBackground') ];
    var i;
    for (i=0;i<elems.length;i++)
    {
        elems[i].style.width = bestWidth+"px";
        elems[i].style.height = bestHeight+"px";
    }

    renderWidth = bestWidth;
    renderHeight = bestHeight;
}

//Call on resize:
function reinitialiseSplash()
{
    initialiseScaling();
    initStarParams();
}

function initialiseSplash() 
{
    initialiseScaling();

    createSvgDoc();

    //Spawn some stars:
    initStarParams();
    createSaxonburyLogo();
    
    //Should be called from main animate callback:
    setInterval( 'animate();', 40 );
}

loadHandlers[ loadHandlers.length ] = initialiseSplash;
