/** NEW REPORTING STUFF **/
var current_entity_id = false;
var ld_report_change = false;
var ld_plot_objects = new Array();
var ld_entity_ribbon_states = new Array();
var reporting_swish_rate = 150;
var option_return_data = "";
var disable_entity_selection = false;
var m_in = false;
var m_out = false;
ribbon_toggle_states['design_mode'] = false;

window.onbeforeunload = function () {
    if(ld_report_change)
        return "You have not saved this report yet. If you continue, any changes will not be saved.";
}

function rpt_dec_decrease(entity_id, type) {
    toggle_screen(true, true);
    rpt_get_option(entity_id, 'dec_places_'+type, function() {
        ld_entity_ribbon_states[entity_id]['dec_places_'+type] = parseInt(option_return_data);
        if(isNaN(ld_entity_ribbon_states[entity_id]['dec_places_'+type]))
            ld_entity_ribbon_states[entity_id]['dec_places_'+type] = 0;

        if(ld_entity_ribbon_states[entity_id]['dec_places_'+type]>0) {
            ld_entity_ribbon_states[entity_id]['dec_places_'+type]--;
            rpt_set_option(entity_id, 'dec_places_'+type, ld_entity_ribbon_states[entity_id]['dec_places_'+type], function() {
                rpt_reload_entity(entity_id);
            });
        }
        toggle_screen(false);
    });
}

function rpt_dec_increase(entity_id, type) {
    toggle_screen(true, true);
    rpt_get_option(entity_id, 'dec_places_'+type, function() {
        ld_entity_ribbon_states[entity_id]['dec_places_'+type] = parseInt(option_return_data);
        if(isNaN(ld_entity_ribbon_states[entity_id]['dec_places_'+type]))
            ld_entity_ribbon_states[entity_id]['dec_places_'+type] = 0;

        if(ld_entity_ribbon_states[entity_id]['dec_places_'+type]>=0) {
            ld_entity_ribbon_states[entity_id]['dec_places_'+type]++;
            rpt_set_option(entity_id, 'dec_places_'+type, ld_entity_ribbon_states[entity_id]['dec_places_'+type], function() {
                rpt_reload_entity(entity_id);
            });
        }
        toggle_screen(false);
    });

}

function rpt_exit() {

}

function rpt_url() {
	var the_url = "";
	
	// === Fix path to work on any devbox or localhost
	var dirs = '/';
	for (var i=0,c=$.url.segment(); i<c; i++) {
		if ( $.url.attr("file") == $.url.segment(i) ) { break; }
		dirs += $.url.segment(i) + '/';
	}
	// === ===========================================
	
    the_url = dirs+""+$.url.attr("file");
    if($.url.param("l")=="ldview") {
        the_url+= "?l="+$.url.param("l");
        the_url+= "&r="+$.url.param("r");
        the_url+= "&p="+$.url.param("p");
        the_url+= "&rh="+$.url.param("rh");
    } else {
        the_url+= "?link="+$.url.param("link");
        the_url+= "&sublink="+$.url.param("sublink");
        the_url+= "&rid="+$.url.param("rid");
    }
    return the_url;
}

function rpt_set_option(entity_id, optkey, optvalue, fn) {
    $.get(rpt_url()+"&ajax=1&entity_id="+entity_id+"&ldaction=setopt&entity_keydata["+optkey+"]="+optvalue, function(data) {
        if(fn) fn();
    });
}

function rpt_get_option(entity_id, optkey, fn) {
    $.get(rpt_url()+"&ajax=1&entity_id="+entity_id+"&ldaction=getopt&entity_key="+optkey, function(data) {
         option_return_data = data;
         if(fn) fn();
    });
}

function rpt_set_template_option(optkey, optvalue, fn) {
    $.get(rpt_url()+"&ajax=1&ldaction=settopt&template_keydata["+optkey+"]="+optvalue, function(data) {
        if(fn) fn();
    });
}

function rpt_get_template_option(optkey, fn) {
    $.get(rpt_url()+"&ajax=1&ldaction=gettopt&template_key="+optkey, function(data) {
         option_return_data = data;
         if(fn) fn();
    });
}

function rpt_reload_report() {
    toggle_screen(true, true);
    $.get(rpt_url()+"&ajax=1", function(data) {
         $("#ld_page_main").html(data);
         toggle_screen(false);
         if(current_entity_id!=false) {
            var c = current_entity_id;
            current_entity_id = false;
            rpt_toggle_entity(c);
         }
    });
}

$(window).resize(function() {
    rpt_resize_graphs();
});

function rpt_resize_graphs() {
    for ( var entity_id in ld_plot_objects )
        rpt_resize_graph(entity_id);

}

function rpt_resize_graph(entity_id) {
    var phold = null;
    var popts = null;
    var pdata = null;

    var pnew_opts = null;
    var pnew_data = new Array();
    var graph_type = null;

    plotobject = ld_plot_objects[entity_id];
    if(ld_plot_objects[entity_id]) {
        top_height = $("#ld_entity_"+entity_id+" .ld_entity_display_text").height()+parseInt($("#ld_entity_"+entity_id+" .ld_entity_display_text").css("margin-top"))+parseInt($("#ld_entity_"+entity_id+" .ld_entity_display_text").css("margin-bottom"));
        if($("#ld_entity_"+entity_id+" .ld_graph_source_data").css("display")!="none") {
            bottom_height = $("#ld_entity_"+entity_id+" .ld_graph_source_data").height()+parseInt($("#ld_entity_"+entity_id+" .ld_graph_source_data").css("margin-top"))+parseInt($("#ld_entity_"+entity_id+" .ld_graph_source_data").css("margin-bottom"));
        } else {
            bottom_height = 0;
        }
        margin = parseInt($("#ld_entity_"+entity_id+" .ld_entity_data").css("margin-top"))+parseInt($("#ld_entity_"+entity_id+" .ld_entity_data").css("margin-bottom"))+parseInt($("#ld_entity_"+entity_id+" .ld_entity_data").css("padding-top"))+parseInt($("#ld_entity_"+entity_id+" .ld_entity_data").css("padding-bottom"));
        graph_size = $("#ld_entity_"+entity_id).height()-top_height-bottom_height-margin;
        $("#ld_entity_"+entity_id+" .ld_graph").height(graph_size);

        phold = plotobject.getPlaceholder();
        popts = plotobject.getOptions();
        pdata = plotobject.getData();

        if(ld_entity_ribbon_states[entity_id]['bar_graph']) {
            pnew_data = [{ data : pdata[0]['data'], bars : pdata[0]['bars'] }];
            pnew_opts = popts;
        } else if(ld_entity_ribbon_states[entity_id]['pie_chart']) {
            for (var series in pdata)
                pnew_data[series] = { label: pdata[series]['label'], data: pdata[series]['data'] };
            pnew_opts = { series : { pie: popts['series']['pie'] }, legend: popts['legend'] };
        } else if(ld_entity_ribbon_states[entity_id]['line_graph']) {
            for (var series in pdata)
                pnew_data[series] = { label: pdata[series]['label'], data: pdata[series]['data'] };
            pnew_opts = popts;
        }

        p = $.plot(phold, pnew_data, pnew_opts);
    }
}

function rpt_create_autobreak(entity_id) {
    dialog("Create Auto Break", "Please enter a name for the break", "prompt", "", function() {
        if(trigger=="ok") {
            toggle_screen(true, true);
            $.get(rpt_url()+"&ajax=1&entity_id="+entity_id+"&ldaction=createautobreak&break_name="+dialog_prompt_val, function(data) {
                $('#select_break_select').dropdownchecklist("addOption", dialog_prompt_val, data);
                toggle_screen(false);
                dialog("Create Auto Break", "Break successfully created!");
                });
        }
    });
}

function rpt_create_complexbreak(entity_id) {
    var title = "Complex Breaks";
    var dialog_options = {};
    var buttons = {};
    var open_fn = false;
    var fn = false;

    var dialog_content = '<div id="_dialog" title="'+title+'" style="display:none;"><div id="_dialog_inner_content"></div></div>';

    var trigger;

    button_ok = function() {
                        trigger = "ok";
                        $(this).dialog('close');
                        window.location.reload();
                    } ;

    buttons['Close'] = button_ok;

    $("body").append(dialog_content);

    var close_fn = function() {
        $("#_dialog").dialog("destroy");
        $("#_dialog").remove();
        if(fn)
            fn();
    };

    dialog_options['autoOpen'] = false;
    dialog_options['modal'] = false;
    dialog_options['height'] = $(window).height()-($(window).height()/5);
    dialog_options['width'] = $(document).width()-($(document).width()/5);
    dialog_options['resize'] = function() { $("#reporting_select_question").height($("#_dialog").height()) };

    $("#_dialog").dialog(dialog_options);
    $("#_dialog").dialog("option", "close", close_fn);
    if(open_fn!=false)
        $("#_dialog").dialog("option", "open", open_fn);

    $("#_dialog").dialog("option", "buttons", buttons);
    $("#_dialog").dialog("option", "resizable", true);
    $("#_dialog").dialog("open");

    var keyhandler = function(e) {
        switch(e.which) {
            case 13:
                $("#_dialog").dialog("close");
                $(document).unbind("keyup");
                trigger = "ok"
                e.stopPropagation();
                return false;
            break;

            case 27:
                $("#_dialog").dialog("close");
                $(document).unbind("keyup");
                trigger = "cancel"
                e.stopPropagation();
                return false;
            break;

        }

    };
    $(document).keyup(keyhandler);
    $("#_dialog_inner_content").load(rpt_url()+"&ldaction=complexbreaks&ajax=1");
}

function rpt_cpx_addanswer(chunk_num) {
    // Add ans case to ans logic in a chunk

    // Uses eval to put the updated ans logic into the right chunk, as each chunk has its own hidden form var
    v = '#chunk_'+chunk_num;
    oper = '#operators_'+chunk_num;
    opt = '#options_'+chunk_num;
    val = '#val_'+chunk_num;
    fnc = '#func_'+chunk_num;

    var isloop = get_object('isloop_'+chunk_num);

    isloop = (isloop!=null);

    var ext = "";

    if(!($(opt).length>0) && $(val).length>0 && $(val).val()=="" && $(val).css("display")!='none') {
        alert("A value must be specified!");
        return false;
    }
    // Add in the logic. OR's ONLY!!
    vv = (v ? $(v).val() : "");
    if(vv!="") {
        o = " OR ";
    } else {
        o = "";
    }
    var use_quote = "'";

    // Set the operator
    if($(oper).val()=="EQUALS") {
        e = "=";
    } else if($(oper).val()=="NOT") {
        e = "!=";
    } else if($(oper).val()=="GREATER") {
        e = ">";
    } else if($(oper).val()=="LESS") {
        e = "<";
    } else if($(oper).val()=="LIKE") {
        e = " LIKE ";
    } else if($(oper).val()=="BLANK") {
        e = " ISBLANK ";
        //use_quote = "";
    } else if($(oper).val()=="NOTBLANK") {
        e = " ISNOTBLANK ";
        //use_quote = "";
    }
    (!($(opt).length>0) && ($(fnc).length>0) && !isloop) ? s=$(fnc).val() : s="a";
    if(!($(opt).length>0) && ($(val).length>0) && !isloop) {
        var func_val = $(val).val();
        if(fnc!=null && var_type[$(fnc).val()]=="DATE") {
            var dd = func_val.split(" ");
            var d =  dd[0].split("/");
            func_val = d[2]+"-"+d[1]+"-"+d[0]+" "+((dd[1]=="" || typeof dd[1]=="undefined") ? "00:00:00" : dd[1]);
        }
    }
    if (isloop) {
        ans = $(val).val();
    } else if(!($(opt).length>0) && ($(fnc).length>0)) {
        ans=((var_type[$(fnc).val()]!="INTEGER") ? use_quote+func_val+use_quote : func_val);
    } else {
        ans=$(opt).val();
    }
    // Update the ans logic and then submit the form
    if(($(fnc).length>0)) {
        if(var_type[$(fnc).val()]=="MIX") ext=$(fnc).val() + "=" + $(val).val() + " AND "
        if($(fnc).val()=="COUNT") {
            if((parseInt($(val).val())=="0" || isNaN(parseInt($(val).val()))) && $(val).css("display")!='none') {
                alert("A numeric value greater than 0 must be specified.");
                return false;
            }

            s = "COUNT";
            ans = $(val).val();
        }
    }
    $(v).val($(v).val() + o + ext + s + e + ans);

        //get_object('subform_action').value = "updateanswerlogic";
    $('#updatenum').val(chunk_num) ;

    rpt_cpx_applyupdates("updateanswerlogic", chunk_num);
}

