// JavaScript Document

/* Script by: www.jtricks.com 
 * Version: 20100515 
 * Latest version: 
 * www.jtricks.com/javascript/window/box.html 
 */  
// Moves the box object to be directly beneath an object.  
function move_box(an, box)  
{  
    var cleft = 0;  
    var ctop = 0;  
    var obj = an;  
  
    while (obj.offsetParent)  
    {  
        cleft += obj.offsetLeft;  
        ctop += obj.offsetTop;  
        obj = obj.offsetParent;  
    }  
  
    box.style.left = cleft + 0;  
  
    ctop += an.offsetHeight + 14;  
  
    // Handle Internet Explorer body margins,  
    // which affect normal document, but not  
    // absolute-positioned stuff.  
    if (document.body.currentStyle &&  
        document.body.currentStyle['marginTop'])  
    {  
        ctop += parseInt(  
            document.body.currentStyle['marginTop']);  
    }  
  
    box.style.top = ctop + 'px';  
}  
  
// Shows a box if it wasn't shown yet or is hidden  
// or hides it if it is currently shown  
function show_hide_box(an, width, height, borderStyle)  
{  
    var href = an.href;  
    var boxdiv = document.getElementById(href);  
  
    if (boxdiv != null)  
    {  
        if (boxdiv.style.display=='none')  
        {  
            // Show existing box, move it  
            // if document changed layout  
            move_box(an, boxdiv);  
            boxdiv.style.display='block';  
  
            bringToFront(boxdiv);  
  
            // Workaround for Konqueror/Safari  
            if (!boxdiv.contents.contentWindow)  
                boxdiv.contents.src = href;  
        }  
        else  
            // Hide currently shown box.  
            boxdiv.style.display='none';  
        return false;  
    }  
  
    // Create box object through DOM  
    boxdiv = document.createElement('div');  
  
    // Assign id equalling to the document it will show  
    boxdiv.setAttribute('id', href);  
  
    boxdiv.style.position = 'fixed'; 
    boxdiv.style.height = height + 'px';  
    boxdiv.style.border = '1px dashed';  
    boxdiv.style.textAlign = 'right';  
    boxdiv.style.padding = '6px';
	boxdiv.style.width = '97.4%';  
    boxdiv.style.background = '#FFFFFF';  
    document.body.appendChild(boxdiv);  
    bringToFront(boxdiv);  
  
    var offset = 8;  
   
  
    var contents = document.createElement('iframe');  
    //contents.scrolling = 'no';  
    contents.overflowX = 'hidden';  
    contents.overflowY = 'scroll';  
    contents.frameBorder = '0';  
    contents.style.width = '99%';  
    contents.style.height = (height - offset) + 'px';  
  
    boxdiv.contents = contents;  
    boxdiv.appendChild(contents);  
  
    move_box(an, boxdiv);  
  
    if (contents.contentWindow)  
        contents.contentWindow.document.location.replace(  
            href);  
    else  
        contents.src = href;  
  
    // The script has successfully shown the box,  
    // prevent hyperlink navigation.  
    return false;  
}  
  
function getAbsoluteDivs()  
{  
    var arr = new Array();  
    var all_divs = document.body.getElementsByTagName("DIV");  
    var j = 0;  
  
    for (i = 0; i < all_divs.length; i++)  
        if (all_divs.item(i).style.position=='fixed')  
        {  
            arr[j] = all_divs.item(i);  
            j++;  
        }  
  
    return arr;  
}  
  
function bringToFront(obj)  
{  
    if (!document.getElementsByTagName)  
        return;  
  
    var divs = getAbsoluteDivs();  
    var max_index = 0;  
    var cur_index;  
  
    // Compute the maximal z-index of  
    // other absolute-positioned divs  
    for (i = 0; i < divs.length; i++)  
    {  
        var item = divs[i];  
        if (item == obj ||  
            item.style.zIndex == '')  
            continue;  
  
        cur_index = parseInt(item.style.zIndex);  
        if (max_index < cur_index)  
        {  
            max_index = cur_index;  
        }  
    }  
  
    obj.style.zIndex = max_index + 1;  
}  
