  var noToggle = false;
  var areas = new Array();
  
  function cancelToggle() {
    if (!noToggle) noToggle = true;
  }
  
  function setArea(a,c) {
    areas[a] = c;
  }
  
  function updateTerritories(area, force_area) {
    var c = areas[area];
    var c_l = c.length;
    var num_sel = 0;
    var ar = $('#area_checkbox_'+area);
    var area_checked = (ar.attr("class") == 'unchecked') ? false : true;
    var cty_status = '';
    
    if (area_checked) cty_status = 'checked';
    else cty_status = 'unchecked';
      
    for (x=0; x<c_l; x++) {
      if (force_area) {
        $('input#cty_'+c[x]).val((area_checked) ? '1' : '0');
        if($('input#cty_'+c[x]).val()==1) $("#seleted_cities").append('<input type="hidden" name="country_id[]" value="'+c[x]+'" />'); else $("#seleted_cities input[value='"+c[x]+"']").remove();
        $('#cty_checkbox_'+c[x]).removeClass().addClass(cty_status);
      }
      else {
        if ($('input#cty_'+c[x]).val() == 1)  num_sel++;
      }
    }
    //alert("num_sel="+num_sel+" c_l="+c_l);
    if (!force_area) {
      if (num_sel == c_l) ar.removeClass().addClass('checked');
      else if (num_sel > 0) ar.removeClass().addClass('mixed');
      else ar.removeClass().addClass('unchecked');
    }
    else  num_sel = c_l;
    $('.checked #area_'+area).val(area);
    $('.unchecked #area_'+area).val(0);
  }
  
  function toggleCheck(div, a, c) {
    cancelToggle();
    div = $('#'+div);

    if (div.attr("class") == 'checked') {
      div.removeClass().addClass('unchecked');
      if (c > 0)  {
      	$('input#cty_'+c).val(0);
      	$("#seleted_cities input[value='"+c+"']").remove();
      }
    }
    else {
      div.removeClass().addClass('checked');
      if (c > 0)  {
      	$('input#cty_'+c).val(1);
      	$("#seleted_cities").append('<input type="hidden" name="country_id[]" value="'+c+'" />');
      }
    }
    if (c > 0) updateTerritories(a, false); else updateTerritories(a, true);
  }