var somethingChanged = false;
var message = "Changes not saved.";

function onChangePage( a, somethingChanged, message )
{
     if ( somethingChanged ) 
     { 
          if ( !confirm( message + "\nClick OK to continue or\nCancel to remain on this page." ) ) 
          { 
               a.href = "#";
          }
          
          else
          {
               a.href = a.url;
          }
     }
}


function promptEmail( message ) 
{ 
     var value = window.prompt( message,"");
     
     if ( value ) 
     { 
          document.retrieve.ClientEmail.value = value;
          document.retrieve.submit();
     }
}


/* COMMON FUNCTIONS */
function setFocus(formName,fieldName)
{
    objForm = "document." + formName;

    if ( objForm )
    {
        objField = eval ( objForm + "." + fieldName );
        objField.focus();
    }
}


function checkSearch()
{
     if ( document.search.q.value.length > 0 )
     {
          document.search.submit();
     }
     
     else
     {
          alert ("Please enter a search term.\nUse only spaces for multiple terms.");
     }
}


function checkRequired(form,field)
{
     objForm = form.name;
     objField = eval ( "document." + objForm + "." + field );

     if ( objField.value.length == 0 )
     {
          alert ( "Missing required value.");
          objField.style.backgroundColor = "#FFFFCC";
          objField.focus();
     }
     
     else
     {
          objField.style.backgroundColor = "#FFFFFF";
     }
}


function launch(url)
{
     gallery=window.open ( url, "info", 'toolbar=0,menubar=0,scrollbars=0,resizable=0,width=600,height=220,left=10,top=116' )
}


function changeAction(form,action)
{
     objForm = "document." + form.name + ".";
     
     objHidden = eval ( objForm + "formaction" );
     objHidden.value = action;

     form.submit();
}


function setStyle( id, member, value )
{
	eval ( "document.getElementById('" +  id + "').style." + member + "='" + value +"';" );
}


to = null;

function switchUnits( from, to )
{
	if ( from != to )
     {
          setStyle ( "ingredients_" + from, "display", "none" );
          setStyle ( "ingredients_" + to, "display", "block" );
          selected = to;  
     }		

     else
     {
          setStyle ( "ingredients_" + from, "display", "block" );
          selected = from;
     }
     
	setFrom ( selected );
}


function setFrom ( selected )
{
     from = selected;
}


function showItem(item)
{
     objItem = document.getElementById(item);
     objItem.style.display = "block";
}


function hideItem(item)
{
     objItem = document.getElementById(item);
     objItem.style.display = "none";
}


function toggleItem(item)
{
     objItem = parent.document.getElementById(item);
     
     if ( objItem.style.display == "none")
     {
          objItem.style.display = "block";
     }
     
     else
     {
          objItem.style.display = "none";
     }
}


/* PHOTOS */
function sneakBuster( redirect ) 
{
     thisWindow = document.location.href;
     topWindow = top.location.href;
     
     if ( thisWindow == topWindow ) 
     {
          window.location.href = redirect;
     }
}

function getDimensions()
{
     objImage = document.getElementById("previewImage");
     objMask = document.getElementById("maskImage");
     objMask.width = objImage.offsetWidth;
     objMask.height =  objImage.offsetHeight;
}


/* ATTRIBUTES.CFM */
function checkAttribute(fieldName)
{
     objCheckbox = document.attributes.AttributeActive;
     
     if ( fieldName.value.length > 0 )
     {
          objCheckbox.disabled = false;
          objCheckbox.checked = true;
     }
     
     else
     {
          objCheckbox.disabled = true;
          objCheckbox.checked = false;
     }
}


function toggleMessage(item)
{
     objItem = document.getElementById(item);
     
     if ( objItem.style.display == "none")
     {
          objItem.style.display = "block";
          
          if ( objItem.value.length == 0 )
          {
               objItem.style.backgroundColor = "#FFFFCC";
               objItem.value = "is required.";
          }
          
          else
          {
               objItem.style.backgroundColor = "#FFFFFF";
          }
     }
     
     else
     {
          objItem.style.display = "none";
     }
}


/* SELECT TREE FUNCTIONS */
function showList(id)
{
     objID = document.getElementById(id);
     objList = document.getElementById(id + "_content");

     // Set Styles
     objList.style.display = "block";
     objList.style.backgroundColor = "#FFFFFF";
}


function hideList(id)
{
     objID = document.getElementById(id);
     objList = document.getElementById(id + "_content");
     
     // Set Styles
     objList.style.display = "none";
}


function setValue(id, value, ID)
{
     objValue = document.getElementById(id + "_value");     
     objHidden = document.getElementById(id + "_hidden");

     objValue.innerHTML = value;
     objHidden.value = ID;
     
     objFunction = "hideList\('" + id + "'\)";

     setTimeout( objFunction, 1000 );
}


