﻿var beams = new Array();

function addBeam(beamName, beamClass, alignWith) {
    $('#' + beamName).remove();
    var div = jQuery(document.createElement("div"));
    div.attr({ "id": beamName, 'class': beamClass });
    if (alignWith) {
        div.css("top", $(alignWith).position().top + "px");
        var beamObj = new Object();
        beamObj.beamName = beamName;
        beamObj.alignWith = alignWith;
        beams.push(beamObj);
    }
    $("#Content").before(div);
}

function realignBeams() {
    for (var i = 0; i < beams.length; i++) {
        $("#" + beams.beamName).css("top", $(beams.alignWith).position().top + "px");
    }
}

function transparentUnderlay(selectorToCopy,classToAdopt,fade)
{
    var stc = $(selectorToCopy);
    var h = stc.height();
    var w = stc.width();
    var pos = stc.position();
    stc.prepend("<div class=\"underlay\">&nbsp;</div>");
    var underlays = $(selectorToCopy + " .underlay");
    if (classToAdopt) {
        underlays.addClass(classToAdopt);
    }
    else {
        underlays.css("background-color", "white");
        underlays.css("height", h);
        underlays.css("width", w);
        underlays.css("margin-bottom", "-" + h + "px");
        underlays.css("position", "relative");
        underlays.css("z-index", 0);
    }
    if (!fade)
        fade = 0.50;
    underlays.fadeTo(0, fade);
}

// call this method before calling any other method that uses height
function matchHeight(selector1, selector2) {
    var h1 = $(selector1).height();
    var h2 = $(selector2).height();
    if (h1 > h2) {
        $(selector2).height(h1);
    } else {
        $(selector1).height(h2);
    }
}

// page rendering functions

$(document).ready(function() {
    $("#Testimonials blockquote").prepend("<span class=\"open\"><span>\"</span></span>");
    $("#Testimonials blockquote").append("<span class=\"close\"><span>\"</span></span>");
    addBeam("jqHeaderBeam", "headerBeam");
    
    // the footer beam be3haves differently so it must be added after the content
    $("#Content").after("<div id=\"jqFooterBeam\" class=\"footerBeam\">&nbsp;</div>");
});

function renderHome() {
    $(document).ready(function() {
        matchHeight("#BlogPostContent", "#Testimonials");
        addBeam("jqBlackBeam", "blackBarBeam", "#BlackBar");
        addBeam("jqHomeContentBeam", "homeContentBeam", "#BlogPostContent");
        addBeam("jqBackgroundLogoBeam", "backgroundLogoBeam");
        transparentUnderlay("#Testimonials");
    });
}

function renderInside() {
    $(document).ready(function() {
        if ($("#MainContentWrapper").length == 0) {
            $("#MainContent").wrap("<div id=\"MainContentWrapper\" class=\"blackManBeam\"></div>");
        } 
    });
}

var blogRendered = false;
function blogRender() {
    $(document).ready(function() {
        dateboxRender();
    });
}

function dateboxRender() {
    $(".datebox").prepend("<div class=\"dateboxUnderlay\">&nbsp;</div>");
    $(".dateboxUnderlay").fadeTo(0, 0.30);
}