function visibleOneAddressOnly()
{
  var div = document.getElementById("one-address-only");
  div.style.visibility = "visible";
}

function useShippingAddress()
{
  var formular;
  formular = document.getElementById("checkoutForm");
  
  fillBillingAddress(formular.one_address_only.checked);
}

function synchronizeAddress()
{
  var formular;
  formular = document.getElementById("checkoutForm");
  
  if(formular.one_address_only.checked == true)
    fillBillingAddress(true);
}

function fillBillingAddress(fill)
{
  var formular;
  formular = document.getElementById("checkoutForm");
  
  if(fill == true)
  {
    formular.bill_first_name.value = formular.first_name.value;
    formular.bill_last_name.value = formular.last_name.value;
    formular.bill_company.value = formular.company.value;
    
    formular.bill_street.value = formular.street.value;
    formular.bill_city.value = formular.city.value;
    formular.bill_country.value = formular.country.value;
    formular.bill_state.value = formular.state.value;
    formular.bill_zip.value = formular.zip.value;
    
    disableBillingAddress(true);  
  }
  else
  {
    /*
    formular.bill_first_name.value = "";
    formular.bill_last_name.value = "";
    formular.bill_company.value = "";
    
    formular.bill_address.value = "";
    formular.bill_city.value = "";
    formular.bill_country.value = "";
    formular.bill_state.value = "";
    formular.bill_zip.value = "";
    */
    
    disableBillingAddress(false);
  }
}

function disableBillingAddress(how)
{
  var formular;
  formular = document.getElementById("checkoutForm");
  
  formular.bill_first_name.disabled = how;
  formular.bill_last_name.disabled = how;
  formular.bill_company.disabled = how;
  
  formular.bill_street.disabled = how;
  formular.bill_city.disabled = how;
  formular.bill_country.disabled = how;
  formular.bill_state.disabled = how;
  formular.bill_zip.disabled = how;
}

function checkoutDefaultCursor()
{
  var formular;
  formular = document.getElementById("checkoutForm");
  
  formular.first_name.focus();
}

function orderLoad()
{
  checkoutDefaultCursor();
  visibleOneAddressOnly();
}

// ***************************************************************************
// checkOrder
// ***************************************************************************

function checkOrder(formular)
{
  var ok = true;
  
  // ******************************************************
  // Shipping address 
  // ******************************************************
  
  if(ok && !formular.first_name.value)
  {
    alert("Please specify your first name.");
    formular.first_name.focus();
    ok = false;
  }
  
  if(ok && !formular.last_name.value)
  {
    alert("Please specify your last name.");
    formular.last_name.focus();
    ok = false;
  }
  
  if(ok && !formular.street.value)
  {
    alert("Please specify your address.");
    formular.street.focus();
    ok = false;
  }
  
  if(ok && !formular.city.value)
  {
    alert("Please specify your city.");
    formular.city.focus();
    ok = false;
  }
  
  if(ok && !formular.country.value)
  {
    formular.state.value = "";
    alert("Please specify your country.");
    formular.country.focus();
    ok = false;
  }
  
  if(ok 
    && (formular.country.value == signs["usa"] || formular.country.value == signs["can"]) 
    && (!formular.state.value || formular.state.value == signs["non_us"]))
  {
    formular.state.value = "";
    alert("Please specify your state.");
    formular.state.focus();
    ok = false;
  }
  
  if(ok  
    && formular.country.value != signs["usa"] 
    && formular.country.value != signs["can"]
    && formular.state.value != ""
    && formular.state.value != signs["non_us"])
  {
    formular.state.value = signs["non_us"];
    alert("Country and state do not match.");
    
    if(formular.one_address_only.checked == true)
      formular.bill_state.value = formular.state.value;
    formular.state.focus();
    ok = false;
  }
  
  if(ok && !formular.zip.value)
  {
    alert("Please specify your postal code.");
    formular.zip.focus();
    ok = false;
  }
  
  
  
  // ******************************************************
  // E-mail 
  // ******************************************************
  
  if(ok && !formular.email.value)
  {
    alert("Please specify your e-mail address.");
    formular.email.focus();
    ok = false;
  }
  
  if(ok && !is_email(formular.email.value))
  {
    alert("Invalid e-mail address specified.");
    formular.email.focus();
    ok = false;
  }
  
  
  // ******************************************************
  // Customer Registration 
  // ******************************************************
  
  if(ok && formular.username.value)
  {
    if(ok && !formular.userpasswd.value)
    {
      alert("Please specify your user password.");
      formular.userpasswd.focus();
      ok = false;
    }
    
    if(ok && !formular.userpasswd2.value)
    {
      alert("Please retype your user password.");
      formular.userpasswd2.focus();
      ok = false;
    }
    
    if(ok && (formular.userpasswd.value != formular.userpasswd2.value))
    {
      alert("Please specify your password. The values don not match.");
      formular.userpasswd.value = "";
      formular.userpasswd2.value = "";
      
      formular.userpasswd.focus();
      ok = false;
    }
  }
  
  return ok;
}

