function e(id)
{
    return document.getElementById(id);
}

function tOn(id)
{
    var elems = document.getElementsByTagName('*');
    for(var i = 0; i < elems.length; i++)
        if(elems[i].id == id)
            elems[i].style.display = '';
}

function tOff(id)
{
    var elems = document.getElementsByTagName('*');
    for(var i = 0; i < elems.length; i++)
        if(elems[i].id == id)
            elems[i].style.display = 'none';
}

function GetElementPostion(xElement)
{
    var selectedPosX = 0;
    var selectedPosY = 0;
    var theElement = xElement;

    while(theElement != null)
    {
        selectedPosX += theElement.offsetLeft;
        selectedPosY += theElement.offsetTop;
        theElement = theElement.offsetParent;
    }

    return selectedPosX + "," + selectedPosY
}

function getViewportSize()
{
    var viewportwidth;
    var viewportheight;

    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

    if (typeof window.innerWidth != 'undefined')
    {
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0)
    {
       viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
    }

    // older versions of IE

    else
    {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }
    
    var viewport = new Array();
    viewport[0] = viewportwidth;
    viewport[1] = viewportheight;
    return viewport;
}

function tbOn(div, blockTitle)
{
    div.style.background='#DFE6EB'; 
    
    var divPos = GetElementPostion(div);        
    //e('edit-' + blockTitle).style.left = (parseInt(divPos.split(",")[0]) + 2) + 'px';
    //e('edit-' + blockTitle).style.top = (parseInt(divPos.split(",")[1]) + 2) + 'px';
    
    tOn('edit-' + blockTitle); 
}

function tbOff(div, blockTitle)
{
    div.style.background='transparent';
    tOff('edit-' + blockTitle);
}

function refreshDiv(blockTitle, draftID, relativePath)
{
    if(typeof _Default != "undefined")
    {
        // delete any iFrameEdits;
        while(e('iframeEdit').hasChildNodes())
            e('iframeEdit').removeChild(e('iframeEdit').lastChild);
        
        // turn on the two divs
        tOn('iframeEdit');
        tOn('divBlackout');
        
        // create the pop up div
        var frame = document.createElement('iframe');
        frame.className = "wbEditFrame";
        
        var basePath = document.location.protocol + "//" + document.location.host + relativePath;
        
        if(draftID)
            frame.src = basePath + "/Admin/EditTextContent_Frame.aspx?DraftID=" + draftID;
        else
            frame.src = basePath + "/Admin/EditTextContent_Frame.aspx?ContentTitle=" + blockTitle;
        frame.frameBorder = 0;
        
        // position the background and pop up div
        var viewport = getViewportSize();
        var scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
        var height = viewport[1];
        e('iframeEdit').style.top = parseInt(scrollTop) + (height / 2) - 220 + 'px';
        if(e('iframeEdit').style.top.substring(0,e('iframeEdit').style.top.length - 2) < 0) // make sure it stays inside the browser window
            e('iframeEdit').style.top = '0px';
        e('divBlackout').style.top = parseInt(scrollTop) + 'px';
        e('divBlackout').height = height;
        
        e('iframeEdit').appendChild(frame);             
        return false;
    }
    else
    {
        return true; // return true so the link can forward to the old edit page
    }
}

function closeFrame(blockTitle, refreshDiv)
{
    tOff('iframeEdit');
    tOff('divBlackout');
    while(e('iframeEdit').hasChildNodes())
        e('iframeEdit').removeChild(e('iframeEdit').lastChild);
        
    if(refreshDiv)
    {
        var elems = document.getElementsByTagName('*');
        for(var i = 0; i < elems.length; i++)
            if(elems[i].id == "wb-" + blockTitle)
                elems[i].innerHTML = "&nbsp;Updating...";
                
        _Default.GetWebBlockText(blockTitle, GetWebBlockText_callback);  // asynchronous call
    }
    else
        window.location.reload();
}

function GetWebBlockText_callback(res)
{
    var elems = document.getElementsByTagName('*');
        for(var i = 0; i < elems.length; i++)
            if(elems[i].id == "wb-" + res.value[0])
                elems[i].innerHTML = res.value[1];
}