// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// ==/ClosureCompiler==

var buttonImages = new Array(
					'Basics.jpg',
					'BasicsRed.jpg',
					'Cereals.jpg',
					'CerealsRed.jpg',
					'Choco.jpg',
					'ChocoRed.jpg',
					'Fruits.jpg',
					'FruitsRed.jpg',
					'Nuts.jpg',
					'NutsRed.jpg',
					'Specials.jpg',
					'SpecialsRed.jpg'
				  );

var SelectionMenuItems = new Array();
SelectionMenuItems[0] = new Object();
SelectionMenuItems[0]['id'] = 'imgMenuBasics';
SelectionMenuItems[0]['srcOn'] = 'BasicsRed.jpg';
SelectionMenuItems[0]['srcOff'] = 'Basics.jpg';

SelectionMenuItems[1] = new Object();
SelectionMenuItems[1]['id'] = 'imgMenuCereals';
SelectionMenuItems[1]['srcOn'] = 'CerealsRed.jpg';
SelectionMenuItems[1]['srcOff'] = 'Cereals.jpg';

SelectionMenuItems[2] = new Object();
SelectionMenuItems[2]['id'] = 'imgMenuFruits';
SelectionMenuItems[2]['srcOn'] = 'FruitsRed.jpg';
SelectionMenuItems[2]['srcOff'] = 'Fruits.jpg';

SelectionMenuItems[3] = new Object();
SelectionMenuItems[3]['id'] = 'imgMenuNuts';
SelectionMenuItems[3]['srcOn'] = 'NutsRed.jpg';
SelectionMenuItems[3]['srcOff'] = 'Nuts.jpg';

SelectionMenuItems[4] = new Object();
SelectionMenuItems[4]['id'] = 'imgMenuChoco';
SelectionMenuItems[4]['srcOn'] = 'ChocoRed.jpg';
SelectionMenuItems[4]['srcOff'] = 'Choco.jpg';

SelectionMenuItems[5] = new Object();
SelectionMenuItems[5]['id'] = 'imgMenuSpecials';
SelectionMenuItems[5]['srcOn'] = 'SpecialsRed.jpg';
SelectionMenuItems[5]['srcOff'] = 'Specials.jpg';


// preload images
for (i=0; i < buttonImages.length; i++) {
  image = new Image();
  image.src = '/images/' + buttonImages[i];
}

function swapImage(imageId, source) {
  image = $(imageId);
  image.src = '/images/' + source;
}

function toggleEnableDisableDeliveryFields(cbx) {
	$$('input.delivery').each(function(item) {
		if (cbx.checked)
			item.disabled = true;
		else
			item.disabled = false;
	});
}

function toggleEnableDisableDirectDebitFields(rdo) {
	$('direct_debit')
		if (rdo.value == 1) {
			$('direct_debit').show();
			$('transferal').hide();
			$('cash_on_delivery').hide();
		}
		else if (rdo.value == 2) {
			$('direct_debit').hide();
			$('transferal').show();
			$('cash_on_delivery').hide();
		}
		else if (rdo.value == 3) {
			$('direct_debit').hide();
			$('transferal').hide();
			$('cash_on_delivery').show();
		}
}


function fadeElement(id)
{
	new Effect.Fade( id );
}

function fadeElementAfterXMilliseconds(id, ms)
{
	window.setTimeout("fadeElement('" + id + "');", ms);
}

function toggleExcluded(toppingId) {
	var toppingNameId = 'name_' + toppingId;
	var toppingContainerId = 'topping_contanier_' + toppingId;
	var toppingInputField = 'abo_cereal_exclude_' + toppingId;
	if ($(toppingInputField).value == '1') {
		$(toppingNameId).style.textDecoration = 'none';
		$(toppingNameId).style.color = '#5E3427';
		new Effect.Highlight(toppingContainerId, { duration: 0.5, startcolor:'#CE6702', endcolor:'#ffffff', restorecolor:'#ffffff' });
		$(toppingInputField).value = '0';

	} else {
		$(toppingNameId).style.textDecoration = 'line-through';
		$(toppingNameId).style.color = '#bbb';
		new Effect.Highlight(toppingContainerId, { duration: 0.5, startcolor:'#ffffff', endcolor:'#feca66', restorecolor:'#feca66' });
		$(toppingInputField).value = '1';
	}

}

function showOrders(anAjaxUrl) {
	var index = $('abo_cereal_type').options[$('abo_cereal_type').selectedIndex].value
	if (index == '')
		return;
	if (index == '0') {
		new Ajax.Updater(
			{ success: 'all_orders', failure: 'status_msg' },
			anAjaxUrl,
			{
				onFailure: function() {
					alert('ERROR!');
				},
				onComplete: function() {
					$('all_orders').style.display = '';
					$('abo_price').disabled = true;

				}
			}
		);
	} else {
		$('all_orders').style.display = 'none';
		$('abo_price').disabled = false;
	}
	if (index != '0') {
		$('all_toppings_trigger').style.display = '';
		if ($('topping_exceptions').checked)
			$('all_toppings').style.display = '';
		else
			$('all_toppings').style.display = 'none';

	} else {
		$('all_toppings_trigger').style.display = 'none';
		$('all_toppings').style.display = 'none';
	}

}

