function search_clear() {
	var e = document.getElementById('search');
	if (e.value == "Search") {
		e.value = '';
	}
}

function newsletter_clear() {
	var e = document.getElementById('l92019-92019');
	if (e.value == "Your Email Address") {
		e.value = '';
	}
}

StockControl = Class.create({
	initialize: function(config) {
		Object.extend(this, config);
	},
	inventory_drop_down_name: function(options_num) {
		return ('product_' + this.product_id + '_options_' + options_num);
	},
	inventory_drop_down: function(pos) {
		return $(this.inventory_drop_down_name(this.inventory_group_ids[pos]));
	},
	initialize_inventory_drop_downs: function() {
		if(this.inventory_group_ids && $F(this.inventory_drop_down(0)) != '') {
			 this.product_attribute_changed(this.inventory_drop_down(0));
		}
	},
	product_code_from_attributes: function(product_attributes) {
		return this.base_product_code + '-' + product_attributes.join('-');
	},
	selected_attribute_values: function() {
		var stock_control = this;
		return this.inventory_group_ids.map(function(group_id) {
			return stock_control.product_codes[group_id][$F(stock_control.inventory_drop_down_name(group_id))];
		});
	},
	product_attribute_changed: function (element) {
		this.reset_added_to_bag();

		if (element == this.inventory_drop_down(0) && this.inventory_group_ids[1]) {
			this.update_second_drop_down();
		}

		var selected_product_code = this.product_code_from_attributes(this.selected_attribute_values());
		var status = $('stock-status-' + this.product_id);

		if (this.stock_status[selected_product_code] == null) {
			status.innerHTML = ''; 
		} else if (this.stock_status[selected_product_code] == 1) {
			status.innerHTML = '<div class="in-stock">In stock, available for immediate dispatch</div>';
			status.style.display = 'block';
			$('add-to-bag-button-wrapper-'+this.product_id).style.display = 'block';
		} else {
			if(this.stock_status[selected_product_code] == -1) {
				status.innerHTML = '';
				if (this.inventory_group_ids[1]) {
					this.inventory_drop_down(1).selectedIndex = 0;
				} else {
					this.inventory_drop_down(0).selectedIndex = 0;
				}
				alert('Sorry, the selected size is sold out.');
			} else {
				if(this.stock_status[selected_product_code] == -2) {
					$('add-to-bag-button-wrapper-'+this.product_id).style.display = 'none';
				} else {
					$('add-to-bag-button-wrapper-'+this.product_id).style.display = 'block';
				}
				status.innerHTML = '<div class="out-of-stock">' + this.out_of_stock_message + '</div>';
				status.style.display = 'block';
			}
		}
	},
	update_second_drop_down: function() {
		var first_drop_down_value  = $F(this.inventory_drop_down(0));
		var second_drop_down = this.inventory_drop_down(1);
		var stock_control = this;

		if (first_drop_down_value != '') {
			var first_code = this.product_codes[this.inventory_group_ids[0]][first_drop_down_value];
			var full_code;
			var attribute_text;
			$$('#' + second_drop_down.id + ' > option').each(function(o) {
				if (o.value != '') {
					full_code = stock_control.product_code_from_attributes(
						[first_code, stock_control.product_codes[stock_control.inventory_group_ids[1]][o.value]]);
					attribute_text = o.innerHTML.gsub(/ \(Sold Out\)/, '')
					if(stock_control.stock_status[full_code] == -1) {
						o.innerHTML = attribute_text + ' (Sold Out)';
						Form.Element.disable(o);
					} else {
						o.innerHTML = attribute_text;
						Form.Element.enable(o);
					}
				}
			});
			Form.Element.enable(second_drop_down);
		} else {
			Form.Element.disable(second_drop_down);
			second_drop_down.selectedIndex = 0;
		}
	},
	reset_added_to_bag: function() {
		var added_panel = $('product-added-' + this.product_id);
		
		if (added_panel.visible()) {
			Effect.SlideUp(added_panel, { duration: 0.5 });
			$('add-to-bag-button-' + this.product_id).src = '/images/shop/btn_add_to_bag.png';
		}
	}
})

function show_product_details(event) {
	var target = window.event ? window.event.srcElement : event.target;
	var details = $(target).up('a').select(".product-details")[0];
	details.style.display = 'block';
}

function hide_product_details(event) {
	var target = window.event ? window.event.srcElement : event.target;
	var details = $(target).up('a').select(".product-details")[0];
	details.style.display = 'none';
}

function add_to_bag(form, product_id) {
	var form = $(form);

	var error = form.select('select.attribute').detect(function(e) {
       return $F(e) == '';
    });

	var all_options_selected = (error == undefined);

	if (all_options_selected) { 
		form.select('.add-to-bag-button')[0].style.display = 'none';
		form.request({
			onSuccess: function(transport) {
				if (transport.status == 200) {
					$('banner-bag').innerHTML = transport.responseText;
					var add_button = form.select('.add-to-bag-button')[0];
					if (add_button) {
						add_button.src = '/images/shop/btn_added.png';
						add_button.show();
					}
					Effect.SlideDown('product-added-' + product_id, { duration: 0.5 });
				}
			}
		});
	} else {
		var status = $('stock-status-' + product_id);
		status.innerHTML = '<div>Please select from the options above to continue</div>';
		status.style.display = 'block';
	}

	return false;
}

function loadAccordions() {
	if ($('questions')) {
		new accordion('questions', {
			classNames:  {
				toggle  : 'question',
				toggleActive : 'question-active',
				content : 'answer'
			}
		});
	}
}

function flip_image() {
	i = $('main-img');
	if (i.src == back_image.src) {
		i.src = front_image.src;
	} else {
		i.src = back_image.src;
	}
}
