function clearPreferences()
{
  $.cookie('age_cookie', '');
  $.cookie('age_text_cookie', '');
  $.cookie('income_cookie', '');
  $.cookie('weeks_pregnant_cookie', '');
  $.cookie('weeks_pregnant_text_cookie', '');
  $.cookie('previous_pregnancies_cookie', '');
  $.cookie('education_cookie', '');
  $.cookie('location_cookie', '');
  $.cookie('pregnancy_difficulty_cookie', '');
  $.cookie('consider_termination_cookie', '');
  setPreferenceFields();
}

function toNumber(str) {
  var num;
  var strType = typeof(str);

  if (strType == "string")
  {
    // Strip non-numeric chars and convert to number
    num = Number(str.replace(/[^0-9-.]/g, ""));
  }
  else if (strType != "number")
  {
    return 0;
  }

  if (isNaN(num))
  {
    return 0;
  }
  else
  {
    return num;
  }
}

function convertAgeToId(age)
{
  age_val = 0;
  if(age < 21 && age > 0)
  {
    age_val = 1;
  }
  else if(age <= 25)
  {
    age_val = 2;
  }
  else if(age <= 30)
  {
    age_val = 3;
  }
  else if(age <= 35)
  {
    age_val = 4;
  }
  else if(age <= 40)
  {
    age_val = 5;
  }
  else if(age <= 45)
  {
    age_val = 6;
  }
  else if(age > 45)
  {
    age_val = 7;
  }
  return age_val;
}

function convertAgeIdToText(age_id)
{
  var age_text = "";
  if(age_id == 1)
  {
    age_text = "20 yrs or younger";  
  }
  else if(age_id == 2)
  {
    age_text = "21 to 25 yrs";  
  }
  else if(age_id == 3)
  {
    age_text = "26 to 30 yrs";
  }
  else if(age_id == 4)
  {
    age_text = "31 to 35 yrs";
  }  
  else if(age_id == 5)
  {
    age_text = "36 to 40 yrs";
  }  
  else if(age_id == 6)
  {
    age_text = "41 to 45 yrs";
  }
  else if(age_id == 7)
  {
    age_text = "46 yrs or older";
  }
  return age_text;
}

function convertIncomeIdToText(income_id)
{
  var income_text = "";
  if(income_id == 1)
  {
    income_text = "No Income";  
  }
  else if(income_id == 2)
  {
    income_text = "$20k or Less";  
  }
  else if(income_id == 3)
  {
    income_text = "$20k- $50k";
  }
  else if(income_id == 4)
  {
    income_text = "$50k - $75k";
  }  
  else if(income_id == 5)
  {
    income_text = "$75k - $100k";
  }  
  else if(income_id == 6)
  {
    income_text = "$100k - $150k";
  }
  else if(income_id == 7)
  {
    income_text = "$150k - $200k";
  }
  else if(income_id == 8)
  {
    income_text = "$200k or More";
  }
  return income_text;
}

function convertWeeksPregnantIdToText(weeks_id)
{
  var weeks_text = "";
  if(weeks_id >= 1 && weeks_id <= 14)
  {
    weeks_text = "Wk " + weeks_id + ", 1st Tri";
  }
  else if(weeks_id >= 15 && weeks_id <= 26)
  {
    weeks_text = "Wk " + weeks_id + ", 2nd Tri";
  }
  else if(weeks_id >= 27 && weeks_id <= 41)
  {
    weeks_text = "Wk " + weeks_id + ", 3rd Tri";
  }  
  else if(weeks_id == 42)
  {
    weeks_text = "Later, 3rd Tri";
  }
  else if(weeks_id == 43)
  {
    weeks_text = "Have Delivered";
  }
  return weeks_text;
}

