﻿var report = "report_ajax.aspx";
var viewresponse = "viewresponse_ajax.aspx";
var filterresponse = "filterresponse_ajax.aspx";
function showattemps(sid, qid) {
    var divattempt = jQuery("#divAttempt");
    divattempt.html("<iframe src='attempts.aspx?show=" + sid + "&nshow=" + qid + "' id='frmPreview' frameborder=0 style='width:800px;height:500px'></iframe>");
    popO(divattempt, { width: 900 });
}

function loadAnswers(sid, qid) {
    //called from summery report
    jQuery.postJSON(report, { surveyid: sid, entity: "questions", action: "loadanswers", reqType: "ajax", show: sid, qid: qid }, function(data) {
        __g = data;
        if (data && data.error) showError(data.error)
        else
            formatAnswerList(data);
    });
}
function loadFilteredAnswers(sid, qid) {
    //called from filter response
    var fid=jQuery("#sFilter").val();
    jQuery.postJSON(filterresponse, { surveyid: sid, entity: "questions", action: "loadanswers", reqType: "ajax", show: sid, qid: qid, fid:fid }, function(data) {
        __g = data;
        if (data && data.error) showError(data.error)
        else
            formatAnswerList(data);
    });
}
function showother(sid, qid) {
    //called from summery report
    var fid = jQuery("#sFilter").val();
    jQuery.postJSON(filterresponse, { surveyid: sid, entity: "questions", action: "loadanswers", reqType: "ajax", show: sid, qid: qid, fid: fid }, function(data) {
        __g = data;
        if (data && data.error) showError(data.error)
        else
            formatAnswerList(data);
    });
}
function showotherSummery(sid, qid) {
    //called from summery report
    var fid = jQuery("#sFilter").val();
    jQuery.postJSON(report, { surveyid: sid, entity: "questions", action: "loadanswers", reqType: "ajax", show: sid, qid: qid, fid: fid }, function(data) {
        __g = data;
        if (data && data.error) showError(data.error)
        else
            formatAnswerList(data);
    });
}
function formatAnswerList(d) {
    var arr, arr1;
    var _0 = '', _1 = '', _2 = '';
    arr1 = d.table.rows;
    arr = d.table.cols;
    if (!arr || arr.length == 0) {
        jQuery("#divAttempt").eq(0).html("No items found.");
        return;
    }
    var _list = "";
    var q_type = "";
    var layout = "";
    //create answer option list...
    if (arr1 != undefined && arr1 != null && arr1.length > 0 && arr1[0] && arr1[0][1]) {
        _list = arr1[0][1].split('&lt;br /&gt;');
        q_type = _list[0];
        for (var i = 1; i < _list.length; i++) {
            _2 += "<li>" + _list[i] + "</li>";
        }
        _2 = (q_type == "3" ? "Date/Time" : (q_type == "6" ? "Multiple Textbox with Labels" : (q_type == "9" ? "Demographic info" : q_type)));
        if (q_type.indexOf("-") != -1) {
            layout = q_type.split("-")[1];
            q_type = q_type.split("-")[0];
        }

        if (_2.indexOf("-") != -1) {
            _2 = layout == "0" ? "Single line Textbox" : (layout == "2" ? "Essay box" : (layout == "3" ? "Descriptive box" : "Comment box"))
        }
    }

    if (q_type == "1" || q_type == "2" || q_type == "check" || q_type == "radio" || q_type == "5" || q_type == "7" || q_type == "8")
    { q_type = "1"; }

    //creat table headers..
    if (arr != undefined && arr != null && arr.length > 0) {
        //for (var i = 2; i < arr.length; i++) {
        //    _0 += "<th>" + arr[i] + "</th>";
        _0 += "<th>Attempt date</th>";
        if (q_type == "3")
            _0 += "<th>Date</th>";
        else
            _0 += "<th>Answers</th>";
        //}
    }
    _0 = "<tr>" + _0 + "</tr>";

    //create table rows
    var col2 = "";
    if (arr1 != undefined && arr1 != null && arr1.length > 0) {
        for (var i = 0; i < arr1.length; i++) {
            //_1 += "<tr>";
            _1 += "<tr>";
            col2 = "";
            for (var j = 2; j < arr1[i].length; j++) {
                if (q_type == "6" || q_type == "9") {
                    if (j == 2) {
                        _1 += "<td valign='top'>" + arr1[i][j] + "</td>";
                    }
                    else {
                        col2 += "<tr><td style='text-align:right;border:0px' width='50%'>" + _list[j - 2] + ":</td>";
                        col2 += "<td style='text-align:left;border:0px' width='50%'>" + arr1[i][j] + "</td></tr>";
                    }
                }
                else {
                    _1 += "<td style='text-align:left'  valign='top'>" + arr1[i][j].replace(/\n/g, '<br />') + "</td>";
                }
                //                if (q_type == "1" && arr1[i][j] == "1") {
                //                    arr1[i][j] = "<img src='images/Tick.gif' title='" + _list[j - 2] + "' />";
                //                }
                //                else if (q_type == "1" && arr1[i][j] == "0") {
                //                    arr1[i][j] = "-";
                //                }

            }
            if (q_type == "6" || q_type == "9")
                _1 += "<td><table width='100%'>" + col2 + "</table></td>";
            //_1 += "</tr>";
            _1 += "</tr>";
        }
    }

    var fmt = jQuery("#divAttemptFormat").eq(0).html();
    var ret = formatString(fmt, arr1[0][0], _2);
    jQuery("#divAttempt").html(ret);
    jQuery("#divAttempt table").html(_0 + _1);
    jQuery("#divAttempt table tr:nth-child(1) th:nth-child(1)").css({ width: 150 });
    //jQuery("#divAttempt").append("<br /><br />");
    popO(jQuery("#divAttempt"), { width: 800, zIndex: 4000 });

}
///functions for Filter
function loadQsId(surveyid) {
    bindQueDDL(surveyid, jQuery("#sQue"), "full");
    bindFilterDDL(surveyid, jQuery("#sFilter"));
    jQuery("#grformat").show();
    jQuery("#divCrossTab").hide();
}
function AdEdFilter(surveyid) {
    //bindQueDDL(surveyid, jQuery("#QList1"));
    bindFilterDDL(surveyid, jQuery("#FilterList"));
    jQuery("#divAnsList").hide();
    jQuery("#divQlist").hide();
    jQuery("#filterRule").hide();
    jQuery("#filteredit").hide();
    jQuery("#divByProp").hide();
    popO("#divFilter", { title: "Add/Edit Filter", width: 700 });
}
function saveF(surveyid) {
    var fname = jQuery("#txtFname").val();
    var lop = jQuery("#LogicalOp").val();
    var ftype = jQuery("#ddlFType").val();
    if (fname == "") {
        showError("Please enter filter Title");
        return;
    }
    if (lop != "AND" && lop != "OR") {
        showError("Invalid Logical Operator");
        return;
    }
    if (ftype != "1" && ftype != "2") {
        showError("Invalid Filter Type");
        return;
    }
    jQuery.postJSON(filterresponse, { action: "saveF", entity: "filter", surveyid: surveyid, fname: fname, logicalop: lop, ftype: ftype, reqType: "ajax" }, function(data) {
        if (data && data.Result)
            showProgress(data.Result, 2000);
        //jQuery("#newFilter").hide();
        bindFilterDDL(surveyid, jQuery("#FilterList"), jQuery("#sFilter"));
        popC("#newFilter");
    });
}
function bindQueDDL(surveyid, obj, full) {
    var QAa = [];
    jQuery.postJSON(filterresponse, { action: "listQue", entity: "filter", surveyid: surveyid, full: full, reqType: "ajax" }, function(data) {
        QAs = objectify(data.qdt).table.rows;
        //filters = objectify(data.fdt).table.rows;
        var ret = "<option value='-1'>--All Questions--</option>";
        for (var i = 0; i < QAs.length; i++) {
            ret += "<option value='" + QAs[i].qid + "'>" + QAs[i].q_text + "</option>";
        }
        obj.eq(0).html(ret);
    });
}

