$(document).ready(function()
{
        $(".display:tr:last:#sum_row").css("background-color","#ff0000");
        //apply_style_table();
});

function build_table(parameter, offset, count, hidden_field, via_search){
    $.ajax({
        type: "GET",
        url: "?"+parameter,
        data: "offset="+offset+"&count="+count+"&via_search="+via_search,
        success: function(msg){
        response = eval("(" + msg + ")")
        if (response.stat){
            document.getElementById("sum").value = response.sums_row;
            page_sum();
            sale_table_data = eval(response.table_data)
            //sale_table_data = response.table_data
            build_items(sale_table_data, hidden_field);
            }

}
});
}


function build_items(sale_table_data, hidden_field){
    document.getElementById("sales_table_container").innerHTML = "";
    hidden_field = document.getElementById("hidden_field").value;
    hidden_field_array = eval(hidden_field);

    var table_struct =  "<table summary='report' id='sales_table' class='tablesorter' cellpadding='0' cellspacing='1''><thead><tr>"


    for(i=0;i<hidden_field_array.length;i++)
    {
        var table_struct = table_struct +  "<td style='white-space: nowrap; text-align:left;width:100%;'><input type='text' name='{{ field }}' id='{{ field }}' value='' class='search_field' style='width:94%;border: 0px solid #0000ff;' /></td>"
    }
    
    var table_struct = table_struct + "</tr><tr class='contentHeader'>" 
    for(i=0;i<hidden_field_array.length;i++)
    {
        var table_struct = table_struct+ "<th style='white-space:nowrap; text-align:left;'>&nbsp;&nbsp;&nbsp;&nbsp;"+hidden_field_array[i]+"&nbsp;&nbsp;&nbsp;&nbsp;</th>"
    }

    var table_struct = table_struct+"</tr></thead>"
    var generate_tbody = ''
            for(x=0;x<sale_table_data.length;x++)
            {
                var generate_tr = '<tr>'
                items_list = eval(sale_table_data[x]);
                var item = '';
                for(var j=0;j<items_list.length;j++){
                   item = item +"<td style='white-space:nowrap; text-align:left;color:#1b4409;font-weight: bold;'>"+ items_list[j]  +"</td>"
                }
                generate_tbody = generate_tbody + generate_tr + item + "</tr>"
            }
            generate_tbody = table_struct + "<tbody>" + generate_tbody+"</tbody></table>";
            document.getElementById("sales_table_container").innerHTML = generate_tbody;
            //apply_style_table()
        //$(".tablesorter").tablesorter();
        $("#pagination a:first").css("background-color","#f5f5f5");
}

$(document).ready(function()
    {
        //$(".tablesorter").tablesorter();
        $("#pagination a:first").css("background-color","#fff");
        $("#pagination a:first").css("border","0");
    }
);

/* Animation effects for displaying panels in each report */
function show_help(){

            
    //$("#help_panel").html("<span style='text-align:left;'>In order to show/hide columns in the report please <br />check/uncheck the appropriate columns names. </span>");
    
    $('#help_panel').corner({
                antiAlias: true,
                autoPad: true
        });


    if ($("#help_panel").is(":hidden"))
    {
        
        $("#help_panel").show("fast");
        
    }
    else{
        
        $("#help_panel").hide("fast");

    }
}


function set_value(checkbox_id)
{
   for (var i=0;i<unselected_columns.length;i++)
   {
        if (document.getElementById(checkbox_id).value == unselected_columns[i])
            {
                pos = i;
                unselected_columns.splice(pos,1);
             }   
    }



   eval_unselected_columns = eval(unselected_columns);
   document.getElementById("new_invisible_columns").value = eval_unselected_columns;
        document.getElementById("new_invisible_columns").value = eval_unselected_columns;

    if(document.getElementById(checkbox_id).checked == true){
        selected_columns.push(document.getElementById(checkbox_id).value);
        eval_selected_columns = eval(selected_columns);
        document.getElementById("new_visible_columns").value = eval_selected_columns;
                
    }    
    
}

