function myWriteLin(str)
{
		document.writeln(str);
}

function changeElementClass(element,classname)
{
  document.getElementById(element).className = classname;
}

function toggleCopyShipping()
{
  var IsChecked = document.getElementById('CopyShipping').checked;
  for (var Field in BillingInfo)
  {
    var FieldID = Field + 'Field';
    if (IsChecked)
    {
      document.getElementById(FieldID).value = unescape(BillingInfo[Field]);
    }
    else
    {
      document.getElementById(FieldID).value = '';
    }
  }
  if (IsChecked)
  {
    hideElement('Billing'); 
    focusElement('OrderNotes'); 
  }
  else
  {
    showElement('Billing'); 
    focusElement('FirstNameField');
  }
}

function showElement(element,mode)
{
  if (!mode)
  {
    mode = 'block';
  }
  document.getElementById(element).style.display = mode;
}

function hideElement(element,mode)
{
  if (!mode)
  {
    mode = 'none';
  }
  document.getElementById(element).style.display = mode;
}

function focusElement(element)
{
  document.getElementById(element).focus();
}

function swapImage(element)
{
  NewSRC = document.getElementById(element).src;
  OldSRC = document.getElementById('Large').src;
  hideElement('Large');
  document.getElementById('Large').src = NewSRC.replace(/thumbnails/,'');
  document.getElementById(element).src = OldSRC.replace(/products/,'products/thumbnails');
  fadeInElement('Large');
}

function setOpacity(element,value)
{
  var el = document.getElementById(element);
  el.style.opacity = value/10;
  el.style.filter = 'alpha(opacity=' + value*10 + ')';
}

function fadeOutElement(element,cur)
{
  if (!cur)
  {
    var cur = 10;
  }
  setOpacity(element,cur);
  var next = parseInt(cur) - 1;
  if (cur == 0)
  {
    hideElement(element);
  }
  else
  {
    setTimeout('fadeOutElement("' + element + '","' + next + '");',50);
  }
}

function fadeInElement(element,cur)
{
  if (!cur)
  {
    var cur = 0;
    setOpacity(element,cur);
    showElement(element);
  }
  else
  {
    setOpacity(element,cur);
  }

  var next = parseInt(cur) + 1;
  
  if (next <= 10)
  {
    setTimeout('fadeInElement("' + element + '","' + next + '");',20);
  }
}

function updateItem(altTitle, sku, price, salePrice)
{
	if (document.getElementById('Large') != null)
	{
		document.getElementById('Large').title = altTitle;
		document.getElementById('Large').alt = altTitle;
	}
	
	document.getElementById('optionSKU').innerHTML = sku;
	
	if (salePrice != '')
		document.getElementById('optionPrice').innerHTML = "SALE! $" + salePrice;
	else
		document.getElementById('optionPrice').innerHTML = "$" + price;
}

function isEmpty(id)
{
		if (document.getElementById(id).value == '')
			return true;
		else
			return false;
}

function validateCVV2(id)
{
	if (isEmpty(id))
	{
		alert('You must supply a Security Code!');
		return false;
	}
	else
	{
		return true;		
	}
}

	function validateRequest(formName, emailId)
	{
		if (validateEmail(emailId))
			return true;
		else
			return false;
	}

	function validateEmail(field)
	{
		var emailAddr = document.getElementById(field).value;
	
		if (isValidEmail(emailAddr))
			return true;
		else
		{
			alert('Email address is not valid, please fix.');
			return false;
		}
	}
	
	function isValidEmail(email)
	{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))
			return true;
		else
			return false;
	}
	
function getHTTPObject()
{   
	if (window.ActiveXObject) 
		return new ActiveXObject("Microsoft.XMLHTTP");   
	else if (window.XMLHttpRequest) 
		return new XMLHttpRequest();  
	else 
	{      
	 	alert("Your browser does not support AJAX.");      
	 	return null;   
	 	}
}  	

function getRates() 
{     
	var zip = document.checkout.ShipZip.value;
	var country = document.checkout.ShipCountry.value;
	
	if (zip == '')
	{
		alert('Plese enter a shipping Zip/Postal Code');
		return;
	}
	
	document.getElementById('getRatesDiv').innerHTML = '<br />Looking up rates...'; 
	   
	httpObject = getHTTPObject();   
 if (httpObject != null) 
 {        
 		httpObject.open("GET", "getRates.cfm?zip=" + zip + "&country=" + country, true);        
 		httpObject.send(null);         
 		httpObject.onreadystatechange = setOutput;    
 	}
}

function setOutput() 
{    
	if(httpObject.readyState == 4)
	{        
		document.getElementById('getRatesDiv').innerHTML = httpObject.responseText;    
	} 
}