function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

document.onkeypress = stopRKey;

function isNum(value)
{
    return 123;
}

function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

function PostagePopUp(extended_postage)
{
   var urlcall = '';
   urlcall = extended_postage + '?orderweight=' + document.getElementById('weight_total').value;
   mywindow = window.open(urlcall,"postagewindow","width=600,height=460");
}

function GetValueFromChild(ServiceName,PostageValue,ServiceValueStr)
{
   document.cookie = "gaos_postage_service=" + escape ( ServiceName );
   document.cookie = "gaos_postage_price=" + escape ( PostageValue );
   document.cookie = "gaos_postage_values=" + escape ( ServiceValueStr );
}

function prodTotals()
{
    var grandTotal = 0;
    var row = 0;

    while (document.forms['shopbasket'].elements['price[]'][row])
    {
        priceObj = document.forms['shopbasket'].elements['price[]'][row];
        qtyObj   = document.forms['shopbasket'].elements['quantity[]'][row];
        totalObj = document.forms['shopbasket'].elements['total[]'][row];

        if (isNaN(priceObj.value))
        {
            priceObj = '';
        }
        if (isNaN(qtyObj.value))
        {
            qtyObj = '';
        }

        if (priceObj.value && qtyObj.value)
        {
            totalObj.value = ((parseFloat(priceObj.value) * parseFloat(qtyObj.value)).toFixed(2));
            grandTotal = grandTotal + parseFloat(totalObj.value);
        }
        else
        {
            totalObj.value = '';
        }
        row++;
    }
    document.getElementById('grand_total').value = (grandTotal.toFixed(2));
    return;
}

function calcTotals(shipping_flat_rate,shipping_title,free_carriage_value)
{
    var grandTotal = 0;
    var row = 0;

    while (document.forms['shopbasket'].elements['price[]'][row])
    {
        priceObj = document.forms['shopbasket'].elements['price[]'][row];
        qtyObj   = document.forms['shopbasket'].elements['quantity[]'][row];
        totalObj = document.forms['shopbasket'].elements['total[]'][row];

        if (isNaN(priceObj.value))
        {
            priceObj = '';
        }
        if (isNaN(qtyObj.value))
        {
            qtyObj = '';
        }

        if (priceObj.value && qtyObj.value)
        {
            totalObj.value = ((parseFloat(priceObj.value) * parseFloat(qtyObj.value)).toFixed(2));
            grandTotal = grandTotal + parseFloat(totalObj.value);
        }
        else
        {
            totalObj.value = '';
        }
        row++;
    }
    CheckOutUpdateBasket();
    document.location.reload();
    return;
}

function AddToBasket()
{
    var cookiestring = '';
    var row = 0;
    var kounter= 0;
    var cookietest = '';
    var element = '';

    cookiestring = 'gaos_basket_' + kounter;
    cookietest = unescape ( readCookie( cookiestring ) ); 
    while (cookietest != "")
    {
            kounter++;
            cookiestring = 'gaos_basket_' + kounter;
            cookietest = unescape ( readCookie( cookiestring ) ); 
    }

    row = 0;
    while (document.forms['shopbasket'].elements['price[]'][row])
    {
        priceObj = document.forms['shopbasket'].elements['price[]'][row];
        qtyObj   = document.forms['shopbasket'].elements['quantity[]'][row];
        totalObj = document.forms['shopbasket'].elements['total[]'][row];
        prodObj  = document.forms['shopbasket'].elements['product[]'][row];
        packObj  = document.forms['shopbasket'].elements['pack[]'][row];
        weightObj  = document.forms['shopbasket'].elements['weight[]'][row];

        if (isNaN(priceObj.value))
        {
            priceObj = '';
        }
        if (isNaN(qtyObj.value))
        {
            qtyObj = '';
        }

        if (qtyObj.value > 0)
        {
            if (kounter < 15)
            {
                element = priceObj.value;
                cookietest = element.replace('|','') + '|';
                element = qtyObj.value;
                cookietest += element.replace('|','') + '|';
                element = prodObj.value;
                cookietest += element.replace('|','') + '|';
                element = totalObj.value;
                cookietest += element.replace('|','') + '|';
                element = packObj.value;
                cookietest += element.replace('|','') + '|';
                element = weightObj.value;
                cookietest += element.replace('|','') + '|';
               document.cookie = "gaos_basket_" + kounter + "=" + escape ( cookietest );
            }
            kounter++;
        }
        row++;
    }
    if (kounter > 15)
    {
        alert('Maximum number of products allowed in the shopping basket is 15.');
    }
    return;
}