function convertPregnanciesIdToText(pregnancies_id)
{
  var pregnancies_text = "";
  if(pregnancies_id == 1)
  {
    pregnancies_text = "Zero (This is my first)";  
  }
  else if(pregnancies_id == 2)
  {
    pregnancies_text = "Zero";  
  }
  else if(pregnancies_id == 3)
  {
    pregnancies_text = "One";
  }
  else if(pregnancies_id == 4)
  {
    pregnancies_text = "Two";
  }  
  else if(pregnancies_id == 5)
  {
    pregnancies_text = "Three";
  }  
  else if(pregnancies_id == 6)
  {
    pregnancies_text = "Four or More";
  }
  return pregnancies_text;
}

function slidersSavePreferences()
{
  var age_val = "";
  var income = "";
  var weeks_pregnant = "";
  var previous_pregnancies = "";
  var education = "";
  var location = "";
  var pregnancy_difficulty = "";
  var consider_termination = "";
  if($('#filter-status-age').attr('checked'))
  {
    age_val = $("#age-range").slider("value");
  }
  if($('#filter-status-income').attr('checked'))
  {
    income = $('#income-range').slider("value");
  }
  if($('#filter-status-weekspregnant').attr('checked'))
  {
    weeks_pregnant = $('#weeks-range').slider("value");
  }
  if($('#filter-status-previouspregnancies').attr('checked'))
  {
    previous_pregnancies = $('#pregnancies-range').slider("value");
  }
  if($('#filter-status-education').attr('checked'))
  {
    education = $('#education').val();
  }
  if($('#filter-status-location').attr('checked'))
  {
    location = $('#location').val();
  }
  if($('#filter-status-pregnancydifficulty').attr('checked'))
  {
    pregnancy_difficulty = $('#pregnancydifficulty').val();
  }
  if($('#filter-status-considertermination').attr('checked'))
  {
    consider_termination = $('#considertermination').val();
  }
   
  $.cookie('age_cookie', age_val, { expires: 14 }); 
  $.cookie('income_cookie', income, { expires: 14 });
  $.cookie('weeks_pregnant_cookie', weeks_pregnant, { expires: 14 });
  $.cookie('previous_pregnancies_cookie', previous_pregnancies, { expires: 14 });
  $.cookie('education_cookie', education, { expires: 14 });
  $.cookie('location_cookie', location, { expires: 14 });
  $.cookie('pregnancy_difficulty_cookie', pregnancy_difficulty, { expires: 14 });
  $.cookie('consider_termination_cookie', consider_termination, { expires: 14 });
}

function saveIndexPreferences()
{
  var age = toNumber($('#age').val());
  var weeks_pregnant = toNumber($('#weeks-pregnant').val());
  var pregnancy_number = $('#pregnancy-number').val();
  var pregnancy_difficulty = $('#pregnancy-difficulty').val();
  var age_val = 0;
  
  if(age < 21 && age > 0)
  {
    age_val = 1;
  }
  else if(age <= 25)
  {
    age_val = 2;
  }
  else if(age <= 30)
  {
    age_val = 3;
  }
  else if(age <= 35)
  {
    age_val = 4;
  }
  else if(age <= 40)
  {
    age_val = 5;
  }
  else if(age <= 45)
  {
    age_val = 6;
  }
  else if(age > 45)
  {
    age_val = 7;
  }
  
  var weeks_pregnant_val = '';
  if(weeks_pregnant >= 42)
  {
    weeks_pregnant_val = 42;
  }
  else if(weeks_pregnant > 0)
  {
    weeks_pregnant_val = weeks_pregnant;
  }
  
  if(isNaN(age) || age == 0)
  {
    age = '';
  }
  if(isNaN(weeks_pregnant) || weeks_pregnant == 0)
  {
    weeks_pregnant = '';
  }
  
  $.cookie('age_text_cookie', age, { expires: 14 });
  $.cookie('weeks_pregnant_text_cookie', weeks_pregnant, { expires: 14 });
  $.cookie('age_cookie', age_val, { expires: 14 });
  $.cookie('pregnancy_difficulty_cookie', pregnancy_difficulty, { expires: 14 });
  $.cookie('weeks_pregnant_cookie', weeks_pregnant_val, { expires: 14 });
  $.cookie('previous_pregnancies_cookie', pregnancy_number, { expires: 14 });  
}

