

function fitconnect_init_help(id, title, value, opts) {

  var markup = '<div class="bt-header clear-block"><h2 class="title">'+title+'</h2></div><div class="bt-help-content">'+value+'</div>';
  var settings = jQuery.extend({
      trigger:  ['mouseenter','mouseleave'],
      positions: ['left','bottom'],
      padding: 0,
      overlap: -35,
      width: 300,
      killTitle: false,
      spikeGirth: 15,
      spikeLength: 20,
      cornerRadius: 5,
      fill: '#fff',
      strokeWidth: 1,
      strokeStyle: '#999',
      shadow: true,
      shadowOffsetX: 5,
      shadowOffsetY: 5,
      shadowBlur: 8,
      shadowColor: 'rgba(0,0,0,.5)',
      shadowOverlap: false,
      noShadowOpts: {strokeStyle: '#333', strokeWidth: 1},
      closeWhenOthersOpen: true,
      hoverIntentOpts:  {                          // options for hoverIntent (if installed)
        interval: 100,           // http://cherne.net/brian/resources/jquery.hoverIntent.html
        timeout: 500
      }
    }, opts);

    jQuery("#"+id).bt(markup, settings).addClass('has-bt');
}


function _fc_cert_rollover_defaults(opts) {
  var defaults = {
      trigger:  ['hoverIntent'],
      ajaxLoading: '<div class="bt-content" style="text-align:center; padding: 20px 0">Loading...</div>',
      ajaxCache: true,
      positions: ['bottom', 'left', 'right'],
      overlap: 0,
      padding: 0,
      width: 400,
      killTitle: false,
      spikeGirth: 15,
      spikeLength: 20,
      cornerRadius: 5,
      fill: '#fff',
      strokeWidth: 1,
      strokeStyle: '#999',
      shadow: true,
      shadowOffsetX: 5,
      shadowOffsetY: 5,
      shadowBlur: 8,
      shadowColor: 'rgba(0,0,0,.5)',
      shadowOverlap: false,
      noShadowOpts: {strokeStyle: '#333', strokeWidth: 1},
      closeWhenOthersOpen: true,
      hoverIntentOpts:  {                          // options for hoverIntent (if installed)
        interval: 250,           // http://cherne.net/brian/resources/jquery.hoverIntent.html
        timeout: 2000
      }
    };
  return (typeof(opts) != 'undefined') ? jQuery.extend(defaults, opts) : defaults;
}

function fitconnect_init_cert_info() {
  fitconnect_init_rollover('.user-cert.with-rollover', 'certification-agency', 'info');
  fitconnect_init_rollover('.accredited.with-rollover', 'accreditation-agency', 'info');
  fitconnect_init_rollover('.cert-status.with-rollover', 'certification-agency', 'status');
  fitconnect_init_rollover('.verification-partner.with-rollover', 'certification-agency', 'partner');
  fitconnect_init_rollover('.cert-type.with-rollover', 'certification-agency', 'cert');
}

function fitconnect_init_rollover(sel, ctx, act) {
  if (jQuery(document).bt) {
  jQuery(sel + ':not(.has-bt)').each(function() {
    var rel = jQuery(this).attr('rel');
    if (typeof(rel) != 'undefined') {
      var settings = _fc_cert_rollover_defaults({ajaxPath: '/fitnessconnect/action/'+ctx+'/0/'+act+'/'+rel});
      jQuery(this).bt(settings).addClass('has-bt');
    }
  });
  }
}


function fitconnect_update_completeness(perc) {
  jQuery("#fitconnect-complete-percent").html(perc+"%");
  jQuery("#fitconnect-progress").css('width', perc+"%");
}
function fitconnect_update_ranking_tips(markup) {
  jQuery('.idea-user-head-right').html(markup);
}


function fitconnect_ajax_submit_callback_location(data) {
  if (is_safe(data.html)) {
    jQuery("#user-locations-"+data.nid).replaceWith(data.html);
    jQuery(".rnd.user-locations .rnd").removeClass('empty-prompt');

    jQuery(".rnd.user-locations .location-add-buttons.empty").removeClass('empty').html(data.buttons);
    GB_init();
  }
  GB_hide();
}
function fitconnect_ajax_submit_callback_close() {
  GB_hide();
}


