 
 
function isTag(node)
{
  return (node.nodeType == 1);
}

 
function fold(el, skip)
{
  // the block to hide should be the first child after
  // the show-hide button
  var tile, node, parent;

  // find the element
  parent = el.parentNode;
  if (parent.hasChildNodes())
  {
    // init node
    node = parent.childNodes[0];
    size = parent.childNodes.length;
    nCountElements = 0;
    nCountTags = 0;
    // if there are any elements, continue
    if (size > 0)
    {
      // loop until bounds
      while (nCountTags < skip && nCountElements<size)
      {
        node = parent.childNodes[nCountElements];
        nCountElements++;
        // count the tags
        if (isTag(node))
          nCountTags++;
      }
      tile = node;
    }
    else
      alert('error: list cannot display');
  }
  else
    alert('error: list cannot display');
  // now show/hide the element
  var isHidden = false;
  if (tile.className)
    isHidden = tile.className.match(/hide/)!==null;

  if (!isHidden)
  {
    tile.className += " hide";
    el.className += " collapsed";
  }
  else
  {
    tile.className = tile.className.replace(" hide","");
    el.className = el.className.replace(" collapsed","");
    // also for elements with a single class name
    tile.className = tile.className.replace("hide","");
    el.className = el.className.replace("collapsed","");
  }

  return false;
}


 
function collapse(listId)
{
  var list = document.getElementById(listId);
  var foldIcons = list.getElementsByTagName("span");
  for (var i=0; i<foldIcons.length; i++)
    {
    if ( foldIcons[i].className.match(/fold/)!==null )
        fold(foldIcons[i], 3);
    }
}


 
function expand(objElement)
{
// THIS IS NOT WORKING YET.
// WE NEED TO ACTUALLY _FOLD_ HERE, SINCE THE + NEEDS TO BE SHOWN

  activeElement = objElement;
  do
  {
    if (activeElement.tagName == "UL")
    {
      tile.className = tile.className.replace(" hide","");
      el.className = el.className.replace(" collapsed","");
      // also for elements with a single class name
      tile.className = tile.className.replace("hide","");
      el.className = el.className.replace("collapsed","");
    }
    activeElement = activeElement.parentNode;
  } while (activeElement.tagName!="DIV" && activeElement.tagName!="BODY")
}

 
function showHide(id)
{
  var isHidden;
  tile = document.getElementById(id);
  showHideObject(tile);
}

 
function showHideObject(objElement)
{
  var isHidden;
  tile = objElement;
  // check for existence of tile element
  if (!tile)
    return;
  isHidden = tile.className.match(/hide/)!==null;

  if (isHidden)
  {
    tile.className = tile.className.replace(" hide","");
    // also for elements with a single class name
    tile.className = tile.className.replace("hide","");
  }
  else
    tile.className += " hide";
}



	function CopyFields() {

		if(document.f1.cf.checked)
		{
			document.f1.ch1.value = document.f1.FirstName.value;
			document.f1.ch2.value = document.f1.LastName.value;
			document.f1.BillingAddress1.value = document.f1.ShippingAddress1.value;
			document.f1.BillingAddress2.value = document.f1.ShippingAddress2.value;
			document.f1.BillingCity.value = document.f1.ShippingCity.value;
			document.f1.BillingState.value = document.f1.ShippingState.value;
			document.f1.BillingCountry.value = document.f1.ShippingCountry.value;
			document.f1.BillingZip.value = document.f1.ShippingZip.value;
			document.f1.BillingPhone.value = document.f1.ShippingPhone.value;
		}
		else
		{
			document.f1.ch1.value = "";
			document.f1.ch2.value = "";
			document.f1.BillingAddress1.value = "";
			document.f1.BillingAddress2.value = "";
			document.f1.BillingCity.value = "";
			document.f1.BillingState.value = "";
			document.f1.BillingCountry.value = "";
			document.f1.BillingZip.value = "";
			document.f1.BillingPhone.value = "";
		}
	}

	function CheckThis() {

		if(document.f1.FirstName.value=="")
		{
			alert("Enter your first name, please!");
			document.f1.FirstName.focus();
			return false;
		}

		if(document.f1.LastName.value=="")
		{
			alert("Enter your last name, please!");
			document.f1.LastName.focus();
			return false;
		}

		if(document.f1.ShippingAddress1.value=="")
		{
			alert("Enter the shipping address, please!");
			document.f1.ShippingAddress1.focus();
			return false;
		}

		if(document.f1.ShippingCity.value=="")
		{
			alert("Enter the shipping city, please!");
			document.f1.ShippingCity.focus();
			return false;
		}

		if(document.f1.ShippingState.value=="")
		{
			alert("Enter the shipping state, please!");
			document.f1.ShippingState.focus();
			return false;
		}

		if(document.f1.ShippingCountry.value=="")
		{
			alert("Enter the shipping country, please!");
			document.f1.ShippingCountry.focus();
			return false;
		}

		if(document.f1.ShippingZip.value=="")
		{
			alert("Enter the shipping destination zip code, please!");
			document.f1.ShippingZip.focus();
			return false;
		}

		if(document.f1.ShippingPhone.value=="")
		{
			alert("Enter the shipping phone, please!");
			document.f1.ShippingPhone.focus();
			return false;
		}

		if(document.f1.ch1.value=="")
		{
			alert("Enter the credit card holder's first name, please!");
			document.f1.ch1.focus();
			return false;
		}

		if(document.f1.ch2.value=="")
		{
			alert("Enter the credit card holder's last name, please!");
			document.f1.ch2.focus();
			return false;
		}

		if(document.f1.BillingAddress1.value=="")
		{
			alert("Enter the billing address, please!");
			document.f1.BillingAddress1.focus();
			return false;
		}

		if(document.f1.BillingCity.value=="")
		{
			alert("Enter the billing city, please!");
			document.f1.BillingCity.focus();
			return false;
		}

		if(document.f1.BillingState.value=="")
		{
			alert("Enter the billing state, please!");
			document.f1.BillingState.focus();
			return false;
		}

		if(document.f1.BillingCountry.value=="")
		{
			alert("Enter the billing country, please!");
			document.f1.BillingCountry.focus();
			return false;
		}

		if(document.f1.BillingZip.value=="")
		{
			alert("Enter the billing address zip code, please!");
			document.f1.BillingZip.focus();
			return false;
		}

		if(document.f1.BillingPhone.value=="")
		{
			alert("Enter the card holder's phone number, please!");
			document.f1.BillingPhone.focus();
			return false;
		}

		if(document.f1.YourEmail.value=="")
		{
			alert("Enter your email address, please!\n\nWe will send you a receipt.");
			document.f1.YourEmail.focus();
			return false;
		}

	}
 
 
 
 
 