// find center of window
window.size = function()
{
    var w = 0;
    var h = 0;

    //IE
    if(!window.innerWidth)
    {
        //strict mode
        if(!(document.documentElement.clientWidth == 0))
        {
            w = document.documentElement.clientWidth;
            h = document.documentElement.clientHeight;
        }
        //quirks mode
        else
        {
            w = document.body.clientWidth;
            h = document.body.clientHeight;
        }
    }
    //w3c
    else
    {
        w = window.innerWidth;
        h = window.innerHeight;
    }
    return {width:w,height:h};
}
window.center = function()
{
    var popup_id = arguments[0];

    var popup_width = document.getElementById(popup_id).offsetWidth;
    var popup_height = document.getElementById(popup_id).offsetHeight;

    var _x = 0;
    var _y = 0;
    var offsetX = 0;
    var offsetY = 0;

    //IE
    if(!window.pageYOffset)
    {
        //strict mode
        if(!(document.documentElement.scrollTop == 0))
        {
            offsetY = document.documentElement.scrollTop;
            offsetX = document.documentElement.scrollLeft;
        }
        //quirks mode
        else
        {
            offsetY = document.body.scrollTop;
            offsetX = document.body.scrollLeft;
        }
    }
    //w3c
    else
    {
        offsetX = window.pageXOffset;
        offsetY = window.pageYOffset;
    }

    _x = ((this.size().width-popup_width)/2)+offsetX;
    _y = ((this.size().height-popup_height)/2)+offsetY;

    /* Make sure large ovelay is not placed off screen */
    if (_x < offsetX) { _x = offsetX; }
    if (_y < offsetY) { _y = offsetY; }

    return{x:_x,y:_y};
}


function showOverlay(overlay, flash_width, flash_height, flash_file, flash_xml_path, flash_file_size) {

    //close all open overlays first
    var select_open_overlays = $$('.open');
    for(var i=0; i<select_open_overlays.length; i++){
       //move overlays in the DOM after the DOM - needed so that they centre correctly when opened
       //and hide the overlays by applying class
       hideOverlay(select_open_overlays[i].id);
    }

    if (flash_height){

        //specify id of video player
        var video_player_id = overlay + "_video_player";
        var video_player_width = flash_width;
        var video_player_height = flash_height;
        var filename = flash_file;
        var xml_path = flash_xml_path;
        var file_size = flash_file_size;

        //Set the height of the video wrapper div - to fix FF issue of offsetHeight
        $(overlay).getElements('div.overlay_wrapper').setStyle('height', video_player_height + "px");

        //embed swf
        var att = { data:filename, width:video_player_width, height:video_player_height };
        var par = { flashvars:"XMLpath=" + xml_path + "&filesize=" +  file_size, allowFullScreen:"true", allowScriptAccess: "always" };
        var id = video_player_id;
        swfobject.createSWF(att, par, id);
    }

    //run function to return points to center overlay
    centre_point = window.center(overlay);

    //display overlay and position
    var div_overlay = document.getElementById(overlay);
    div_overlay.style.top = centre_point.y + "px";
    div_overlay.style.left = centre_point.x + "px";
    div_overlay.addClass('open');

    if (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1) {DD_belatedPNG.fix('.pngbg');}

}

function hideOverlay(overlay) {

    //hide the overlay
    var div_overlay = document.getElementById(overlay);
    div_overlay.style.display = 'none';
    div_overlay.removeAttribute('style');
    div_overlay.removeClass('open');

    //following code needed to create a new div as the removeSWF method will remove the element used to display the swf
    var video_player_id = overlay + "_video_player";
    var has_video_player = document.getElementById(video_player_id);

    //if the overlay has a video player..
    if (has_video_player) {
        var new_div = new Element("div");
        has_video_player.parentNode.insertBefore(new_div, has_video_player);

        //remove swf so it doesnt continue to play in IE
        swfobject.removeSWF(video_player_id);

        //give the new DIV the video player element's ID
        new_div.setAttribute("id", video_player_id);
        new_div.setAttribute("class","overlay_bg");
    }
}

window.addEvent('domready', function() {

    var container = $('wrapper');
    var select_close_buttons = $$('.overlay_close');

    var select_overlays = $$('.overlay_content_width_240','.overlay_content_width_320','.overlay_content_width_352','.overlay_content_width_368','.overlay_content_width_512','.overlay_content_width_544');

    //make the close buttons on the overlays visible if javascript is enabled
    for(var i=0; i<select_close_buttons.length; i++){
        select_close_buttons[i].setStyle('display', 'block');
    }

    for(var i=0; i<select_overlays.length; i++){
       //move overlays in the DOM after the DOM - needed so that they centre correctly when opened
       //and hide the overlays by applying class
       select_overlays[i].inject(container,'after').addClass('overlay_hidden');
    }

});