﻿Wipfli.Insight = function () {
    var m_ddlIndustry;
    var m_ddlTopic;
    var m_ddlAuthor;
    var m_ddlDate;
    var m_siteID;
    var m_FirstName;
    var m_LastName;
    var m_Company;
    var m_Email;
    var m_Phone;

    Ext.onReady(this.Initialize.createDelegate(this));
}

Ext.extend(Wipfli.Insight, Ext.util.Observable,
{
    Initialize: function () {
        this.addEvents({ "onData": true });

        this.m_ddlIndustry = document.getElementById("ddlIndustry");
        this.m_ddlTopic = document.getElementById("ddlTopic");
        this.m_ddlAuthor = document.getElementById("ddlAuthor");
        this.m_ddlDate = document.getElementById("ddlDate");
        this.m_siteID = document.getElementById("siteID").value;
    },

    LoadCookies: function () {
        this.m_FirstName = CookieRead("FirstName");
        this.m_LastName = CookieRead("LastName");
        this.m_Company = CookieRead("Company");
        this.m_Email = CookieRead("Email");
        this.m_Phone = CookieRead("Phone");
    },

    SetCookieFields: function () {
        if (document.getElementById('dlfirstname'))
            document.getElementById('dlfirstname').value = this.m_FirstName;
        if (document.getElementById('dllastname'))
            document.getElementById('dllastname').value = this.m_LastName;
        if (document.getElementById('dlcompany'))
            document.getElementById('dlcompany').value = this.m_Company;
        if (document.getElementById('dlemail'))
            document.getElementById('dlemail').value = this.m_Email;
        if (document.getElementById('dlphone'))
            document.getElementById('dlphone').value = this.m_Phone;

        if (document.getElementById('regfirstname'))
            document.getElementById('regfirstname').value = this.m_FirstName;
        if (document.getElementById('reglastname'))
            document.getElementById('reglastname').value = this.m_LastName;
        if (document.getElementById('regcompany'))
            document.getElementById('regcompany').value = this.m_Company;
        if (document.getElementById('regemail'))
            document.getElementById('regemail').value = this.m_Email;
        if (document.getElementById('regphone'))
            document.getElementById('regphone').value = this.m_Phone;
    },

    SubmitInsightLandingSearch: function () {
        Wipfli.AjaxAPI.WipfliAjax.InsightLandingSearch(this.m_siteID, this.m_ddlIndustry.value, this.m_ddlTopic.value, this.m_ddlAuthor.value, document.getElementById('isBlueBox').value, this.SubmitSearch_Process.createDelegate(this));
    },
    SubmitInsightSearch: function () {
        Wipfli.AjaxAPI.WipfliAjax.InsightSearch(this.m_siteID, document.getElementById("iItemID").value, this.m_ddlIndustry.value, this.m_ddlTopic.value, this.m_ddlAuthor.value, this.m_ddlDate.value, document.getElementById('isBlueBox').value, this.SubmitSearch_Process.createDelegate(this));
    },
    SubmitSearch_Process: function (response) {
        if (response.error) {
            //alert(response.error.Message);
        }
        else {
            var divMC = Ext.get("divInsightMC");
            var a = Ext.DomQuery.selectNode('data', response.value);
            divMC.update(a.firstChild.nodeValue);
        }
    },

    InsightCommentFormSubmit: function () {
        var msg = "";

        if (document.getElementById('realname').value == "") { msg += "-- Real Name\n"; }
        if (ValidateEmail(document.getElementById('email')) == false) { msg += "-- E-mail Address\n"; }

        if (msg != "") {
            alert("The following required field(s) are missing:\n\n" + msg + "\nPlease complete the form and resubmit.");
        } else {
            this.InsightRatingCreate();
        }
    },

    InsightRatingCreate: function () {
        var insightId = document.getElementById('insightID').value;
        var un = document.getElementById('realname').value;
        var email = document.getElementById('email').value;
        var comp = document.getElementById('company').value;
        var rating = this.GetRatingFromImagePath(document.getElementById('stars').src);

        Wipfli.AjaxAPI.WipfliAjax.InsightRatingCreate(insightId, un, email, comp, rating, this.InsightRatingCreate_Process.createDelegate(this))
    },
    InsightRatingCreate_Process: function (response) {
        this.InsightRatingRetrieve_Process(response);
        InsightRatingShowThankyouMsg();
    },
    InsightRatingRetrieve: function () {
        var insightId = document.getElementById('insightID').value;
        Wipfli.AjaxAPI.WipfliAjax.InsightRatingRetrieve(insightId, this.InsightRatingRetrieve_Process.createDelegate(this));
    },
    InsightRatingRetrieve_Process: function (response) {
        if (response.error) {
            //alert(response.error.Message);
        }
        else {
            var imgSrc = Ext.DomQuery.selectNode('avgRating', response.value);
            if (imgSrc.firstChild.nodeValue != '')
                document.getElementById('imgAvgRating').src = imgSrc.firstChild.nodeValue;

        }
    },

    InsightDetailRightBucketRetrieve: function () {
        var insightId = document.getElementById('insightID').value;
        Wipfli.AjaxAPI.WipfliAjax.InsightRightBucketInsightsRetrieve(insightId, this.InsightDetailRightBucketRetrieve_Process.createDelegate(this));
    },
    InsightDetailRightBucketRetrieve_Process: function (response) {
        if (response.error) {
            //alert(response.error.Message);
        }
        else {
            var divRB = Ext.get("divInsightRightMC");
            var a = Ext.DomQuery.selectNode('rbData', response.value);
            divRB.update(a.firstChild.nodeValue);
        }
    },

    InsightDownload: function (insightID) {

        var msg = "";

        if ((document.getElementById('dlfirstname').value == "") || (document.getElementById('dlfirstname').value.toLowerCase() == "null")) { msg += "-- First Name\n"; }
        if ((document.getElementById('dllastname').value == "") || (document.getElementById('dllastname').value.toLowerCase() == "null")) { msg += "-- Last Name\n"; }
        if ((document.getElementById('dlcompany').value == "") || (document.getElementById('dlcompany').value.toLowerCase() == "null")) { msg += "-- Company\n"; }
        if (ValidateEmail(document.getElementById('dlemail')) == false) { msg += "-- E-mail Address\n"; }
        if (document.getElementById('dlphone').value == "") { msg += "-- Phone\n"; }

        if (msg != "") {
            alert("The following required field(s) are missing:\n\n" + msg + "\nPlease complete the form and resubmit.");
        } else {
            if ((document.getElementById('chkPDF') && document.getElementById('chkPDF').checked) || (document.getElementById('chkPPT') && document.getElementById('chkPPT').checked)
                || (document.getElementById('chkAudio') && document.getElementById('chkAudio').checked)) {
                var ppt = "0";
                if (document.getElementById('chkPPT') && document.getElementById('chkPPT').checked)
                    ppt = "1";
                var pdf = "0";
                if (document.getElementById('chkPDF') && document.getElementById('chkPDF').checked)
                    pdf = "1";

                var audio = "0";
                if (document.getElementById('chkAudio') && document.getElementById('chkAudio').checked) {
                    audio = "1";
                }

                //set cookies
                CookieSet("FirstName", document.getElementById('dlfirstname').value);
                CookieSet("LastName", document.getElementById('dllastname').value);
                CookieSet("Company", document.getElementById('dlcompany').value);
                CookieSet("Email", document.getElementById('dlemail').value);
                CookieSet("Phone", document.getElementById('dlphone').value);

                Wipfli.AjaxAPI.WipfliAjax.InsightDownloadLog(insightID.toString()
                                                            , document.getElementById('dlfirstname').value
                                                            , document.getElementById('dllastname').value
                                                            , document.getElementById('dltitle').value
                                                            , document.getElementById('dlcompany').value
                                                            , document.getElementById('dladdress').value
                                                            , document.getElementById('dlcity').value
                                                            , document.getElementById('dlstate').value
                                                            , document.getElementById('dlzip').value
                                                            , document.getElementById('dlphone').value
                                                            , document.getElementById('dlemail').value
                                                            , pdf
                                                            , ppt
                                                            , audio
                                                            , this.InsightDownload_Process.createDelegate(this));
            }
            else {
                alert('Please select a file for download.');
            }

        }

    },
    InsightDownload_Process: function (response) {
        if (response.error) {
            alert(response.error.Message);
        }
        else {
            var downloadLocation = "";
            if (document.getElementById('chkPPT') && document.getElementById('chkPPT').checked) {
                downloadLocation = "/resources/images/" + document.getElementById('pptID').value;
            }
            if (document.getElementById('chkPDF') && document.getElementById('chkPDF').checked) {
                downloadLocation = "/resources/images/" + document.getElementById('pdfID').value;
            }
            if (document.getElementById('chkAudio') && document.getElementById('chkAudio').checked) {
                downloadLocation = "/resources/images/" + document.getElementById('audioID').value;
            }
            if (downloadLocation != "") {
                //urchinTracker(downloadLocation);
                window.open(downloadLocation);
            }
        }
    },

    WebinarRegister: function (insightID) {
        var msg = "";

        if ((document.getElementById('regfirstname').value == "") || (document.getElementById('regfirstname').value.toLowerCase() == "null")) { msg += "-- First Name\n"; }
        if ((document.getElementById('reglastname').value == "") || (document.getElementById('reglastname').value.toLowerCase() == "null")) { msg += "-- Last Name\n"; }
        if ((document.getElementById('regcompany').value == "") || (document.getElementById('regcompany').value.toLowerCase() == "null")) { msg += "-- Company\n"; }
        if (ValidateEmail(document.getElementById('regemail')) == false) { msg += "-- E-mail Address\n"; }
        if (document.getElementById('regphone').value == "") { msg += "-- Phone\n"; }


        if (msg != "") {
            alert("The following required field(s) are missing:\n\n" + msg + "\nPlease complete the form and resubmit.");
        } else {

            //set cookies
            CookieSet("FirstName", document.getElementById('regfirstname').value);
            CookieSet("LastName", document.getElementById('reglastname').value);
            CookieSet("Company", document.getElementById('regcompany').value);
            CookieSet("Email", document.getElementById('regemail').value);
            CookieSet("Phone", document.getElementById('regphone').value);

            var context = { insightid: insightID };

            Wipfli.AjaxAPI.WipfliAjax.WebinarRegisterLog(insightID.toString()
                                                                        , document.getElementById('regfirstname').value
                                                                        , document.getElementById('reglastname').value
                                                                        , document.getElementById('regcompany').value
                                                                        , document.getElementById('regphone').value
                                                                        , document.getElementById('regemail').value
                                                                        , this.WebinarRegister_Process.createDelegate(this)
                                                                        , context);
            //alert('Register ' + insightID);    
        }
    },
    WebinarRegister_Process: function (response) {
        if (response.error) {
            alert(response.error.Message);
        }
        else {
            alert('Thank you for registering.');
            document.location.href = 'http://www.wipfli.com/Insight_Webinar.aspx';

        }
    },

    GetRatingFromImagePath: function (path) {
        var i = path.lastIndexOf('.');
        return (path.charAt(i - 1));
    }

});
function InsightRatingShowThankyouMsg()
{
	var ele = document.getElementById("divForm");
	ele.innerHTML = "Thank you for submitting a rating for this article.";
}