function ClearShoppingBasket()
{
    var cookiestring = '';
    var kounter = 0;
    var cookietest = '';

    cookiestring = 'gaos_postage_service';
    deleteCookie (cookiestring);
    cookiestring = 'gaos_postage_price';
    deleteCookie (cookiestring);
    cookiestring = 'gaos_postage_values';
    deleteCookie (cookiestring);
    cookiestring = 'gaos_basket_' + kounter;
    cookietest = unescape ( readCookie( cookiestring ) ); 
    while (kounter < 15)
    {
            deleteCookie (cookiestring);
            kounter++;
            cookiestring = 'gaos_basket_' + kounter;
            cookietest = unescape ( readCookie( cookiestring ) ); 
    }
    window.location = "index.html";
}

function CheckOutUpdateBasket()
{
    var cookiestring = '';
    var row = 0;
    var kounter= 0;
    var cookietest = '';
    var element = '';

    cookiestring = 'gaos_basket_' + kounter;
    cookietest = unescape ( readCookie( cookiestring ) ); 
    while (cookietest != "")
    {
            deleteCookie (cookiestring);
            kounter++;
            cookiestring = 'gaos_basket_' + kounter;
            cookietest = unescape ( readCookie( cookiestring ) ); 
    }

    row = 0;
    kounter = 0;
    while (document.forms['shopbasket'].elements['price[]'][row])
    {
        ppObj = document.forms['shopbasket'].elements['pp[]'][row];
        removeObj = document.forms['shopbasket'].elements['remove[]'][row];
        priceObj = document.forms['shopbasket'].elements['price[]'][row];
        qtyObj   = document.forms['shopbasket'].elements['quantity[]'][row];
        totalObj = document.forms['shopbasket'].elements['total[]'][row];
        prodObj  = document.forms['shopbasket'].elements['product[]'][row];
        packObj  = document.forms['shopbasket'].elements['pack[]'][row];
        weightObj  = document.forms['shopbasket'].elements['weight[]'][row];

        if (isNaN(priceObj.value))
        {
            priceObj = '';
        }
        if (isNaN(qtyObj.value))
        {
            qtyObj = '';
        }

        if (qtyObj.value > 0 && removeObj.checked==false && ppObj.value != 'PP')
        {
            element = priceObj.value;
            cookietest = element.replace('|','') + '|';
            element = qtyObj.value;
            cookietest += element.replace('|','') + '|';
            element = prodObj.value;
            cookietest += element.replace('|','') + '|';
            element = totalObj.value;
            cookietest += element.replace('|','') + '|';
            element = packObj.value;
            cookietest += element.replace('|','') + '|';
            element = weightObj.value;
            cookietest += element.replace('|','') + '|';
            document.cookie = "gaos_basket_" + kounter + "=" + escape ( cookietest );
            kounter++;
        }
        row++;
    }
    return;
}

