
function Page(params) {
    this._init_params(params);
    this.forms = new Object();
}

Page.prototype._init_forms = function() {
    for (var node in document.getElementsByTagName("form")) {
        var id_ = node.getAttribute("id");
        var name = node.getAttribute("name");
        this.forms[id_] = node;
        this.forms[name] = node;
    }
}

Page.prototype._init_params = function(params) {
    for (var name in params) {
        this[name] = params[name];
    }
}

Page.prototype.check_messenger_version = function(fltRequiredVersion)
{
    objInstaller = document.getElementById("MessengerContentInstaller");
    if (!objInstaller.InstallContent) { 
        return false;
    }
    fltRequiredVersion = parseFloat(fltRequiredVersion);
    if (!fltRequiredVersion) {
        try {
            fltRequiredVersion = parseFloat(this.strMessengerVersion);
        } catch (e) {
            fltRequiredVersion = 0;
        }
    }
    if (!fltRequiredVersion) {
        return true;
    }
    try {
        fltVersion = parseFloat(objInstaller.version);
    } catch (err) {
        return false;
    }
    if (fltVersion >= fltRequiredVersion) {
        return true;
    } else {
        return false;
    }
    return true;
}


Page.prototype.find_element = function(varElement) {
    var objEl = null;
    if (typeof(varElement) == "object") {
        if (varElement.nodeType) {
            objEl = varElement;
        }
    } else if (typeof(varElement) == "string") {
        objEl = document.getElementById(varElement);
    }
    return objEl;
}

Page.prototype.show_element = function(varElement, strDisplayType) {
    var objElement = this.find_element(varElement);
    if (objElement) {
        if (strDisplayType != undefined)
            objElement.style.display = strDisplayType;
        objElement.style.visibility = "visible";
    }
}

Page.prototype.hide_element = function(varElement, blnInvisible) {
    if (blnInvisible == undefined) {
        blnInvisible = false;
    }
    var objElement = this.find_element(varElement);
    if (objElement) {
        if (blnInvisible) {
            objElement.style.visibility = "hidden";
        } else {
            objElement.style.display = "none";
        }
    }
}

Page.prototype.browser_is_supported = function() {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf("msie") > 0 ) {
        return true;
    // for testing - don't check the cookie
    } else if (false && document.cookie.indexOf(AGCookie.getCookieName("browser_warned")) > -1){
    } else if (document.cookie.indexOf(AGCookie.getCookieName("browser_warned")) > -1){
        return true;
    } else {
        document.write('<st'+'yle type="text/css">#' + this.browser_div + ' { visibility: hidden; }</st'+'yle>')
        return false;
    }
}

