if ($.browser.mozilla || $.browser.safari) {
    $(document).ready(function () {
        var iFrames = document.getElementsByTagName('iframe');

        function iResize() {
            for (var i = 0, j = iFrames.length; i < j; i++) {
                iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';
            }
        }

        if ($.browser.opera) {
            $('iframe').load(function () {
                setTimeout(iResize, 0);
                $.scrollTo('iframe#mainFrame', { duration: 1000 });
            }
			);

            for (var i = 0, j = iFrames.length; i < j; i++) {
                var iSource = iFrames[i].src;
                iFrames[i].src = '';
                iFrames[i].src = iSource;
            }
        }
        else {
            $('iframe').load(function () {
                this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
            }
			);
        }
    }
);
} else {
    var iframeids = ["mainFrame"]

    var iframehide = "no"

    var getFFVersion = navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
    var FFextraHeight = parseFloat(getFFVersion) >= 0.1 ? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

    function resizeCaller() {
        var dyniframe = new Array()
        for (i = 0; i < iframeids.length; i++) {
            if (document.getElementById) {
                resizeIframe(iframeids[i])
            }
            //reveal iframe for lower end browsers? (see var above):
            if ((document.all || document.getElementById) && iframehide == "no") {
                var tempobj = document.all ? document.all[iframeids[i]] : document.getElementById(iframeids[i])
                tempobj.style.display = "block"
            }
        }
    }

    function resizeIframe(frameid) {
        var currentfr = document.getElementById(frameid)
        if (currentfr) {
            currentfr.style.display = "block";
            if (currentfr.Document && currentfr.Document.body.scrollHeight) {	                                                               //ie5+ syntax
                currentfr.height = currentfr.Document.body.scrollHeight;
            } else if (currentfr.contentDocument && currentfr.contentDocument.body.scrollHeight) {			//ns6+ / opera syntax
                currentfr.height = currentfr.contentDocument.body.scrollHeight + FFextraHeight;
            } else if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) {			//standards compliant syntax - probably nothing

                // will drop through to this
                currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
            }
            if (currentfr.addEventListener) {
                currentfr.addEventListener("load", readjustIframe, false);
            } else if (currentfr.attachEvent) {
                currentfr.detachEvent("onload", readjustIframe);  // Bug fix line
                currentfr.attachEvent("onload", readjustIframe);
            }
            $.scrollTo('iframe#mainFrame', { duration: 1000 });
        }
    }
    /***********************************************
    * End of fix for IE8 / Opera
    ***********************************************/

    function readjustIframe(loadevt) {
        var crossevt = (window.event) ? event : loadevt
        var iframeroot = (crossevt.currentTarget) ? crossevt.currentTarget : crossevt.srcElement
        if (iframeroot) {
            resizeIframe(iframeroot.id);
        }
    }

    function loadintoIframe(iframeid, url) {
        if (document.getElementById) {
            document.getElementById(iframeid).src = url
        }
    }

    if (window.addEventListener) {
        window.addEventListener("load", resizeCaller, false)
    } else if (window.attachEvent) {
        window.attachEvent("onload", resizeCaller)
    } else {
        window.onload = resizeCaller
    }
}