function savePreferences()
{
  var age = $('#age').val();
  var income = $('#income').val();
  var weeks_pregnant = $('#weekspregnant').val();
  var previous_pregnancies = $('#previouspregnancies').val();
  var education = $('#education').val();
  var location = $('#location').val();
  var pregnancy_difficulty = $('#pregnancydifficulty').val();
  var consider_termination = $('#considertermination').val();
  
  $.cookie('age_cookie', age, { expires: 14 });
  $.cookie('income_cookie', income, { expires: 14 });
  $.cookie('weeks_pregnant_cookie', weeks_pregnant, { expires: 14 });
  $.cookie('previous_pregnancies_cookie', previous_pregnancies, { expires: 14 });
  $.cookie('education_cookie', education, { expires: 14 });
  $.cookie('location_cookie', location, { expires: 14 });
  $.cookie('pregnancy_difficulty_cookie', pregnancy_difficulty, { expires: 14 });
  $.cookie('consider_termination_cookie', consider_termination, { expires: 14 });
}

function saveShortPreferences()
{
  var age = $('#age').val();
  var income = $('#income').val();
  var weeks_pregnant = $('#weekspregnant').val();
  var previous_pregnancies = $('#previouspregnancies').val();
  
  $.cookie('age_cookie', age, { expires: 14 });
  $.cookie('income_cookie', income, { expires: 14 });
  $.cookie('weeks_pregnant_cookie', weeks_pregnant, { expires: 14 });
  $.cookie('previous_pregnancies_cookie', previous_pregnancies, { expires: 14 });
}

function setPreferenceFields()
{
  $('#age').val(getAge());
  $('#income').val(getIncome());
  $('#weekspregnant').val(getWeeksPregnant());
  $('#previouspregnancies').val(getPreviousPregnancies());
  $('#education').val(getEducation());
  $('#location').val(getLocation());
  $('#pregnancydifficulty').val(getPregnancyDifficulty());
  $('#considertermination').val(getConsiderTermination());
}

function setIndexPreferenceFields()
{
  $('#age').val(getAgeText());
  $('#weeks-pregnant').val(getWeeksPregnantText());
  $('#pregnancy-number').val(getPreviousPregnancies());
  $('#pregnancy-difficulty').val(getPregnancyDifficulty());
}

function setShortPreferencesFields()
{
  $('#age').val(getAge());
  $('#income').val(getIncome());
  $('#weekspregnant').val(getWeeksPregnant());
  $('#previouspregnancies').val(getPreviousPregnancies());
}

function getAge()
{
  return $.cookie('age_cookie');
}

function getAgeText()
{
  if(isNaN($.cookie('age_text_cookie')) || $.cookie('age_text_cookie') < 1)
  {
    return '';
  }
  return $.cookie('age_text_cookie');
}

function getWeeksPregnant()
{
  return $.cookie('weeks_pregnant_cookie');
}

function getWeeksPregnantText()
{
  if(isNaN($.cookie('weeks_pregnant_text_cookie')) || $.cookie('weeks_pregnant_text_cookie') < 1)
  {
    return '';
  }
  return $.cookie('weeks_pregnant_text_cookie');
}

function getPreviousPregnancies()
{
  return $.cookie('previous_pregnancies_cookie');
}

function getIncome()
{
  return $.cookie('income_cookie');
}

function getEducation()
{
  return $.cookie('education_cookie');
}

function getLocation()
{
  return $.cookie('location_cookie');
}

function getPregnancyDifficulty()
{
  return $.cookie('pregnancy_difficulty_cookie');
}

function getConsiderTermination()
{
  return $.cookie('consider_termination_cookie');
}