function getCookie(c_name) {
  if (document.cookie.length>0)
  {
    c_start=document.cookie.indexOf(c_name + "=")
    if (c_start!=-1)
    {
      c_start=c_start + c_name.length+1
      c_end=document.cookie.indexOf(";",c_start)
      if (c_end==-1) c_end=document.cookie.length
      return unescape(document.cookie.substring(c_start,c_end))
    }
  }
  return ""
}

function google_track_event(category, action, label) {
  _gaq.push(['_trackEvent', category, action, label]);
}

function google_track_event_with_lead_source(lead_source, action, label) {
  var category = modal_lead_source_to_category(lead_source);
  google_track_event(category, action, label);
}

function modal_lead_source_to_category(modal_lead_source) {
  var category = "";
  switch(modal_lead_source) {
    case 'sales' : 
      category = 'Modal Sales';
      break;
    case 'rentals' : 
      category = 'Modal Rentals';
      break;
    case 'luxury' : 
      category = 'Modal Luxury';
      break;
  }
  return category;
}

function observe_click_track_event(event, category, action, label) {
  google_track_event(category, action, label);
}

function anon_vs_logged_in_contact_label(logged_in) {
  if(logged_in == 'true') {
    return "Logged In View";
  }
  else {
    return "Anonymous View - Contact Event";
  }
}

function anon_vs_logged_in_completed_label(logged_in) {
  if(logged_in == 'true') {
    return "Existing Lead Completed";
  }
  else {
    return "Potential Lead Completed";
  }
}

function observe_admin_tabs_hover() {
  var current_tab = $('admin_tabs').getElementsBySelector('td.current').first();
  
  $('admin_tabs').getElementsBySelector('td.main_tab').each(function(main_tab) {
    main_tab.hover(
      function(event) { //mouseover
        var current_td = get_current_td(event.element());
        if(current_td.identify() != current_tab.identify()) {
          if(current_tab.getElementsBySelector('table').first()) {
            current_tab.getElementsBySelector('table').first().removeClassName('active');
            current_tab.getElementsBySelector('table').first().addClassName('hidden');
          }
          if(current_td.getElementsBySelector('table').first()) {
            current_td.getElementsBySelector('table').first().removeClassName('hidden');
            current_td.getElementsBySelector('table').first().addClassName('active');
          }
        }
        else {
          show_current_tab(current_tab);
        }
      },
      function(event) { //mouseout
        show_current_tab(current_tab);
      }
    );
  });
}

function show_current_tab(current_tab) {
  $('admin_tabs').getElementsBySelector('td.main_tab').each(function(tab) {
    if(tab.identify() != current_tab.identify()) {
      if(tab.getElementsBySelector('table').first()) {
        tab.getElementsBySelector('table').first().removeClassName('active');
        tab.getElementsBySelector('table').first().addClassName('hidden');
      }
    }
  });
  if(current_tab.getElementsBySelector('table').first()) {
    current_tab.getElementsBySelector('table').first().removeClassName('hidden');
    current_tab.getElementsBySelector('table').first().addClassName('active');
  }
}

function get_current_td(element) {
  if(element.tagName == "TD") {
    return current_td = element;
  }
  else {
    return current_td = element.up('td.main_tab');
  }
}

function change_towns(field) {
  var towns = $('search_town_data');
  towns.options.length = 0;
  if(field.value != '') {
    var state_arr = eval("state_" + field.value);
    var length = state_arr.length;
    for (i = 0; i < length; i++) {
      towns.options[i] = state_arr[i];
    }
  }
}

function select_towns(towns_string) {
  var towns_arr = towns_string.split(',');
  var town_field = $('search_town_data');
  towns_arr.each(function(town_id_string) {
    town_field.getElementsBySelector('option[value='+ town_id_string +']').each(function(opt) {
      opt.selected = true;
    });
  });
}

function add_nested(association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g");  
  $(association).insert(content.replace(regexp, new_id));
}

function remove_nested(link) {
  $(link).previous("input[type=hidden]").value = "1";
  $(link).up('.nested_form').hide();
}
