/* Script by: www.jtricks.com
 * Version: 20070703
 * Latest version:
 * www.jtricks.com/javascript/window/box_centered.html
 */
var has_inner = typeof(window.innerWidth) == 'number';
var has_element = document.documentElement
&& document.documentElement.clientWidth;

// Moves the box object to be centered on current
// viewable area of the page
function center_box(box, width, height)
{
cleft = has_inner
? pageXOffset + 
(window.innerWidth - width)/2
: has_element
? document.documentElement.scrollLeft + 
(document.documentElement.clientWidth - width)/2
: document.body.scrollLeft + 
(document.body.clientWidth - width)/2;

ctop = has_inner
? pageYOffset + (window.innerHeight - height)/2
: has_element
? document.documentElement.scrollTop + 
(document.documentElement.clientHeight - height)/2
: document.body.scrollTop + 
(document.body.clientHeight - height)/2;

box.style.left = cleft > 0 ? cleft + 'px' : '0px';
box.style.top = ctop > 0 ? ctop + 'px' : '0px';
}

// Hides other alone popup boxes that might be displayed
function hide_other_alone(obj)
{
if (!document.getElementsByTagName)
return;

var all_divs = document.body.getElementsByTagName("DIV");

for (i = 0; i < all_divs.length; i++)
{
if (all_divs.item(i).style.position != 'absolute' ||
all_divs.item(i) == obj ||
!all_divs.item(i).alonePopupBox)
{
continue;
}

all_divs.item(i).style.display = 'none';
}
return;
}

// Shows a box if it wasn't shown yet or is hidden
// or hides it if it is currently shown
function show_hide_centered_box(an, width, height, borderStyle)
{
show_hide_centered_href(
an.href, width, height, borderStyle);
return false;
}

// Shows a box if it wasn't shown yet or is hidden
// or hides it if it is currently shown
function show_hide_centered_href(href, width, height, borderStyle)
{
var boxdiv = document.getElementById(href);

if (boxdiv != null)
{
if (boxdiv.style.display=='none')
{
hide_other_alone(boxdiv);
// Show existing box, move it
// if document changed layout
center_box(boxdiv, width, height);
boxdiv.style.display='block';

// Workaround for Konqueror/Safari
if (!boxdiv.contents.contentWindow)
boxdiv.contents.src = href;
}
else
// Hide currently shown box.
boxdiv.style.display='none';
return false;
}

hide_other_alone(null);

// Create box object through DOM
boxdiv = document.createElement('div');

// Assign id equalling to the document it will show
boxdiv.setAttribute('id', href);

// Add object identification variable
boxdiv.alonePopupBox = 1;

boxdiv.style.display = 'block';
boxdiv.style.position = 'absolute';
boxdiv.style.width = width + 'px';
boxdiv.style.height = height + 'px';
boxdiv.style.border = borderStyle;
boxdiv.style.textAlign = 'right';
boxdiv.style.padding = '4px';
boxdiv.style.background = '#B5CCE3';
document.body.appendChild(boxdiv);

var offset = 0;

// Remove the following code if 'Close' hyperlink
// is not needed.
var close_href = document.createElement('a');
close_href.href = 'javascript:void(0);';
close_href.onclick = function()
{
show_hide_centered_href(href, width, height, borderStyle);
}

close_href.appendChild(document.createTextNode('CLOSE'));
boxdiv.appendChild(close_href);
offset = close_href.offsetHeight;
// End of 'Close' hyperlink code.

var contents = document.createElement('iframe');
//contents.scrolling = 'no';
contents.overflowX = 'hidden';
contents.overflowY = 'scroll';
contents.frameBorder = '0';
contents.style.width = width + 'px';
contents.style.height = (height - offset) + 'px';

boxdiv.contents = contents;
boxdiv.appendChild(contents);

center_box(boxdiv, width, height);

if (contents.contentWindow)
contents.contentWindow.document.location.replace(
href);
else
contents.src = href;

// The script has successfully shown the box,
// prevent hyperlink navigation.
return;
}