function toggle(targetId)
{
	var target = document.getElementById(targetId);
	if (target.style.display == "none")
	{
		target.style.display = "block";
	} 
	else 
	{
		target.style.display = "none";
	}
}

function selectOption(optionToSelect)
{
	switch (optionToSelect)
	{
		case "1":
			if (!document.getElementById("engraveOption1").checked)
				document.getElementById("engraveOption1").checked = true;
			break;
			
		case "2":
			if (!document.getElementById("engraveOption2").checked)
				document.getElementById("engraveOption2").checked = true;
			break;
			
		case "3":
			if (!document.getElementById("engraveOption3").checked)
				document.getElementById("engraveOption3").checked = true;
			break;
			
		default:
			break;
	}	
}

function confirmClearCart()
{
	if (window.confirm("Are you sure you want to clear your cart?"))
	{
		window.location = "/clear_cart.php";
	}
}

function checkFlowers(action)
{	
	var targetBox = document.getElementById('target');
	var sourceBox = document.getElementById('source');
	var graytext = "#C6A0C5";
	var normaltext = "#000000";

	switch (action)
	{
		case "toggle":		
			if (targetBox.length > 0)
			{
				//Unscented is selected, disable all flowers
				if (targetBox.options[0].value == "*Unscented")
				{
					for (var i = 0; i < sourceBox.length; i++)
					{
						//sourceBox.options[i].disabled = true;
						sourceBox.options[i].style.color = graytext;
						sourceBox.options[i].selected = false;
					}
				}
				//Flowers are selected, disable Unscented
				else
				{
					for (var i = 0; i < sourceBox.length; i++)
					{
						//sourceBox.options[i].disabled = false;
						sourceBox.options[i].style.color = normaltext;
					}

					//sourceBox.options[0].disabled = true;
					sourceBox.options[0].style.color = graytext;
					sourceBox.options[0].selected = false;
				}
			}
			else
			{
				//Unscented is highlighted, but not selected yet. Disable all flowers
				if (sourceBox.selectedIndex >= 0 && sourceBox.options[sourceBox.selectedIndex].text == "*Unscented")
				{
					for (var i = 1; i < sourceBox.length; i++)
					{
						//sourceBox.options[i].disabled = true;
						sourceBox.options[i].style.color = graytext;
						sourceBox.options[i].selected = false;
					}
				}
				//Flowers are highlighted, but not selected yet. Disable Unscented
				else
				{
					for (var i = 0; i < sourceBox.length; i++)
					{
						//sourceBox.options[i].disabled = false;
						sourceBox.options[i].style.color = normaltext;
					}

					if (sourceBox.selectedIndex > 0)						
					{
						//sourceBox.options[0].disabled = true;
						sourceBox.options[0].style.color = graytext;
						sourceBox.options[0].selected = false;
					}
				}
			}			
			break;
			
		case "reset":		
			if (targetBox.length > 0)
			{
				if (sourceBox.options[0].value == "*Unscented")
				{
					for (var i = 1; i < sourceBox.length; i++)
					{
						//sourceBox.options[i].disabled = false;
						sourceBox.options[i].style.color = normaltext;
					}
				}		
			}
			else
			{
				for (var i = 0; i < sourceBox.length; i++)
				{
					//sourceBox.options[i].disabled = false;
					sourceBox.options[i].style.color = normaltext;
					sourceBox.options[i].selected = false;
				}
			}			
			break;
			
		default:
			break;
	}
	
}