function rpt_cpx_changeanswer(chunk_num, answer) {
    v = '#chunk_'+chunk_num;
    $(v).val("a="+answer);
    $('#updatenum').val(chunk_num);
    rpt_cpx_applyupdates("updateanswerlogic", chunk_num);

}

function rpt_cpx_delanswer(chunk_num, answer_logic) {
    $('#updatenum').val(chunk_num);
    $('#updatevalue').val(answer_logic);
    rpt_cpx_applyupdates("delanswerlogic", chunk_num)
}

function rpt_cpx_delchunk(chunk_num) {
    if(confirm("Are you sure you wish to delete this rule part?")) {
        $('#updatenum').val(chunk_num);
        //$('#updatevalue').val(answer_logic);
        rpt_cpx_applyupdates("delchunk", chunk_num);
    }
}

function rpt_cpx_applyupdates(updatetype, chunk_num) {
	toggle_screen(true, true);
    var url = "&ldaction=complexbreaks&ajax=1&break_id="+$("#cpx_breaks option:selected").val()+"&break_code_id="+$("#cpx_break_codes option:selected").val();
    url+="&ldsubaction="+updatetype;
    url+="&updatenum="+$('#updatenum').val();
    url+="&updatevalue="+encodeURIComponent($('#updatevalue').val());
    if(chunk_num!=null) {
        url+='&chunk_'+chunk_num+"="+encodeURIComponent($('#chunk_'+chunk_num).val());
    }
    $("#_dialog_inner_content").load(rpt_url()+url, function() { toggle_screen(false); });
}

function rpt_cpx_delanswercase(chunk_num, answer_logic) {
    get_object('subform_action').value = "delanswerlogic";
    get_object('updatenum').value = chunk_num;
    get_object('updatevalue').value = answer_logic;
    document.forms[0].submit();
}

function rpt_cpx_updateinterchunklogic(chunk_num, selcObj) {
    $('#updatenum').val(selcObj.name);
    $('#updatevalue').val(selcObj.value);
    rpt_cpx_applyupdates("updatechunklogic", chunk_num)
}

function rpt_export_entity(entity_id) {
    window.open(rpt_url()+"&ldaction=regen&ajax=1&excel_export=1&entity_id="+entity_id);
}

function rpt_export_all() {
    window.open(rpt_url()+"&ldaction=excelexportall&excel_export=1&ajax=1&export_filename="+$("#report_name_text").val());
}

function rpt_export_raw() {
    window.open(rpt_url()+"&ldaction=excelexportraw&excel_export=1&ajax=1&export_filename="+$("#report_name_text").val()+" Data");
}

function rpt_export_map() {
    window.open(rpt_url()+"&ldaction=excelexportmap&excel_export=1&ajax=1&export_filename="+$("#report_name_text").val()+" Map");
}


function rpt_show_meanscores(entity_id) {
    toggle_screen(true, true);


    if(ribbon_toggle_states['mean_score']) {
        rpt_set_option(entity_id, "ms_show", 'true', function() {
            toggle_ribbon_control_enabled('mean_score_direction', true);
            ld_entity_ribbon_states[entity_id]['ms_show'] = true;
            rpt_reload_entity(entity_id);
            toggle_ribbon_control_enabled('standard_deviation', true);
            toggle_ribbon_control_enabled('standard_error', true);

        });
    } else {
        rpt_set_option(entity_id, "ms_show", 'false', function() {
            toggle_ribbon_control_enabled('mean_score_direction', false);
            ld_entity_ribbon_states[entity_id]['ms_show'] = false;
            rpt_reload_entity(entity_id);
            toggle_button('edit_scales', null, false);
            disable_entity_selection = false;
            toggle_ribbon_control_enabled('standard_deviation', false);
            toggle_ribbon_control_enabled('standard_error', false);

        });
    }
}

function rpt_edit_scales(entity_id, direction, force_state) {
    if(force_state!=null)
        toggle_button('edit_scales', null, force_state);
    var has_breaks = (ld_entity_ribbon_states[entity_id]['current_break']!="" || ld_entity_ribbon_states[entity_id]['current_external_break']!="");
    if(ribbon_toggle_states['edit_scales']) {
        if(direction==0) {
            disable_entity_selection = true;
            var insert_row_point = 0;
            if($('#ld_entity_'+entity_id+' .ld_entity_data table .ld_data_break_code_titles').length>0 && has_breaks) {
                $('#ld_entity_'+entity_id+' .ld_entity_data table tr').each(function() {
                    if($(this).hasClass("ld_data_break_code_titles")) {
                        return false;
                    }
                    insert_row_point++;
                })

            }

            var tbl_row = $('#ld_entity_'+entity_id+' .ld_entity_data table').tbl("insertRow",{
                row            : insert_row_point,
                cellTypes    : { 'all' : 'td', 0: 'th'},
                cellClasses    : { 'all' : 'ld_mean_scores', 0: 'ld_save_scales ld_save_scales_horiz' },
                rowClass    : 'ld_mean_scores_row ld_data_row'
            }), c=0, scales = new Array(), s_value, e=0;
            if(ld_entity_ribbon_states[entity_id]['ms_scale'])
                scales = ld_entity_ribbon_states[entity_id]['ms_scale'].split(",")
            var cols = $('#ld_entity_'+entity_id+' .ld_entity_data table tr').get(insert_row_point+1);
            $("td,th", tbl_row).each(function() {
                if(($($("th", cols).get(c)).hasClass("ld_header_col") || ($($("th,td", cols).get(c)).hasClass("ld_break_col") && has_breaks)) && !$($("th,td", cols).get(c)).hasClass("ld_data_total")) {
                    s_value = scales[e]?scales[e]:e+1;
                    $(this).html('<input type="text" class="ms_scale" id="ms_scale_'+e+'" name="ms_scale_'+e+'" size="4" maxlength="4" value="'+s_value+'" />')
                    e++;
                }
                c++;
            });
            $("th", tbl_row).html(rpt_draw_inline_updateframe());
        } else {
            disable_entity_selection = true;
            var tbl_col = $('#ld_entity_'+entity_id+' .ld_entity_data table').tbl("insertCol",{
                col            : 0,
                cellTypes    : { 'all' : 'td', 0: 'th' },
                cellClasses    : { 'all' : 'ld_mean_scores', 0: 'ld_save_scales ld_save_scales_vert' }
            }), c=0, scales = new Array(), s_value, e=0;

            var tbl = $('#ld_entity_'+entity_id+' .ld_entity_data table');

            if(ld_entity_ribbon_states[entity_id]['ms_scale'])
                scales = ld_entity_ribbon_states[entity_id]['ms_scale'].split(",")
            var cols = $('#ld_entity_'+entity_id+' .ld_entity_data table tr').get(1);
            $("td.ld_mean_scores", tbl).each(function() {
                if($(this).parent().hasClass("ld_data_row")
                    && !$(this).parent().hasClass("ld_data_total_row")
                    && !$(this).parent().hasClass("ld_data_break_code_titles")
                    && !$(this).parent().hasClass("ld_data_break_titles")) {
                    s_value = scales[e]?scales[e]:e+1;
                    $(this).html('<input type="text" class="ms_scale" id="ms_scale_'+e+'" name="ms_scale_'+e+'" size="4" maxlength="4" value="'+s_value+'" />')
                    e++;
                }
            });
            $(".ld_save_scales", tbl).html(rpt_draw_inline_updateframe());

        }
        $('#ld_entity_'+entity_id+' .ld_entity_data .ld_save_scales input').click(function(e) {
            e.stopPropagation();
        })

        $("#edit_in_save").click(function(e) {
            var scale = new Array();
            $(".ms_scale").each(function() {
                scale[scale.length] = $(this).val();
            });
            scale = scale.join(",");
            rpt_set_option(entity_id, "ms_scale", scale, function() {
                ld_entity_ribbon_states[entity_id]['ms_scale'] = scale;
                rpt_edit_scales(entity_id, direction, false);
            })
            e.stopPropagation();
        });

        $("#edit_in_cancel").click(function(e) {
            rpt_edit_scales(entity_id, direction, false);
            e.stopPropagation();
        });

    } else {
        disable_entity_selection = false;
        rpt_reload_entity(entity_id);
    }
}

function rpt_duplicate(entity_id) {
    rpt_enable_gap_selection(function(gap_id) {
        $.get(rpt_url()+"&ldaction=duplicate&ajax=1&entity_id="+entity_id+"&before_entity_id="+gap_id, function() {
            toggle_button("duplicate", false, false);
            rpt_reload_report();
        });
    });
}

function rpt_delete_entity(entity_id) {
    dialog("Delete Entity", "Are you sure you wish to delete this\nentity? Note that you can also hide it rather than delete it!", "confirm", "", function() {
        if(trigger=="ok") {
            $.get(rpt_url()+"&ldaction=deleteentity&ajax=1&entity_id="+entity_id, function() {
                current_entity_id = false;
                rpt_reload_report();
            });
        }
    });
}

function rpt_enable_gap_selection(fn) {
    $(".ld_entity_gap").mouseover(function() {
        $(this).addClass("ld_entity_gap_hover");
        $(this).stop().animate({backgroundColor: "#e0bfbf"}, ribbon_swish_rate);
    });

    $(".ld_entity_gap").mouseout(function() {
        $(this).removeClass("ld_entity_gap_hover");
        $(this).stop().animate({backgroundColor: "#ffffff"}, ribbon_swish_rate);
    });

    $(".ld_entity_gap").click(function() {
        $(".ld_entity_gap").unbind("click")
        $(".ld_entity_gap").unbind("mouseover");
        $(".ld_entity_gap").unbind("mouseout");
        $(this).removeClass("ld_entity_gap_hover");
        $(this).stop().animate({backgroundColor: "#ffffff"}, ribbon_swish_rate);
        var gap_id = this.id.split("_");
        gap_id = gap_id[3];
        if(fn)
            fn(gap_id);

    });
}

