// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// facilitates pagination utilizing the default METHOD for the search form
// enables search form to use POST to keep from having really long URL's
// stores page number in hidden field with ID of "page"
function pager(page, element_id) {
    document.getElementById(element_id).value = page
    document.getElementById(element_id).form.submit()
}

// facilitates resorting the search results similar to the pager function
function sorter(sort_column, element_id_prefix) {
    document.getElementById(element_id_prefix + "sort_column").value = sort_column
    if ( document.getElementById(element_id_prefix + "sort_order").value == "descending" )
        document.getElementById(element_id_prefix + "sort_order").value = "ascending"
    else
        document.getElementById(element_id_prefix + "sort_order").value = "descending"
    document.getElementById(element_id_prefix + "sort_column").form.submit()   
}

// used with autocomplete to send the search parameter and search text
function acq_auto_complete(param_id, text_id) {
    return 'search_param=' + escape(document.getElementById(param_id).value) + 
    '&search_text=' + escape(document.getElementById(text_id).value)
}

// add parantheses around the result chosen
function addparan(e, v) {
    e.value = '"' + e.value + '"'
}

// onchange update a target id
function set_on_change(source_id, target_id) {
    document.getElementById(target_id).value = document.getElementById(source_id).value
}

// set next set of column chunks
function set_next_chunks(target_div_prefix, chunk_columns) {
    next_current_chunk = current_chunk + chunks_set
    chunks_to_set = (next_current_chunk + 2 < chunk_array.length ? 3 : chunk_array.length - next_current_chunk)
    if ( chunks_to_set == 0 )
        return
    for ( i = 0; i < chunk_columns; i++ )
        document.getElementById(target_div_prefix + i).innerHTML = ''
    for ( i = 0; i < chunks_to_set; i++ )
        document.getElementById(target_div_prefix + i).innerHTML = chunk_array[next_current_chunk + i]
    current_chunk = next_current_chunk
    chunks_set = chunks_to_set
}

// set prev set of column chunks
function set_prev_chunks(target_div_prefix, chunk_columns) {
    next_current_chunk = current_chunk - 3
    if ( next_current_chunk < 0 )
        return
    for ( i = 0; i < chunk_columns; i++ )
        document.getElementById(target_div_prefix + i).innerHTML = ''
    for ( i = 3; i > 0; i-- )
        document.getElementById(target_div_prefix + (3-i)).innerHTML = chunk_array[current_chunk - i]
    current_chunk = next_current_chunk
    chunks_set = 3 
}