

function rewrite_prod_list(value)
{
	var div_node = document.getElementById('products_list');
	var tr_nodes = div_node.getElementsByTagName('tr');
	var td_nodes;
	var a_node;
	var prod_name;
	var prod_price;
	var i;
	var j;
	var td_html0;
	var td_html1;
	var td_html2;
	var td_html3;

	var data = new Array(tr_nodes.length);
	var tr_contents = [];
	var td_innerhtml = [];

	for (i=1; i<tr_nodes.length; i++)
	{
 		td_nodes = tr_nodes[i].getElementsByTagName('td');
 		a_node = td_nodes[1].getElementsByTagName('font');
 		prod_name =  a_node[0].innerHTML;
 		prod_price = td_nodes[2].firstChild.nodeValue;

 		td_html0 = td_nodes[0].innerHTML;
 		td_html1 = td_nodes[1].innerHTML;
 		td_html2 = td_nodes[2].innerHTML;
 		td_html3 = td_nodes[3].innerHTML;

 		prod_name = leftTrim(prod_name);

 		//var reg_exp = /£/;
 		var str = new String(prod_price);
 		str = str.substr(1, str.length);
 		prod_price = str;
 		prod_price = parseFloat(prod_price);

 		data[i-1] = {prod_name: prod_name, prod_price: prod_price,
								td_html0: td_html0, td_html1: td_html1, td_html2: td_html2, td_html3: td_html3};
 	}

 	if(value == 'a_z')
 		data.sort(sort_by_prod_name);
 	else if (value == 'z_a')
 		data.sort(reverse_sort_by_prod_name);
 	else if (value == 'low_high')
 		data.sort(sort_by_low_high_price);
 	else if (value == 'high_low')
 		data.sort(sort_by_high_low_price);

 	div_node = document.getElementById('products_list');
 	tr_nodes = div_node.getElementsByTagName('tr');

 	for (i=1; i<tr_nodes.length; i++)
 	{
 		td_nodes = tr_nodes[i].getElementsByTagName('td');
		td_nodes[0].innerHTML = data[i-1].td_html0;
		td_nodes[1].innerHTML = data[i-1].td_html1;
		td_nodes[2].innerHTML = data[i-1].td_html2;
		td_nodes[3].innerHTML = data[i-1].td_html3;
 	}
}

function sort_by_prod_name (a, b)
{
    var x = a.prod_name.toLowerCase();
    var y = b.prod_name.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function reverse_sort_by_prod_name (a, b)
{
    var x = a.prod_name.toLowerCase();
    var y = b.prod_name.toLowerCase();
    return ((x < y) ? 1 : ((x > y) ? -1 : 0));
}

function sort_by_low_high_price (a, b)
{
    var x = a.prod_price;
    var y = b.prod_price;
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sort_by_high_low_price (a, b)
{
    var x = a.prod_price;
    var y = b.prod_price;
    return ((x < y) ? 1 : ((x > y) ? -1 : 0));
}


function leftTrim(str)
{
  	var out_str = "";
  	for (var i=0; i<str.length; i++)
    	if (str.charCodeAt(i) != 13 && str.charCodeAt(i) != 10 && str.charCodeAt(i) != 20)
	  		out_str += str.charAt(i);

    return out_str;
}