var circ_rad = 0;
function fitconnect_map_location_click(a, container, cnt) {
  var map, marker, latlng, zoom;

  map    = GMaps.MAPS[container].map;
  marker = GMaps.MARKERS[cnt];
  latlng = marker.getLatLng();

  if (a) { jQuery(a).blur(); }
  setTimeout("GEvent.trigger(GMaps.MARKERS["+cnt+"], 'click');",250);

  return false;
}
var _secondary_click = 0;
function fitconnect_marker_click(container, marker) {
  var map = GMaps.MAPS[container].map;;
  fitconnect_set_active_addr(marker.idea_info.cnt);

  if (marker.idea_info.type == 'radius') {
    if (_secondary_click == 0) {
      _secondary_click = 1;
      fitconnect_clear_radius(container);
      fitconnect_draw_radius(marker.idea_info.radius, container, marker.idea_info.cnt);
      setTimeout("GEvent.trigger(GMaps.MARKERS["+marker.idea_info.cnt+"], 'click');",250);
    }
    else {
      _secondary_click = 0;
    }
  }
  else if (marker.idea_info.type == 'gym') {
    fitconnect_clear_radius(container);
    map.setCenter(latlng, 12);
  }
}

function fitconnect_init_map_markers(container_id) {
  if (typeof(Drupal.settings.gmaps) == 'undefined') {
    return;
  }
  if (typeof(Drupal.settings.gmaps.maps[container_id].overlays) != 'undefined') {
    var markers = Drupal.settings.gmaps.maps[container_id].overlays.marker;
    for (i in markers) {
      var marker = GMaps.MARKERS[i];
      marker.idea_info = markers[i].idea_info;
      GEvent.addListener(marker, "click", function() {
        fitconnect_marker_click(container_id, this);
      });
    }
  }
}


function fitconnect_set_active_addr(cnt) {
  jQuery(".user-location-public").removeClass('green-grey').addClass('white-grey');
  jQuery("#location-public-"+cnt).addClass('green-grey').focus();
}

function fitconnect_clear_radius(container) {
  if (circ_rad) {
    var map = GMaps.MAPS[container].map;
    map.removeOverlay(circ_rad);
    circ_rad = 0;
  }
}
function fitconnect_draw_radius(radius, container, cnt) {
  map    = GMaps.MAPS[container].map;
  marker = GMaps.MARKERS[cnt];
  latlng = marker.getLatLng();

  if (circ_rad) {
    map.removeOverlay(circ_rad);
    circ_rad = 0;
  }

  circ_rad = new CircleOverlay(latlng, radius, '#999999', 1, 0.75, '#6699cc', 0.25);
  map.addOverlay(circ_rad);
  zoom =  map.getBoundsZoomLevel(circ_rad.getRadiusBounds());
  map.setCenter(latlng, zoom);
}



var fc_next_id = -2, fc_last_value = '';
var fitconnect_search = {
  queue : [],
  checking : 0,
  request_id : 0,
  completed : 0
};

function fitconnect_queue_item(val, path, inp, target, context) {
  this.value      = val;
  this.path       = path;
  this.input      = inp;
  this.target     = target.replace('#', '');;
  this.context    = context;
  this.request_id = ++fitconnect_search.request_id;
}

function fitconnect_input_get_type(inp) {
  return jQuery(inp).attr('type');
}
function fitconnect_input_get_value(inp) {
  var val = inp.value;
  if (fitconnect_input_get_type(inp) == 'checkbox') {
    val = jQuery(inp).is(':checked') ? 1 : 0;
  }
  return val;
}

function fitconnect_check_on_before(item) {
  var elem = jQuery(item.input);
  if (fitconnect_input_get_type(item.input) == 'checkbox') {
    elem = elem.parent();
  }
  elem.addClass('throbbing');
}
function fitconnect_check_on_after(item, R) {
  if (typeof(item.target) == 'string' && item.target != '') {
    jQuery('#'+item.target).html(R.html);
  }

  var elem = jQuery(item.input);
  if (fitconnect_input_get_type(item.input) == 'checkbox') {
    elem = elem.parent();
  }
  elem.removeClass('throbbing');
}

function fitconnect_lookup_keypress(inp, path, target, context) {
  var val = fitconnect_input_get_value(inp); //inp.value;
  if (val === fc_last_value) {
    return;
  }

  fc_last_value = val;
  fitconnect_add_to_queue(val, path, inp, target, context);
}