function rpt_toggle_text(entity_id) {

    if($('#ld_text_toggle_'+entity_id).hasClass("ld_text_toggle_button_expanded")) {
        rpt_set_option(entity_id, "expand_text", "false");
        $('#ld_entity_'+entity_id+' .ld_text_list').slideUp(reporting_swish_rate);
        $('#ld_text_toggle_'+entity_id).removeClass("ld_text_toggle_button_expanded");
    } else {
        rpt_set_option(entity_id, "expand_text", "true", function() {
            if(!$("#ld_text_table_"+entity_id).get(0)) {
                rpt_reload_entity(entity_id);
            } else {
                $('#ld_entity_'+entity_id+' .ld_text_list').slideDown(reporting_swish_rate);
                $('#ld_text_toggle_'+entity_id).addClass("ld_text_toggle_button_expanded");
            }
        });
    }
}

function rpt_toggle_float_mode(entity_id, float_state) {
    prev_item_id = get_prev_entity(entity_id);
    next_item_id = get_next_entity(entity_id);

    if(float_state) {
        next_gap(entity_id, false);
        $("#ld_entity_"+current_entity_id).addClass("ld_entity_float");
        if(next_item_id) {
            $("#ld_entity_"+next_item_id).addClass("ld_entity_float");
            $("#ld_entity_"+next_item_id).addClass("ld_entity_float_next");
        }
    } else {
        if(!ld_entity_ribbon_states[prev_item_id] || !ld_entity_ribbon_states[prev_item_id]["allow_float"])
            $("#ld_entity_"+current_entity_id).removeClass("ld_entity_float");
        if(!ld_entity_ribbon_states[next_item_id] || !ld_entity_ribbon_states[next_item_id]["allow_float"]) {
            $("#ld_entity_"+next_item_id).removeClass("ld_entity_float");
            $("#ld_entity_"+next_item_id).removeClass("ld_entity_float_next");
        }

        next_gap(current_entity_id, true);
    }
    ld_entity_ribbon_states[current_entity_id]["allow_float"] = float_state;

}

function rpt_entity_resizable(entity_id, disabled) {
    if(disabled) {
        $("#ld_entity_"+entity_id).resizable("destroy");
        $("#percentage_width_text").val("");
        $("#entity_height_text").val("");
        toggle_ribbon_control_enabled("allow_entities_right", false);

    } else {
        if(ld_entity_ribbon_states[entity_id]['height']>0) {
            $("#entity_height_text").val(ld_entity_ribbon_states[entity_id]['height'])
        } else {
            $("#entity_height_text").val($("#ld_entity_"+entity_id).height());
        }

        if(parseInt(ld_entity_ribbon_states[entity_id]['width'])>0) {
            $("#percentage_width_text").val(parseInt(ld_entity_ribbon_states[entity_id]['width']));
            toggle_ribbon_control_enabled("allow_entities_right", true);
            $("#allow_entities_right_check").attr("checked", ld_entity_ribbon_states[entity_id]['allow_float']);
        } else {
            $("#percentage_width_text").val("100");
            toggle_ribbon_control_enabled("allow_entities_right", false);
            $("#allow_entities_right_check").attr("checked", false);
        }


        $("#ld_entity_"+entity_id).resizable({
            autoHide: true,
            containment: 'parent',
            start: function(event, ui)  {
                if(ld_entity_ribbon_states[entity_id]["min_height"]==0) {
                    min_height = $("#ld_entity_"+entity_id).height();
                    rpt_set_option(entity_id, "min_height", min_height, function() {
                        ld_entity_ribbon_states[entity_id]["min_height"] = min_height;
                    });
                } else {
                    min_height = ld_entity_ribbon_states[entity_id]["min_height"];
                }

                orignal_width = $("#ld_entity_"+entity_id).width();
                original_percentage = $("#percentage_width_text").val();
                actual_original_width = (100/original_percentage)*orignal_width;
                quarter_width = Math.round(actual_original_width/4);
                $("#ld_entity_"+entity_id).attr("fullwidth", actual_original_width);
                $("#ld_entity_"+entity_id).resizable("option", "maxWidth", actual_original_width);
                $("#ld_entity_"+entity_id).resizable("option", "minWidth", quarter_width);
                $("#ld_entity_"+entity_id).resizable("option", "minHeight", min_height);
                disable_entity_selection = true;
            },
            resize: function(event, ui) {
                actual_original_width = $("#ld_entity_"+entity_id).attr("fullwidth");
                current_width = ui.size.width;
                current_percentage = Math.round((100/actual_original_width)*current_width);
                $("#percentage_width_text").val(current_percentage);
                $("#entity_height_text").val(ui.size.height);

                rpt_resize_graph(entity_id);
            },
            stop: function(event, ui) {
                actual_original_width = $("#ld_entity_"+entity_id).attr("fullwidth");
                current_width = ui.size.width;
                current_percentage = Math.round((100/actual_original_width)*current_width);
                rpt_set_option(entity_id, "width", current_percentage, function() {
                    ld_entity_ribbon_states[entity_id]["width"] = current_percentage;
                    $("#ld_entity_"+entity_id).css("width", current_percentage+"%")
                    rpt_set_option(entity_id, "height", ui.size.height, function() {
                        ld_entity_ribbon_states[entity_id]["height"] = ui.size.height;
                    });
                });
                setTimeout("disable_entity_selection = false", 10);

            }
        });
    }
}

function rpt_set_filter() {
    if(current_entity_id) {
        rpt_set_option(current_entity_id, "filter", $("#filter_select").val(), function() {
            rpt_reload_entity(current_entity_id)
        });
    } else {
        toggle_screen(true, true);
        $.get(rpt_url()+"&ajax=1&ldaction=applyoptall&entity_keydata[filter]="+$("#filter_select").val(), function(data) {
            rpt_reload_report();
        });

    }
}

function rpt_set_weight_profile() {
    if(current_entity_id) {
        rpt_set_option(current_entity_id, "weight_profiles", $("#weight_profile_select").val(), function() {
            rpt_reload_entity(current_entity_id)
        });
    } else {
        toggle_screen(true, true);
        $.get(rpt_url()+"&ajax=1&ldaction=applyoptall&entity_keydata[weight_profiles]="+$("#weight_profile_select").val(), function(data) {
            rpt_reload_report();
        });

    }
}

function rpt_filter_extbreaklist() {
    $("#external_break_select optgroup").each(function() {
        var optselect = $(this);
        $("#external_report_select option:selected").each(function() {
            if($(optselect).attr("label")==$(this).text() || $(this).val()=="-1") {
                $(optselect).removeClass("_disabled");
            } else {
                $(optselect).addClass("_disabled");
            }
        });
    });

    $("#external_break_select").dropdownchecklist("sync");
}

function rpt_toggle_designmode() {
    ld_report_change = true;
    toggle_button("new_node", false, false);
    ribbon_toggle_states['design_mode'] = !ribbon_toggle_states['design_mode'];
    if(ribbon_toggle_states['design_mode']) {
        toggle_ribbon_control_enabled("select_break", true);
        toggle_ribbon_control_enabled("external_break", true);
        toggle_ribbon_control_enabled("external_report", true);

        $(".ld_entity_hidden").slideDown(reporting_swish_rate, function() {
            $(".ld_entity_hidden").next(".ld_entity_gap").slideDown(reporting_swish_rate, function() {
                toggle_ribbon_control_enabled("new_node", true);
            });
        });
        $("#toggle_design_mode img").addClass("button_on");
    } else {
        toggle_ribbon_control_enabled("select_break", false);
        toggle_ribbon_control_enabled("external_break", false);
        toggle_ribbon_control_enabled("external_report", false);

        $(".ld_entity_hidden").slideUp(reporting_swish_rate, function() {
            $(".ld_entity_hidden").next(".ld_entity_gap").slideUp(reporting_swish_rate, function() {
                toggle_ribbon_control_enabled("new_node", false);
            });
        });
        $("#toggle_design_mode img").removeClass("button_on");
    }
    toggle_tab_visibility("ribbon_tab_graph_options", false);
    rpt_toggle_entity();
}

function rpt_datamode() {
    toggle_screen(true, true);
    $.get(rpt_url()+"&ajax=1&ldaction=applydatamode", function(data) {
        rpt_reload_report();
    });

}

function rpt_ribbon_toggle_editing(state) {
    toggle_ribbon_control_enabled("show_row_totals", state);
    toggle_ribbon_control_enabled("show_col_totals", state);
    toggle_ribbon_control_enabled("show_percentages", state);
    toggle_ribbon_control_enabled("percentages_direction", state);
    toggle_ribbon_control_enabled('totals_are_base_sizes', state);
}

