var skipOnBeforeUnloadCheck = false;

function filter_check_submit(elem, form){
  if (elem.value < 0){
    return false;
  }
  return form.submit();
}

function reset_default(elem, defValue){
  var tmp = defValue || 'filter by keyword';
  if (elem.value == tmp){
    elem.value = '';
  }
}

function toggle_disabled_state(elems) {
  for (var i = 0; i < elems.length; i++){
    if (elems[i].disabled){
      elems[i].disabled = '';
    } else {
      elems[i].disabled = 'disabled';
    }
  }
}

/* -- used for time picker -- obsolete now
function time_picker_get_all_choices(instance){
  var ret = [];
  var item = '';
  
  for (var i = 0; i < instance.options.array.length; i++){
    item = instance.options.array[i];
    ret.push('<li>' + item + '</li>');
  }
  
  return '<ul>' + ret.join('') + '</ul>';
}
*/

function toggle_subcategories(cat_id) {
  var elem = $('subcategories_of_' + cat_id);
  if (elem){
    elem.toggle();
  }
}

/**
 * Disables the category checkboxes for all elements except for the passed one ('None of the above', for e.g.)
 */
function toggle_other_categories(elem) {
  var elements = $$('#afta_categories_container .afta_cat_container input');
  for (var i = 0; i < elements.length; i++){
    if (elements[i] != elem){
      if (elem.getValue()){
        elements[i].disabled = 'disabled';        
      } else {
        elements[i].disabled = '';                
      }
    }
  }
}

function toggle_other_types(elem) {
  var elements = $$('#afta_categories_container p input');
  for (var i = 0; i < elements.length; i++){
    if (elements[i] != elem){
      if (elem.getValue()){
        elements[i].disabled = 'disabled';        
      } else {
        elements[i].disabled = '';                
      }
    }
  }
}

/**
 * Invoked during categories module initialization for disabling all other category checkboxes if 'has_none_of_the_above' is checked
 */
function disable_all_categories_except(cat_id) {
  var elements = $$('#afta_categories_container .afta_cat_container input');
  for (var i = 0; i < elements.length; i++){
    if (elements[i].id != 'cat_selected_' + cat_id + '_ctrl'){
      elements[i].disabled = 'disabled';
    }
  }  
}

/**
 * Invoked during collections gen info module initialization for disabling all other type checkboxes if 'has_none_of_the_above' is checked
 */
function disable_all_types_except(cat_id) {
  var elements = $$('#afta_categories_container p input');
  for (var i = 0; i < elements.length; i++){
    if (elements[i].id != 'gi_selected_' + cat_id + '_ctrl'){
      elements[i].disabled = 'disabled';
    }
  }  
}

function check_for_redirects(elem) {
  var value = elem.value;
  if (value.include('http://') || value.include('https://')) {
    document.location = value;
  }
}