function fitconnect_add_to_queue(val, path, inp, target, context) {
  var item = new fitconnect_queue_item(val, path, inp, target, context);
  fitconnect_search.queue[item.request_id] = item;
  fitconnect_search.checking++;

  var timeout = (fitconnect_input_get_type(inp) == 'checkbox') ? 25 : 250;
  setTimeout('fitconnect_check();', timeout);
}

function fitconnect_check() {
  if (0 >= (--fitconnect_search.checking)) {
    fitconnect_search.checking = 0;

    var len  = fitconnect_search.queue.length;
    var item = fitconnect_search.queue.pop();

    data = {'value': item.value, 'request_id': item.request_id, '_context': item.context, 'target_id': item.target, 'ajax': true };
    fitconnect_check_on_before(item);
    jQuery.get(item.path, data, function(R) { fitconnect_lookup_callback(R, item); }, 'json');
  }
}


function fitconnect_lookup_callback(R, queue_item) {
  request_id = parseInt(queue_item.request_id);
  if (request_id > fitconnect_search.completed) {
    fitconnect_search.completed = request_id;

    fitconnect_check_on_after(queue_item, R);

    idea_ajax_eval_response(R);
  }
}


function fitconnect_search_result_click(data, context) {
  var func = 'fitconnect_search_result_click_'+context;
  if (function_exists(func)) {
    return eval(func+"(data)");
  }
  return false;
}




function fitconnect_search_select_location(loc, dis) {
  jQuery(".search-gym-wrap .user-location").hide();
  $loc = jQuery(".add-gym-wrap").removeClass('hidden');

  var tmpl_cls = '';
  if (is_safe(loc.lid)) {
    tmpl_cls = 'hidden';
    jQuery("#user-location-"+loc.lid).show().css('border-bottom', 'none').find('.actions').hide();
    jQuery(".form-location-address,.search-gym-zip").hide();
    jQuery("#edit-fitconnect-parent").val(loc.fitconnect_id);
  }
  else {
    jQuery(".search-gym-zip").hide();
  }

  jQuery("#location-name", $loc).val(safe(loc.name,'')).addClass(tmpl_cls);
  jQuery("#location-street", $loc).val(safe(loc.street,'')).addClass(tmpl_cls);
  jQuery("#location-additional", $loc).val(safe(loc.additional,'')).addClass(tmpl_cls);
  jQuery("#location-city", $loc).val(safe(loc.city,'')).addClass(tmpl_cls);

  if (loc.country == 'us') {
    jQuery("#location-state", $loc).val(safe(loc.province,'')).addClass(tmpl_cls);
    //jQuery("#location-state-wrapper .ui-dropdown").addClass(cls);
    jQuery("#location-state-wrapper").addClass(tmpl_cls);
  }
  jQuery("#location-province", $loc).val(safe(loc.province,'')).addClass(tmpl_cls);
  jQuery("#location-zip", $loc).val(safe(loc.postal_code,'')).addClass(tmpl_cls);
  jQuery("#location-country", $loc).val(safe(loc.country,'us')).addClass(tmpl_cls);
  //jQuery("#location-country-wrapper .ui-dropdown").addClass(cls);
  jQuery("#location-country-wrapper").addClass(tmpl_cls);

  jQuery("#edit-phone", $loc).val(safe(loc.phone,'')).addClass(tmpl_cls);
  jQuery("#edit-website", $loc).val(safe(loc.website,'')).addClass(tmpl_cls);

  jQuery(".add-gym-wrap .has-prompt").blur();


  return false;
}


function fitconnect_filter_facility_staff(fitconnect_id) {
  var vals = new Array();
  var checked = jQuery("#fitconnect-facility-profession-filter-form input.form-checkbox:checked");
  var notchecked = jQuery("#fitconnect-facility-profession-filter-form input.form-checkbox:not(:checked)");

  checked.each(function() { vals[vals.length] = jQuery(this).val(); });
  if (checked.size() < 3) {
    notchecked.attr('disabled', false);
  }
  else {
    notchecked.attr('disabled', true);
  }

  jQuery("#facility-staff").addClass('filtering').animate({'height':'50px'}).find(".related-profile").fadeOut(100);

  data = {'professions': vals.join(',')};
  jQuery.get('/fitnessconnect/action/facility-staff-filter/'+fitconnect_id, data, fitconnect_filter_facility_staff_callback, 'json');
}

