window.addEvent('domready', function() {
	$('content-container').getElements('div.toolbar').each(function(toolbar) {
		toolbar.getElements('select').addEvent('change', function() {
			this.getParent('form').submit();
		});
		toolbar.getElement('input[type=submit]').destroy();
	})

	if ($('billing:region')) {
		if ($('billing:country_code').getElement('option:selected').value == 'gb')
			$('billing:regionGB').removeClass('hidden');
		else
			$('billing:region').removeClass('hidden');

		$('billing:country_code').addEvent('change', function() {
			if ($('billing:country_code').getElement('option:selected').value == 'gb') {
				$('billing:regionGB').removeClass('hidden');
				$('billing:region').addClass('hidden');
			} else {
				$('billing:regionGB').addClass('hidden');
				$('billing:region').removeClass('hidden');
			}
		});
	}

	if ($('shipping:region')) {
		if ($('shipping:country_code').getElement('option:selected').value == 'gb')
			$('shipping:regionGB').removeClass('hidden');
		else
			$('shipping:region').removeClass('hidden');

		$('shipping:country_code').addEvent('change', function() {
			if ($('shipping:country_code').getElement('option:selected').value == 'gb') {
				$('shipping:regionGB').removeClass('hidden');
				$('shipping:region').addClass('hidden');
			} else {
				$('shipping:regionGB').addClass('hidden');
				$('shipping:region').removeClass('hidden');
			}
		});
	}

	if ($('cardTypes')) {
		$('card:cvv').setProperty('autocomplete', 'off');
		$('card:number').setProperty('autocomplete', 'off');

		$('cardTypes').getElements('input').addEvent('click', function() {
			var cardSelected = $('cardTypes').getElement('input:checked');

			$('cardTypes').getParent('ul').removeClass('hideLI');

			switch (cardSelected.value) {
				case 'visa':
				case 'mastercard':
				case 'electron':
					$('card:startdate').getParent('div.field').getElement('label').removeClass('required');
					$('card:issue').getParent('li').addClass('hidden');
					$('card:cvv').getParent('li').removeClass('hidden');
					break;
				case 'maestro':
				case 'solo':
					$('card:startdate').getParent('div.field').getElement('label').addClass('required');
					$('card:issue').getParent('li').removeClass('hidden');
					$('card:cvv').getParent('li').addClass('hidden');
					break;
			}
		})
	}

	/*
	 * If ReMooz has been enabled, then do this as necessary
	 */
	$try(function() {
		if (ReMooz) {
			$('content-container').getElements('a.remooz').each(function(el) {
				new ReMooz(el, {
					'centered': true
				});
			});
		}
	}, function() {
		$('content-container').getElements('a.remooz').each(function(el) {
			el.addEvent('click', function(e) {
				var e = new Event(e);
				e.stop();
				window.open(el.get('href'));
			});
		});
	})

	if ($('shippingOptions')) {
		$('shippingOptions').getElements('div.shippingOption').each(function(elem) {
			if (elem.getElement('p.description'))
				new Element('a', {
					'text': 'More info...',
					'events' : {
						'click': function() {
							var description = elem.getElement('p.description span');
							if (description.hasClass('hidden'))
								description.removeClass('hidden');
							else
								description.addClass('hidden');
						}
					}
				}).inject(elem.getElement('label'), 'after');
		});
	}


	if ($('track')) {
		$('image').store('defaultWidth', $('image').get('width').toInt());
		var zoomer = new Slider($('track'), $('handle'), {
			'range': [$('image').get('width').toInt(),1000],
			'wheel': true,
			'snap': true,
			'onChange': function(step) {
				$('image').set('width',step);
				$('image').set('height',step);
			}
		});

		var mover = new Drag($('image'), {
			'limit': $('imageLimit')
		});

		$('zoomIn').addEvent('click',function() {
			zoomer.set(zoomer.step+100)
		});
		$('zoomOut').addEvent('click',function() {
			zoomer.set(zoomer.step-100)
		});
	}

	if ($('moreImages')) {
		$('moreImages').getElements('a').each(function(el) {
			el.addEvent('click', function() {
				if (zoomer) {
					zoomer.set(0);
					$('image').set('src', el.getElement('img').get('src').replace('-thumb','-max'));
					$('image').setStyles({
						'top': 0,
						'left': 0
					});
				} else {
					$('image').set('src', el.getElement('img').get('src').replace('-thumb','-grid'));
				}
			});
		});
	}
})