﻿var frameData;
var thisFrame;
var onClientPreview;
 
function get_iframe_data(ID) {
    var saf = navigator.userAgent.match(/Safari/i);
    var safver = (saf ? parseFloat(navigator.userAgent.match(/[\d\.]+Safari/i)) : 0);
    var targetif = $(ID);
    var data;

    if (targetif.contentDocument && (!saf || (saf && safver >= 3))) {
        // NS6 & Gecko & Opera & IE7+ 
        if ((!saf || (saf && safver >= 3)) && !targetif.contentDocument.defaultView == null) {
            data = targetif.contentDocument.defaultView.document;
        } else if (targetif.contentDocument) {
            data = targetif.contentDocument;
        } else {
            data = targetif.document;
        }
    } else if (targetif.contentWindow && !saf) {
        // IE 5.5 & 6.x 
        data = targetif.contentWindow.document;
    }

    return (data);
}


function SetIFrameData(IFrameID, editorID, titleID, pagesrc, additionalFunction) {
    onClientPreview = additionalFunction;
    try {
        thisFrame = new IFrame(IFrameID, {
            src: pagesrc,
            events: {
                load: function() {
                    //alert('IFrame Loaded');
                    frameData = get_iframe_data(IFrameID);

                    var editor = $find(editorID);
                    var title = $(titleID);

                    var bodyText = frameData.getElementById("bodyContent");
                    var titleText = frameData.getElementById("pageTitle");

                    if (bodyText != null && editor != null) {
                        bodyText.innerHTML = editor.get_html(true);
                    }
                    if (title != null && titleText != null)
                        titleText.innerHTML = title.value;

                    if (onClientPreview != null) {
                        onClientPreview();
                    }
                }
            }
        });
    } catch (e) {
        alert(e.message);
    }
}