function fitconnect_filter_facility_staff_callback(R) {
  jQuery("#facility-staff").removeClass('filtering')
  if (R.status) {
    staff = jQuery(R.html);

    jQuery("#facility-staff").html(staff);
  }
}


function fitconnect_claim_guest_pass(href, b) {
  var url  = '/'+href +"/"+ (b?1:0);
  jQuery.getJSON(url, {ajax: true}, function(R) { });
}


var newsletter_custom_logo = false;
var newsletter_custom_title = false;
function fitconnect_newsletter_setting(setting, fitconnect_id, js_data, chk) {
  setTimeout(function() {
    fitconnect_newsletter_setting_helper(setting, fitconnect_id, js_data, chk)
  }, 50);
}

function fitconnect_newsletter_setting_helper(setting, fitconnect_id, js_data, chk) {
  var enabled =  (typeof(chk) == 'object') ? $(chk).is(':checked') : chk;
  var href    = '/fitnessconnect/action/newsletter/'+fitconnect_id+'/setting/'+setting+'/'+(enabled ? 1 : 0);
  var data    = js_data ? js_data : {};
  fitconnect_newsletter_affect_template(setting, enabled, data);
  jQuery.get(href, data, function(R) { fitconnect_newsletter_setting_callback(R, data); }, 'json');
}



function fitconnect_newsletter_setting_callback(R, params) {
  var data='';
  idea_ajax_eval_response(R);
}

function fitconnect_newsletter_affect_template(setting, enabled, data) {
  var func = 'fitconnect_newsletter_affect_template_'+setting;

  if (function_exists(func)) {
    eval(func+'(enabled, data)');
  }
}
function fitconnect_newsletter_affect_template_logo(enabled, data) {
  var src = '', cls = '';
  var wrap = jQuery('#sender-logo');

  if (enabled) {
    wrap.addClass('custom');
    var path = (newsletter_custom_logo) ? newsletter_custom_logo : '/'+data.filepath;
    src = (typeof(data.filepath) != 'undefined') ? path : '/misc/logo-yourlogo.gif';
  }
  else {
    wrap.removeClass('custom');
    src = '/misc/images/fitcon-f6f6f6.gif';
  }
  jQuery('img', wrap).attr('src', src);
}
function fitconnect_newsletter_affect_template_title(enabled) {
  var title_cust = jQuery('.sender-title-custom');
  var title_default = jQuery('.sender-title-default');
  var custom_title = jQuery('.sender-title-custom').text();
  if (enabled && custom_title != '') {
      title_cust.show();
      title_default.hide();
  } else {
      title_cust.hide();
      title_default.show();
  }
}
function fitconnect_newsletter_affect_template_intro(enabled) {
  var item = jQuery('#sender-intro');
  if (enabled) { item.show(); } else { item.hide(); }
}
function fitconnect_newsletter_affect_template_link(enabled) {
  var item = jQuery('#website-link-wrapper');
  if (enabled) { item.show(); } else { item.hide(); }
}
function fitconnect_newsletter_affect_template_picture(enabled) {
  var item = jQuery('#profile-pic-wrapper');
  if (enabled) { item.show(); } else { item.hide(); }
}

function fitconnect_newsletter_affect_template_social(enabled) {
  var item = jQuery('#social-link-wrapper');
  if (enabled) { item.show(); } else { item.hide(); }
}

function fitconnect_newsletter_affect_template_events(enabled) {
  var item = jQuery('#events-wrapper');
  if (enabled) { item.show(); } else { item.hide(); }
}
function fitconnect_newsletter_affect_template_blog(enabled) {
  var item = jQuery('#blog-wrapper');
  if (enabled) { item.show(); } else { item.hide(); }
}

function fitconnect_newsletter_custom_logo_callback(e, q, F, R) {
  var base_id  = String(e.target.id).replace('-uploadify', '');
  var queue_id = base_id + '-queue';

  newsletter_custom_logo = '/files/imagecache/newsletter-logo/' + String(R.filepath).replace('files/','');

  var wrap = jQuery('.fitconnect-var-sender_logo.custom');
  jQuery('img', wrap).attr('src', newsletter_custom_logo);
  jQuery('#'+base_id +'-queue .userUploadQueueComplete').hide();
  jQuery('#'+base_id +'-queue .userUploadQueueActive').hide();
}