function rpt_toggle_entity(entity_id) {
    if(disable_entity_selection)
        return false;

    $(".ld_current_entity").removeClass("ld_current_entity");

    if(current_entity_id) {
        rpt_entity_resizable(current_entity_id, true);
        if($("#ld_entity_"+current_entity_id+" .ld_entity_data").length==0) {
            toggle_tab_state("ribbon_tab_body_data", true);
            rpt_ribbon_toggle_editing(true);

        }

    }
    if(entity_id!=current_entity_id && entity_id) {
        $("#ld_entity_"+entity_id).addClass("ld_current_entity");
        current_entity_id = entity_id;
        toggle_ribbon_hover(false);
        ribbon_force_active = true;
        toggle_slipbar_active(false);
        $("#apply_to_report_check").attr("checked", false);
        toggle_ribbon_control_enabled("apply_to_report", true);
        toggle_ribbon_control_enabled("break_view", true);
        toggle_ribbon_control_enabled("auto_break", true);
        toggle_ribbon_control_enabled("add_net_row", true);
        toggle_ribbon_control_enabled("add_net_col", true);
        toggle_ribbon_control_enabled("remove_net", true);
        toggle_ribbon_control_enabled("mean_score", true);
        toggle_ribbon_control_enabled("hide_grid_cols", true);
        toggle_ribbon_control_enabled("split_grid", true);
        toggle_ribbon_control_enabled("edit_scales", true);
        toggle_ribbon_control_enabled("less_mean_score_dec_points", true);
        toggle_ribbon_control_enabled("more_mean_score_dec_points", true);
        toggle_ribbon_control_enabled("export_entity", true);
        toggle_tab_state("ribbon_tab_body_editing", true);

        if($("#ld_entity_"+entity_id+" .ld_entity_data").length==0) {
            toggle_tab_state("ribbon_tab_body_data", false);
            rpt_ribbon_toggle_editing(false);
        } else {
            $("#show_row_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_row_totals']);
            $("#show_col_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_col_totals']);
            $("#totals_are_base_sizes_check").attr("checked", ld_entity_ribbon_states[entity_id]['totals_are_bases']);
            $("#show_percentages_select").val(parseInt(ld_entity_ribbon_states[entity_id]['entity_show_percentages']));
            $("#percentages_direction_select").val(parseInt(ld_entity_ribbon_states[entity_id]['entity_percentage_direction']));
            if(parseInt(ld_entity_ribbon_states[entity_id]['entity_show_percentages'])>0) {
                toggle_ribbon_control_enabled("percentage_sig_test", true);
                toggle_button('percentage_sig_test', null, ld_entity_ribbon_states[entity_id]['sig_percentage']==true);
            } else {
                toggle_button('percentage_sig_test', null, false);
                toggle_ribbon_control_enabled("percentage_sig_test", false);
            }

        }


        $("#show_question_total_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_question_total']);
        $("#use_horizontal_bars_check").attr("checked", ld_entity_ribbon_states[entity_id]['use_horizontal_bars']);
        $("#use_stacked_bars_check").attr("checked", ld_entity_ribbon_states[entity_id]['use_stacked_bars']);


        if((ld_entity_ribbon_states[entity_id]['is_grid']==1 || ld_entity_ribbon_states[entity_id]['current_break']!="" || ld_entity_ribbon_states[entity_id]['current_external_break']!="") && parseInt(ld_entity_ribbon_states[entity_id]['entity_show_percentages'])>0) {
            toggle_ribbon_control_enabled("percentages_direction", true);
        } else {
            toggle_ribbon_control_enabled("percentages_direction", false);
        }

        toggle_button('mean_score', null, ld_entity_ribbon_states[entity_id]['ms_show']==true);
        toggle_ribbon_control_enabled('mean_score_direction', ld_entity_ribbon_states[entity_id]['ms_show']==true);
        if(ld_entity_ribbon_states[entity_id]['ms_show']==true) {
            toggle_ribbon_control_enabled('standard_deviation', true);
            toggle_ribbon_control_enabled('standard_error', ld_entity_ribbon_states[entity_id]['ms_sdeviation']==true);
            $("#standard_deviation_check").attr("checked", ld_entity_ribbon_states[entity_id]['ms_sdeviation']);
            $("#standard_error_check").attr("checked", ld_entity_ribbon_states[entity_id]['ms_serror']);
            toggle_ribbon_control_enabled("mean_sig_test", ld_entity_ribbon_states[entity_id]['ms_sdeviation']);
            toggle_button('mean_sig_test', null, ld_entity_ribbon_states[entity_id]['sig_mean']==true);
        } else {
            toggle_ribbon_control_enabled('standard_deviation', false);
            toggle_ribbon_control_enabled('standard_error', false);
            $("#standard_deviation_check").attr("checked", false);
            $("#standard_error_check").attr("checked", false);
            toggle_ribbon_control_enabled("mean_sig_test", false);
            toggle_button('mean_sig_test', null, false);

        }
        $("#mean_score_direction_select").val(parseInt(ld_entity_ribbon_states[entity_id]['ms_direction']));

        toggle_button('show_data', null, ld_entity_ribbon_states[entity_id]['show_data']==true);
        toggle_ribbon_control_enabled("select_break", true);
        $("#select_break_select").dropdownchecklist("enable");
        if(ld_entity_ribbon_states[entity_id]['current_break']!="") {
            $("#select_break_select").val(ld_entity_ribbon_states[entity_id]['current_break'].split(","));
            $("#select_break_select").dropdownchecklist("sync");
        } else {
            $("#select_break_select").val(0);
            $("#select_break_select").dropdownchecklist("sync");
        }

        toggle_ribbon_control_enabled("external_report", true);
        toggle_ribbon_control_enabled("external_break", true);
        $("#external_break_select").dropdownchecklist("enable");
        if(ld_entity_ribbon_states[entity_id]['current_external_break']!="") {
            $("#external_break_select").val(ld_entity_ribbon_states[entity_id]['current_external_break'].split(","));
            $("#external_break_select").dropdownchecklist("sync");
        } else {
            $("#external_break_select").val(0);
            $("#external_break_select").dropdownchecklist("sync");
        }

        if(ld_entity_ribbon_states[entity_id]['weight_profiles']!="") {
            $("#filter_select").val(ld_entity_ribbon_states[entity_id]['weight_profiles'].split(","));
            $("#filter_select").dropdownchecklist("sync");
        } else {
            $("#filter_select").val(0);
            $("#filter_select").dropdownchecklist("sync");
        }

        if(ld_entity_ribbon_states[entity_id]['filter']!="") {
            $("#weight_profile_select").val(ld_entity_ribbon_states[entity_id]['filter'].split(","));
            $("#weight_profile_select").dropdownchecklist("sync");
        } else {
            $("#weight_profile_select").val(0);
            $("#weight_profile_select").dropdownchecklist("sync");
        }

        toggle_ribbon_control_enabled("break_view", (ld_entity_ribbon_states[entity_id]['current_external_break']!="" || ld_entity_ribbon_states[entity_id]['current_break']!=""));
        $("#break_view_select").get(0).selectedIndex = ld_entity_ribbon_states[entity_id]['break_view'];

        $("#allow_resize_check").attr("checked", ld_entity_ribbon_states[entity_id]['allow_resize']);
        toggle_ribbon_control_enabled("percentage_width", ld_entity_ribbon_states[entity_id]['allow_resize']);
        toggle_ribbon_control_enabled("entity_height", ld_entity_ribbon_states[entity_id]['allow_resize']);
        if(ld_entity_ribbon_states[entity_id]['allow_resize']!=null)
            rpt_entity_resizable(entity_id, !ld_entity_ribbon_states[entity_id]['allow_resize']);


        if(ld_entity_ribbon_states[entity_id]) {
            graph_state = ld_entity_ribbon_states[entity_id]['graph'];

            toggle_button('graph', false, graph_state);

            if(graph_state) {
                $("#legend_select").val(ld_entity_ribbon_states[entity_id]['graph_legend']);

                if(ld_entity_ribbon_states[entity_id]['bar_graph'])
                    toggle_button('bar_graph', "gtype", true);

                if(ld_entity_ribbon_states[entity_id]['pie_chart'])
                    toggle_button('pie_chart', "gtype", true);

                if(ld_entity_ribbon_states[entity_id]['line_graph'])
                    toggle_button('line_graph', "gtype", true);

                toggle_tab_visibility("ribbon_tab_graph_options", true);
                if($("#ld_entity_"+entity_id+" .ld_entity_data").length>0) {
                    toggle_ribbon_control_enabled("show_row_totals", false);
                    toggle_ribbon_control_enabled("show_col_totals", false);
                }
            } else {
                if($("#ld_entity_"+entity_id+" .ld_entity_data").length>0) {
                    toggle_ribbon_control_enabled("show_row_totals", true);
                    toggle_ribbon_control_enabled("show_col_totals", true);
                }
                toggle_tab_visibility("ribbon_tab_graph_options", false);
            }
        } else {
            toggle_button('graph', false, false);
            toggle_tab_visibility("ribbon_tab_graph_options", false);
        }

        //$(window).scrollTop(findPosY($("#ld_entity_"+entity_id).get(0))-$("#admin_ribbon").height()-20);
    } else {
        toggle_tab_state("ribbon_tab_body_editing", false);
        toggle_ribbon_control_enabled("break_view", false);
        $("#apply_to_report_check").attr("checked", ribbon_toggle_states['design_mode']);
        toggle_ribbon_control_enabled("apply_to_report", false);
        toggle_ribbon_control_enabled("auto_break", false);
        toggle_ribbon_control_enabled("add_net_row", false);
        toggle_ribbon_control_enabled("add_net_col", false);
        toggle_ribbon_control_enabled("remove_net", false);
        toggle_ribbon_control_enabled("mean_score", false);
        toggle_ribbon_control_enabled("edit_scales", false);
        toggle_ribbon_control_enabled("less_mean_score_dec_points", false);
        toggle_ribbon_control_enabled("more_mean_score_dec_points", false);
        toggle_ribbon_control_enabled("percentage_sig_test", false);
        toggle_ribbon_control_enabled("export_entity", false);
        $("#filter_select").val(0);
        $("#filter_select").dropdownchecklist("sync");

        $("#weight_profile_select").val(0);
        $("#weight_profile_select").dropdownchecklist("sync");

        current_entity_id = false;
        ribbon_force_active = false;
        if($(window).scrollTop()>0)
            toggle_ribbon_hover(true);
        toggle_slipbar_active(true);
    }
}

function rpt_flip(entity_id) {
    toggle_screen(true, true);
    if(ld_entity_ribbon_states[current_entity_id]["flip"]==null)
        ld_entity_ribbon_states[current_entity_id]["flip"] = ld_entity_ribbon_states[current_entity_id]["is_grid"]

    rpt_set_option(entity_id, 'flip', !ld_entity_ribbon_states[current_entity_id]["flip"], function() {
        ld_entity_ribbon_states[current_entity_id]["flip"] = !ld_entity_ribbon_states[current_entity_id]["flip"];
        rpt_reload_report();
    });

}

var net_row_go = false;
var net_row_go = false;

function rpt_add_net(entity_id, type) {
    if(type=="row") {
        if(!tblselect_mode) {
            net_row_go = false;
            dialog("Add Net Row", "Enter a name for the row", "prompt", "", function() {
                if(trigger=="ok") {
                    $("#ld_entity_"+entity_id+" .ld_entity_data table").tbl("insertRow", {
                        row: 'last',
                        rowClass: 'ld_data_row ld_data_net'
                    });
                    $("#ld_entity_"+entity_id+" .ld_entity_data table tr:last th").html(dialog_prompt_val);
                    var net_row_string = dialog_prompt_val;
                    rpt_tblselect_on(entity_id, {
                        type: 'rows',
                        fn: function(rows) {
                            net_row_go = true;
                        },
                        multi_fn: function(rows) {
                            net_row_string+=":"+rows;
                            var n = 0;
                            if(ld_entity_ribbon_states[entity_id]['net_row']!="") {
                                net_rows = ld_entity_ribbon_states[entity_id]['net_row'].split("|");
                                n = net_rows.length;
                            }
                            net_row_string = n+","+net_row_string;
                            ld_entity_ribbon_states[entity_id]['net_row']+=(ld_entity_ribbon_states[entity_id]['net_row']!=""?"|":"")+net_row_string;
                            rpt_set_option(entity_id, "net_row", ld_entity_ribbon_states[entity_id]['net_row'], function() {
                                rpt_reload_entity(entity_id);
                            });

                        }
                    });
                } else {
                    toggle_button("add_net_row", false, false);
                }
            });
        } else {
            rpt_tblselect_off(entity_id, !net_row_go);
            if(!net_row_go) {
                $("#ld_entity_"+entity_id+" .ld_entity_data table").tbl("deleteRow", {
                    row: 'last'
                });
            }
        }
    } else {
        if(!tblselect_mode) {
            net_col_go = false;
            dialog("Add Net Col", "Enter a name for the col", "prompt", "", function() {
                if(trigger=="ok") {
                    $("#ld_entity_"+entity_id+" .ld_entity_data table").tbl("insertCol", {
                        col: 'last',
                        cellClasses: { all: 'ld_data_cell_net' }
                    });
                    $("#ld_entity_"+entity_id+" .ld_entity_data table tr:first th:last").html(dialog_prompt_val);
                    var net_col_string = dialog_prompt_val;
                    rpt_tblselect_on(entity_id, {
                        type: 'cols',
                        fn: function(cols) {
                            net_col_go = true;
                        },
                        multi_fn: function(rows, cols) {
                            net_col_string+=":"+cols;
                            var n = 0;
                            if(ld_entity_ribbon_states[entity_id]['net_col']!="") {
                                net_cos = ld_entity_ribbon_states[entity_id]['net_col'].split("|");
                                n = net_cos.length;
                            }
                            net_col_string = n+","+net_col_string;
                            ld_entity_ribbon_states[entity_id]['net_col']+=(ld_entity_ribbon_states[entity_id]['net_col']!=""?"|":"")+net_col_string;
                            rpt_set_option(entity_id, "net_col", ld_entity_ribbon_states[entity_id]['net_col'], function() {
                                rpt_reload_entity(entity_id);
                            });

                        }
                    });
                } else {
                    toggle_button("add_net_col", false, false);
                }
            });
        } else {
            rpt_tblselect_off(entity_id, !net_col_go);
            if(!net_col_go) {
                $("#ld_entity_"+entity_id+" .ld_entity_data table").tbl("deleteCol", {
                    col: 'last'
                });
            }
        }
    }
}

function rpt_remove_net(entity_id) {
    if(ribbon_toggle_states["remove_net"]) {
        rpt_tblselect_on(entity_id, {
            type: 'both',
            fn: function(selected, type) {
                if(type=="col") {
                    if($($("#ld_entity_"+entity_id+" .ld_entity_data table .ld_col_"+selected).get(0)).hasClass("ld_data_cell_net")) {
                        var classname = $($("#ld_entity_"+entity_id+" .ld_entity_data table .ld_col_"+selected).get(0)).attr("class");
                        classname = classname.split("ld_net_col_");
                        var col_to_remove = classname[1];
                        var net_cos = ld_entity_ribbon_states[entity_id]['net_col'].split("|");
                        var new_net_cols = new Array();
                        var new_index = 0;
                        for(var i=0;i<net_cos.length;i++) {
                            if(i!=col_to_remove) {
                                current_net_col = net_cos[i].split(":");
                                current_net_header = current_net_col[0].split(",");
                                new_net_cols[new_net_cols.length] = new_index+","+current_net_header[1]+":"+current_net_col[1];
                                new_index++;
                            }
                        }
                        ld_entity_ribbon_states[entity_id]['net_col'] = new_net_cols.join("|");
                        rpt_set_option(entity_id, "net_col", ld_entity_ribbon_states[entity_id]['net_col'], function() {
                            $("#ld_entity_"+entity_id+" .ld_entity_data table .ld_col_"+selected).remove();
                            rpt_reload_entity(entity_id);
                        });

                    }
                } else    if(type=="row") {
                    if($($("#ld_entity_"+entity_id+" .ld_entity_data table .ld_row_"+selected).get(0)).hasClass("ld_data_net")) {
                        var classname = $($("#ld_entity_"+entity_id+" .ld_entity_data table .ld_row_"+selected).get(0)).attr("class");
                        classname = classname.split("ld_net_row_");
                        var col_to_remove = classname[1];
                        var net_cos = ld_entity_ribbon_states[entity_id]['net_row'].split("|");
                        var new_net_cols = new Array();
                        var new_index = 0;
                        for(var i=0;i<net_cos.length;i++) {
                            if(i!=col_to_remove) {
                                current_net_col = net_cos[i].split(":");
                                current_net_header = current_net_col[0].split(",");
                                new_net_cols[new_net_cols.length] = new_index+","+current_net_header[1]+":"+current_net_col[1];
                                new_index++;
                            }
                        }
                        ld_entity_ribbon_states[entity_id]['net_row'] = new_net_cols.join("|");
                        rpt_set_option(entity_id, "net_row", ld_entity_ribbon_states[entity_id]['net_row'], function() {
                            $("#ld_entity_"+entity_id+" .ld_entity_data table .ld_row_"+selected).remove();
                            rpt_reload_entity(entity_id);
                        });

                    }
                }
                toggle_button("remove_net", false, false);
            }
        });

    } else {
        rpt_tblselect_off(entity_id, true);
        toggle_button("remove_net", false, false);

    }

}

function next_gap(entity_id, visibility) {
    if(visibility)
        $("#ld_entity_"+entity_id).next(".ld_entity_gap").show();
    else
        $("#ld_entity_"+entity_id).next(".ld_entity_gap").hide();
}

function get_next_entity(entity_id) {
    var next_entity = $("#ld_entity_"+entity_id).nextAll(".ld_entity").not(".ld_entity_hidden").get(0);
    if(next_entity) {
        var id = next_entity.id;
        id = id.split("_");
        return id[2];
    } else {
        return false;
    }
}

function get_prev_entity(entity_id) {
    var prev_entity = $("#ld_entity_"+entity_id).prevAll(".ld_entity").not(".ld_entity_hidden").get(0);
    if(prev_entity) {
        var id = prev_entity.id;
        id = id.split("_");
        return id[2];
    } else {
        return false;
    }
}

function rpt_toggle_source_data(entity_id) {
    toggle_screen(true, true);
    if(get_button_toggle("show_data")) {
        rpt_set_option(entity_id, "show_data", "true", function() {
            $("#ld_entity_"+entity_id+" .ld_graph_source_data").load(rpt_url()+"&ldaction=graph&forcetable=1&ajax=1&entity_id="+entity_id, function() {
                $("#ld_entity_"+entity_id+" .ld_graph_source_data").slideDown(ribbon_swish_rate, function() {
                    ld_entity_ribbon_states[entity_id]['show_data'] = true;
                    rpt_resize_graph(entity_id);
                    toggle_screen(false);
                });
            });
        });
    } else {
        rpt_set_option(entity_id, "show_data", "", function() {
            $("#ld_entity_"+entity_id+" .ld_graph_source_data").slideUp(ribbon_swish_rate, function() {
            $("#ld_entity_"+entity_id+" .ld_graph_source_data").html("");
            ld_entity_ribbon_states[entity_id]['show_data'] = false;
            rpt_resize_graph(entity_id);
            toggle_screen(false);
        });
        });

    }

}

function rpt_grid_split(entity_id) {
    var grid = $("div.ld_current_entity");
    if (!grid.hasClass("ld_entity_grid") && !grid.hasClass("ld_entity_type_1")) {
        dialog("Whoops!", "This can only be used on grid questions.", "alert", "");           
    }
    $.get(rpt_url()+"&ajax=1&entity_id="+entity_id+"&ldaction=splitgrid", function(data) {
        rpt_save(false, true, entity_id);
    });}

function rpt_grid_display_options(entity_id) {

    var grid = $("div.ld_current_entity");

    if (!grid.hasClass("ld_entity_grid") && !grid.hasClass("ld_entity_type_1")) {
        dialog("Whoops!", "This can only be used on grid questions.", "alert", "");           
    }
    
    if(ribbon_toggle_states['hide_grid_cols']) {
        var headcounter = 1;
        grid.find("th.ld_header_col").addClass("ld_click_to_hide_col").each(function() {
            $(this).attr("id", headcounter);
            headcounter ++;
        });
        grid.find("th.ld_header_col").bind("click", function() {
            var chosenRow = $(this);
            if (chosenRow.hasClass('ld_click_to_hide_col')) {
                rpt_set_option(entity_id, "hide_col_"+chosenRow.attr("id"), 'true', function() {
                    chosenRow.removeClass("ld_click_to_hide_col").addClass("ld_clicked_hidden_col");
                });
            } else {
                rpt_set_option(entity_id, "hide_col_"+chosenRow.attr("id"), 'false', function() {
                    chosenRow.removeClass("ld_clicked_hidden_col").addClass("ld_click_to_hide_col");
                });                
            }
        });
       
       
       /*
        rpt_set_option(entity_id, "ms_show", 'true', function() {
            ld_entity_ribbon_states[entity_id]['ms_show'] = true;
            rpt_reload_entity(entity_id);
        }); */
    } else {
       grid.find("th.ld_header_col").removeClass("ld_click_to_hide_col").unbind("click").attr("id", "");
       rpt_reload_entity(entity_id);
    }
}

function rpt_reload_entity(entity_id, revert) {
    toggle_screen(true, true);
    if(revert) {
        rpt_set_option(entity_id, "entity_type", 1, function() {
            $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&ldaction=regen&ajax=1&entity_id="+entity_id, function() {
                $("#show_row_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_row_totals']);
                $("#show_col_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_col_totals']);
                toggle_screen(false);
            });

        });
    } else {
        if($("#ld_entity_"+entity_id).hasClass("ld_entity_type_4")) {
            $("#ld_entity_"+entity_id).load(rpt_url()+"&ldaction=regen&ajax=1&entity_id="+entity_id+"&is_text=true", function() {
                toggle_screen(false);
            });
        } else {
            $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&ldaction=regen&ajax=1&entity_id="+entity_id, function() {
                $("#show_row_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_row_totals']);
                $("#show_col_totals_check").attr("checked", ld_entity_ribbon_states[entity_id]['show_col_totals']);
                toggle_screen(false);
            });
        }
    }

}

function rpt_allow_resize() {
    rpt_set_option(current_entity_id, "allow_resize", $("#allow_resize_check").attr("checked"), function() {
        toggle_ribbon_control_enabled("percentage_width", $("#allow_resize_check").attr("checked"));
        toggle_ribbon_control_enabled("entity_height", $("#allow_resize_check").attr("checked"));
        rpt_entity_resizable(current_entity_id, !$("#allow_resize_check").attr("checked"));
        ld_entity_ribbon_states[current_entity_id]["allow_resize"] =  $("#allow_resize_check").attr("checked");
        if($("#allow_resize_check").attr("checked")==false) {
            rpt_set_option(current_entity_id, "min_height", "", function() {
                rpt_set_option(current_entity_id, "height", "", function() {
                    rpt_set_option(current_entity_id, "width", "0", function() {
                        rpt_set_option(current_entity_id, "allow_entities_right", 0, function() {
                            ld_entity_ribbon_states[current_entity_id]["min_height"] = 0;
                            ld_entity_ribbon_states[current_entity_id]["height"] = 0;
                            ld_entity_ribbon_states[current_entity_id]["width"] = 0;
                            ld_entity_ribbon_states[current_entity_id]["allow_entities_right"] = 0;
                            $("#ld_entity_"+current_entity_id).width("100%");
                            $("#ld_entity_"+current_entity_id).height("auto");
                            $("#ld_entity_"+current_entity_id+" .ld_graph").height("300");

                        });
                    });
                });
            });
        }
    });
}

function rpt_set_pcwidth() {
    v = parseInt($("#percentage_width_text").val());
    if(v<25) {
        v = 25;
        $("#percentage_width_text").val(25);
    }
    rpt_set_option(current_entity_id, "width", v, function() {
        if(v>0) {
            $("#ld_entity_"+current_entity_id).width(v+"%");
            rpt_resize_graphs();
            toggle_ribbon_control_enabled("allow_entities_right", true);
            ld_entity_ribbon_states[current_entity_id]["width"] = v;
        } else {
            $("#ld_entity_"+current_entity_id).width("auto");
            rpt_resize_graphs();
            toggle_ribbon_control_enabled("allow_entities_right", false);
            ld_entity_ribbon_states[current_entity_id]["width"] = "";
            rpt_toggle_float_mode(current_entity_id, false)
            next_gap(current_entity_id, true);
        }
    });
}

function rpt_graph_entity(entity_id) {
    if(get_button_toggle("graph")) {
        rpt_graph(entity_id);
        toggle_tab_visibility("ribbon_tab_graph_options", true);
        toggle_ribbon_tab('graph_options');
        toggle_ribbon_control_enabled("show_row_totals", false);
        toggle_ribbon_control_enabled("show_col_totals", false);
    } else {
        rpt_reload_entity(entity_id, true);
        toggle_tab_visibility("ribbon_tab_graph_options", false);
        toggle_ribbon_control_enabled("show_row_totals", true);
        toggle_ribbon_control_enabled("show_col_totals", true);

    }
}

function rpt_graph(entity_id, type) {
    toggle_screen(true, true);
    rpt_set_option(entity_id, "entity_type", 3, function() {
        switch(type) {
            case "LINE":
                $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&entity_options=graph_line&ajax=1&ldaction=graph&entity_id="+entity_id, function() {
                    toggle_screen(false);
                });
                break;

            case "PIE":
                $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&entity_options=graph_pie&ajax=1&ldaction=graph&entity_id="+entity_id, function() {
                    toggle_screen(false);
                });
                break;

            case "BAR":
                $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&entity_options=graph_bar&ajax=1&ldaction=graph&entity_id="+entity_id, function() {
                    toggle_screen(false);
                });
                break;

            default:
                $("#ld_entity_"+entity_id+" .ld_entity_data").load(rpt_url()+"&entity_options=graph&ajax=1&ldaction=graph&entity_id="+entity_id, function() {
                    toggle_screen(false);
                });
                break;

        }

    });
}

