/* When a date combobox is changed, the values of the other comboboxes are combined here
		and applied to the hidden date field (identified by field_name).
*/
function combineDates(field_name){
	m = document.getElementById( field_name + '_m').value;
	if( m.length == 1 )
		m = '0' + m;
	d = document.getElementById( field_name + '_d').value;
	if( d.length == 1 )
		d = '0' + d;
	new_date = document.getElementById( field_name + '_y').value + '-' +
		m + '-' + d;
	if( document.getElementById( field_name + '_h') ){
		h = document.getElementById( field_name + '_h').value;
		if( h.length == 1 )
			h = '0' + h;
		mn = document.getElementById( field_name + '_mn').value;
		if( mn.length == 1 )
			mn = '0' + mn;
		new_date = new_date + ' ' + h + ':' + mn;
	}
	if( new_date == '--' || new_date == '-- :' )
		new_date = '';
	document.getElementById(field_name).value = new_date;
}
function clearDateField(field_name){
	document.getElementById(field_name).value = '';
	document.getElementById( field_name + '_m').value = null;
	document.getElementById( field_name + '_y').value = null;
	document.getElementById( field_name + '_d').value = null;
	if( document.getElementById( field_name + '_h') )
		document.getElementById( field_name + '_h').value = null;
	if( document.getElementById( field_name + '_mn') )
		document.getElementById( field_name + '_mn').value = null;
}

function swapList(src,dest,hidden){
	if(src.selectedIndex == -1)	
		return;
	var k = src.options[src.selectedIndex].value;
	var v = src.options[src.selectedIndex].text;
	var found=0;
  for( var i=0;i<dest.length;++i){
  	if( dest.options[i].text==v ){
  		found=1;
  	}
  }
  if( found==0 && dest.length < 3 ){
	  var opt = document.createElement('option');
	  opt.text=v;
	  opt.value=k;
	  if( isIE() )
			dest.add(opt);
		else
			dest.add(opt,null);
		/* this adds to the start of the list, but IE does not accept the standards-compliant
			method of adding to the end of the list (add(opt,null)) and I'd rather not
			have to detect the browser type.
		*/
		hidden.value=get_value_list(dest);
	}
}
function deleteFromList(obj,hidden){
	if(obj.selectedIndex == -1)	
		return;
	obj.remove(obj.selectedIndex);
	hidden.value= get_value_list(obj);
}

function get_value_list(obj){
	s='';
	for( var i=0;i<obj.length;++i){
		if( s.length>0 )
			s=s+',';
		s=s+ obj.options[i].value;
	}
	return s;
}

function isIE(){
return (navigator.appName=="Microsoft Internet Explorer")
}

function toggleDisplay(s){
if( document.getElementById(s).style.display == 'none' )
	document.getElementById(s).style.display = '';
else
	document.getElementById(s).style.display = 'none';
}