function fitconnect_update_ajax_search_list_buttons(src_list) {
  /*
  var parent_id = src_list.replace('-src','');
  var src_list  = parent_id + '-src';
  var dst_list  = parent_id + '-dst';
  var btn_sel   = '#'+parent_id + ' .fc-list-mgmt-btns .btn';

  var src_checks = (typeof(src_list)!= 'undefined') ? jQuery('#'+src_list +" input.form-checkbox:checked").size() : 0;
  var dst_checks = (typeof(dst_list)!= 'undefined') ? jQuery('#'+dst_list +" input.form-checkbox:checked").size() : 0;
  if (src_checks + dst_checks) {
    jQuery(btn_sel).show();
  }
  else {
    jQuery(btn_sel).hide();
  }
  */
}
function fitconnect_hilight_search_result(id, bHilight, target_id) {

  if (bHilight) {
    jQuery("#"+id).addClass('hilight');
  }
  else {
    jQuery("#"+id).removeClass('hilight');
  }
  fitconnect_update_ajax_search_list_buttons(target_id);
  return false;
}








function fitconnect_list_mgmt(action, parent_id, callback) {
  var src = parent_id+'-src', dst = parent_id+'-dst';
  var list = (action=='add') ? fitconnect_list_mgmt_move(src, dst) : fitconnect_list_mgmt_move(dst, src);
  fitconnect_update_ajax_search_list_buttons(src);

  if (callback && function_exists(callback)) {
    eval(callback+"(action, list, parent_id)");
  }

  return false;
}

function fitconnect_list_mgmt_move(src, dst) {
  var ids = [];
  jQuery(src+" .check input.form-checkbox:checked").each(function() {
    var id = 'search-result-' + String(jQuery(this).attr('id')).replace('check-','');
    var val = jQuery(this).attr('rel');
    ids[ids.length] = val;
    jQuery(src+" #"+id).removeClass('hilight').appendTo(dst);
    jQuery(dst+" #"+id+" .check input.form-checkbox").removeAttr('checked');
  });

  return (ids.length) ? ids.join(',') : '';
}


function fitconnect_list_sel_all(list) {
  jQuery('#'+list+' .check input.form-checkbox').attr('checked', true);
  fitconnect_update_ajax_search_list_buttons(list);
  return false;
}


/**
 * NEWSLETTER INVITE MGMT
 */
function fitconnect_newsletter_manage_recipient(rel_id, action, fitconnect_id) {
  if (rel_id && action && fitconnect_id) {
    jQuery("#relationship-row-"+rel_id+" td.newsletter div").addClass('throbbing');
    var params = {'list': rel_id, 'inline': true, 'ajax':true};
    var newsletter_action = (action=='add' || action=='subscribe') ? 'subscribe' : 'unsubscribe';
    jQuery.post("/fitnessconnect/action/newsletter/"+fitconnect_id+"/"+newsletter_action, params, function(R) { fitconnect_newsletter_manage_invitees_callback(R, action, ''); }, "json");
  }
  return false;
}

function fitconnect_newsletter_manage_invitees(action, list, target_id, fitconnect_id, btn) {
  if (list != '') {
    if (btn) {
      if (!idea_util_click_once(jQuery(btn), true)) { return false; }
    }

    var params = {'list': list, 'target_id': target_id, 'ajax':true};
    var profile_id = fitconnect_id ? fitconnect_id : Drupal.settings.fitconnect.id;
    var newsletter_action = (action=='add' || action=='subscribe') ? 'subscribe' : 'unsubscribe';
    jQuery.post("/fitnessconnect/action/newsletter/"+profile_id+"/"+newsletter_action, params, function(R) {
      fitconnect_newsletter_manage_invitees_callback(R, action, target_id);
      idea_util_click_once_reset(jQuery(btn));
    }, "json");
  }

  return false;
}

function fitconnect_newsletter_manage_invitees_callback(R, action, target_id) {
  idea_ajax_eval_response(R);
}

/**
 * SHARE CONTENT MGMT
 */
