var originalmsrp = 0;
var firstchange = true;
var msrpPattern = new RegExp(/\(RRP\:.+?((\d|\.)+)\)/);
var pricePattern = new RegExp(/^.+?\+.+?((\d|\.)+)/);
(function($) {
   $(document).ready( function() {
	$('#product-options-wrapper select').change(function () {
		var selectedtext = '';
		$(this).find("option:selected").each(function () {
            selectedtext = $(this).text();
        });
		if(selectedtext.length > 0) {
			var priceMatch = pricePattern.exec(selectedtext);
			if(priceMatch) {
				var itemprice = parseFloat(priceMatch[1]);
				$("p.msrp").each(function () {
					var msrpMatch = msrpPattern.exec($(this).html());
					var msrp = 0;
					if(msrpMatch) {
						msrp = parseFloat(msrpMatch[1]);
						if(itemprice > 0 && msrp > 0) {
							if(firstchange) {
								originalmsrp = msrp;
								firstchange = false;
							}
							var newprice = Math.round((originalmsrp+itemprice)*100)/100;
							$(this).html($(this).html().replace(msrp,newprice));
						} 
					}
				});
			} else {
				if(!firstchange) {
					$("p.msrp").each(function () {
						var msrpMatch = msrpPattern.exec($(this).html());
						var msrp = 0;
						if(msrpMatch) {
							msrp = parseFloat(msrpMatch[1]);
							if(msrp > 0) {
								$(this).html($(this).html().replace(msrp,originalmsrp));
							}
						}
					});
				}
			}
		}
	});
	$('select.required-entry').each(function() {
		var newval = $(this).children().slice(1,2).attr("value");
		$(this).val(newval);
		$(this).trigger("change");
	});
   });
 }) ( jQuery );
