﻿function GISP_ZP_EMBED_DataeventHandler() {
    var me = this;
    this._Handler = null;
    this._Data = null;
    this._IFrameID = "ifrmZP";
    this._IFrameFFExtraHeight = 0;

    this._AddHandler = function (pHandler) {
        me._Handler = pHandler;
    };
    this._RaiseHandler = function (pData) {
        me._Data = pData;
        if (me._Handler != null) {
            me._Handler(me._Data);
        }; //end if handler not null
    };

    this._ResizeIFrame = function (pHeight) {

        var myHeight = parseInt(pHeight); //ensure numeric.
        var currentfr = document.getElementById(me._IFrameID)
        if (currentfr && !window.opera) {
            currentfr.style.display = "block"
            if (navigator.appName == "Netscape") //ns6 syntax
                currentfr.height = myHeight + me._IFrameFFExtraHeight;
            else if (!isNaN(pHeight))  //ie5+ syntax\
            {
                currentfr.height = myHeight + 30; // for ie increases
            }

        }
        if (!currentfr) {
            return;
        }
        if (currentfr.addEventListener) {
            currentfr.addEventListener("load", me._ReadjustIFrame, false)
        }
        else if (currentfr.attachEvent) {
            currentfr.detachEvent("onload", me._ReadjustIFrame)
            currentfr.attachEvent("onload", me._ReadjustIFrame)
        }
    }

    this._ReadjustIFrame = function (loadevt) {
        var crossevt = (window.event) ? event : loadevt
        var iframeroot = (crossevt.currentTarget) ? crossevt.currentTarget : crossevt.srcElement

        if (iframeroot) {
            //me is undefined
            //me._ResizeIFrame(iframeroot.id); // this is an error. need to pass in height, not id
            me._ResizeIFrame(me._Data.Height); // this is an error. need to pass in height, not id
        }
    }

    var getFFVersion = navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
    //    this._IFrameFFExtraHeight = parseFloat(getFFVersion) >= 0.1 ? 24 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers
    this._IFrameFFExtraHeight = 24

    this.collectData = function () {
        for (var i = 0; i < vars.length; i++) {
            var myKeyValue = vars[i].split("=");
            me.myData[myKeyValue[0]] = myKeyValue[1];
        }; //end for each variable
    };

    return new function () {
        this.AddHandler = me._AddHandler;
        this.RaiseHandler = me._RaiseHandler;
        this.ResizeIFrame = me._ResizeIFrame;
        this.ReadjustIFrame = me._ReadjustIFrame;
    };
};

var GISP_ZP_EMBED_DATAEVENT_HANDLER = new GISP_ZP_EMBED_DataeventHandler();

function GISP_ZP_EMBED_RaiseHandler(pData) {
    GISP_ZP_EMBED_DATAEVENT_HANDLER.RaiseHandler(pData);

}; //end function