function fitconnect_share_manage_invitees(action, list, target_id, fitconnect_id) {
  if (list != '') {
    // throb the window
    GB_throb();
    // disable the share button while we are adding entry
    if (!idea_util_click_once(jQuery('#share-btn'), 1)) { return false; }


    var params = {'list': list, 'target_id': target_id, 'ajax':true};
    var profile_id = fitconnect_id ? fitconnect_id : Drupal.settings.current_profile.data.id;
    var _action = (action=='add' || action=='invite') ? 'subscribe' : 'unsubscribe';
    jQuery.post("/fitnessconnect/action/share-content/"+profile_id+"/"+_action, params, function(R) {
      // unthrob
      GB_throb_off();
      // reenable the button
      idea_util_click_once_reset(jQuery('#share-btn'));

      idea_ajax_eval_response(R);
    }, "json");
  }
  return false;
}
function fitconnect_share_content_send(a, share_url, msg, target_id, fitconnect_id) {
  var href = jQuery(a).attr('href');
  var params = {'url': share_url, 'msg': msg, 'target_id': target_id, 'ajax':true};
  GB_throb();
  jQuery.post(href, params, function(R) {
    GB_throb_off();
    idea_ajax_eval_response(R);
  }, "json");
  return false;
}




/**
 * GENERAL USER LIST MGMT
 */
function fitconnect_list_manage_invitees(action, list, target_id, fitconnect_id) {
  if (list != '') {
    var params = {'list': list, 'target_id': target_id, 'ajax':true};
    var profile_id = fitconnect_id ? fitconnect_id : Drupal.settings.fitconnect.id;
    jQuery.post("/fitnessconnect/action/list-mgmt/"+profile_id+"/"+action, params, function(R) { fitconnect_list_manage_callback(R, action, target_id); }, "json");
  }
  return false;
}
function fitconnect_list_manage_complete(share_url, target_id, fitconnect_id) {
  var params = {'url': share_url, 'target_id': target_id, 'ajax':true};
  jQuery.post("/fitnessconnect/action/list-mgmt/"+profile_id+"/complete", params, function(R) { fitconnect_list_manage_callback(R, action, target_id); }, "json");
  return false;
}
function fitconnect_list_manage_callback(R, action, target_id) {
  idea_ajax_eval_response(R);
}




function fitevent_manage_invitees_remove_none(src_list) {
  var parent_id = src_list.replace('-src','');
  var dst_list  = parent_id + '-dst';
  jQuery("#"+src_list+ " #search-result-none").remove();
}
function fitevent_manage_invitees_add_new(src_list, data) {
  var parent_id = src_list.replace('-src','');
  var dst_list  = parent_id + '-dst';
  if (typeof(data) != 'undefined' && typeof(data.markup) != 'undefined') {
    jQuery("#"+dst_list).prepend(data.markup);
  }
}

function fitconnect_list_mgmt_add_new(src_list, data) {
  var parent_id = src_list.replace('-src','');
  var dst_list  = parent_id + '-dst';
  if (typeof(data) != 'undefined' && typeof(data.markup) != 'undefined') {
    jQuery("#"+dst_list).prepend(data.markup);
  }
}
function fitconnect_list_mgmt_rem_not_found(src_list) {
  var parent_id = src_list.replace('-src','');
  var src_list  = parent_id + '-src';
  jQuery("#"+src_list + " .search-result-none").remove();
}
var callback_data = {};

function fitconnect_action(action, params, callback) {
  var href = '/fitnessconnect/action/'+action;
  var data = jQuery.extend({'ajax': 1}, callback_data ? callback_data : {}, (params ? params : {}));
  var opts = {
    'success': function(R) { GB_throb_off(); fitconnect_action_callback(R, data, callback); },
    'error': function(){ alert('error');GB_throb_off();}
  };
  idea_action('fitnessconnect', action, data, opts);
  return false;
}

function fitconnect_action_callback(R, params, callback) {
  if (typeof(R.data) != 'undefined') {
    idea_ajax_eval_response(R);

    if (typeof(callback) == 'function') {
      callback(R, params);
    }
  }
}


function fc_more_filt(id) {
  jQuery('.fc-filter.expanded').removeClass('expanded');
  jQuery('#'+id).toggleClass('expanded');
  return false;
}
function fc_more_filt_all_off() {
  jQuery('.fc-filter.expanded').removeClass('expanded');
}

function fc_update_sel_count(typ) {
  var sect = jQuery("#fc-filter-"+typ);
  var count = jQuery("input:checked", sect).size() + jQuery(".hidden-check", sect).size();
  var text = (count > 0) ? '('+ count + ' selected)' : '';
  jQuery("h4 .num-selected", sect).html(text);
}
function fc_fetch_results(f, typ) {
  fc_more_filt_all_off();
  fc_dim_filt(true);
  fc_update_sel_count(typ);
  jQuery(f).submit();
}
function fc_dim_filt(dim) {
  if (dim) {
    var h = jQuery("#fc-filter-container").height();
    jQuery("#fc-filter-wrap-dim,#fc-filt-throbber").height(h).show();
    jQuery("#fc-filter-container").addClass('working');
  }
  else {
    jQuery("#fc-filter-wrap-dim,#fc-filt-throbber").height(0).hide();
    jQuery("#fc-filter-container").removeClass('working');
  }
}