function reset_value(checkbox_id)
{
        for (var i=0;i<selected_columns.length;i++)
        {
            if (document.getElementById(checkbox_id).value == selected_columns[i])
                {
                    pos = i;
                    selected_columns.splice(pos,1);
                }   
        }

        eval_selected_columns = eval(selected_columns);
        document.getElementById("new_visible_columns").value = eval_selected_columns;
        document.getElementById("new_visible_columns").value = eval_selected_columns;
 
    if(document.getElementById(checkbox_id).checked == false){
        unselected_columns.push(document.getElementById(checkbox_id).value);
        eval_unselected_columns = eval(unselected_columns);
        document.getElementById("new_invisible_columns").value = eval_unselected_columns;
    

    } 
    
}

function send_values(parameter, visible_fields, invisible_fields){
    var v_fields = document.getElementById(visible_fields).value;
    //var visible = eval(v_fields.split(','));
    //alert(visible);
    var i_fields = document.getElementById(invisible_fields).value;
    //var invisible = eval(i_fields.split(','));
    //alert(invisible);
     $.ajax({
        type: "GET",
        url: "?"+parameter,
        data: "visible_fields="+v_fields+"&invisible_fields="+i_fields,
        success: function(msg){
        response = eval("(" + msg + ")")
            if (response.stat){
                alert(response.stat)
                document.getElementById("panel_content").innerHTML = "";

                li = "<li class='fields'>";
                for (var i=1;i<response.visible.length;i++) {
                    li += "<input type='checkbox' id='check_selected"+i+"' value = '"+response.visible[i]+"' checked='checked' onclick=\"reset_value('check_selected"+i+"');\" />"+response.visible[i]
                }    
                alert(li);
                
                for (var i=1;i<response.invisible.length;i++) {
                    li += "<input type='checkbox' id='check_selected"+i+"' value = '"+response.invisible[i]+"' onclick=\"reset_value('check_selected"+i+"');\" />"+response.invisible[i]
                }
                li += "</li>"
                alert(li);
                document.getElementById("panel_content").innerHTML += li;



                //return true;
                //
            }

        }
});
   
}    
    
function search(form_id, button_id, button_val, event){

var keypressed = event.which || event.keyCode;
if (keypressed == 13) { // on enter key press
    document.getElementById(button_id).value = button_val;
    document.getElementById("search_flag").value = 'true';
    document.getElementById(form_id).submit();
}

}

function set_parameters(parameters){
var params = eval(parameters);
for(var i=0;i<params.length;i++)
{
    document.getElementById(params[i][0]).value = params[i][1];
       
}   

}

function reset_parameters(parameters){
var params = eval(parameters);
for(var i=0;i<params.length;i++)
{
    document.getElementById(params[i][0]).value = "";
       
}   

}
/*function apply_preference(){
    send_values('build_table','visible_columns','hidden_columns');
    document.getElementById('panel_form').submit();
}*/    

function show_element(){
    document.getElementById("page_number{{forloop.conter }}").style.display = 'hidden';
    
}

function show_panel(){
    $(".panel-container").dialog('open');
}


function page_sum()
{
        var sums = eval($("#sum").val());
        var last_row = "<tr id='sum_row'>";

        for (var i=0;i<sums.length;i++)
        {
            last_row = last_row + "<td style='color: #fff;background-color: #5b7cee;text-align: right; font-weight:bold;'>" + sums[i] + "</td>";
        }
        last_row = last_row + "</tr>";
        return last_row;

}

function reload_table(){
var params = eval(parameters);
     $.ajax({
        type: "GET",
        url: "?reload_report",
        data: "a=show_all",
        success: function(msg){
        response = eval("(" + msg + ")")
        if (response.stat){
            //$("search_info").slideUp("slow");
	    //reset_parameters(parameters);
        location.reload();
        }
}

});
}    

function export_to_format(report_name, format, page_number){
    var target = '/reports/'+report_name+'/'+format+'/'+page_number
    window.location = target.toString();
}    