function is_email(string) 
{
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
        return true;
    else
        return false;
}

function newsletterRemoveText()
{
  document.getElementById("newsletter").value = "";
}

function setMenuHighlights(id)
{
  setMainMenuHighlights(id);
}


function checkLoginForm(formular)
{
  var ok = true;
    
  if(ok && !formular.username.value)
  {
    alert("Please specify your user name.");
    formular.username.focus();
    ok = false;
  }
  
  if(ok && !formular.userpasswd.value)
  {
    alert("Please specify your password.");
    formular.userpasswd.focus();
    ok = false;
  }
  
  return ok;
}

function checkSignupForm(formular, how)
{
  var ok = true;
  
  // signup (new user account)
  if(how == 1)
  {
    if(ok && !formular.username.value)
    {
      alert("Please specify your user name.");
      formular.username.focus();
      ok = false;
    }
    
    if(ok && !formular.userpasswd.value)
    {
      alert("Please specify your user password.");
      formular.userpasswd.focus();
      ok = false;
    }
    
    if(ok && !formular.userpasswd2.value)
    {
      alert("Please retype your password.");
      formular.userpasswd2.focus();
      ok = false;
    }
    
    if(ok && (formular.userpasswd.value != formular.userpasswd2.value))
    {
      alert("Please specify your password. The specified values do not match.");
      formular.userpasswd.value = "";
      formular.userpasswd2.value = "";
      
      formular.userpasswd.focus();
      ok = false;
    }
  }
  
  if(ok && !formular.email.value)
  {
    alert("Please specify your email address.");
    formular.email.focus();
    ok = false;
  }
  
  if(ok && !is_email(formular.email.value))
  {
    alert("Invalid e-mail address specified.");
    formular.email.focus();
    ok = false;
  }
  
  if(ok && !formular.first_name.value)
  {
    alert("Please specify your first name.");
    formular.first_name.focus();
    ok = false;
  }
  
  if(ok && !formular.last_name.value)
  {
    alert("Please specify your last name.");
    formular.last_name.focus();
    ok = false;
  }
  
  if(ok && formular.customerType.value == -1)
  {
    alert("Please specify your customer type.");
    formular.customerType.focus();
    ok = false;
  }
  
  
  return ok;
}


function deleteCustomerConfirm()
{
  return confirm("Are you sure you want to remove your customer account?");
}

function checkRetrPasswd(formular)
{
  var ok = true;
  
  if(ok && !formular.username.value)
  {
    alert("Please specify your user name.");
    formular.username.focus();
    ok = false;
  }
  
  return ok;
}

function checkCheckoutRegisteredUsers(formular)
{
  var ok = true;
  
  if(ok && !formular.username.value)
  {
    alert("Please specify your user name.");
    formular.username.focus();
    ok = false;
  }
  
  if(ok && !formular.userpasswd.value)
  {
    alert("Please specify your password.");
    formular.userpasswd.focus();
    ok = false;
  }
  
  if(ok)
    alert("In case you are a wholesale customer, your cart content will be recalculated first.\nThank you for your understanding.")
  
  return ok;
}