function fc_fetch_results_callback(data) {
  fc_dim_filt(false);
  jQuery("#fc-search-results").html(data.results);

  if (typeof (data.num_results_display) != 'undefined') {
    jQuery('#num-search-results').html(data.num_results_display);
  }
  else if (typeof (data.num_results) != 'undefined') {
    var markup = data.num_results ? data.num_results : '0';
    markup += (data.num_results == 1) ? ' Result' : ' Results';
    jQuery('#num-search-results').html(markup);
  }

  if (function_exists('fitconnect_init_cert_info')) {
    fitconnect_init_cert_info();
  }
}

function fc_is_other(sel, other_val, other_sel) {
  var v = parseInt(jQuery(sel).val());
  if (v===parseInt(other_val)) {
    jQuery(other_sel).show();
  }
  else {
    jQuery(other_sel).hide();
  }
  return false;
}

function fc_cert_expose_other(other_sel, other_val, sel, dis_sel) {
  jQuery(other_sel).show();
  if (typeof(other_val) != 'undefined' && typeof(sel) != 'undefined') {
    jQuery(sel).val(other_val);
    if (typeof(dis_sel) != 'undefined' && dis_sel) {
      jQuery(sel).attr('disabled', 'disabled');
    }
  }
  return false;
}



function fitconnect_video_oncomplete(e, q, F, R) {
  fitconnect_video_clear_warning()
}

function fitconnect_video_external_url_change(_this) {
  var v = jQuery(_this).val();
  v = String(v).replace(/^\s+/, '').replace(/\s+$/, '');
  if (v != '') {
    fitconnect_video_clear_warning();
  }
  else {
    v = jQuery('#edit-video-stream-uploader-upload').val();
    if (v == '' || isNaN(parseInt(v))) {
      fitconnect_video_enable_warning();
    }
  }
}

function fitconnect_video_clear_warning() {
  jQuery('.save-warning').fadeOut();
  jQuery("#btn-save-video-btn").removeClass('disabled').find('input').removeAttr('disabled');
}
function fitconnect_video_enable_warning() {
  jQuery('.save-warning').fadeIn('fast');
  jQuery("#btn-save-video-btn").addClass('disabled').find('input').attr('disabled', 'disabled');
}


function fc_comment_onsubmit(f) {
  var r = jQuery('#cust-review-rating').val();
  var c = jQuery('#cust-review-comment').val();
  r = (r=='undefined' || r=='-') ? '' : r;

  if (!r || !c) {
    var content = '<p style="font-size:130%">You must fill out the following required fields:</p><p style="padding-left:30px">';
    if (!r) {
      content += ' - <span style="color:#c00;font-size:110%">rating</span><br />';
    }
    if (!c) {
      content += ' - <span style="color:#c00;font-size:110%">comment</span><br />';
    }

    content += '</p><div style="margin-top:50px; text-align:center"><a href="#comment_form" onclick="GB_hide()">close</a></div>';

    GB_inline('Required Fields', '<div class="content-wrap">'+content+'</div>', 250, 450);

    return false;
  }
  return true;
}


function fc_search_type(typ, a) {
  jQuery('a.fc-search-type-btn').removeClass('grey');
  jQuery(a).addClass('grey');

  jQuery('#edit-search-type').val(typ);

  if (typ == 'name') {
    jQuery('.search-by-loc').addClass('hidden');
    jQuery('.search-by-name').removeClass('hidden');
    jQuery('#fc-landing-box-wrap .hdr-spiked .spike').css('left', '250px');
  }
  else {
    jQuery('.search-by-name').addClass('hidden');
    jQuery('.search-by-loc').removeClass('hidden');
    jQuery('#fc-landing-box-wrap .hdr-spiked .spike').css('left', '90px');
  }

  return false;
}

function fc_search_filter_type(typ) {
  jQuery('.filter-by').addClass('hidden');
  jQuery('#filter-'+typ+'-wrapper').removeClass('hidden');

  return false;
}
