var defaultEmptyOK = false
var whitespace = " \t\n\r";

// isEmail (STRING s [, BOOLEAN emptyOK])
// 
// Email address must be of form a@b.c -- in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.

function isEmail(s)
{   
  if (isEmpty(s)) 
    if (isEmail.arguments.length == 1) return defaultEmptyOK;
    else return (isEmail.arguments[1] == true);
   
    // is s whitespace?
    if (isWhitespace(s)) return false;
    
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function isEmpty(s)
{   
  return ((s == null) || (s.length == 0))
}

function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}


function OnChangeSearchType(form)
{
  form.action = "search1.asp";
  form.submit();
}


function OnClickAddPDF(form, keyDataContent)
{
  if(ViewBasketValid(form))
  {
    form.action += '?add=1&keyDataContent=' + keyDataContent;
    //alert(form.action);
    form.submit();
  }
}


function OnClickDeleteAll(form)
{
  form.action = form.action + '?delete=1';
  form.submit();
}


function OnClickEmailUs(form)
{
  var ok;
  
  ok = true;
  
  if(form.fullname.value.length == 0)
  {
    alert('You must enter a name!');
    form.fullname.focus();
    ok = false;
  }
  
  else if(!isEmail(form.email.value))
  {
    alert('You must enter a valid email address!');
    form.email.focus();
    ok = false;
  }

  else if(form.message.value.length == 0)
  {
    alert('You must enter a message!');
    form.message.focus();
    ok = false;
  }

  if(ok)
    form.submit();
  
}


function OnClickHistory(form)
{
  form.action = 'products_history.asp';
  form.submit();
}


function OnClickHREF(form, href)
{
  form.action = href;
  form.submit();
}


function OnClickLogOn(form)
{
  var ok;
  
  ok = true;
  
  if(form.firstname.value.length == 0)
  {
    alert('You must enter a first name!');
    form.firstname.focus();
    ok = false;
  }
  
  else if(form.lastname.value.length == 0)
  {
    alert('You must enter a surname name!');
    form.lastname.focus();
    ok = false;
  }

  else if(!isEmail(form.email.value))
  {
    alert('You must enter a valid email address!');
    form.email.focus();
    ok = false;
  }
  
  if(ok)
    form.submit();
  
}


function OnClickNotRegistered(form)
{
  alert('To log on to the site, you need to complete the following registration form...');
  
  form.action = 'information_userrego01.asp';
  form.submit();
}


function OnClickViewBasket(form)
{
  if(ViewBasketValid(form))
  {
    form.action = 'products_pdfcombiner.asp';
    form.submit();
  }
}


function OnClickSearch(form, search)
{

  if(search.value.length > 0 && search.value != 'Type product name here')
  {
    form.action = 'products_searchresults.asp?search=' + search.value;
    form.submit();
  }
  else if(search.value.length == 0)
  {
    alert('You must enter a product name to search for!');
    search.focus();
  }
  else
  {
    alert('You must enter a product name to search for!');
    search.focus();
  }
  
}


function OnClickSearchApplication(form)
{
  if(form.application.selectedIndex == 0)
  {
    alert('You must select an Application!');
    form.application.focus();
  }
  else
  {
    form.search_type.value = 0;
    form.action = 'products_searchresults.asp';
    form.submit();
  }
}


function OnClickSearchCharacteristics(form)
{  
  var clicked;
  
  clicked = false;
  
  for(i = 0; i < form.characteristics.length && !clicked; i++)
  {
    if(form.characteristics[i].checked == true)
      clicked = true;
  }
  
  if(!clicked)
    alert('You must select at least one Product characteristic!');
  else
  {
    form.search_type.value = 1;
    form.action = 'products_searchresults.asp';
    form.submit();
  }
}