var tblselect_function = false;
var tblselect_mode = false;

function rpt_tblselect_off(entity_id, cancel) {
    $("#ld_entity_"+entity_id+" table .ld_first_col").unbind("mouseover");
    $("#ld_entity_"+entity_id+" table .ld_first_col").unbind("mouseout");
    $("#ld_entity_"+entity_id+" table .ld_first_col").unbind("click");
    $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").unbind("mouseover");
    $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").unbind("mouseout");
    $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").unbind("click");
    $("#ld_down_arrow").remove();
    $("#ld_right_arrow").remove();
    disable_entity_selection = false;

    if(tblselect_function!=false) {
        var selected_cols = new Array();
        var selected_rows = new Array();
        $("#ld_entity_"+entity_id+" table .ld_data_col_active").each(function() {
            if($(this).parent().hasClass("ld_data_break_code_titles") || $(this).parent().hasClass("ld_data_first_row")) {
                var classes = $(this).attr("class");
                var class_match = /ld_col_[0-9]+/;
                var result=class_match.exec(classes);
                var col_class = result[0];
                var col = col_class.split("_");
                selected_cols[selected_cols.length] = col[2];
            }
        });
        $(".ld_data_row_active").each(function() {
            var classes = $(this).attr("class");
            var class_match = /ld_row_[0-9]+/;
            var result=class_match.exec(classes);
            var row_class = result[0];
            var row = row_class.split("_");
            selected_rows[selected_rows.length] = row[2];
        });

        $(".ld_data_col_active").removeClass("ld_data_col_active");
        $(".ld_data_row_active").removeClass("ld_data_row_active");
        if(!cancel)
            tblselect_function(selected_rows, selected_cols);
        tblselect_function = false;
        tblselect_mode = false;

    }
}