function PayPalButton(shipping_flat_rate,shipping_title,free_carriage_value)
{
    var cookiestring = '';
    var cookietest = '';
    var element = '';
    var rtnstring = '';
    var row = 0;
    var pprow = 0;
    var firstnullrow = 0;
    var grandTotal = 0;

    cookiestring = 'gaos_postage_price';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_flat_rate = cookietest;
    }
    cookiestring = 'gaos_postage_service';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_title = cookietest;
    }

    while (row < 16)
    {
        cookiestring = 'gaos_basket_' + row;
        cookietest = unescape ( readCookie( cookiestring ) ); 

        if (cookietest != null && cookietest != '')
        {
            element = cookietest.split('|');
            rtnstring = rtnstring + '<input type="hidden" name="quantity_' + (row+1) + '" value="' + element[1] + '" />';
            rtnstring = rtnstring + '<input type="hidden" name="item_name_' + (row+1) + '" value="' + element[2];
            rtnstring = rtnstring + ' (' + element[4] + ')" />';
            rtnstring = rtnstring + '<input type="hidden" name="amount_' + (row+1) + '" value="' + element[0] + '" />'; 
            grandTotal = grandTotal + parseFloat(element[3]); 
        } 
        else
        {
            if (firstnullrow == 0)
            {
                  firstnullrow = row;
            }
        }
        row++;
    }
    if (grandTotal < free_carriage_value) 
    {
        rtnstring = rtnstring + '<input type="hidden" name="quantity_' + (firstnullrow+1) + '" value="1">';
        rtnstring = rtnstring + '<input type="hidden" name="item_name_' + (firstnullrow+1) + '" value="' + shipping_title + '">';
        rtnstring = rtnstring + '<input type="hidden" name="amount_' + (firstnullrow+1) + '" value="' + shipping_flat_rate + '">'; 
    }
    return rtnstring;
}

function GoogleCheckOutButton(shipping_flat_rate,shipping_title,vat_factor,free_carriage_value)
{
    var cookiestring = '';
    var cookietest = '';
    var element = '';
    var rtnstring = '';
    var row = 0;
    var firstnullrow = 0;
    var grandTotal = 0;

    cookiestring = 'gaos_postage_price';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_flat_rate = cookietest;
    }
    cookiestring = 'gaos_postage_service';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_title = cookietest;
    }

    while (row < 16)
    {
        cookiestring = 'gaos_basket_' + row;
        cookietest = unescape ( readCookie( cookiestring ) ); 

        if (cookietest != null && cookietest != '')
        {
            element = cookietest.split('|');
            rtnstring = rtnstring + '<input type="hidden" name="item_quantity_' + (row+1) + '" value="' + element[1]+ '" />';
            rtnstring = rtnstring + '<input type="hidden" name="item_name_' + (row+1) + '" value="' + element[2] + '" />';
            rtnstring = rtnstring + '<input type="hidden" name="item_description_' + (row+1) + '" value="' + element[4] + '" />';
            rtnstring = rtnstring + '<input type="hidden" name="item_price_' + (row+1) + '" value="' + (element[0] * vat_factor) + '" />'; 
            rtnstring = rtnstring + '<input type="hidden" name="item_currency_' + (row+1) + '" value="GBP" />'; 
            grandTotal = grandTotal + parseFloat(element[3]); 
        } 
        else
        {
            if (firstnullrow == 0)
            {
                  firstnullrow = row;
            }
        }
        row++;
    }
    if (grandTotal < free_carriage_value) 
    {
        rtnstring = rtnstring + '<input type="hidden" name="item_quantity_' + (firstnullrow+1) + '" value="1">';
        rtnstring = rtnstring + '<input type="hidden" name="item_name_' + (firstnullrow+1) + '" value="' + shipping_title + '">';
        rtnstring = rtnstring + '<input type="hidden" name="item_price_' + (firstnullrow+1) + '" value="' + (shipping_flat_rate * vat_factor) + '">'; 
        rtnstring = rtnstring + '<input type="hidden" name="item_description_' + (firstnullrow+1) + '" value="">';
        rtnstring = rtnstring + '<input type="hidden" name="item_currency_' + (firstnullrow+1) + '" value="GBP">';
    }
    return rtnstring;
}