function setDisplayMode(aBoolean) {
	$('abo_interval').disabled = aBoolean;
	$('abo_cereal_type').disabled = aBoolean;
	$('abo_size').disabled = aBoolean;
	$('abo_price').disabled = aBoolean;
	$('topping_exceptions').disabled = aBoolean;
	$('topping_exceptions_label').style.color = (aBoolean)?'#ccc':'';

	$('all_orders').style.display = ($('abo_cereal_type').options[$('abo_cereal_type').selectedIndex].value == 0 && aBoolean || $('abo_cereal_type').options[$('abo_cereal_type').selectedIndex].value != 0)?'none':'';

	if (aBoolean) {
		$('all_toppings').style.display = 'none';
	}
	else if (!aBoolean && !$('topping_exceptions').checked) {
		$('all_toppings').style.display = 'none';
	}
	else if (!aBoolean && $('topping_exceptions').checked) {
		$('all_toppings').style.display = '';
	}
}

function setSelectedProduct(orderToProductId, productId) {
	var selectedProductContainer = $$('div.SelectedProductContainer');
	for(i=0; i<selectedProductContainer.length; ++i) {
		selectedProductContainer[i].className = '';
	}
	var selectedStatusContainer = $$('small.SelectedProductStatusOn');
	for(i=0; i<selectedStatusContainer.length; ++i) {
		selectedStatusContainer[i].className = 'SelectedProductStatusOff';
	}
	var linkTriggers = $$('div.LinkTrigger');
	for(i=0; i<linkTriggers.length; ++i) {
		linkTriggers[i].style.display = '';
	}


	var selectedProductContainerId = 'OrderToProduct_'+orderToProductId;
	var selectedProductStatusId = 'SelectedProductStatus_'+orderToProductId;
	var linkTriggerId = 'LinkTrigger_'+orderToProductId;
	$('aboProductId').value = productId;
	$(selectedProductContainerId).className = 'SelectedProductContainer';
	$(selectedProductStatusId).className = 'SelectedProductStatusOn';
	$(linkTriggerId).style.display = 'none';
}

function toggleShowAllToppingsTrigger() {
	var index = $('abo_cereal_type').options[$('abo_cereal_type').selectedIndex].value
	if (index == '')
		return;
	if (index != '0') {
		$('all_toppings_trigger').style.display = '';
		$('abo_price').disabled = false;
		if ($('topping_exceptions').checked)
			$('all_toppings').style.display = '';
		else
			$('all_toppings').style.display = 'none';

	} else {
		$('all_toppings_trigger').style.display = 'none';
		$('all_toppings').style.display = 'none';
		$('abo_price').disabled = true;
	}

}

function moveBucketDueToResolution() {
		var	windowInnerHeight = 768;
		var windowInnerWidth = 1024

		if (window.innerHeight) {
			windowInnerWidth = window.innerWidth;
			windowInnerHeight = window.innerHeight;
		} else if (document.documentElement.clientHeight) {
			windowInnerWidth = document.documentElement.clientWidth;
			windowInnerHeight = document.documentElement.clientHeight;
		} else if (screen.availHeight) {
			windowInnerWidth = screen.availWidth;
			windowInnerHeight = screen.availHeight;
		} else if (document.body.clientHeight) {
			windowInnerWidth = document.body.clientWidth;
			windowInnerHeight = document.body.clientHeight;
		}

		if (windowInnerHeight <= 620) {
			$('Bucket').style.marginTop = '-50px'
		} else {
			$('Bucket').style.marginTop = ''
		}
}

function showCreatorHint(url) {
	new Effect.Fade('creatorHintText',
		{
		duration: 2.0,
		afterFinish:function(e) {

			new Ajax.Updater(
				'creator_hints',
				url,
				{
					asynchronous:true,
					evalScripts:true,

					onComplete:function(request, json) {
						new Effect.Appear('creatorHintText', {});
					}
				}
			);
		}
	});
}



function double_list_unselect(form_name)
{
  // default id to allow using a custom form id
  if( ! form_name ) {
    var form_name = 'sf_admin_edit_form';
  }

  var form = $(form_name);
  var element;

  // find multiple selects with name beginning 'associated_' and unselect all their options
  for (var i = 0; i < form.elements.length; i++)
  {
    element = form.elements[i];
    if (element.type == 'select-multiple')
    {
      if (element.className == 'sf_admin_multiple-selected')
      {
        for (var j = 0; j < element.options.length; j++)
        {
          element.options[j].selected = false;
        }
      }
    }
  }
}