﻿function myGetElementByClassName(className, doc)
{
    var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
    if(doc)
    {
        var allElements = doc.getElementsByTagName("*");
    }
    else
    {
        var allElements = document.getElementsByTagName("*");
    }
    var results = [];

    var element;
    for (var i = 0; (element = allElements[i]) != null; i++) {
        var elementClass = element.className;
        if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
	        results.push(element);
    }

    return results;
}

function resize(frame, lookAtParent)
{
    if (window.parent && window.parent.autoIframe) {
        window.parent.autoIframe(frame, lookAtParent);
    }
}

function autoIframe(frame, lookAtParent){
    try{
        var innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
        if(lookAtParent)
        {
            var outerDoc = (frame.contentDocument) ? frame.contentDocument.parent : frame.contentWindow.parent.document;
        }
        var objToResize = (frame.style) ? frame.style : frame;
        
        var sizeToSet = innerDoc.body.scrollHeight;    
        if(lookAtParent && outerDoc && sizeToSet < outerDoc.body.scrollHeight)
        {
            sizeToSet = outerDoc.body.scrollHeight
        }
        
        var browser = navigator.appName;
        if(browser == "Microsoft Internet Explorer")
        {
            objToResize.height = sizeToSet;
            
            var leftPane = innerDoc.getElementById('LeftPane');
            var els = myGetElementByClassName('bottomSpacer', innerDoc);
            for(var i = 0; i < els.length; i++)
            {
                els[i].style.height = sizeToSet - leftPane.scrollHeight + els[i].scrollHeight;
            }
        }
        else
        {
            frame.height = sizeToSet + 10;
            objToResize.height = sizeToSet + 10;
        }
    }
    catch(err){
        window.status = err.message;
    }
}