function add_row()
{
      form_row_count++;
      var form_table 	= document.getElementById('form_table');
      var newRow 	= form_table.insertRow(form_table.rows.length - 1);
      var newCell       = newRow.insertCell(0);
      newCell.innerHTML = '<br><b>' + form_row_count +  ':</b>';
      var newCell1      = newRow.insertCell(1);
      newCell1.align     = 'center';
      newCell1.innerHTML = 'Search field:<br><select style="font-size: 0.916em;" name="field_sel'+
                           form_row_count + '" onChange="search_change('+ form_row_count +
                           ')" id="field' + form_row_count + '"></select>';
      var newCell2       = newRow.insertCell(2);
      newCell2.align     = 'center';
      newCell2.innerHTML = fld_txt + '<select style="font-size: 0.916em;width:148px;height:19px;" name="textfield' +
				   form_row_count + '" id="term' + form_row_count + '"></select>';
      var newCell3       = newRow.insertCell(3);
      newCell3.align     = 'center';
      newCell3.innerHTML = 'Connector: <select name="connector' + form_row_count +
                           '" id="connector' + form_row_count +
                           '"><option value="">and/or/not</option><option value="AND">AND</option>'+
                           '<option value="OR">OR</option><option value="NOT">NOT</option></select>';
      var select_fld     = document.getElementById('field' + form_row_count);
      populate_fields(select_fld);
      var newRow_hr 	 = form_table.insertRow(form_table.rows.length - 1);
      var newCell_hr     = newRow_hr.insertCell(0);
      newCell_hr.colSpan = 4;
      newCell_hr.innerHTML  = '<hr width="97%">';
}

function pop_list()
{
      reset_form();
      for (i=1;i<=form_row_count;i++)
      {
            var select_fld = document.getElementById('field'+i);
            populate_fields(select_fld);
      }
}
function populate_fields(select_obj)
{
      for (var i=0;i<opvalues.length;i++)
      {
          select_obj.options[i] = new Option(opvalues[i],opvalues[i]);
      }
      select_obj.options[0].value = false;
}

function populate_select(select_obj, value_list)
{
      fld_arr = new Array;
      switch (value_list)
      {
          case '- methods':
               fld_arr = methods;
               break;
          case '- country':
               fld_arr = country_var;
               break;
          case '- other demographics':
               fld_arr = dem_var;
               break;
          case '- other variables':
               fld_arr = oth_var;
               break;
          case '- other drinking':
               fld_arr = oth_drink;
               break;
          case '- other alcohol variables':
               fld_arr = oth_alc_var;
               break;
          case '- health status and behaviour':
               fld_arr = h_stat_var;
               break;
          case '- age greater than':
               fld_arr = agt;
               break;
          case '- age less than':
               fld_arr = alt;
               break;
          case '- age includes':
               fld_arr = ain;
               break;
          case '- sample size greater than':
               fld_arr = ss_var;
               break;
          case '- sample size less than':
               fld_arr = ss_var;
               break;
          case '- method of contact':
               fld_arr = methcontact_var;
               break;
          case '- regional breakdown':
               fld_arr = geog_var;
               break;
          case '- title':
               fld_arr = title_var;
               break;
          case '- consumption':
               fld_arr = cons_var;
               break;
          case '- dates include':
               fld_arr = year_var;
               break;
          case '- drinking patterns':
               fld_arr = sing_occ_var;
               break;
          default:
      }
      for (var i=0;i<fld_arr.length;i++)
      {
          var meth_str = fld_arr[i];
          select_obj.options[i] = new Option(meth_str,meth_str);
      }
      select_obj.options[0].value = false;
}

function search_change(box_index)
{
      var val  = document.getElementById('field' + box_index).value;
      var tbox = document.getElementById('term' + box_index);
      var term_id = 'term' + box_index;
	tbox.parentNode.innerHTML = fld_txt + '<select style="font-size: 0.916em;width:148px;height:19px;" name="textfield' + box_index + '" id="' + term_id + '"></select>';

      switch (val)
      {
          case '- methods':
          case '- other demographics':
          case '- consumption':
          case '- other drinking':
          case '- other variables':
          case '- other alcohol variables':
          case '- health status and behaviour':
          case '- country':
          case '- sample size greater than':
          case '- sample size less than':
          case '- age greater than':
          case '- age less than':
          case '- age includes':
          case '- regional breakdown':
          case '- drinking patterns':
          case '- title':
          case '- dates include':
          case '- method of contact':
              var which_select = document.getElementById(term_id);
		  populate_select(which_select,val);
              break;
          default:
              document.getElementById('term'+ box_index).disabled = 'true';
      }
}

function reset_form()
{
      document.forms[0].reset();
      for (var txtfld = 1; txtfld<11; txtfld++)
      {
          var txt_id     = 'term'+txtfld;
          var txtelement = document.getElementById(txt_id);
          if (txtelement == null) return false;
          txtelement.parentNode.innerHTML = fld_txt +
    			'<select style="font-size: 0.916em;width:148px;height:19px;" name="textfield' +
			txtfld + '" id="' + txt_id + '"></select>';
      }
      return false;
}

function check_before_send()
{
 	var no_connector = 0;
     	for (var qrow = 1;qrow < 11; qrow++)
     	{
     	   var term_id  	= 'term' + qrow;
     	   var field_id   = 'field' + qrow;
	   var tbox 	= document.getElementById(term_id);
	   var fbox 	= document.getElementById(field_id);

	   if (qrow > form_row_count)
	   {
	   	 document.series_form.submit();
	   	 return;
	   }

	   if (fbox.selectedIndex > 0 && tbox.selectedIndex == 0)
	   {
	   	alert("Search data is incomplete for search-field " + qrow);
	   	return;
	   }

	   if (qrow == 1) continue;

     	   var previous_connector = 'connector'+(qrow-1);
	   var connect_box 	= document.getElementById(previous_connector);
	   var connect_box_txt 	= connect_box.options[connect_box.selectedIndex].text;
	   if (connect_box_txt == "and/or/not") no_connector = 1;

	   if (tbox.options[0] != null && no_connector == 1)
	   {
	   	alert("You have added search data in a row without a connecting AND/OR/NOT, either reset the form or choose AND/OR/NOT");
	   	return;
	   }
      }
	return;
}

function toggle_both()
{
	var extra = document.getElementById('extra_text');
	var lnk = document.getElementById('toggle_link');
	if ( extra.style.display != 'none' ) {
		extra.style.display = 'none';
		lnk.innerHTML = '---Click to read more---';
	}
	else {
		extra.style.display = '';
		lnk.innerHTML = '---Click to close and continue with search---';
	}
}