function rpt_tblselect_on(entity_id, options) {
    var size = 16;
    var type = options['type']?options['type']:"both";
    tblselect_function = options['multi_fn']?options['multi_fn']:false;
    var multi = tblselect_function!=false;
    var fn = options['fn']?options['fn']:false;
    var preselected = options['preselected']?options['preselected']:{rows:false, cols:false};

    if(type=="both" || type=="cols" ) {
        disable_entity_selection = true;
        if(multi) tblselect_mode = true;
        if(preselected['cols']) {
            var preselected_cols = preselected['cols'].split(",");
            for(c=0;c<preselected_cols.length;c++) {
                $("#ld_entity_"+entity_id+" table .ld_col_"+preselected_cols[c]).addClass("ld_data_col_active");
            }
        }

        $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").mouseover(function() {
            if(!$(this).hasClass("ld_first_col")) {
                p = $(this).offset();
                $("body").append('<img src="/images/png/down.png" width="'+size+'" height="'+size+'" style="left:'+Math.round(p.left+($(this).width()/2))+'px;top:'+(p.top-size)+'px;" id="ld_down_arrow" />');
                var classes = $(this).attr("class");
                var class_match = /ld_col_[0-9]+/;
                var result=class_match.exec(classes);
                if(result!=null) {
                    var col_class = result[0];
                    $("#ld_entity_"+entity_id+" ."+col_class).addClass("ld_data_col_select");
                }
            }
        });

        $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").mouseout(function() {
            if(!$(this).hasClass("ld_first_col")) {
                $("#ld_down_arrow").remove();
                var classes = $(this).attr("class");
                var class_match = /ld_col_[0-9]+/;
                var result=class_match.exec(classes);
                if(result!=null) {
                    var col_class = result[0];
                    $("."+col_class).removeClass("ld_data_col_select");
                }
            }
        });

        $("#ld_entity_"+entity_id+" table .ld_data_first_row th, #ld_entity_"+entity_id+" table .ld_data_break_code_titles th").click(function(e) {
            if(!$(this).hasClass("ld_first_col")) {
                var classes = $(this).attr("class");
                var class_match = /ld_col_[0-9]+/;
                var result=class_match.exec(classes);
                if(result!=null) {
                    var col_class = result[0];
                    $("#ld_entity_"+entity_id+" ."+col_class).removeClass("ld_data_col_select");
                    var col = col_class.split("_");
                    col = col[2];
                    if(multi) {
                        if($("#ld_entity_"+entity_id+" ."+col_class).hasClass("ld_data_col_active"))
                            $("#ld_entity_"+entity_id+" ."+col_class).removeClass("ld_data_col_active");
                        else
                            $("#ld_entity_"+entity_id+" ."+col_class).addClass("ld_data_col_active");
                    } else {
                        rpt_tblselect_off(entity_id);
                    }
                    if(fn) fn(col, "col");
                    e.stopPropagation();
                }
            }
        });
    }


    if(type=="both" || type=="rows" ) {
        disable_entity_selection = true;
        if(multi) tblselect_mode = true;

        if(preselected['rows']) {
            var preselected_rows = preselected['rows'].split(",");
            for(r=0;r<preselected_rows.length;r++) {
                $("#ld_entity_"+entity_id+" table .ld_row_"+preselected_rows[r]).addClass("ld_data_row_active");
            }
        }

        $("#ld_entity_"+entity_id+" table .ld_first_col").mouseover(function() {
            if(!$(this).parent().hasClass("ld_data_first_row"))
                $(this).parent().addClass("ld_data_row_select");
            p = $(this).parent().offset();

            $("body").append('<img src="/images/png/right.png" width="'+size+'" height="'+size+'" style="left:'+Math.round(p.left-size)+'px;top:'+(p.top+($(this).height()/2)-(size/2))+'px;" id="ld_right_arrow" />');

        });

        $("#ld_entity_"+entity_id+" table .ld_first_col").mouseout(function() {
            $("#ld_right_arrow").remove();

            if(!$(this).parent().hasClass("ld_data_first_row"))
                $(this).parent().removeClass("ld_data_row_select");
        });

        $("#ld_entity_"+entity_id+" table .ld_first_col").click(function(e) {
            if(!$(this).parent().hasClass("ld_data_first_row")) {
                var classes = $(this).parent().attr("class");
                var class_match = /ld_row_[0-9]+/;
                var result=class_match.exec(classes);
                if(result!=null) {
                    var row_class = result[0];
                    $(this).parent().removeClass("ld_data_row_select");
                    var row = row_class.split("_");
                    row = row[2];
                    if(multi) {
                        if($(this).parent().hasClass("ld_data_row_active"))
                            $(this).parent().removeClass("ld_data_row_active");
                        else
                            $(this).parent().addClass("ld_data_row_active");
                    } else {
                        rpt_tblselect_off(entity_id);
                    }
                    if(fn) fn(row, "row");
                    e.stopPropagation();
                }
            }
        });
    }
}

function rpt_toggle_edit() {
    if(get_button_toggle("edit_text")==false) {
        rpt_after_edit();
    } else {
        var entity = $("#ld_entity_"+current_entity_id+" .ld_entity_display_text");
        if($.browser.msie) {
            var t = $(entity).html();
            t = t.replace(/<BR>/gi, "\n");
        } else {
            var t = $(entity).text();
        }
        t = t.replace(/  /g, " ");

        var w = $(entity).width();
        var h = $(entity).height();

        var eip_content = rpt_draw_inline_updateframe('<textarea rows="1" cols="1" id="edit_in_revert">'+t+'</textarea><textarea rows="1" cols="1" id="edit_in_value">'+t+'</textarea>')
        disable_entity_selection = true;

        $(entity).after(eip_content).remove();

        $("#edit_in_value").width(w);
        $("#edit_in_value").height(h);

        $('#edit_in_value').autoResize({
            extraSpace: 0
        });

        $('#edit_in_value').keydown();

        $("#edit_in_save").click(function(e) {
            var t = $("#edit_in_value").val();
            rpt_after_edit(t);
            toggle_button("edit_text");
            rpt_set_option(current_entity_id, "override_text", nl2br(t));
            e.stopPropagation();
        });

        $("#edit_in_cancel").click(function(e) {
            rpt_after_edit();
            toggle_button("edit_text");
            e.stopPropagation();
        });
    }
}

function rpt_after_edit(t) {
    if(!t)
        t = $("#edit_in_revert").val();
    t = nl2br(t);
    $("#ld_edit_in_place").after('<div class="ld_entity_display_text">'+t+'</div>').remove();

    disable_entity_selection = false;
}

function rpt_draw_inline_updateframe(extra_content) {
    var c = "";
    c+='<div id="ld_edit_in_place">';
    if(extra_content)
        c+=extra_content;
    c+='<ul id="ld_edit_in_place_buttons">';
    c+= '<li><input type="button" value="save" id="edit_in_save" /></li>';
    c+= '<li><input type="button" value="cancel" id="edit_in_cancel" /></li>';
    c+= '</ul></div>';
    return c;
}

function rpt_entity_visibility_toggle(entity_id) {
    if($("#ld_entity_"+entity_id).hasClass("ld_entity_hidden")) {
        rpt_set_option(entity_id, "hidden", 0);
        $("#ld_entity_"+entity_id).removeClass("ld_entity_hidden");
    } else {
        rpt_set_option(entity_id, "hidden", 1);
        $("#ld_entity_"+entity_id).addClass("ld_entity_hidden");
    }
}

function rpt_saveas() {
    report_name = $("#report_name_text").val()+" Copy";
    dialog('Save As...', 'Please enter a name for the report copy', 'prompt', report_name, function() {
        if(trigger=="ok") {
            toggle_screen(true, true);
            ld_report_change = false;
            $.get(rpt_url()+"&ajax=1&ldaction=saveas&report_name="+dialog_prompt_val, function(data) {
                toggle_screen(false);
                dialog("Operation Complete", "Copy of report has been saved!", "alert", "", function() {
                    document.location='?link=reporting&sublink=ldshow&rid='+data;
                });
            });
        }
    });
}