function OnClickSearchBoth(form)
{
  var clicked;
  
  clicked = false;
  
  for(i = 0; i < form.characteristics.length && !clicked; i++)
  {
    if(form.characteristics[i].checked == true)
      clicked = true;
  }
  
  if(!clicked)
    alert('You must select at least one Product characteristic!');
  else
  {
    if(form.application.selectedIndex == 0)
    {
      alert('You must select an Application!');
      form.application.focus();
    }
    else
    {
      form.search_type.value = 2;
      form.action = 'products_searchresults.asp';
      form.submit();
    }
  }

}


function OnClickUpdateHistory(form)
{
  form.action = 'products_history.asp';
  form.submit();
}


function OnNewSearch(form)
{
  form.action = 'search.asp';
  form.submit();
}



function OnSaveAndSend(form)
{

  if(!isEmail(form.email_address.value))
  {
    alert('You must enter a valid email address!');
    form.email_address.focus();
  }
  else
  {
    form.action = 'products_pdfcombiner_send.asp';
    form.submit();
  }
  
}


function OnSelectProduct(form, select, category)
{
  if(select.selectedIndex != 0)
  {  
    form.category.value = category;
    form.keyDataContent.value = select.options[select.selectedIndex].value;
    
    form.action = "products_productdesc.asp";
    form.submit();
  }
}


function OnSelectProductPage(form, action)
{
  form.action = action;
  form.submit();
}


function OnSelectProductSearch(form, keyDataContent, category)
{
  form.keyDataContent.value = keyDataContent;
  form.category.value = category;
  form.action = 'products_productdesc.asp';
  
  form.submit();
}


function OnSubmitRegistration(form)
{
  var ok;
  ok = true;
  
  if(!isEmail(form.e126.value))
  {
    alert('You must enter a valid email address!');
    form.e126.focus();
    ok = false;
  }
  
  else if(ok && form.e117.value.length == 0)
  {
    alert('You must enter a value for the First Name!');
    form.e117.focus();
    ok = false;
  }
  
  else if(form.e118.value.length == 0)
  {
    alert('You must enter a value for the Last Name!');
    form.e118.focus();
    ok = false;
  }
    
  else if(!form.e142[0].checked && !form.e142[1].checked)
  {
    alert('You must select whether you want to receive an Australian Paper UPP Stock Selector!');
    form.e142[0].focus();
    ok = false;
  }
    
  if(ok)
    form.submit();

}


function OnSubmitRegistration1(form)
{
  var ok;
  ok = true;
    
  if(ok && form.e117.value.length == 0)
  {
    alert('You must enter a value for the First Name!');
    form.e117.focus();
    ok = false;
  }
  
  else if(form.e118.value.length == 0)
  {
    alert('You must enter a value for the Last Name!');
    form.e118.focus();
    ok = false;
  }
    
  else if(ok && form.e119.value.length == 0)
  {
    alert('You must enter a value for the Company Name!');
    form.e119.focus();
    ok = false;
  }

  else if(ok && form.e120.value.length == 0)
  {
    alert('You must enter a value for the Position Held!');
    form.e120.focus();
    ok = false;
  }

  else if(ok && form.e121.value.length == 0)
  {
    alert('You must enter a value for the Address!');
    form.e121.focus();
    ok = false;
  }

  else if(ok && form.e122.value.length == 0)
  {
    alert('You must enter a value for the Suburb!');
    form.e122.focus();
    ok = false;
  }

  else if(ok && form.e123.selectedIndex == 0)
  {
    alert('You must enter a value for the State!');
    form.e123.focus();
    ok = false;
  }

  else if(ok && form.e124.value.length == 0)
  {
    alert('You must enter a value for the Postcode!');
    form.e124.focus();
    ok = false;
  }

  else if(ok && form.e123.selectedIndex == 9)
  {
    if(form.e144.value.length == 0)
    {
      alert('You must enter a value for the International telephone prefix!');
      form.e144.focus();
      ok = false;
    }
  }

  else if(ok && form.prefix.value.length == 0)
  {
    alert('You must enter a value for the Telephone prefix!');
    form.prefix.focus();
    ok = false;
  }
  

  else if(ok && form.e125.value.length == 0)
  {
    alert('You must enter a value for the Telephone!');
    form.e125.focus();
    ok = false;
  }
  
  else if(!isEmail(form.e126.value))
  {
    alert('You must enter a valid email address!');
    form.e126.focus();
    ok = false;
  }
  
  else if(!form.e145a.checked && !form.e145b.checked && !form.e145c.checked && !form.e145d.checked && !form.e145e.checked && !form.e145f.checked && !form.e145g.checked && form.e146.value.length == 0)
  {
    alert('Please fill in the section \'How did you hear about the UPP Selector!\'');
    form.e145a.focus();
    ok = false;
  }
  

  if(ok)
    form.submit();
}


