  document.onmousedown=right;
  document.onmouseup=right;
  if (document.layers) window.captureEvents(Event.MOUSEDOWN);
  if (document.layers) window.captureEvents(Event.MOUSEUP);
  window.onmousedown=right;
  window.onmouseup=right;



function hash_challenge(form,challenge) { 
  var $errorvar = false;
  var passwd = form.login_password.value;
  var hash1 = hex_md5(passwd);
  var hash;
  if (form.login_password.value) {
    hash = hex_md5(hash1 + challenge);
    form.is_hashed.value = true;
  }
  else {
    hash = "";
    form.is_hashed.value = false;
  }

  if (!$errorvar) {
    form.login_password.value = hash;
    form.submit();
  }
}


/**********************************/
/*** VALIDATE REGISTRATION FORM ***/
/**********************************/
function validate_registration(form) {
  var $errorvar = false;

  split_names = form.name.value.split(" ");
  if (split_names.length <= 1) {
    alert("You must enter a full name.");
    $errorvar = true;
  }
  if (!$errorvar && form.email.value == "") {
     alert("E-mail address cannot be blank.");
     $errorvar = true;
  }

  var passwd = form.password.value;
  var hash = hex_md5(passwd);
  if (form.password.value) {
    form.password.value = hash;
    $errorvar = false;
  }
  else {
    alert("Password could not be encrypted. Please try again later.");
    $errorvar = true;
  }
  if (!$errorvar) {
    form.submit();
  }
}


/************************************/
/*** VALIDATE USER EDIT/SAVE FORM ***/
/************************************/
function validate_UserEditForm(form,editmode) {
  var $errorvar = false;
  
  if (form.editusername.value == "") {
    alert("Username cannot be blank.");
    $errorvar = true;
  }
  if (!$errorvar && form.fullname.value == "") {
    alert("Full name cannot be blank.");
    $errorvar = true;
  }
  if (!$errorvar && form.email.value == "") {
     alert("E-mail address cannot be blank.");
     $errorvar = true;
  }

  if (!$errorvar) {
    if (editmode == "edit") {
      form.action.value = "process_edit";
    }
    else {
      form.action.value = "process_new";
    }
    form.submit();
  }
}

/************************************************************/
/*** USER EDIT FUNCTION; TRIMS BLANK SPACES FROM PASSWORD ***/
/************************************************************/
function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}


/************************************************************/
/*** FIND RECIPE FUNCTION; VERIFIES THAT A RECIPE EXISTS ***/
/************************************************************/
function findRecipe(form,index,url) {
  switch(index) {
    case 1:
      var recipename = TrimAll(form.related1_recipe.value);
      switch (true) {
        case (form.related1_coll[1].checked):
          var collection = "Lacademie de Cuisine";
          break;
        case (form.related1_coll[2].checked):
          var collection = "Catering";
          break;
        case (form.related1_coll[0].checked):
        default:
          var collection = "Personal";
          break;
      }
      break;
    case 2:
      var recipename = TrimAll(form.related2_recipe.value);
      switch (true) {
        case (form.related2_coll[1].checked):
          var collection = "Lacademie de Cuisine";
          break;
        case (form.related2_coll[2].checked):
          var collection = "Catering";
          break;
        case (form.related2_coll[0].checked):
        default:
          var collection = "Personal";
          break;
      }
      break;
  }
  
  if (recipename == "") {
    alert("Recipe name cannot be blank.");
  }
  else {
    var full_url = url + "?recipe=" + recipename + "&coll=" + collection;
    var newwindow = open(full_url,"newwindow","menubar,resizeable,width=500,height=300,scrollbars=1");
    if (window.focus) {newwindow.focus()}
  }
  return false;
}