function CreateShoppingBasket(shipping_flat_rate,shipping_title,free_carriage_value)
{
    var cookiestring = '';
    var cookietest = '';
    var rtnstring = '';
    var divobject = '';
    var postage_values = '';
    var row = 0;
    var firstnullrow = 'a';
    var grandTotal = 0;  
    var weightTotal = 0;

    cookiestring = 'gaos_postage_price';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_flat_rate = cookietest;
    }
    cookiestring = 'gaos_postage_service';  
    cookietest = unescape ( readCookie( cookiestring ) );
    if (cookietest != null && cookietest != '')
    {
       shipping_title = cookietest;
    }
    cookiestring = 'gaos_postage_values';  
    cookietest = unescape ( readCookie( cookiestring ) );
    postage_values = cookietest;

    while (row < 21)
    {
        cookiestring = 'gaos_basket_' + row;
        cookietest = unescape ( readCookie( cookiestring ) ); 

        if (cookietest != null && cookietest != '')
        {
            element = cookietest.split('|');
            priceObj = document.forms['shopbasket'].elements['price[]'][row];
            qtyObj   = document.forms['shopbasket'].elements['quantity[]'][row];
            totalObj = document.forms['shopbasket'].elements['total[]'][row];
            prodObj  = document.forms['shopbasket'].elements['product[]'][row];
            packObj  = document.forms['shopbasket'].elements['pack[]'][row];
            weightObj  = document.forms['shopbasket'].elements['weight[]'][row];
            qtyObj.value = element[1];
            prodObj.value = element[2]; 
            priceObj.value = element[0]; 
            totalObj.value  = element[3];
            packObj.value  = element[4];
            weightObj.value  = element[5];
            divobject = 'checkout_box_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.display = 'inline';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_abox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_wbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_bbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_cbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_dbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_ebox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_fbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            divobject = 'checkout_gbox_' + row;
            document.getElementById(divobject).style.visibility = 'visible';
            document.getElementById(divobject).style.height = '22px';
            grandTotal = grandTotal + parseFloat(totalObj.value);
            weightTotal = weightTotal + parseFloat(weightObj.value * qtyObj.value);
        } 
        else
        {
            if (firstnullrow == 'a')
            {
                firstnullrow = row;
            }
        }
        row++;
    }
    if (postage_values != '')
    {
          var postage_elements = postage_values.split(',');
          var weighted_rate = 'a';
          for (element_counter = 0; element_counter < postage_elements.length; element_counter++)
          {
                var this_element = postage_elements[element_counter];
                var split_element = this_element.split(':');
                if (split_element[0] >= weightTotal && weighted_rate == 'a')
                {
                      weighted_rate = split_element[1];
                }
          }
          if (weighted_rate != 'a')
          {
                shipping_flat_rate = weighted_rate;
          } 
          else
          {
                shipping_flat_rate = '99.99';
          }   
          document.cookie = "gaos_postage_price=" + escape ( shipping_flat_rate );
    }

    if (grandTotal >= free_carriage_value) 
    {
          shipping_flat_rate = '0.00';
          shipping_title = 'Free carriage over GBP ' + free_carriage_value;
    }
    if (firstnullrow > 0)
    {
          ppObj = document.forms['shopbasket'].elements['pp[]'][firstnullrow];
          removeObj = document.forms['shopbasket'].elements['remove[]'][firstnullrow];
          priceObj = document.forms['shopbasket'].elements['price[]'][firstnullrow];
          qtyObj   = document.forms['shopbasket'].elements['quantity[]'][firstnullrow];
          totalObj = document.forms['shopbasket'].elements['total[]'][firstnullrow];
          prodObj  = document.forms['shopbasket'].elements['product[]'][firstnullrow];
          packObj  = document.forms['shopbasket'].elements['pack[]'][firstnullrow];
          weightObj  = document.forms['shopbasket'].elements['weight[]'][firstnullrow];
          ppObj.value = 'PP';
          qtyObj.value = '1';
          prodObj.value = shipping_title; 
          priceObj.value = shipping_flat_rate; 
          totalObj.value = shipping_flat_rate;
          packObj.value = '';
          weightObj.value = '';
          divobject = 'checkout_box_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.display = 'inline';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_abox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_wbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_bbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_cbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_dbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_ebox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_fbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          divobject = 'checkout_gbox_' + firstnullrow;
          document.getElementById(divobject).style.visibility = 'visible';
          document.getElementById(divobject).style.height = '22px';
          grandTotal = grandTotal + parseFloat(totalObj.value);
          document.getElementById('grand_total').value = (grandTotal.toFixed(2));
          document.getElementById('weight_total').value = (weightTotal.toFixed(2));
          qtyObj.style.visibility = 'hidden';
          removeObj.style.visibility = 'hidden';
    }
}