function OnSubmitRegistrationLaunch(form)
{
  var ok;
  ok = true;
  
  
  if(ok && form.e117.value.length == 0)
  {
    alert('You must enter a value for the First Name!');
    form.e117.focus();
    ok = false;
  }
  
  else if(form.e118.value.length == 0)
  {
    alert('You must enter a value for the Last Name!');
    form.e118.focus();
    ok = false;
  }
    
  else if(ok && form.e119.value.length == 0)
  {
    alert('You must enter a value for the Company Name!');
    form.e119.focus();
    ok = false;
  }

  else if(ok && form.e120.value.length == 0)
  {
    alert('You must enter a value for the Position Held!');
    form.e120.focus();
    ok = false;
  }

  else if(ok && form.e121.value.length == 0)
  {
    alert('You must enter a value for the Address!');
    form.e121.focus();
    ok = false;
  }

  else if(ok && form.e122.value.length == 0)
  {
    alert('You must enter a value for the Suburb!');
    form.e122.focus();
    ok = false;
  }

  else if(ok && form.e123.selectedIndex == 0)
  {
    alert('You must enter a value for the State!');
    form.e123.focus();
    ok = false;
  }

  else if(ok && form.e124.value.length == 0)
  {
    alert('You must enter a value for the Postcode!');
    form.e124.focus();
    ok = false;
  }

  else if(ok && form.prefix.value.length == 0)
  {
    alert('You must enter a value for the Telephone prefix!');
    form.prefix.focus();
    ok = false;
  }

  else if(ok && form.e125.value.length == 0)
  {
    alert('You must enter a value for the Telephone!');
    form.e125.focus();
    ok = false;
  }
  
  else if(!isEmail(form.e126.value))
  {
    alert('You must enter a valid email address!');
    form.e126.focus();
    ok = false;
  }

  else if(!form.e142[0].checked && !form.e142[1].checked)
  {
    alert('You must select whether you want to receive an Australian Paper UPP Stock Selector!');
    form.e142[0].focus();
    ok = false;
  }
    


  if(ok)
    form.submit();

}

function OnViewPDF(keyDataContent, keyDataContent_8)
{

//  window.open('viewPDF.asp?keyDataContent=' + keyDataContent, 'win', 'alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,z-lock=0');
 
  window.open('viewPDF.asp?keyDataContent=' + keyDataContent + '&keyDataContent_8=' + keyDataContent_8, 'win');

}


function ViewBasketValid(form)
{
  var valid;
  
  valid = true;
  
  if(form.keyDataContent_8.value.length == 0)
  {
    alert('You must be registered and logged on to use the PDF combiner.\nIf you have registered before, please select \'Log On\' to log on to the site.\nIf you have not registerd before, please select \'Register\' from the main menu.');
    valid = false;
  }
  else if(form.keyDataContent_8.value == 0)
  {
    alert('You must be registered and logged on to use the PDF combiner.\nIf you have registered before, please select \'Log On\' to log on to the site.\nIf you have not registerd before, please select \'Register\' from the main menu.');
    valid = false;
  }
  
  return valid;
}