/* SHOPPING & CHECKOUT */
function togglePrice(item)
{
     parent.somethingChanged = true;
     objItem = parent.document.getElementById("Item" + item);
     objItemID = parent.document.getElementById("ItemID" + item);
     objItemPrice = parent.document.getElementById("ItemPrice" + item);
     objItemQuantity = parent.document.getElementById("ItemQuantity" + item);
     objPrice = parent.document.getElementById("OrderTotalPurchase");
     objButton = parent.document.getElementById("Button");
     objRoutine = parent.document.getElementById("Routine");
     
     if ( objItem.style.display == "none")
     {
          objPrice.value = Math.round((objPrice.value - objItemPrice.value * objItemQuantity.value ) * 1000) / 1000;
          objItemID.disabled = true;
          
          if ( objPrice.value >= minimumOrder )
          {
               objButton.value = "Update Order";
               objButton.disabled = false;
          }
          
          else
          {
               objButton.value = "Update Order";
               objButton.disabled = false;
          } 
     }
     
     else
     {
          objPrice.value = Math.round((parseFloat(objPrice.value) + parseFloat(objItemPrice.value) * parseFloat(objItemQuantity.value) ) * 1000) / 1000;
          objItemID.disabled = false;
          
          if ( objPrice.value >= minimumOrder )
          {
               objButton.value = "Update Order";
               objButton.disabled = false;
          }
          
          else
          {
               objButton.value = "Add Items";
               objButton.disabled = false;
          } 
     }
     
     if ( objRoutine )
     {
          if ( objPrice.value >= minimumOrder )
          {
               objRoutine.style.display = "block";
          }
          
          else
          {
               objRoutine.style.display = "none";
          }
          
          if ( parent.somethingChanged )
          {
               objRoutine.style.display = "none";
          }
     }
     
     objButton.className = "highlight";
     toggleOpacity(item);
}


function toggleOpacity(item)
{
     objItem = parent.document.getElementById("Item" + item);
     objImg = null;
     
     if ( document.getElementById("img" + item) )
     {
          objImg = document.getElementById("img" + item);
     }
     
     else
     {
          if ( parent.iframe )
          {
               objImg = parent.iframe.document.getElementById("img" + item);
          }
     }
     
     if ( objImg )
     {
          if ( objItem.style.display == "none")
          {
               objImg.opacity = 100;
               objImg.MozOpacity = 100;
               objImg.KhtmlOpacity = 100; 
               objImg.style.filter = "alpha(opacity=100)";
          }
          
          else
          {
               objImg.opacity = 20;
               objImg.MozOpacity = 20;
               objImg.KhtmlOpacity = 20; 
               objImg.style.filter = "alpha(opacity=20)";
          }
     }
}


function changeQuantity(item)
{
     parent.somethingChanged = true;
     objItem = parent.document.getElementById("Item" + item);
     objItemPrice = parent.document.getElementById("ItemPrice" + item);
     objItemQuantity = parent.document.getElementById("ItemQuantity" + item);
     objItemQuantityCurrent = parent.document.getElementById("ItemQuantityCurrent" + item);
     objPrice = parent.document.getElementById("OrderTotalPurchase");
     
     if ( objItemQuantity.value != objItemQuantityCurrent.value )
     {
          if ( objItemQuantity.value < 1 )
          {
               objPrice.value = Math.round((parseFloat(objPrice.value) - parseFloat(objItemPrice.value) * parseFloat(objItemQuantityCurrent.value - 1) ) * 1000) / 1000;
               objItemQuantity.value = 1;
               objItem.style.display = "none";
          }
          
          else
          {
               objPrice.value = Math.round((parseFloat(objPrice.value) - parseFloat(objItemPrice.value) * parseFloat(objItemQuantityCurrent.value) ) * 1000) / 1000;
               objItemQuantityCurrent.value = objItemQuantity.value;
          }
     }
     
     togglePrice(item);
}


function checkProcess(process)
{
     objButton = parent.document.getElementById("Button");
     objRoutine = parent.document.getElementById("Routine");

     if ( objButton.value != "Pay Now" )
     {
          document.checkout.OrderProcess.value = "Update Order";
          document.checkout.submit();
     }
     
     else
     {
          if ( process.length > 0 )
          {
               document.checkout.submit();
          }          
          
          else
          {
               alert ( "Please select a payment routine.");
          }
     }
}


/* Sub Menu */
function switchItem( from, to )
{
     if ( from != to )
     {
          if ( document.getElementById( from ) )
          {          
               document.getElementById( from ).style.display = "none";
               document.getElementById( to ).style.display = "block";
               selected = to;          
          }     
          
          else
          {
               selected = to; 
          }     
     }

     else
     {
          document.getElementById( from ).style.display = "block";
          selected = from;
     }

     setFrom ( selected );
}


function setFrom ( selected )
{
     from = selected;
}


/* Shopping List */
function orderItem( element )
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < element.value.length && IsNumber == true; i++) 
	{ 
		Char = element.value.charAt(i); 
		
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}	
	
	if ( IsNumber == true )
	{
		if ( element.value > 0 )
		{
			ColdFusion.Ajax.submitForm( element.form, '/ajax/qry_InsertOrderItem.cfm' )
		}
		
		else
		{
			ColdFusion.Ajax.submitForm( element.form, '/ajax/qry_DeleteOrderItem.cfm' )
		}
	}
	
	else
	{
	 	alert( "The quantity must be an integer" );
		element.value = 0;
	}
}


/* recipes.cfm */
function filterRecipes( field )
{ 
     if ( field.checked == true ) 
     { 
          document.filter.Filter[0].checked = false;
          field.checked = true; 
     } 
}