function CoverageCalculator()
{
    var row = 0;
    var tilearea = 0;
    var tempvalue1 = 0;  
    var tempvalue2 = 0;  
    tileareaObj = document.forms['coverage_calculator'].elements['coverage_area'];
    tilearea = tileareaObj.value;
    while (document.forms['coverage_calculator'].elements['high[]'][row])
    {
        highObj     = document.forms['coverage_calculator'].elements['high[]'][row];
        mediumObj   = document.forms['coverage_calculator'].elements['medium[]'][row];
        lowObj      = document.forms['coverage_calculator'].elements['low[]'][row];
        f_highObj   = document.forms['coverage_calculator'].elements['fhigh[]'][row];
        f_mediumObj = document.forms['coverage_calculator'].elements['fmedium[]'][row];
        f_lowObj    = document.forms['coverage_calculator'].elements['flow[]'][row];
        coats1_highObj   = document.forms['coverage_calculator'].elements['coats1high[]'][row];
        coats1_mediumObj = document.forms['coverage_calculator'].elements['coats1medium[]'][row];
        coats1_lowObj    = document.forms['coverage_calculator'].elements['coats1low[]'][row];
        coats2_highObj   = document.forms['coverage_calculator'].elements['coats2high[]'][row];
        coats2_mediumObj = document.forms['coverage_calculator'].elements['coats2medium[]'][row];
        coats2_lowObj    = document.forms['coverage_calculator'].elements['coats2low[]'][row];

        tempvalue1   = parseFloat((tilearea / f_highObj.value) * coats1_highObj.value);
        if (tempvalue1 > 0 && tempvalue1 != 'Infinity')
        {
              tempvalue1 = (tempvalue1.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue1 = 'N/A'; 
        }
        tempvalue2   = parseFloat((tilearea / f_highObj.value) * coats2_highObj.value);
        if (tempvalue2 > 0 && tempvalue2 != 'Infinity')
        {
              tempvalue2 = (tempvalue2.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue2 = 'N/A'; 
        }
        if (tempvalue1 == tempvalue2)
        {
             highObj.value = tempvalue1;
        }
        else
        {
             highObj.value = tempvalue1 + ' to ' + tempvalue2;
        }

        tempvalue1   = parseFloat((tilearea / f_mediumObj.value) * coats1_mediumObj.value);
        if (tempvalue1 > 0 && tempvalue1 != 'Infinity')
        {
              tempvalue1 = (tempvalue1.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue1 = 'N/A'; 
        }
        tempvalue2   = parseFloat((tilearea / f_mediumObj.value) * coats2_mediumObj.value);
        if (tempvalue2 > 0 && tempvalue2 != 'Infinity')
        {
              tempvalue2 = (tempvalue2.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue2 = 'N/A'; 
        }
        if (tempvalue1 == tempvalue2)
        {
             mediumObj.value = tempvalue1;
        }
        else
        {
             mediumObj.value = tempvalue1 + ' to ' + tempvalue2;
        }

        tempvalue1   = parseFloat((tilearea / f_lowObj.value) * coats1_lowObj.value);
        if (tempvalue1 > 0 && tempvalue1 != 'Infinity')
        {
              tempvalue1 = (tempvalue1.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue1 = 'N/A'; 
        }
        tempvalue2   = parseFloat((tilearea / f_lowObj.value) * coats2_lowObj.value);
        if (tempvalue2 > 0 && tempvalue2 != 'Infinity')
        {
              tempvalue2 = (tempvalue2.toFixed(1)) + ' litres'; 
        }
        else
        {
             tempvalue2 = 'N/A'; 
        }
        if (tempvalue1 == tempvalue2)
        {
             lowObj.value = tempvalue1;
        }
        else
        {
             lowObj.value = tempvalue1 + ' to ' + tempvalue2;
        }

        row++;
    }
}

function readCookie(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return '';
}

function deleteCookie (name)
{
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = name += "=; expires=" + cookie_date.toGMTString();
}


function RetrieveBasket()
{
    var cookiestring = '';
    var rtnstring = '';
    var element = '';
    var rtnstring = '';
    var row = 0;
    var prodObjvalue = ''; 
    var qtyObjvalue = ''; 
    var priceObjvalue = ''; 
    var totalObjvalue = '';  
    var packObjvalue = '';
    var weightObjvalue = '';
    var grandTotal = 0;  
    var quantityTotal = 0;  
    var weightTotal = 0;  
  
    while (row < 15)
    {

        cookiestring = 'gaos_basket_' + row;
        cookietest = unescape ( readCookie( cookiestring ) ); 
        element = cookietest.split('|');
        priceObjvalue = element[0]; 
        qtyObjvalue = element[1]; 
        prodObjvalue = element[2]; 
        totalObjvalue  = element[3];
        packObjvalue  = element[4];
        weightObjvalue  = element[5];

        if(qtyObjvalue != null && qtyObjvalue != '')
        {
              rtnstring = rtnstring + '<tr><td colspan="2"><input type="text" style="height:11px;overflow:hidden;border:0;margin:0;padding:0px;text-align:left;background-color:transparent;font-size:0.75em;" name="line_one[]" readonly tabindex="-1" size="35" value="' + prodObjvalue + ' (' + packObjvalue + ')" /><input type="hidden" name="product[]" readonly tabindex="-1" value="' + prodObjvalue + '" /><input type="hidden" name="pack[]" readonly tabindex="-1" value="' + packObjvalue + '" /><input type="hidden" name="weight[]" readonly tabindex="-1" value="' + weightObjvalue + '" /><input type="hidden" name="quantity[]" readonly tabindex="-1" value="' + qtyObjvalue + '" /><input type="hidden" name="price[]" readonly tabindex="-1" value="' + priceObjvalue + '" /><input type="hidden" name="total[]" readonly tabindex="-1" value="' + totalObjvalue  + '" /></td></tr><tr><td width="50%"><input style="height:11px;overflow:hidden;border:0;padding:0px;text-align:left;background-color:transparent;font-size:0.75em;" type="text" name="line_two[]" readonly tabindex="-1" size="16" value="' + qtyObjvalue + ' @ ' + priceObjvalue + '" /></td><td width="50%"><input type="text" style="height:11px;border:0;padding:0px;text-align:right;background-color:transparent;font-size:0.75em;" name="line_three[]" readonly tabindex="-1" size="10" value="' + totalObjvalue + '"/></td></tr>';
              grandTotal = grandTotal + parseFloat(totalObjvalue);
              quantityTotal = quantityTotal + parseFloat(qtyObjvalue);
              weightTotal = weightTotal + parseFloat(weightObjvalue * qtyObjvalue);

        } 
        row++;
    }
    rtnstring = rtnstring + '<tr><td colspan="2">Items in basket: ' + quantityTotal.toFixed(0) + '</td></tr>';
    rtnstring = rtnstring + '<tr><td colspan="2"><b>TOTAL &#163;</b> ' + grandTotal.toFixed(2) + '</b></td></tr>';
    return rtnstring;
}