function rpt_save(exit, hideBox, anchorTo) {
    if(exit==null)
        exit = false;
        
    if(hideBox==null)
        hideBox = false;        
  
    if(anchorTo == null)
        anchorTo = 0;

    toggle_screen(true, true);
    report_name = $("#report_name_text").val();
    ld_report_change = false;
    $.get(rpt_url()+"&ajax=1&ldaction=save&report_name="+report_name, function(data) {
        toggle_screen(false);
        if (hideBox == true) {
            document.location = exit?'?link=reporting&sublink=ld':rpt_url()+'#ld_entity_anchor_'+anchorTo;            
        } else {
            dialog("Operation Complete", "Report has been saved!", "alert", "", function() {
                document.location = exit?'?link=reporting&sublink=ld':rpt_url()+'#ld_entity_anchor_'+anchorTo;
            });
        }
    });
}

function rpt_revert() {
    if(ld_report_change) {
        dialog("Revert Report", "You have made changes. Are you sure you wish to revert to the last saved version of the report?", "confirm", "", function() {
            if(trigger=="ok")
                rpt_do_revert();
        });

    } else {
        rpt_do_revert();
    }
}

function rpt_do_revert() {
    toggle_screen(true, true);
    $.get(rpt_url()+"&ajax=1&ldaction=wipeopts", function(data) {
        toggle_button("design_mode", false, false);
        rpt_toggle_designmode();

        rpt_reload_report();
    });

}

function rpt_exit() {
    if(ld_report_change) {
        dialog("Changes Made", "You have made changes. Do you wish to save before you exit?", "yesnocancel", "", function() {
            if(trigger=="yes") {
                rpt_save(true);
            } else if(trigger=="no") {
                ld_report_change = false;
                toggle_screen(true, true);
                $.get(rpt_url()+"&ajax=1&ldaction=wipeopts", function(data) {
                    document.location = '?link=reporting&sublink=ld';
                });
            }
        });
    } else {
        document.location = '?link=reporting&sublink=ld';
    }

}

/**/

function rpt_run_now(report_id) {
    dialog("Run Report", "Are you sure you wish to run this report now? This may take some time...", "confirm", "", function() {
        if(trigger=="ok") {
            var extra = "";

            if(parseInt($("#truncate_processed").val())>0) {
                extra="&truncate_processed="+parseInt($("#truncate_processed").val());
            }
            if($("#dm_filter_screened").attr("checked")) {
                extra+="&dm_filter_screened=1";
            }
            if($("#dm_filter_quotad").attr("checked")) {
                extra+="&dm_filter_quotad=1";
            }
            if($("#dm_filter_test").attr("checked")) {
                extra+="&dm_filter_test=1";
            }

            document.location="main.php?link=reporting&sublink=ld&s=post&form_action=edittemplate&queryform_action=run&report_id="+report_id+extra;
        }
    });

}

function rpt_create_new_data_map(questionnaire_id, default_name, report_name) {
    if(default_name==null)
        default_name = "";

    if(report_name==null)
        report_name = "";

    dialog("Create New Data Map", '<div id="st_create_linkH"><div class="st_ico"><img src="images/table.png" width="16" height="16" alt="" /></div> <div class="st_rest">Now it\'s the right time to create <a href="javascript:false" onclick="tview_summary_table_click('+questionnaire_id+',1);return false;" class="st_link">Summary Tables</a>.</div><div style="clear:left"></div></div>Please enter a name for the data map', "prompt", default_name, function() {
        if(trigger=="ok") {
            v = dialog_prompt_val;
            if(report_name=="") {
                document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newdatamap&questionnaire_id="+questionnaire_id+"&data_map_name="+v;
            } else {
                dialog("Create New Data Map", "Do you wish to create a Report Template for this Data Map?", "confirm", "", function() {
                    if(trigger=="ok") {
                        document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newdatamap&forcetemplate=1&questionnaire_id="+questionnaire_id+"&data_map_name="+v+"&report_name="+report_name;
                    } else {
                        document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newdatamap&questionnaire_id="+questionnaire_id+"&data_map_name="+v;
                    }
                });
            }
        }
    });
}

function rpt_create_new_report_template(report_id, default_name) {
    if(default_name==null)
        default_name = "";
    if(default_name=="") {
        dialog("Create New Report Template", "Please enter a name for the Report Template", "prompt", default_name, function() {
            if(trigger=="ok") {
                document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newreport&report_id="+report_id+"&report_name="+dialog_prompt_val;
            }
        });
    } else {
        document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newreport&report_id="+report_id+"&report_name="+default_name;
    }
}

function rpt_create_new_weighting_profile(report_id, qnnr_id) {
    dialog("Create New Report Template", "Please enter a name for the Weight Profile", "prompt", "New Weighting Profile", function() {
        if(trigger=="ok") {
            document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=newwprof&questionnaire_id="+qnnr_id+"&report_id="+report_id+"&profile_name="+dialog_prompt_val;
        }
    });
}

function rpt_delete_weight_profile(report_id, profile_id) {
    dialog("Delete Weight Profile", "Are you sure you wish to delete this weighting profile? This is not reversable!!", "confirm", "", function() {
        if(trigger=="ok") {
            document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=deleteweightprofile&report_id="+report_id+"&profile_id="+profile_id;
        }
    });
}

function rpt_delete_report_template(rid) {
    dialog("Delete Report Template", "Are you sure you wish to delete this template? Note that <u>data</u> will be not removed, just the layout and options for this template. This is not reversable!!", "confirm", "", function() {
        if(trigger=="ok") {
            document.location="main.php?link=reporting&sublink=ld&s=post&queryform_action=deletereport&rid="+rid;
        }
    });
}


function rpt_reset_processed(report_id) {
    dialog("Reset Processed", "Resetting the users in this report will mean they will be re-included in any future processing. Do you wish to <strong>wipe</strong> the users from the report as well as resetting their 'processed' status to prevent this?", "yesnocancel", "", function() {
        if(trigger=="yes")
            document.location="main.php?link=reporting&sublink=ld&s=post&form_action=edittemplate&queryform_action=resetandwipe&report_id="+report_id;
        else if(trigger=="no")
            document.location="main.php?link=reporting&sublink=ld&s=post&form_action=edittemplate&queryform_action=reset&report_id="+report_id;
    });

}


/** END NEW REPORTING STUFF **/

var win_resize_state;
var win_resize_height;
var win_resize_width;
var ifr_resize_height;
var print_mode = false;

function rpt_win_resize_mode(mode) {
    var win_obj = get_object("float_win");
    var ifr_obj = get_object("float_page");
    if(win_resize_state!="on" && mode=="on") {
        win_resize_width = win_obj.offsetWidth - 0;
        win_resize_height = win_obj.offsetHeight - 0;
        get_mouse_pos(event);
        win_x_first = posx;
        win_y_first = posy;
    }
    win_resize_state=mode;
}

function rpt_win_resize(top, right, bottom, left) {
    if(win_resize_state=="on") {
        document.selection.clear();
        var ifr_obj = get_object("float_page");
        var tit_obj = get_object("float_title");
        var win_obj = get_object("float_win");
        var float_bottom = get_object("float_bottom");

        if(bottom==1) {
            win_obj.style.height = win_resize_height - (win_y_first-posy)+"px";
            ifr_obj.style.height = (win_resize_height-20) - (win_y_first-posy)+"px";
            window.status=(win_y_first-posy);
        }
    }
}

function rpt_win_move_toggle(obj_id) {
    var obj = get_object(obj_id);
    if(obj) {
        var ifr_obj = get_object("float_page");
        var tit_obj = get_object("float_title");
        win_state[obj_id] = (win_state[obj_id]!="on") ? "on" : "off";
        if(win_state[obj_id]=="on") {
            win_x_pos = findPosX(obj);
            win_y_pos = findPosY(obj);
            get_mouse_pos(event);
            win_x_first = posx;
            win_y_first = posy;
            if (browser_dom=="ns4") document.captureEvents(Event.MOUSEMOVE);
            document.onmousemove = get_mouse_pos;
            if(ifr_obj) ifr_obj.style.display="none";
            win_timer[obj_id] = setInterval("win_move('"+obj_id+"')", 1);
            tit_obj.style.cursor="move";
        } else if(win_state[obj_id]!="on") {
            document.onmousemove="";
            if(ifr_obj) ifr_obj.style.display="block";
            clearInterval(win_timer[obj_id]);
            tit_obj.style.cursor='pointer';
        }
    }
}

function rpt_show_toplineoverlay(module_question_id) {
    var overlay = get_object('overlay_'+module_question_id);
    var question_anchor = get_object('rpt_module_question_'+module_question_id);
    if(overlay && question_anchor && !print_mode) {
        overlay.style.display="block";
        overlay.style.top=(findPosY(question_anchor)-194)+"px";
        overlay.style.left=((findPosX(question_anchor)+question_anchor.offsetWidth-overlay.offsetWidth-2)+"px");
    }
}

function rpt_hide_toplineoverlay(module_question_id) {
    var overlay = get_object('overlay_'+module_question_id);
    var question_anchor = get_object('rpt_module_question_'+module_question_id);
    if(overlay && !print_mode) {
        overlay.style.display="none";
    }

}

var the_module_question_id = "";
function do_make_break(val) {
    if(val!='')
        submit_topline("main.php?link=report_topline&queryform_action=makebreak&s=post&module_question_id="+the_module_question_id+"&adm_descript="+val+"&dss_globals=", "opts_breakdowns");
}

function make_break(module_question_id) {
    the_module_question_id = module_question_id;
    var v="";
    v = IEprompt("Please enter a name for this break:", "", "do_make_break(val)");
    //do_make_break(v);
}

