function computeHandling (print_summary) {
var packageCost = {p4x6:0.30, p5x7:0.30,  p8x10:0.50, poster:0.60};

//print counts
var cnt = print_summary.split("-");
var cnt_4x6 = cnt[0];
var cnt_5x7 = cnt[1];
var cnt_8x10 = cnt[2];
var cnt_poster = cnt[3];
var handling = 1.00;

	if (cnt_8x10 > 0) {
		handling = parseFloat(handling) + parseFloat(packageCost['p8x10']); 
	} else if ( (cnt_4x6 > 0) || (cnt_5x7 > 0) ) {	
		handling = parseFloat(handling) + parseFloat(packageCost['p4x6']); 
	}
			
	//now check for poster sale. Posters ship in a separate tube.
	if (cnt_poster > 0) {
		handling  = parseFloat(handling) + ( (parseInt (cnt_poster/2)) * packageCost['poster'] );	
		if (cnt_poster % 2) {//odd number of posters...max 2 per tube allowed, add another tube		
			handling = parseFloat(handling) + parseFloat(packageCost['poster']);
		}	
	}
	return handling;
}

function computePostage (print_summary) {
//weight for the different items (ounces)
var weight = new Array ();
weight['envelope'] = {p4x6:1.6, p5x7:1.6,  p8x10:3.2, poster:2.5}; 
weight['invoice']  = {p4x6:0.2, p5x7:0.2,  p8x10:0.2, poster:0.2};
weight['plastic']  = {p4x6:0.1, p5x7:0.1,  p8x10:0.2, poster:0.4};
//-------------------------------------------------------------------------
weight['package']  = {p4x6:1.9, p5x7:1.9,  p8x10:3.6, poster:3.1};
weight['prints']   = {p4x6:0.1, p5x7:0.17, p8x10:0.4, poster:1.5}; 

//0-3-1-0 
//3*0.17 + 1*0.4 = 0.91 oz
//8x10 envelope (package) = 2.9 oz
//total = 3.81 oz
//1.73

//print counts
var cnt = print_summary.split("-");
var cnt_4x6 = cnt[0];
var cnt_5x7 = cnt[1];
var cnt_8x10 = cnt[2];
var cnt_poster = cnt[3];

//print weights
var p4x6_prints_weight   = cnt_4x6*weight['prints']['p4x6'];
var p5x7_prints_weight   = cnt_5x7*weight['prints']['p5x7'];
var p8x10_prints_weight  = cnt_8x10*weight['prints']['p8x10'];

//weight by package type
var total_letter_envelope_weight  = 0;
var total_package_envelope_weight = 0;
var package_tube_weight     = 0;

	if (cnt_8x10>0) {
		total_package_envelope_weight = p4x6_prints_weight + p5x7_prints_weight + p8x10_prints_weight + weight['package']['p8x10'];
	} else if ((cnt_4x6+cnt_5x7)>0) {
		total_letter_envelope_weight  = p4x6_prints_weight + p5x7_prints_weight + weight['package']['p4x6'];
	}		

//total weight and cost by tube type
var total_single_package_tube_weight    = weight['prints']['poster']+weight['package']['poster'];
var total_double_package_tube_weight    = (2*weight['prints']['poster'])+weight['package']['poster'];
var total_single_package_tube_cost      = formatCurrency((1.22 + (Math.ceil(total_single_package_tube_weight-1)*0.17)),true);
var total_double_package_tube_cost      = formatCurrency((1.22 + (Math.ceil(total_double_package_tube_weight-1)*0.17)),true);

var postage = 0;
var non_machinable_cost = 0.20;

	if (total_letter_envelope_weight != 0) {
		postage = formatCurrency((0.44 + non_machinable_cost + (Math.ceil(total_letter_envelope_weight-1)*0.17)),true);		
		if (total_letter_envelope_weight >=3.5) {
			postage = formatCurrency((0.88 + (Math.ceil(total_letter_envelope_weight-1)*0.17)),true);	
		}
	}
	
	//if not the 4x6, 5x7 envelope, maybe the 8x10 envelope, cannot be both. We use the largest envelope required, not counting posters
	if (total_package_envelope_weight != 0) {
		postage = formatCurrency((1.22 + (Math.ceil(total_package_envelope_weight-1)*0.17)),true);
	}
	
	//now check for poster sale. Posters ship in a separate tube.
	if (cnt_poster > 0) {
		tubes_postage = (parseInt (cnt_poster/2)) * total_double_package_tube_cost;	
		if (cnt_poster % 2) {//odd number of posters...max 2 per tube allowed, add another tube		
			tubes_postage = parseFloat(tubes_postage) + parseFloat(total_single_package_tube_cost);
		}
		tubes_postage = formatCurrency(tubes_postage, true);
		if (postage == 0) {
			postage = tubes_postage;
		} else {
			postage = parseFloat(postage) + parseFloat(tubes_postage);
		}	
	}
	return postage;
}	
