// @(#) mapfns.js 1.3 11/12/09 16:18:20 Copyright 2008, Multistate, Inc.

function highlightState(state) {
  lowlightStates();
  $('#' + state + 'O').show().click(function() {
    clickState(state);
  });
  //tipState(eval(state + 'data'));
  return false;
}
function lowlightStates() {
  //$('div.m-over:visible').each(function() {
  $('div.m-over').each(function() {
    $(this).hide();
  });
  return false;
}
function lowlightState(state) {
  $('#' + state + 'O').hide();
  return false;
}
function clickState(state) {
  $('#' + state + 'check').attr('checked',true);
  $('#' + state).show().click(function() {
    $(this).hide();
    $('#' + state + 'check').attr('checked',false);
  });
  return false;
}
function unclickState(state) {
  $('#' + state + 'check').attr('checked',false);
  $('#' + state).hide().click(function() {
    $(this).show();
    $('#' + state + 'check').attr('checked',true);
  });
  return false;
}
function clickCat(cat,click) {
  if (click) {
    $('#a' + cat).unbind('click').click(function() {
      clickCat(cat,false);
    });
    $('.' + cat).each(function() {
      clickState($(this).attr('id').substr(0,2));
    });
  } else {
    $('#a' + cat).unbind('click').click(function() {
      clickCat(cat,true);
    });
    $('.' + cat).each(function() {
      unclickState($(this).attr('id').substr(0,2));
    });
  }
  return false;
}
function highCat(cat,orig) {
  lowlightStates();
  $('.' + cat).each(function() {
    $(this).show();
  });
  Tip(orig);
  return false;
}
function toggleAllStates(select) {
  $(':checkbox').each(function() {
    if (select) { $(this).attr('checked',true); }
    else { $(this).attr('checked',false); }
  });
  $('.clicked').each(function() {
    if (select) {
      $(this).show().click(function() { $(this).hide(); } );
    }
    else { $(this).hide(); }
  });
  return false;
}
function tipState(sdata) {
  /* it's assumed that sdata is declared */
  if (sdata != '') { Tip(sdata); }
  return false;
}
function initStates() {
  var state = '';
  $(':checkbox').each(function() {
    if ($(this).attr('checked')) {
      state = $(this).attr('id').substring(0,2);
      clickState(state);
    }
  });
  return false;
}