function submit_topline(loc, view_section) {
    loc = loc + "[rptfilt_text/"+get_object('rptfilt_text').value+"]";
    loc = loc + "[rptfilt_usertype/"+get_object('rptfilt_usertype').value+"]";
    loc = loc + "[rptfilt_figures/"+get_object('rptfilt_figures').value+"]";
    loc = loc + "[rptfilt_module/"+get_object('rptfilt_module').value+"]";
    loc = loc + "[rptfilt_from/"+get_object('rptfilt_from').value+"]";
    loc = loc + "[rptfilt_to/"+get_object('rptfilt_to').value+"]";

    loc = loc + "[rptfilt_hide_labels/"+get_object('rptfilt_hide_labels').checked+"]";
    loc = loc + "[rptfilt_incompletes/"+get_object('rptfilt_incompletes').checked+"]";
    loc = loc + "[rptfilt_hidetotals/"+get_object('rptfilt_hidetotals').checked+"]";
    loc = loc + "[rptfilt_mean/"+get_object('rptfilt_mean').checked+"]";
    loc = loc + "[rptfilt_optoutonly/"+get_object('rptfilt_optoutonly').checked+"]";
    loc = loc + "[rptfilt_hide_modules/"+get_object('rptfilt_hide_modules').checked+"]";
    loc = loc + "[rptfilt_show_html/"+get_object('rptfilt_show_html').checked+"]";
    loc = loc + "[rptfilt_overlays/"+get_object('rptfilt_overlays').checked+"]";
    loc = loc + "[rptfilt_rejected/"+get_object('rptfilt_rejected').checked+"]";
    loc = loc + "[rptfilt_routeout/"+get_object('rptfilt_routeout').checked+"]";
    loc = loc + "[rptfilt_bounced/"+get_object('rptfilt_bounced').checked+"]";
    loc = loc + "[rptfilt_test/"+get_object('rptfilt_test').checked+"]";
    loc = loc + "[rptfilt_showallres/"+get_object('rptfilt_showallres').checked+"]";
    loc = loc + "[rptfilt_exploops/"+get_object('rptfilt_exploops').checked+"]";
    loc = loc + "[rptfilt_usertags/"+get_object('rptfilt_usertags').checked+"]";

/*    if(get_object('rptfilt_hidetotals').checked==true) {
        loc = loc + "[rptfilt_showallres/"+get_object('rptfilt_showallres').checked+"]";
    } else {
        loc = loc + "[rptfilt_showallres/]";
    }
*/    loc = loc + "[rptfilt_qonly/"+get_object('rptfilt_qonly').checked+"]";
    loc = loc + "[rptfilt_routing/"+get_object('rptfilt_routing').checked+"]";

    if(get_object('rptfilt_breakdown').value!=0) {
        (get_object('rptfilt_breakdown_list').value=="") ? sep = "" : sep = ",";
        loc = loc + "[rptfilt_breakdown_list/"+get_object('rptfilt_breakdown_list').value+sep+get_object('rptfilt_breakdown').value+"]";
    }

    if(get_object('rptfilt_qnnrs').value!=0) {
        (get_object('rptfilt_qnnrs_list').value=="") ? sep = "" : sep = ",";
        loc = loc + "[rptfilt_qnnrs_list/"+get_object('rptfilt_qnnrs_list').value+sep+get_object('rptfilt_qnnrs').value+"]";
    }

    if(view_section) {
        loc = loc + "[view_section/"+view_section+"]";
    } else {
        if(get_object('opts_user_filter').display=="none") loc = loc + "[view_section/opts_user_filter]";
        if(get_object('opts_view_filter').display=="none") loc = loc + "[view_section/opts_view_filter]";
        if(get_object('opts_misc_opts').display=="none") loc = loc + "[view_section/opts_misc_opts]";
        if(get_object('opts_breakdowns').display=="none") loc = loc + "[view_section/opts_breakdowns]";
        if(get_object('opts_restrict_by').display=="none") loc = loc + "[view_section/opts_restrict_by]";
    }
    document.location=(loc);
}

function submit_applybreak(loc, view_section) {
    //document.write(loc);
    loc = loc + "[rptfilt_text/"+get_object('rptfilt_text').value+"]";
    loc = loc + "[rptfilt_usertype/"+get_object('rptfilt_usertype').value+"]";
    loc = loc + "[rptfilt_figures/"+get_object('rptfilt_figures').value+"]";
    loc = loc + "[rptfilt_module/"+get_object('rptfilt_module').value+"]";
    loc = loc + "[rptfilt_from/"+get_object('rptfilt_from').value+"]";
    loc = loc + "[rptfilt_to/"+get_object('rptfilt_to').value+"]";

    loc = loc + "[rptfilt_hide_labels/"+get_object('rptfilt_hide_labels').checked+"]";
    loc = loc + "[rptfilt_incompletes/"+get_object('rptfilt_incompletes').checked+"]";
    loc = loc + "[rptfilt_hidetotals/"+get_object('rptfilt_hidetotals').checked+"]";
    loc = loc + "[rptfilt_mean/"+get_object('rptfilt_mean').checked+"]";
    loc = loc + "[rptfilt_optoutonly/"+get_object('rptfilt_optoutonly').checked+"]";
    loc = loc + "[rptfilt_hide_modules/"+get_object('rptfilt_hide_modules').checked+"]";
    loc = loc + "[rptfilt_show_html/"+get_object('rptfilt_show_html').checked+"]";
    loc = loc + "[rptfilt_overlays/"+get_object('rptfilt_overlays').checked+"]";
    loc = loc + "[rptfilt_rejected/"+get_object('rptfilt_rejected').checked+"]";
    loc = loc + "[rptfilt_bounced/"+get_object('rptfilt_bounced').checked+"]";
    loc = loc + "[rptfilt_routeout/"+get_object('rptfilt_routeout').checked+"]";
    loc = loc + "[rptfilt_test/"+get_object('rptfilt_test').checked+"]";
    loc = loc + "[rptfilt_showallres/"+get_object('rptfilt_showallres').checked+"]";
    loc = loc + "[rptfilt_exploops/"+get_object('rptfilt_exploops').checked+"]";

/*    if(get_object('rptfilt_hidetotals').checked==true) {
        loc = loc + "[rptfilt_showallres/"+get_object('rptfilt_showallres').checked+"]";
    } else {
        loc = loc + "[rptfilt_showallres/]";
    }
*/    loc = loc + "[rptfilt_qonly/"+get_object('rptfilt_qonly').checked+"]";
    loc = loc + "[rptfilt_routing/"+get_object('rptfilt_routing').checked+"]";

    if(get_object('rptfilt_breakdown').value!=0) {
        (get_object('rptfilt_breakdown_list').value=="") ? sep = "" : sep = ",";
        loc = loc + "[rptfilt_breakdown_list/"+get_object('rptfilt_breakdown_list').value+sep+get_object('rptfilt_breakdown').value+"]";
    }

    if(get_object('rptfilt_qnnrs').value!=0) {
        (get_object('rptfilt_qnnrs_list').value=="") ? sep = "" : sep = ",";
        loc = loc + "[rptfilt_qnnrs_list/"+get_object('rptfilt_qnnrs_list').value+sep+get_object('rptfilt_qnnrs').value+"]";
    }

    if(get_object('rptfilt_ab_questions').value!=0) {
        (get_object('rptfilt_ab_list').value=="") ? sep = "" : sep = ",";
        loc = loc + "[rptfilt_ab_list/"+get_object('rptfilt_ab_list').value+sep+get_object('rptfilt_ab_questions').value+"]";
    }

    loc = loc + "[rptfilt_ab_nested/"+get_object('rptfilt_ab_nested').checked+"]";

    if(view_section) {
        loc = loc + "[view_section/"+view_section+"]";
    } else {
        if(get_object('opts_user_filter').display=="none") loc = loc + "[view_section/opts_user_filter]";
        if(get_object('opts_view_filter').display=="none") loc = loc + "[view_section/opts_view_filter]";
        if(get_object('opts_misc_opts').display=="none") loc = loc + "[view_section/opts_misc_opts]";
        if(get_object('opts_breakdowns').display=="none") loc = loc + "[view_section/opts_breakdowns]";
        if(get_object('opts_restrict_by').display=="none") loc = loc + "[view_section/opts_restrict_by]";
        if(get_object('opts_apply_break').display=="none") loc = loc + "[view_section/opts_apply_break]";
    }
    document.location=(loc);
}


function topline_toggle_opts(menu_name) {
    get_object('opts_user_filter').style.display="none";
    get_object('rpt_toolbar_option_user_filter').className="rpt_toolbar_option";

    get_object('opts_view_filter').style.display="none";
    get_object('rpt_toolbar_option_view_filter').className="rpt_toolbar_option";

    get_object('opts_misc_opts').style.display="none";
    get_object('rpt_toolbar_option_misc_opts').className="rpt_toolbar_option";

    get_object('opts_breakdowns').style.display="none";
    get_object('rpt_toolbar_option_breakdowns').className="rpt_toolbar_option";

    get_object('opts_restrict_by').style.display="none";
    get_object('rpt_toolbar_option_restrict_by').className="rpt_toolbar_option";

    get_object('opts_'+menu_name).style.display="";
    get_object('rpt_toolbar_option_'+menu_name).className="rpt_toolbar_option_sel";
}

// CC 010708 - Toggle options for apply_breaks
function apply_break_toggle_opts(menu_name) {
    get_object('opts_user_filter').style.display="none";
    get_object('rpt_toolbar_option_user_filter').className="rpt_toolbar_option";

    get_object('opts_view_filter').style.display="none";
    get_object('rpt_toolbar_option_view_filter').className="rpt_toolbar_option";

    get_object('opts_misc_opts').style.display="none";
    get_object('rpt_toolbar_option_misc_opts').className="rpt_toolbar_option";

    get_object('opts_breakdowns').style.display="none";
    get_object('rpt_toolbar_option_breakdowns').className="rpt_toolbar_option";

    get_object('opts_restrict_by').style.display="none";
    get_object('rpt_toolbar_option_restrict_by').className="rpt_toolbar_option";

    get_object('opts_apply_break').style.display="none";
    get_object('rpt_toolbar_option_apply_break').className="rpt_toolbar_option";

get_object('opts_'+menu_name).style.display="";
    get_object('rpt_toolbar_option_'+menu_name).className="rpt_toolbar_option_sel";
}


function clear_topline(loc) {
    loc = loc + "[rptfilt_text/]";
    loc = loc + "[rptfilt_usertype/]";
    loc = loc + "[rptfilt_figures/]";

    loc = loc + "[rptfilt_breakdown_list/]";
    loc = loc + "[rptfilt_qnnrs_list/]";

    loc = loc + "[rptfilt_hidetotals/]";
    loc = loc + "[rptfilt_qonly/]";
    loc = loc + "[rptfilt_routing/]";
    loc = loc + "[rptfilt_routeout/]";
    loc = loc + "[rptfilt_rejected/]";
    loc = loc + "[rptfilt_bounced/]";
    loc = loc + "[rptfilt_incompletes/]";
    loc = loc + "[rptfilt_showallres/]";
    loc = loc + "[rptfilt_mean/]";
    loc = loc + "[rptfilt_optoutonly/]";
    loc = loc + "[rptfilt_hide_labels/]";
    loc = loc + "[rptfilt_hide_modules/]";
    loc = loc + "[rptfilt_show_html/]";
    loc = loc + "[rptfilt_overlays/]";
    loc = loc + "[rptfilt_exploops/]";

    loc = loc + "[rptfilt_module/]";
    loc = loc + "[rptfilt_from/]";
    loc = loc + "[rptfilt_to/]";


    document.location=(loc);
}

function toggle_topline_export(module_question_id, force) {
    q = get_object('tick_'+module_question_id);
    (q.style.backgroundImage=='url(images/bg_selected.gif)' || force==true) ? q.style.backgroundImage='' : q.style.backgroundImage='url(images/bg_selected.gif)';
}

function toggle_topline_export_mod(module_id, force) {
    q = get_object('tick_module_'+module_id);
    (q.style.backgroundImage=='url(images/bg_selected_dark.gif)' || force==true) ? q.style.backgroundImage='' : q.style.backgroundImage='url(images/bg_selected_dark.gif)';
}


function ajax_get_questions(panel_id, questionnaire_id, location, ab_list, curr_id) {
    rand = Math.floor(Math.random()*10000);
    $.ajax({
        type: "GET",
        url: "ajax/ajax_get_questions.php",
        data: "p="+panel_id+"&q="+questionnaire_id+"&loc="+URLEncode(location)+"&ab_list="+ab_list+"&curr_id="+curr_id+"&rand="+rand,
        success: function(data){
            $("#ab_questions").html(data);
        }
    });
}
