Hey guys,

I was asked to go through our product pages and fix validation issues I could find using the w3c validator for an e-commerce company I work at. I have validated almost everything but have been having issues with some javascript. I am more of a back-end developer so javascript is not my forte. Anyways here is the original code that was causing issues:
----------------------------------------------------------------------------
<script type="text/javascript">

var norm = {price};
var special = "{special_price}";
var list = {list_price};
var end = "{special_to_date}";
var endComp = parse_date(end).getTime();
var start = "{special_from_date}";
var startComp = parse_date(start).getTime();
var now = new Date().getTime();


var specialTrue = '<div class="special-price"><span class="price-label">Our Price: </span><span class="price" id="product-price">{special_price_formatted}</span></div>';

var specialFalse = '<div class="our-price"><span class="price-label">Our Price: </span><span class="price">{price_formatted}</span></div>';

var specialFalseAlt = '<div class="our-price alt"><span class="price-label">Our Price: </span><span class="price">{price_formatted}</span></div>';

if (isNaN(special) === false && endComp > now && startComp < now) {
document.write(specialTrue)
}else {

if (list <= norm){
document.write(specialFalseAlt)

}else {
document.write(specialFalse)
}
};
</script>

------------------------------------------------------------------------------

So the validator doesn't like all these divs in the javascript variables. So I changed it to this:

------------------------------------------------------------------------------

<script type="text/javascript">
var norm = {price};
var special = "{special_price}";
var list = {list_price};
var end = "{special_to_date}";
var endComp = parse_date(end).getTime();
var start = "{special_from_date}";
var startComp = parse_date(start).getTime();
var now = new Date().getTime();
var specialFormat = "{special_price_formatted}";
var priceFormat = "{price_formatted}";
var label = "Our Price";

if (isNaN(special) === false && endComp > now && startComp < now) {
document.getElementById('product-price').innerHTML += specialFormat;
document.getElementById('product-price-label').innerHTML += label;
}else {
if (list <= norm){
document.getElementById('our-price-alt').innerHTML += priceFormat;
document.getElementById('our-price-alt-label').innerHTML += label;
}else {
document.getElementById('our-price').innerHTML += priceFormat;
document.getElementById('our-price-label').innerHTML += label;
}
};
</script>

<div class="special-price"><span class="price-label" id='product-price-label'>&nbsp;</span><span class="price" id="product-price">&nbsp;</span></div>

<div class="our-price"><span class="price-label" id='our-price-label'>&nbsp;</span><span class="price" id='our-price'>&nbsp;</span></div>

<div class="our-price alt"><span class="price-label" id='our-price-alt-label'>&nbsp;</span><span class="price" id='our-price-alt'>&nbsp;</span></div>

----------------------------------------------------------------------------

I have tried many different variations of this with no luck. Any advice on this is appreciated.