function hideElement (elementId) {
  var element;
  if (document.all)
    element = document.all[elementId];
  else if (document.getElementById)
    element = document.getElementById(elementId);
  if (element && element.style)
    element.style.display = 'none';
}

function showElement (elementId) {
  var element;
  if (document.all)
    element = document.all[elementId];
  else if (document.getElementById)
    element = document.getElementById(elementId);
  if (element && element.style)
    element.style.display = '';
}

function myAccLogin(func)
{
  if (func == 'new'){
    document.getElementById('txtUserFunc').value = func;
    document.getElementById('myAccountLoginFrm').submit();
  }else if (func == 'forgot'){
    document.getElementById('txtUserFunc').value = func;
    document.getElementById('myAccountLoginFrm').submit();
  }else {
    var ready = true;
  	if (checkEmailAddy(document.getElementById('txtUserEmail').value)){
  	  document.getElementById('txtUserEmail').style.borderColor = '#000000';
  	}else{
      document.getElementById('txtUserEmail').style.borderColor = '#FF0000';
      ready = false;
    }

    if(checkPassword(document.getElementById('txtUserPass').value)){
  	  document.getElementById('txtUserPass').style.borderColor = '#000000';
  	}else{
      document.getElementById('txtUserPass').style.borderColor = '#FF0000';
      ready = false;
    }

    if(ready){
      document.getElementById('myAccountLoginFrm').submit();
    }else{
      showElement("errorRow");
      var txtErrorDiv = document.getElementById("errorTxt");
      txtErrorDiv.style.color = '#FF0000';
      txtErrorDiv.innerHTML = "Error, Incorrect username or password, if you have forgotten your password please use the link below.";
    }
  }
}
/*
txtNewTitle
txtNewFirstName
txtNewLastName
txtNewEmail
txtNewFirstName
txtNewPassword
txtNewPwdConfirm
txtNewPassClue
txtNewNews
*/

function cart(func, prodid){
  document.getElementById('txtCartFunc').value = func;
  document.getElementById('txtItemToRemove').value = prodid;
  document.getElementById('cartFrm').submit();
}

function newAccount(func){
  ready = true;

  if(checkText(document.getElementById('txtNewFirstName').value, 40)) {
    document.getElementById('txtNewFirstName').style.borderColor = '#000000';
  } else {
    document.getElementById('txtNewFirstName').style.borderColor = '#FF0000';
    ready = false;
  }
  if(checkText(document.getElementById('txtNewLastName').value, 40)) {
    document.getElementById('txtNewLastName').style.borderColor = '#000000';
  } else {
    document.getElementById('txtNewLastName').style.borderColor = '#FF0000';
    ready = false;
  }

  if(checkEmailAddy(document.getElementById('txtNewEmail').value)) {
    document.getElementById('txtNewEmail').style.borderColor = '#000000';
  }else{
    document.getElementById('txtNewEmail').style.borderColor = '#FF0000';
    ready = false;
  }

  if(checkPassword(document.getElementById('txtNewPassword').value)) {
    document.getElementById('txtNewPassword').style.borderColor = '#000000';
  }else{
    document.getElementById('txtNewPassword').style.borderColor = '#FF0000';
    ready = false;
  }

  if(document.getElementById('txtNewPwdConfirm').value == document.getElementById('txtNewPassword').value){
    document.getElementById('txtNewPwdConfirm').style.borderColor = '#000000';
  }else{
    document.getElementById('txtNewPwdConfirm').style.borderColor = '#FF0000';
    ready = false;
  }

  if(checkText(document.getElementById('txtNewPassClue').value, 40)) {
    document.getElementById('txtNewPassClue').style.borderColor = '#000000';
  } else {
    document.getElementById('txtNewPassClue').style.borderColor = '#FF0000';
    ready = false;
  }

  if(ready){
    document.getElementById('newAccountFrm').submit();
  }else{
    showElement("errorRow");
    var txtErrorDiv = document.getElementById("errorTxt");
    txtErrorDiv.style.color = '#FF0000';
    txtErrorDiv.innerHTML = "Error, Please complete or edit fields highlighted in red.";
  }
}

function change_pwd(){
  ready = true;
  if(checkPassword(document.getElementById('txtNewPassword').value)) {
    document.getElementById('txtNewPassword').style.borderColor = '#000000';
  }else{
    document.getElementById('txtNewPassword').style.borderColor = '#FF0000';
    ready = false;
  }

  if(document.getElementById('txtNewPwdConfirm').value == document.getElementById('txtNewPassword').value){
    document.getElementById('txtNewPwdConfirm').style.borderColor = '#000000';
  }else{
    document.getElementById('txtNewPwdConfirm').style.borderColor = '#FF0000';
    ready = false;
  }

  if(checkText(document.getElementById('txtNewPassClue').value, 40)) {
    document.getElementById('txtNewPassClue').style.borderColor = '#000000';
  } else {
    document.getElementById('txtNewPassClue').style.borderColor = '#FF0000';
    ready = false;
  }

  if(ready){
    document.getElementById('myPwdChangeFrm').submit();
  }else{
    showElement("errorRow");
    var txtErrorDiv = document.getElementById("errorTxt");
    txtErrorDiv.style.color = '#FF0000';
    txtErrorDiv.innerHTML = "Error, Please complete or edit fields highlighted in red.";
  }
}

function forgot_pwd(func){
  var ready = true;
  if(checkEmailAddy(document.getElementById('txtUserEmail').value)){
    document.getElementById('txtUserEmail').style.borderColor = '#000000';
  }else{
    document.getElementById('txtUserEmail').style.borderColor = '#FF0000';
    ready = false;
  }

  if(ready && (func == 'reset')){
    document.getElementById('txtUserFunc').value = 'reset';
    document.getElementById('forgotPwdFrm').submit();
  }else if (ready && (func == 'clue')) {
    document.getElementById('txtUserFunc').value = 'clue';
    document.getElementById('forgotPwdFrm').submit();
  } else {
    showElement("errorRow");
    var txtErrorDiv = document.getElementById("errorTxt");
    txtErrorDiv.style.color = '#FF0000';
    txtErrorDiv.innerHTML = "Error, Please complete or edit fields highlighted in red.";
  }
}

function checkText(theText, theCount){
  var result = true;
  if(theText == "") { result = false; }
  if(theText.length > theCount) { result = false; }

  return result;
}

function checkPassword(thePass){
  var result = true;
  if(thePass == "") { result = false; }
  if(thePass.length < 6) { result = false; }
  if(thePass.length > 30) { result = false; }

  return result;
}

function checkEmailAddy(theEmail) {
  var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
  var regex = new RegExp(emailReg);
  return regex.test(theEmail) && (theEmail.length < 81);
}