/*******************************************************/
/*** FIND FAMILY ID FUNCTION; LISTS ALL FAMILIES/IDs ***/
/*******************************************************/
function findfamilyid(form,url) {
  switch (true) {
    case (form.familyname[1].checked):
      var familyname = "Alessandri_ext";
      break;
    case (form.familyname[2].checked):
      var familyname = "Phaneuf";
      break;
    case (form.familyname[3].checked):
      var familyname = "Ryan";
      break;
    case (form.familyname[4].checked):
      var familyname = "Trivelli";
      break;
    case (form.familyname[0].checked):
    default:
      var familyname = "Alessandri";
      break;
  }
  
  var full_url = url + "?familyname=" + familyname;
  var newwindow = open(full_url,"newwindow","menubar,resizeable,width=500,height=300,scrollbars=1");
  if (window.focus) {newwindow.focus()}
  return false;
}



function verifyFields() {
  if (isBlank(recipeform.recipename.value)) {
    alert("Recipe name cannot be blank.");
    return false;
  }
  if (isBlank(recipeform.ingreds.value)) {
    alert("The list of ingredients is required.");
    return false;
  }
  if (isBlank(recipeform.steps.value)) {
    alert("The list of steps is required.");
    return false;
  }
  return true;
}


function LTrimAll(str) {
  if (str=='') {
    return str;
  }
  for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
  return str.substring(i,str.length);
}
  
function RTrimAll(str) {
  if (str=='') {
    return str;
  }
  for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
  return str.substring(0,i+1);
}

function TrimAll(str) {
  return LTrimAll(RTrimAll(str));
}

function goThere() {
  var otherweb_url = window.document.recipeform.otherweb_url.value;
  var good_url = fixURL(otherweb_url);
  if (invalidURL(good_url)) {
    alert("URL cannot contain spaces.");
    return false;
  }
  else { 
    var new_window = open(good_url,"new_window","menubar,resizeable,width=500,height=500,scrollbars=1"); 
  }
}

function invalidURL(otherweb_url) {
  if (isBlank(otherweb_url)) { 
    return false; 
  }
  for(var i=0;i<otherweb_url.length;i++) {
    if (otherweb_url.charAt(i) == ' ') { 
      return true;
    }
  }
  return false;
}

function fixURL(otherweb_url) {
  otherweb_url = TrimAll(otherweb_url);
  var the_first_seven = otherweb_url.substring(0,7);
  if (otherweb_url != "") {  
    the_first_seven = the_first_seven.toLowerCase();
    if (the_first_seven != 'http://') { 
      otherweb_url = "http://" + otherweb_url;
    }
    window.document.recipeform.otherweb_url.value = otherweb_url;
  }
  return otherweb_url;
}

function isDigit(num) {
  if (num.length>1) { 
    return false; 
  }
  var string="1234567890";
  if (string.indexOf(num) != -1) { 
    return true; 
  }
  return false;
}

function isInteger(year_val) {
  if (isBlank(window.document.recipeform.magyear.value)) { 
    return false;
  }
  for(var i=0;i<year_val.length;i++) { 
    if(!isDigit(year_val.charAt(i))) { 
      return false;
    }
  }
  return true;
}

function isBlank(val) {
  if(val=='') { 
    return true;
  }
  for(var i=0;i<val.length;i++) {
    if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")) { 
      return false;
    }
  }
  return false;
}

function yearOK() {
  var obj = window.document.recipeform.magyear;
  var the_year = obj.value;
  var is_good = isInteger(the_year);
  if (!is_good) {
    alert('Invalid year. Please enter a 4-digit year.');
    obj.focus();
    return false;
  }
  return true;
}

function resetform() {
  recipeform.reset;
}

function cancelPage() {
  window.location.replace("RecipeForm.php");
  history.go(-1);
}

function right(e) {
  if (navigator.appName == 'Netscape' &&
     (e.which == 3 || e.which == 2))
     return false;
  else {
    if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
      alert("Sorry, you do not have permission to right click.");
      return false;
    }
  }
  return true;
}

function photo_open(link, width, height) {
  var photoWindow = window.open(link,"photo",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width='+width+',height='+height);
}
