function getDimensionalWeight(Dim1,Dim2,Dim3,domestic,dim_in_in,weight_in_lbs) {
	
	// Error Checking //
	if (isNaN(Dim1) || isNaN(Dim2) || isNaN(Dim3) || isEmpty(Dim1) || isEmpty(Dim2) || isEmpty(Dim3))
		return false;
	
	// Initialize Variables ///
	var ImpImpIntl = 166;
	var ImpImpDomestic = 194;
	var MetricMetricIntl = 6000;
	var MetricMetricDomestic = 7000;
	var ImpMetricIntl = 366;
	var ImpMetricDomestic = 427;
	var MetricImpIntl = 2720;
	var MetricImpDomestic = 3179;
	var volume = 0;
	var dimWeight = 0;
	var Remainder = 0;
	var NewRemainder = 0;
	
	if (domestic) {
		if (dim_in_in) {
			if (weight_in_lbs) conversionFactor = ImpImpDomestic;
			else conversionFactor = ImpMetricDomestic;
		}
		else {
			if (weight_in_lbs) conversionFactor = MetricImpDomestic;
			else conversionFactor = MetricMetricDomestic;
		}
	}
	else {
		if (dim_in_in) {
			if (weight_in_lbs) conversionFactor = ImpImpIntl;
			else conversionFactor = ImpMetricIntl;
		}
		else {
			if (weight_in_lbs) conversionFactor = MetricImpIntl;
			else conversionFactor = MetricMetricIntl;
		}
	}
	
	// Calculations ////
	volume = Dim1 * Dim2 * Dim3;
	dimWeight = volume / conversionFactor;

	// Rounding (as in Sabre) /////
	Remainder = dimWeight - parseInt(dimWeight);
	
	if ((Remainder > .1) && (Remainder < .6) && (!weight_in_lbs)) NewRemainder = .5;
	else {
		if (Remainder >=.1) NewRemainder = 1;
		else NewRemainder = 0;
	}
	dimWeight = dimWeight - Remainder + NewRemainder;
	
	// Output //////
	if( volume != 0 && (isNaN(dimWeight) || dimWeight < 1))
		dimWeight = 1;

	return dimWeight;
}