function bindFilterDDL(surveyid, obj, obj1) {
    var filters = [];
    jQuery.postJSON(filterresponse, { action: "listFilter", entity: "filter", surveyid: surveyid, reqType: "ajax" }, function(data) {
        //QAs = objectify(data.qdt).table.rows;
        filters = objectify(data.fdt).table.rows;
        var ret = "<option value='-1'>--Select Filter--</option>";
        for (var i = 0; i < filters.length; i++) {
            ret += "<option value='" + filters[i].filterid + "'>" + filters[i].description + "</option>";
        }
        obj.eq(0).html(ret);
        if (obj1 && obj1 != 'undefined')
            obj1.eq(0).html(ret);
    });
}
function showAnsOpt(surveyid, qid) {
    if (qid == "-1") {
        jQuery("#divAnsList").hide();
    }
    else {
        bindAnswerDDL(surveyid, qid, jQuery("#listAns"));
        jQuery("#divAnsList").show();
        jQuery("#txtValue").val('');
        jQuery("#divTextbox").hide();
        jQuery("#divDate").hide();
        jQuery("#txtDate").val('');
    }
}
function bindRule(surveyid, filterid) {
    var frs = [];
    var f = [];
    var ret = "";
    if (filterid != "-1") {
        jQuery.postJSON(filterresponse, { action: "getFR", entity: "filter", surveyid: surveyid, filterid: filterid, reqType: "ajax" }, function(data) {
            if (data) {
                frs = objectify(data.fr).table.rows;
                f = objectify(data.f).table.rows;
                var d = jQuery("#DivFormatFr").eq(0).html();
                var dByProp = jQuery("#divFormatByProp").eq(0).html();
                if (f[0].filtertype == "2") {
                    for (var i = 0; i < frs.length; i++) {
                        ret += formatString(dByProp
                        , frs[i].ans_option
                        , i == frs.length - 1 ? "" : f[0].logicaloperator + "<br />"
                        );
                    }
                    ret = "Filter Rule:<br />" + ret;
                    jQuery("#divFilterRule").show();
                    jQuery("#divFilterRule").html(ret);
                    return;
                } else {
                    for (var i = 0; i < frs.length; i++) {
                        ret += formatString(d
                            , frs[i].q_text
                            , frs[i].ans_option != "" ? " with <b>" + frs[i].ans_option + "</b>" : ""
                            , (frs[i].q_type == "7" || frs[i].q_type == "8" ? "" : frs[i].textfilter) != "" ? " and with an entry value of <b>" + frs[i].textfilter + "</b>" : ""
                            , i == frs.length - 1 ? "" : f[0].logicaloperator + "<br />"
                        );

                    }
                    ret = "Filter Rule:<br />" + ret;
                    jQuery("#divFilterRule").show();
                    jQuery("#divFilterRule").html(ret);
                }
            }
        });
    }
    else {
        jQuery("#divFilterRule").hide();
    }
}
function bindRules(surveyid, filterid) {
    if (filterid == "-1") {
        jQuery("#divQlist").hide();
        jQuery("#divAnsList").hide();
        jQuery("#filteredit").hide();
        return;
    }
    bindQueDDL(surveyid, jQuery("#QList1"), "full");
    jQuery("#filteredit").show();
    jQuery("#txtFDate").val('');
    jQuery("#txtToDate").val('');
    jQuery("#txtIP").val('');
    var frs = [];
    var f = [];
    var ret = "";

    jQuery.postJSON(filterresponse, { action: "getFR", entity: "filter", surveyid: surveyid, filterid: filterid, reqType: "ajax" }, function(data) {
        if (data) {
            frs = objectify(data.fr).table.rows;
            f = objectify(data.f).table.rows;
            var d = jQuery("#FormatFr").eq(0).html();
            var dByProp = jQuery("#FormatFrByProp").eq(0).html();
            if (f.length > 0) {
                jQuery("#txtFilterName").val(f[0].description);
                jQuery("#ddlLop").val(f[0].logicaloperator);
                jQuery("#filtertype").html(f[0].filtertype == "1" ? "Filter By Response" : "Filter By Property");
            }
            if (f[0].filtertype == "2") {
                jQuery("#divByProp").show();
                jQuery("#txtFDate", jQuery("#divByRD")).datepicker();
                jQuery("#txtToDate", jQuery("#divByRD")).datepicker();
                jQuery("#divQlist").hide();
                for (var i = 0; i < frs.length; i++) {
                    ret += formatString(dByProp
                , frs[i].ans_option
                , f[0].surveyid
                , frs[i].filterruleid
                , filterid
                , i == frs.length - 1 ? "" : f[0].logicaloperator
                );
                }
                jQuery("#ddlProp").val("1");
                jQuery("#divByRD").show();
                jQuery("#divByIP").hide();
                jQuery("#filterRuleByProp").show();
                jQuery("#filterRuleByProp").html(ret);
                return;
            } else {
                jQuery("#divQlist").show();
                jQuery("#divByProp").hide();

            }
            for (var i = 0; i < frs.length; i++) {
                ret += formatString(d
                , frs[i].q_text
                , frs[i].ans_option != "" ? " with <b>" + frs[i].ans_option + "</b>" : ""
                , (frs[i].q_type == "7" || frs[i].q_type == "8" ? "" : frs[i].textfilter) != "" ? " and with an entry value of <b>" + frs[i].textfilter + "</b>" : ""
                , frs[i].surveyid
                , frs[i].filterruleid
                , filterid
                , i == frs.length - 1 ? "" : f[0].logicaloperator
                );
            }

            jQuery("#filterRule").show();
            jQuery("#filterRule").html(ret);
        }
    });
}
function delR(surveyid, frid, filterid) {
    jQuery.postJSON(filterresponse, { action: "delFR", entity: "filter", surveyid: surveyid, frid: frid, reqType: "ajax" }, function(data) {
        bindRules(surveyid, filterid);
    });
}
function bindAnswerDDL(surveyid, qid, obj) {
    var answers = [];
    //just retriving ansoption for particular question
    jQuery.postJSON(my_surveys, { action: "get", entity: "question", surveyid: surveyid, qid: qid, reqType: "ajax" }, function(data) {
        if (data) {
            var ret = "<option value='-1'>--Any Answer--</option>";
            data.a_options = data.a_options.replace(/\\'/g, "\'");
            q_type = data.q_type;

            if (data.q_type == "0" || data.q_type == "comment") {
                ret += "<option value=''>[Text Entry]</option>";
                jQuery("#listcol").hide();
            }
            else if (data.q_type == "3") {
                ret += "<option value=''>[Date]</option>";
                jQuery("#listcol").hide();
            }
            else if (data.q_type == "5" || data.q_type == "check" || data.q_type == "radio" || data.q_type == "1" || data.q_type == "2") {
                answers = data.a_options.split('\n');
                for (var i = 0; i < answers.length; i++) {
                    ret += "<option value='" + answers[i] + "'>" + answers[i] + "[Selection]</option>";
                }
                jQuery("#listcol").hide();
            }
            else if (data.q_type == "9" || data.q_type == "6") {
                answers = data.a_options.split('\n');
                for (var i = 0; i < answers.length; i++) {
                    ret += "<option value='" + answers[i] + "'>" + answers[i] + "[Text Entry]</option>";
                }
                jQuery("#listcol").hide();
            }
            else if (data.q_type == "7" || data.q_type == "8") {
                var rc = [];
                rc = data.a_options.split(temp_sep);
                answers = rc[0].split('\n');
                for (var i = 0; i < answers.length; i++) {
                    ret += "<option value='" + i + "'>" + answers[i] + "[Selection]</option>";
                }
                answers = rc[1].split('\n');
                var ret1 = "<option value='-1'>--Any Answer--</option>";
                for (var i = 0; i < answers.length; i++) {
                    ret1 += "<option value='" + i + "'>" + answers[i] + "[Selection]</option>";
                }
                jQuery("#listcol").eq(0).html(ret1);
                jQuery("#listcol").show();
            }
        }
        obj.eq(0).html(ret);
    });
}

function showText() {
    if (q_type == "0" || q_type == "comment" || q_type == "6" || q_type == "9")
        jQuery("#divTextbox").show();
    else if (q_type == "3") {
        jQuery("#divDate").show();
        jQuery("#txtDate", jQuery("#divDate").eq(0)).datepicker();
    }
    else {
        jQuery("#divTextbox").hide();
        jQuery("#divDate").hide();
    }
}
function saveR(surveyid) {
    var qid = jQuery("#QList1").val();
    var ans = "";
    var txt = "";
    if (q_type == "7" || q_type == "8") {
        var x = document.getElementById("listAns").selectedIndex;
        var y = document.getElementById("listcol").selectedIndex;
        ans = "(" + document.getElementById("listAns").options[x].text + "," + document.getElementById("listcol").options[y].text + ")";
    }
    else
        ans = jQuery("#listAns").val();

    if (q_type == "7" || q_type == "8") {
        txt = "(" + jQuery("#listAns").val() + "," + jQuery("#listcol").val() + ")";
    }
    else if (q_type == "3") {
        ans = jQuery("#txtDate").val();
    }
    else {
        txt = jQuery("#txtValue").val();
    }
    var filterid = jQuery("#FilterList").val();
    jQuery.postJSON(filterresponse, { action: "saveR", entity: "filter", surveyid: surveyid, qid: qid, ans: ans, filterid: filterid, txt: txt, reqType: "ajax" }, function(data) {
        if (data && data.Result) {
            jQuery("#divQList").hide();
            jQuery("#divAnsList").hide();
            jQuery("#divTextbox").hide();
            jQuery("#divDate").hide();
            bindRules(surveyid, jQuery("#FilterList").val());
            showProgress(data.Result, 2000);
        }
    });
}
function loadChart(fid, qid, surveyid) {
    var dzoom = document.getElementById('charts');
    var dchart = jQuery("#ReportGrid");
    var rows = [];
    window.JSON = null;
    if (qid == "-1") {
        jQuery.postJSON(filterresponse, { entity: "filter", action: "loadchart", surveyid: surveyid, qid: qid, fid: fid, reqType: "ajax" }, function(data) {
            showProgress("Processing...");
            rows = objectify(data).table.rows;
            var d = jQuery("#divChartsFormat").eq(0).html();
            var ret = "";
            for (var i = 0; i < rows.length; i++) {
                ret += formatString(d
                        , rows[i].qno
                        , rows[i].qtext
                        , rows[i].chartHtml.replace(/&lt;/g, "<").replace(/&gt;/g, ">")
                    );
            }
            //dchart.html(" ");
            //dchart.css("display", "none");
            jQuery("[id$='_gvSurveyReport']").hide();
            jQuery("#charts").show();
            jQuery("#charts").html(ret);
            showProgress("");
        });
    }
    else {
        jQuery.ajax({
            url: filterresponse,
            data: { entity: "filter", action: "loadchart", surveyid: surveyid, qid: qid, fid: fid, reqType: "ajax" },
            cache: false,
            dataType: "text",
            type: "POST",
            error: function(xhr, ts, err) {
                alert(err);
            },
            success: function(d, ts, xhr) {
                if (d.error)
                    showError(d.error);
                else {
                    var dd = jQuery("#divChartsFormat").eq(0).html();
                    var x = document.getElementById("sQue").selectedIndex;
                    var ret = "";
                    ret += formatString(dd
                        , "Q" + 1 + ")"
                        , document.getElementById("sQue").options[x].text
                        , d.replace(/&lt;/g, "<").replace(/&gt;/g, ">")
                    );
                    dzoom.innerHTML = ret;
                    //dchart.html(" ");
                    //dchart.css("display", "none");
                    jQuery("[id$='_gvSurveyReport']").hide();
                    jQuery("#charts").show();
                    jQuery("#charts").html(ret);
                    //                    dchart.html(" ");
                    //                    dchart.css("display", "none");
                    //                    jQuery("#charts").css("display", "block");

                    showProgress("");
                }
            }
        });
    }
}
//cross tabulations
function loadQsTBC(surveyid) {
    jQuery("#grformat").hide();
    bindQueDDLTBC(surveyid, jQuery("#sBaseQ"), "limited");
    bindQueDDLTBC(surveyid, jQuery("#sCompQ"), "limited");
    jQuery("#divCrossTab").show();
}
function bindQueDDLTBC(surveyid, obj, full) {
    var QAa = [];
    jQuery.postJSON(my_surveys, { action: "listQue", entity: "filter", surveyid: surveyid, full: full, reqType: "ajax" }, function(data) {
        QAs = objectify(data.qdt).table.rows;
        //filters = objectify(data.fdt).table.rows;
        var ret = "<option value='-1'>--All Questions--</option>";
        for (var i = 0; i < QAs.length; i++) {
            ret += "<option value='" + QAs[i].qid + "'>" + QAs[i].q_text + "</option>";
        }
        obj.eq(0).html(ret);
    });
}
function showTab(surveyid) {
    var ret = "";
    var _0 = "";
    var _1 = "";
    jQuery("#divCrossTabReport").hide();
    var bqid = jQuery("#sBaseQ").val();
    var cqid = jQuery("#sCompQ").val();
    if (bqid != "-1" && cqid != "-1") {
        jQuery.postJSON(my_surveys, { action: "crosstab", entity: "filter", surveyid: surveyid, bqid: bqid, cqid: cqid, reqType: "ajax" }, function(d) {
            if (d && d.rdt && d.msg) {
                //if (d && d.table && d.table.rows && d.table.rows.length > 0) {
                //generate tabel based on data.
                //creat table headers..
                var arr, fmt = "<table class='tb'  cellpadding='5' cellspacing='5'>{0}{1}</table>";
                var Total = [], tot = 0;
                arr = d.rdt.table.cols;
                if (arr != undefined && arr != null && arr.length > 0) {
                    for (var i = 0; i < arr.length; i++) {
                        if (i == 0 || i == arr.length - 1 || i == arr.length - 2)
                            _0 += "<th class='th2'>" + arr[i] + "</th>";
                        else
                            _0 += "<th class='th1'>" + arr[i] + "</th>";
                    }
                }
                _0 = "<tr>" + _0 + "</tr>";

                var col_cnt = arr.length;
                var fmt1 = "<table width='100%'><tr><td align='right' width='70%'>{0}</td><td align='left' width='30%'>{1}</td></tr></table>";
                arr = d.rdt.table.rows;
                if (arr != undefined && arr != null && arr.length > 0) {
                    for (var i = 0; i < arr.length; i++) {
                        _1 += "<tr>";
                        for (var j = 0; j < arr[i].length; j++) {
                            if (j == 0) {
                                //var ret1 = formatString(fmt1, arr[i][j], "<br /><img src='images/percentImage.png' alt='image' class='percentImage' title='0.00' style='background-position: -" + (121 - arr[i][arr[i].length - 1] * 1.23) + "px 0pt;' />");
                                //_1 += "<td style='font-weight:bold;'>" + ret1 + "</td>";
                                _1 += "<td class='th2' style='font-weight:bold;'>" + arr[i][j] + "<br /><img src='images/percentImage.png' alt='image' class='percentImage' title='0.00' style='background-position: -" + (121 - arr[i][arr[i].length - 1] * 1.23) + "px 0pt;' /></td>";
                            }
                            else if (j == arr[i].length - 2) _1 += "<td class='th2' width='10%' align='center'>" + arr[i][j] + "</td>";
                            else if (j == arr[i].length - 1) _1 += "<td class='th2' width='10%' align='center'>" + arr[i][j] + " %" + "</td>";
                            else {
                                _1 += "<td class='th1' align='center'>" + (arr[i][j]) + "</td>";
                            }
                        }
                        _1 += "</tr>";
                    }
                    _1 += "<tr><th>Total</th>";
                    var cn = [];
                    var msg = d.msg.Result;
                    cn = msg.split(",")
                    for (var c = 0; c < cn.length; c++) {
                        _1 += "<th>" + parseInt(cn[c]) + "</th>";
                    }
                    _1 += "</tr>";
                }
                var ret = formatString(fmt, _0, _1);
                jQuery("#divCrossTabReport").show().html(ret);
            }
        });
    }
}
function loadChartByChartType(fid, charttype, qid, surveyid) {
    if (charttype == "2") {
        bindQueDDL(surveyid, jQuery("#sQue"), "full");
    }
    loadChart(fid, charttype, qid, surveyid);
}
function showChart(sid, qid, ctype) {

    jQuery.postJSON(report, { entity: "chart", action: "GetChartData", reqType: "ajax", show: sid, qid: qid, ctype: ctype }, function(data) {
        __g = data;
        if (data && data.error) showError(data.error)
        else {
            var d = jQuery("#divChartFormat").html();
            var target = jQuery("#divChart").eq(0);
            var ret = "";
            ret = formatString(d, data.msg, sid, qid);
            target.html(ret);
            popO(jQuery("#divChartMain"), { width: 850, height: 400 });
        }
    });
    jQuery("#hdnsid").val(sid);
    jQuery("#hdnqid").val(qid);
}
function GetResponse(surveyid, index, operation) {
    //alert(index + '------' + operation);
    var dchart = jQuery("#ReportGrid");
    jQuery.postJSON(viewresponse, { entity: "respviewer", operation: operation, action: "getresp", show: surveyid, index: index, reqType: "ajax" }, function(data) {
        jQuery("#txtIndex").val(data.rindex.msg);
        data = data.resp;
        rows = objectify(data).table.rows;
        var d = jQuery("#divChartsFormat").eq(0).html();
        var ret = "";
        for (var i = 0; i < rows.length; i++) {
            if (rows[i].q_type == "7" || rows[i].q_type == "8") {
                ret += formatString(d
                        , "Q" + rows[i].qno + ")"
                        , rows[i].q_text
                        , rows[i].answers.replace(/&lt;/g, "<").replace(/&gt;/g, ">")
                    );
            } else {
                ret += formatString(d
                        , "Q" + rows[i].qno + ")"
                        , rows[i].q_text
                        , rows[i].answers.replace(/\\n/g, "<br />")//.replace(/&lt;/g, "<").replace(/&gt;/g, ">")
                    );
            }
        }
        var addInfo = jQuery("#addInfoFormat").eq(0).html();
        var addInforet = "";
        if (rows.length > 0) {
            addInforet += formatString(addInfo
                                    , rows[0].startdate
                                    , rows[0].enddate
                                    , rows[0].user_ip);
        }
        addInforet = "<div style='background-color:#DFEFFC'><h3>View Response</h3></div>" + addInforet;
        jQuery("#addInfo").html(addInforet);
        jQuery("#charts").html(ret);
    });
}
function updateF(surveyid) {
    var fname = jQuery("#txtFilterName").val();
    var lop = jQuery("#ddlLop").val();

    var fid = jQuery("#FilterList").val();
    if (fname.trim() == "") {
        showError("Please enter filter Title");
        return;
    }
    if (lop != "AND" && lop != "OR") {
        showError("Invalid Logical Operator");
        return;
    }
    jQuery.postJSON(filterresponse, { action: "updateF", entity: "filter", surveyid: surveyid, fname: fname, logicalop: lop, fid: fid, reqType: "ajax" }, function(data) {
        if (data && data.Result)
            showProgress(data.Result, 2000);
        bindFilterDDL(surveyid, jQuery("#FilterList"), jQuery("#sFilter"));
        jQuery("#filteredit").hide();
        jQuery("#divQlist").hide();
        jQuery("#divByProp").hide();
    });

}
function DelF(surveyid) {
    var fid = jQuery("#FilterList").val();
    jQuery.postJSON(filterresponse, { action: "DelF", entity: "filter", surveyid: surveyid, fid: fid, reqType: "ajax" }, function(data) {
        if (data && data.Result)
            showProgress(data.Result, 2000);
        bindFilterDDL(surveyid, jQuery("#FilterList"), jQuery("#sFilter"));
        jQuery("#filteredit").hide();
        jQuery("#divQlist").hide();
        jQuery("#divByProp").hide();
    });
}
function showOption(propid, surveyid) {
    if (propid == "1") {
        jQuery("#divByRD").show();
        jQuery("#divByIP").hide();
    }
    else {
        jQuery("#divByRD").hide();
        jQuery("#divByIP").show();
        bindIP(surveyid);
    }
}
function bindIP(surveyid) {
    var IPS = [];
    jQuery.postJSON(filterresponse, { action: "listIP", entity: "filter", surveyid: surveyid, reqType: "ajax" }, function(data) {
        IPS = objectify(data.fdt).table.rows;
        //filters = objectify(data.fdt).table.rows;
        var ret = "";
        var obj = jQuery("#txtIP").eq(0);
        for (var i = 0; i < IPS.length; i++) {
            ret += "<option value='" + IPS[i].user_ip + "'>" + IPS[i].user_ip + "</option>";
        }
        obj.html(ret);
    });
}
function saveFRByProp(surveyid) {
    var filterid = jQuery("#FilterList").val();
    var ansBy = jQuery("#ddlProp").val();
    var txt = "";
    if (ansBy == "1") {
        txt = jQuery("#txtFDate").val() + temp_sep + jQuery("#txtToDate").val()
    } else {
        txt = jQuery("#txtIP").val();
    }
    var filterid = jQuery("#FilterList").val();
    jQuery.postJSON(filterresponse, { action: "saveR", entity: "filter", surveyid: surveyid, ans: ansBy, filterid: filterid, txt: txt, reqType: "ajax" }, function(data) {
        if (data && data.Result) {
            jQuery("#divQList").hide();
            jQuery("#divAnsList").hide();
            jQuery("#divTextbox").hide();
            jQuery("#divDate").hide();
            bindRules(surveyid, jQuery("#FilterList").val());
            showProgress(data.Result, 2000);
        }
    });
}
function SummeryReport(surveyid) {
    var dzoom = document.getElementById('charts');
    var dchart = jQuery("#ReportGrid");
    var rows = [];
    window.JSON = null;
    showProgress("Processing...");
    jQuery.postJSON(report, { entity: "summery", action: "showSummery", surveyid: surveyid, reqType: "ajax" }, function(data) {
        rows = objectify(data).table.rows;
        var d = jQuery("#divChartsFormat").eq(0).html();
        var ret = "";
        for (var i = 0; i < rows.length; i++) {
            ret += formatString(d
                        , rows[i].qno
                        , rows[i].qtext
                        , rows[i].chartHtml.replace(/&lt;/g, "<").replace(/&gt;/g, ">")
                    );
        }
        //dchart.html(" ");
        //dchart.css("display", "none");
        ret = "<div style='background-color:#DFEFFC'><h3>Report Summary</h3></div>" + ret;
        jQuery("[id$='_gvSurveyReport']").hide();
        jQuery("#charts").show();
        jQuery("#charts").html(ret);
    });
}