Height = Math.floor(p.height*options['height']);
    var divHeight = Math.floor(p.height*(1+options['height']));
   
    var reflectionWidth = p.width;
   
    if (document.all && !window.opera) {
/* Fix hyperlinks */
                if(p.parentElement.tagName == 'A') {
                    var d = document.createElement('a');
                    d.href = p.parentElement.href;
                } 
                   
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';

d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';
   
var reflection = document.createElement('img');
reflection.src = p.src;
reflection.style.width = reflectionWidth+'px';

reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';

d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);

d.appendChild(p);
d.appendChild(reflection);
    } el
se {
var canvas = document.createElement('canvas');
if (canvas.getContext) {
    /* Copy original image's classes & styles to div */
    d.className = newClasses;
    p.className = 'reflected';
   
    d.style.cssText = p.style.cssText;
    p.style.cssText = 'vertical-align: bottom';
   
    var context = canvas.getContext("2d");

    canvas.style.height = reflectionHeight+'px';
    canvas.style.width = reflectionWidth+'px';
    canvas.height = reflectionHeight;
    canvas.width = reflectionWidth;
   
    d.style.width = reflectionWidth+'px';
    d.style.height = divHeight+'px';
    p.parentNode.replaceChild(d, p);
   
    d.appendChild(p);
    d.appendChild(canvas);
   
    context.save();
   
    context.translate(0,image.height-1);
    context.scale(1,-1);
   
    context.drawImage(image, 0, 0, reflectionWidth, image.height);
   
    context.restore();
   
    context.globalCompositeOperation = "destination-out";
    var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
   
    gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
    gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");

== 0) {
elmR = elmV; elmG = elmV; elmB = elmV;}
else {
t1 = elmV;
t2 = (255 - elmS) * elmV / 255;
t3 = elmH % 60;
t3 = (t1 - t2) * t3 / 60;
if (elmH = 360) elmH = 0;
return clrRGB;}

#pun-announcement h2 {display: none}
#pun-announcement .container {padding-top: 1em}