if(!Array.indexOf){
	Array.prototype.indexOf = function(obj) {
		for(var i=0; i<this.length; i++){
			if(this[i]==obj) {
				return i;
			}
		}
		return -1;
	}
}

String.prototype.trim = function() {
	return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function fadePrice(pName) {
	
	var red=255;
	var green=0;
	var blue=0;
	document.getElementById(pName).style.color="rgb("+red+","+green+","+blue+")";
	window.fade = function() {
		if (red>0) {
			red-=5;
			blue+=2;
			document.getElementById(pName).style.color="rgb("+red+","+green+","+blue+")";
			window.setTimeout('fade()',60);
		}
	}
	fade();
	
}

function updatePrice(ref,nofade) {
	
	var arrayArray = getArray(ref);
	
	var oName = ref+"Options";
	var pName = ref+"Price";
	var wName = ref+"Warn";
	var bName = ref+"Buy";
	
	var opts = document.getElementById(oName).getElementsByTagName('select');
	var optsArray = new Array();
	
	var matchFound = false;
	
	for (a=0;a<opts.length;a++) {
		
		optsArray[a] = opts[a].options[opts[a].selectedIndex].text;
		
	}
	
	var d = 0;
	
	for (b=0;b<arrayArray.length;b++) {
		
		var priceArray = arrayArray[b];
		
		for (c=0;c<opts.length;c++) {
			
			if ((priceArray[c].trim() == optsArray[c].trim()) || (priceArray[c].trim() == "Any choice")) {
				
				d++;
				
			} else {
				
				d = 0;
				
			}
			
		}
		
		if (d == opts.length) {
			
			matchFound = true;
			var price = priceArray[d];
			break;
			
		} else {
			
			d = 0;
			
		}
		
	}
	
	if (matchFound == true) {
		
		var stripped = price.substring(1);
		var addVat = Math.round((stripped*1.175)*100)/100;
		var formatted = "£"+addVat;
		
		if (formatted.substring(formatted.indexOf('.')).length == 2) {
			
			document.getElementById(pName).value = "£"+addVat+"0";
			if (!nofade) fadePrice(pName);
			
		} else {
			
			document.getElementById(pName).value = "£"+addVat;
			if (!nofade) fadePrice(pName);
			
		}
		
		document.getElementById(wName).innerHTML = "<p style='font-size: 0.8em;'>&nbsp;</p>";
		document.getElementById(bName).style.display = "block";
		
	} else {
		
		document.getElementById(pName).value = "Invalid";
		if (!nofade) fadePrice(pName);
		document.getElementById(wName).innerHTML = "<p style='color: red; font-size: 0.8em;'>Sorry, that combination is not valid, please try changing the options until a price appears above.</p>";
		document.getElementById(bName).style.display = "none";
		return;
		
	}
	
}