//---------------------------------------------------------------------
//    Handle image/div resizing & fading
//---------------------------------------------------------------------

// fade an image "in" (make it progressively more visible)
function fadeVis(imageId){
    image = document.getElementById(imageId);
    document.getElementById(imageId).visible = 'visible';
    fadeIn(imageId,0);
}

// fade an image "out" (make it invisible)
function fadeInvis(imageId){
    image = document.getElementById(imageId);
    //document.getElementById(imageId).visible = 'invisible';
//    document.getElementById(imageId).visible = 'visible';
//    fadeOut(imageId,100);
}

//Changes opacity of object depending on browswer
function setOpacity(obj, opacity) {
    opacity = (opacity > 100)?99.99:opacity;
    obj.style.filter = "alpha(opacity:"+opacity+")";    // IE/Win
    obj.style.KHTMLOpacity = opacity/100; // Safari<1.2, Konqueror
    obj.style.MozOpacity = opacity/100; // Older Mozilla and Firefox
    obj.style.opacity = opacity/100; // Safari 1.2, newer Firefox and Mozilla, CSS3
}

//Slowly raise opacity to create a fade in affect
function fadeIn(objId,opacity) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity < 100) {
            setOpacity(obj, opacity);
            opacity += 10;
            if (opacity > 100) opacity = 100;
            window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 50);
        }
    }
}

//Slowly decreases opacity to create a fade in affect
function fadeOut(objId,opacity) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity > 0) {
            setOpacity(obj, opacity);
            opacity -= 10;
            if (opacity < 0) opacity = 0;
            window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 50);
        }
    }
}

// variables so we can forward info - better be single-threaded!
var resizingObjectId;
var resizingHeight = 0;
var resizingWidth = 0;

// Enlarge an object
function enlargeObject(objId,targetWidth,targetHeight) {
    var obj = document.getElementById(objId);
    var newWidth = obj.width + 12;
    var newHeight = obj.height + 5;
    resizingWidth = 0; resizingHeight = 0;
    if (newWidth > targetWidth) newWidth = targetWidth;
    if (newHeight > targetHeight) newHeight = targetHeight;
    if ((newWidth > obj.width) || (newHeight > obj.height)) {
        obj.width = newWidth;
        obj.height = newHeight;
        resizingWidth = targetWidth;
        resizingHeight = targetHeight;
        resizingObjectId = objId;
        setTimeout("enlargeObject(resizingObjectId,resizingWidth,resizingHeight);", 10);
    }
}

// Shrink an object
function shrinkObject(objId,targetWidth,targetHeight) {
    var obj = document.getElementById(objId);
    var newWidth = obj.width - 12;
    var newHeight = obj.height - 5;
    resizingWidth = 0; resizingHeight = 0;
    if (newWidth < targetWidth) newWidth = targetWidth;
    if (newHeight < targetHeight) newHeight = targetHeight;
    if ((newWidth < obj.width) || (newHeight < obj.height)) {
        obj.width = newWidth;
        obj.height = newHeight;
        resizingWidth = targetWidth;
        resizingHeight = targetHeight;
        resizingObjectId = objId;
        setTimeout("shrinkObject(resizingObjectId,resizingWidth,resizingHeight);", 10);
    }
}
