﻿var imgObj;
function checkImg(theURL,winName)
{
// 对象是否已创建
    if (typeof(imgObj) == "object")
    {
    // 是否已取得了图像的高度和宽度
        if ((imgObj.width != 0) && (imgObj.height != 0))
        {
            // 根据取得的图像高度和宽度设置弹出窗口的高度与宽度，并打开该窗口
            // 其中的增量 20 和 30 是设置的窗口边框与图片间的间隔量
            var imgWidth = 0;
            var imgHeigh = 0;
            imgWidth=imgObj.width;
            imgHeigh=imgObj.heigh;
                if (imgWidth > 760)
                {
                    imgWidth=760;
                }
                else if (imgHeigh > 550)
                {
                    imgHeigh=550;
                }
           
            var iTop = (window.screen.availHeight-30-375)/2;//获得窗口的垂直位置
            var iLeft = (window.screen.availWidth-10-500)/2; //获得窗口的水平位置
            
            OpenFullSizeWindow(theURL,winName, ",width=604,height=454,top=" + iTop + ",left=" + iLeft);
        }
        //OpenFullSizeWindow(theURL,winName, ",width=" + (imgObj.width+20) + ",height=" + (imgObj.height+30));
    else
        // 因为通过 Image 对象动态装载图片，不可能立即得到图片的宽度和高度，所以每隔100毫秒重复调用检查
        setTimeout("checkImg('" + theURL + "','" + winName + "')", 100)
    }
}

function OpenFullSizeWindow(theURL,winName,features) 
{
    var aNewWin, sBaseCmd;
    // 弹出窗口外观参数
    sBaseCmd = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,";
    //sBaseCmd = "toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,";
    // 调用是否来自 checkImg 
    if (features == null || features == "")
    {
        // 创建图像对象
        imgObj = new Image();
        // 设置图像源
        imgObj.src = theURL;
        // 开始获取图像大小
        checkImg(theURL, winName)
    }
    else
    { 
        // 打开窗口
        aNewWin = window.open(theURL,winName, sBaseCmd + features);
        // 聚焦窗口
        aNewWin.focus();
    }
}