Page.prototype.show_browser_msg = function(){
    var para;
    var link;
    var img;
    var blnPreview = (window.location.href.indexOf("preview.pd") > -1 || window.location.href.indexOf(".com/index.pd") > -1);
    var actual_page_div = document.getElementById(this.browser_div);
    var version_msg_div = document.createElement("div");
    var div_parent = actual_page_div.parentNode;
    if (!blnPreview) {
        div_parent.style.position = "relative";
    }
    div_parent.style.top = "0px";
    version_msg_div.id = "ie_version";
    version_msg_div.style.position = "relative";
    if (blnPreview) {
        actual_page_div.style.minHeight = "400px";
        actual_page_div.style.height = "";
    }
    version_msg_div.style.height = actual_page_div.offsetHeight + "px";
    version_msg_div.style.width = actual_page_div.offsetWidth + "px";
    version_msg_div.style.background = "white";
    actual_page_div.style.display = "none";

    div_parent.insertBefore(version_msg_div, actual_page_div);
    version_msg_div.style.paddingTop = "20px";
//    version_msg_div.style.float = "right";
    var clear_div = document.createElement("div");
    clear_div.style.clear = "both";
    clear_div.style.height = "0px";
    clear_div.id = "clear_div";
    clear_div.appendChild(document.createTextNode("  "));
    div_parent.insertBefore(clear_div, actual_page_div);
    if (!blnPreview) {
        version_msg_div.style.position = "absolute";
        version_msg_div.style.top = "0px";
        version_msg_div.style.right = "0px";
    } else {
        version_msg_div.style.clear = "both";
    }
//    version_msg_div.style.margin = "auto auto";
    version_msg_div.style.textAlign = "center";

    img = document.createElement("img");
    img.src = this.browser_img;
    img.setAttribute("alt", this.browser_alt);
    img.style.paddingBottom = "15px";
    img.style.position = "relative";
    img.style.top = "25px";
    version_msg_div.appendChild(img);

    if (! blnPreview) {
        img = document.createElement("img");
        img.src = this.imghost + "/bmm/browser/surprise.gif";
        img.setAttribute("alt", "");
        img.style.verticalAlign = "middle";
        img.style.marginLeft = "15px";
        version_msg_div.appendChild(img);
    }

    para = document.createElement("p");
    para.style.textAlign = "justify";
    para.style.fontSize = "11px";
    para.style.fontFamilty = "Verdana, Arial, sans-serif";
    para.style.color = "black";
    para.style.width = "400px";
    para.style.padding = "10px";
    if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1) {
        if (blnPreview) {
            para.style.paddingLeft = "215px";
        } else {
            para.style.paddingLeft = "115px";
        }
    }
    para.appendChild(document.createTextNode(this.browser_para1));
    para.appendChild(document.createElement("br"));
    para.appendChild(document.createElement("br"));
    para.appendChild(document.createTextNode(this.browser_para2_1));
    link = document.createElement("a");
    link.setAttribute("href", this.khost + "/customer/help.pd");
    link.style.textDecoration = "underline";
    link.appendChild(document.createTextNode(this.browser_para2_link));
    para.appendChild(link);
    para.appendChild(document.createTextNode(this.browser_para2_2));
    version_msg_div.appendChild(para)


    version_msg_div.appendChild(document.createElement("br"));
    link = document.createElement("a");
    link.setAttribute("href", "javascript:objPage.allow_browser('ie_version')");
    img = document.createElement("img");
    img.src = this.browser_clickimg;
    img.setAttribute("alt", this.browser_clickalt);
    link.appendChild(img);
    version_msg_div.appendChild(link);
    version_msg_div.appendChild(document.createElement("br"));
    version_msg_div.appendChild(document.createElement("br"));

    img = document.createElement("img");
    img.src = this.browser_thanksimg;
    img.style.paddingBottom = "35px";
    img.setAttribute("alt", this.browser_thanksalt);
    version_msg_div.appendChild(img);

    if (blnPreview) {
        img = document.createElement("img");
        img.src = this.imghost + "/bmm/browser/surprise.gif";
        img.setAttribute("alt", "");
        img.style.position = "relative";
        img.style.clear = "both";
        img.style.left = "320px";
        img.style.top = "-100px";
        version_msg_div.appendChild(document.createElement("br"));
        version_msg_div.appendChild(img);

        img = document.createElement("img");
        img.src = this.imghost + "/bmm/browser/crazy.gif";
        img.setAttribute("alt", "");
        img.style.position = "relative";
        img.style.clear = "both";
        img.style.left = "-265px";
        img.style.top = "-300px";
        version_msg_div.appendChild(document.createElement("br"));
        version_msg_div.appendChild(img);
    }
    version_msg_div.style.display = "block";
    version_msg_div.style.visibility = "visible";
}

Page.prototype.allow_browser = function (el) {
    var actual_page_div = document.getElementById(this.browser_div); 
    if (!actual_page_div) {
        actual_page_div = document.getElementById("kiw-page-content");
    }
    var div_parent = document.getElementById(this.browser_div).parentNode;
    actual_page_div.style.visibility = "visible"; 
    actual_page_div.style.display = "block";
    if (typeof(el) == "string") {
        el = document.getElementById(el);
    }
    el.style.display = "none";
    div_parent.style.position = "static";
    document.getElementById("clear_div").style.display = "none";
    document.cookie = AGCookie.getCookieName("browser_warned")+"=on; expires=Mon, 1 Jan 2007 00:00:00 UTC; path=/; domain=.mypersonalexpression.com";
}

