function calculate(id) {
	var TotalWeightVolume = 0;
	var TotalPieces = 0;
	var TotalVolume = 0;
	var TotalFeet = 0;
	var rowCount = $('#' + id + 'UserTable tr').length - 2;
	for ( var rowNumber = 1; rowNumber <= rowCount; rowNumber++) {
		var res = _getWP(id, rowNumber);
		var V = _getVolume(id, rowNumber);
		$(
				'#' + id + 'UserTable td[class="lcl ' + id + '-lcl' + rowNumber
						+ '-6"]').html(intConvert(V['Feet']));
		$(
				'#' + id + 'UserTable td[class="lcl ' + id + '-lcl' + rowNumber
						+ '-7"]').html(intConvert(V['Meters']));
		TotalWeightVolume += res['WV'];
		TotalPieces += res['p'];
		TotalVolume += V['Meters'];
		TotalFeet += V['Feet'];
	}
	$('#tabResult' + id + '-1').html(TotalWeightVolume);
	$('#tabResult' + id + '-2').html(TotalPieces);
	$('#tabResult' + id + '-6').html(intConvert(TotalFeet));
	$('#tabResult' + id + '-7').html(intConvert(TotalVolume));
}

function _getWP(id, rowNumber) {
	var w = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-1"]');
	var p = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-2"]');
	var arr = new Array();
	arr['WV'] = 0;
	arr['p'] = 0;
	if (isNumber(w.val()) && isNumber(p.val())) {
		arr['WV'] = w.val() * p.val();
		arr['p'] = p.val() * 1;
	}
	return arr;
}

function _getVolume(id, rowNumber) {
	var result = new Array();
	result['Feet'] = 0;
	result['Meters'] = 0;
	var L = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-3"]');
	var W = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-4"]');
	var H = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-5"]');
	var p = $('#' + id + 'UserTable :input[@name="lcl_' + rowNumber + '-2"]');
	if (isNumber(L.val()) && isNumber(W.val()) && isNumber(H.val())
			&& isNumber(p.val())) {
		if ($('#' + id + '-dimension_unit :selected').val() == "cm") {
			result['Feet'] = p.val() * (L.val() * 0.0328) * (W.val() * 0.0328)
					* (H.val() * 0.0328);
			result['Meters'] = (L.val() / 100) * (W.val() / 100)
					* (H.val() / 100) * p.val();
			return result;
		} else {
			result['Feet'] = p.val() * (L.val() / 12) * (W.val() / 12)
					* (H.val() / 12);
			result['Meters'] = ((L.val() * 0.0254) * (W.val() * 0.0254) * (H
					.val() * 0.0254))
					* p.val();
			return result;
		}
	}
	return result;
}

function intConvert(n) {
	return (n * 1).toFixed(2);
}