﻿/////////////////////////////////////////////////////////////////////////
// table_checkboxes.js
//
// This Javascript file contains functions to create and handle sortable
// checkboxes in table cells.
//
/////////////////////////////////////////////////////////////////////////

addEvent( window, "load", cb_td_init );

var checked_display   =   '<img src="images/box_checked.gif"><span class="hide">C</span>'; // Checked box.
var unchecked_display =   '<img src="images/box_unchecked.gif"><span class="hide">U</span>'; // Empty box.
var uncheckable_display = '<img src="images/box_x-ed_out.gif"><span class="hide">Z</span>'; // Box with red X.

/////////////////////////////////////////////////////////////////////////
function cb_td_init() {

	// Find all cells (<td>) with class 'cb_td' and insert a checkbox link in each.
	if (!document.getElementsByTagName) return;
	var td_list = document.getElementsByTagName( "td" );
	for ( ti = 0; ti < td_list.length; ti++) {
		this_cell = td_list[ti];
		if ( (' ' + this_cell.className + ' ').indexOf( "cb_td" ) != -1 ) {
			var cell_id = "cb_td" + ti;
			var call_text = "javascript:cb_td_toggle('" + cell_id + "');";
			var link_text = '<a id="' + cell_id + '" href="' + call_text + '">' + unchecked_display + '</a>';
			this_cell.innerHTML = link_text;
		}
	}
}

/////////////////////////////////////////////////////////////////////////
function cb_td_toggle( id_to_toggle ) {

	var the_element = document.getElementById( id_to_toggle );
	var original_state = the_element.innerHTML;
	var new_state;
	
	the_element.innerHTML = unchecked_display;
	new_state = the_element.innerHTML;
	if ( new_state == original_state )
		the_element.innerHTML = checked_display;
}