function delete_row(){
        if (document.getElementById("append_flag").value =="1"){
            $("#report_table > tbody > tr:last").remove();
	   }    
	   document.getElementById("grand_append_flag").value = "0";	
}

/* Display popup div on enter key event */

function capture_keypress(event,flag){
    try{
        var keypress = event.which || event.keyCode
        if(keypress ==13 && flag=="loginForm"){
           document.getElementById("hidLogin_id").value = "Log In";
	   document.getElementById ("loginForm").submit();
	}

	if(keypress ==13 && flag=="profile_f"){
           document.getElementById("submit1").value = "Submit";
	   document.getElementById ("profile_f").submit();
	}

    }catch(err){
        alert(err.description + 'capture_keypress()');
    }

}
function filter_result(form_id, button_id, button_val){

    document.getElementById(button_id).value = button_val;
    document.getElementById(form_id).submit();
}

function display_grand_last_row(){
    var grand_last_row = grand_page_sum();
        if (document.getElementById("grand_append_flag").value == "0") {
            $("#report_table tbody tr:last").after(grand_last_row);
            document.getElementById("grand_append_flag").value = "1";
            $("#grand_total_link").click(function(event) {
                event.preventDefault();
            });
          }    
}

function grand_page_sum()
{
  var hidden_table_header = new Array();
  hidden_table_header = eval(document.getElementById("hidden_table_header").value);
    $.ajax({
        type: "GET",
        url: "?get_total_sum",
        success: function(msg){
        response = eval("(" + msg + ")")
        if (response.stat){
            last_row = '<tr>'
            empty_cell = '<td style="text-align:left;color:#fff;background-color: #5b7cee;white-space:nowrap;">&nbsp;</td>';
            replaced_key = new Array();
            var k = 0;
            for(var i=0;i<hidden_table_header.length;i++) {
                replaced_key = hidden_table_header[i].replace(" ", "_");
                if (response.grand_total[replaced_key]!= undefined) {
                    data_cell = '<td style="text-align:right;color:#fff;background-color: #5b7cee;font-weight:bold;white-space:nowrap;" >'+response.grand_total[replaced_key]+'</td>';
                    last_row = last_row + data_cell;
                }    
                else {
                  last_row = last_row + empty_cell;
                }  
            }        
        }
        if (document.getElementById("append_flag").value == "0") {
            $("#report_table tbody tr:last").after(last_row);
            document.getElementById("append_flag").value = "1";
        }    
     }   
  });
}

/* Method to add css via javascript */

function add_css(css_path){
    var headID = document.getElementsByTagName("head")[0];
    var cssNode = document.createElement('link');
    cssNode.type = 'text/css';
    cssNode.rel = 'stylesheet';
    cssNode.href = css_path;
    cssNode.media = 'screen';
    headID.appendChild(cssNode);
}

$(function() {
  $(".panel-container").dialog({
      bgiframe: true,
      height:  200,
      width: 600,
      modal: true,
      autoOpen: false,
      draggable: false,
      resizable: false,
      title: 'Show Hide/Columns'

});
});

function toggle_checkbox(checkbox_id) {
    var model_attr_verbose_map = eval("(" + document.getElementById("field_verbose_name_map").value + ")");
    for (var key in col_visibility) {
        if ($("#"+checkbox_id).val() == model_attr_verbose_map[key]) {
            if (document.getElementById(checkbox_id).checked == true) {
                col_visibility[key] = true;
            }
            else {
                col_visibility[key] = false;
            }
        }
    }
}

/* Preferences for each dealer*/
function set_preference() {
    json_dict = JSON.stringify(col_visibility);
    $.ajax({
        type: "GET",
        url: "?apply_pref",
        data: "columns="+encodeURI(json_dict),
        success: function(msg){
        response = eval("(" + msg + ")")
            if (response.stat) {
                $(this).dialog('close');
                location.reload();
            }
        }
    });
}