function copyBillingToShipping()
{
	if (document.getElementById('shippingEqualsBilling').checked)
	{
		document.getElementById('shippingName').value = document.getElementById('billingName').value;
		document.getElementById('shippingAddress').value = document.getElementById('billingAddress').value;
		document.getElementById('shippingAddress2').value = document.getElementById('billingAddress2').value;
		document.getElementById('shippingCity').value = document.getElementById('billingCity').value;
		document.getElementById('shippingState').value = document.getElementById('billingState').value;
		document.getElementById('shippingZipcode').value = document.getElementById('billingZipcode').value;
		document.getElementById('shippingPhoneNumber').value = document.getElementById('billingPhoneNumber').value;
		document.getElementById("shippingName").click();
		document.getElementById("creditCardNameOnCard").focus();
	}
	else
	{
		document.getElementById('shippingName').value = "";
		document.getElementById('shippingAddress').value = "";
		document.getElementById('shippingAddress2').value = "";
		document.getElementById('shippingCity').value = "";
		document.getElementById('shippingState').value = "";
		document.getElementById('shippingZipcode').value = "";
		document.getElementById('shippingPhoneNumber').value = "";
	}
}

function selectMove(form, source, target) 
{
   var f = document.forms[form];
   var s = eval('f.' + source);
   var t = eval('f.' + target);
   
   // build new and old options
   var d = new Array();
   var l = t.options.length;
   var c = 0;
   for (var i = 0; i < s.options.length; i++) 
   {
      if (s.options[i].selected) 
	  {
         t.options[l+c] = new Option(s.options[i].text, s.options[i].value);
         d.push(i);
         c++;
      }
   }
   c = 0;
   for (var i = 0; i < d.length; i++) 
   {
		s.options[d[i]-c] = null;
	    c++;
   }     
   
   sortlist(form, target);
}

function selectUp(form, name) {
   var f = document.forms[form];
   var field = eval('f.'+name);
   var options = field.options;
   var limit = 0;
   var selected = -1;
   for (var i=0;i < options.length;i++) {
      if (options[i].selected) {
         selected = i;
         options[i].selected = false;
      }
   }
   if (selected < 0) {
      return;
   }
   if (selected > limit) {
      selectSwap(options[selected], options[selected-1]);
      options[selected-1].selected = true;
   }
}

function selectDn(form, name) {
   var f = document.forms[form];
   var field = eval('f.'+name);
   var options = field.options;
   var limit = options.length;
   var selected = -1;
   for (var i=0;i < options.length;i++) {
      if (options[i].selected) {
         selected = i;
         options[i].selected = false;
      }
   }
   if (selected < 0) {
      return;
   }
   if ((selected+1) < limit) {
      selectSwap(options[selected], options[selected+1]);
      options[selected+1].selected = true;
   }
}

function selectAll(form, name) 
{
   var f = document.forms[form];
   var field = eval('f.'+name);
   var options = field.options;

   for (var i=0;i < options.length;i++) 
   {
      options[i].selected = true;
   }
}

function selectSwap(s, t) {
   var o = new Option(t.text, t.value);
   t.text = s.text;
   t.value = s.value;
   s.text = o.text;
   s.value = o.value;
}

function setField(form, name, value) {
   var f = document.forms[form];
   var field = eval('f.' + name);
   field.value = value;
}

function setFields() {
   var a = setFields.arguments;
   var f = document.forms[a[0]];
   for (var i=1;i < a.length;i+=2) {
      var field = eval('f.' + a[i]);
      field.value = a[i+1];
   }
}

function removeOptionsFrom(form, source, target) 
{
   	var f = document.forms[form];
   	var s = eval('f.' + source);
   	var t = eval('f.' + target);

	for (var j = 0; j < s.length; j++)
	{
		for (var k = 0; k < t.length; k++)
		{
			if (s.options[j].value == t.options[k].value)
			{			 	
				t.options[k] = null;
			}
		}
	}
}

function sortlist(form, selectList) 
{
	var form = document.forms[form];
	var lb = eval('form.' + selectList)
	arrTexts = new Array();

	for(i=0; i<lb.length; i++)  
	{
		arrTexts[i] = lb.options[i].text;
	}

	arrTexts.sort();

	for(i=0; i<lb.length; i++)  
	{
		lb.options[i].text = arrTexts[i];
		lb.options[i].value = arrTexts[i];
	}
}

function removeProductFromCart(form, field)
{
	document.getElementById(field).value = '0';
	document.forms[form].submit();
}