Ogon = new (function () {
	var selectedColor = new Object ();
	
	function copyTagData (obj, node) {
		obj.node = node;
		obj.id = node.attributes.idTag.nodeValue;
		obj.name = node.attributes.nameTag.nodeValue;
		obj.image = node.attributes.imageTag.nodeValue;
		obj.image2 = node.attributes.image2Tag.nodeValue;
		obj.price = Number (node.attributes.priceTag.nodeValue);
	}
	
	function setColor (node) {
		if (selectedColor.node) {
			selectedColor.node.className = '';
		}
		
		copyTagData (selectedColor, node);
		node.className = 'ogon-selected';
		updatePreviewImage ();
	}
	
	function setElementText (id, value) {
		var elm = document.getElementById (id);
		
		if (!elm.insertAdjacentHTML) {
			elm.innerHTML = value;
		} else {
			while (elm.childNodes.length) {
				elm.removeChild (elm.childNodes [0]);
			}
			elm.insertAdjacentHTML ('beforeEnd', value);
		}
	}
	
	function setFieldValue (id, value) {
		var elm = document.getElementById (id);
		elm.value = value;
	}
	
	function updatePreviewImage () {
		if (selectedColor.node) {
			var img = document.getElementById ('OgonPreview');
			
			img.style.display = 'inline';
			img.src = 'images/upload/midsize/' + selectedColor.image2;
			
			var price = '&pound;' + selectedColor.price.toFixed (2);
			
			setElementText ('OgonColor', selectedColor.name);
			setElementText ('OgonPrice', price);
			setFieldValue ('OgonColorId', selectedColor.id);
		}
	}
	
	this.init = function () {
		var colors = document.getElementById ('OgonColorSelect');
		var i = 0;
		var node = null;
		var init = false;
		
		for (i = 0; i < colors.childNodes.length; i++) {
			node = colors.childNodes [i];
			
			if (node.attributes && node.attributes.idTag) {
				if (!init) {
					setColor (node);
					init = true;
				}
				node.onmousedown = function () {
					setColor (this);
				}
			}
		}
	}
}) ();
