function quotaPartQtBlur( txtQt, minQt, maxQt )
{
	var value = parseInt( txtQt.value );
	
	if ( ( value > maxQt ) && ( maxQt != 0 ) )
		txtQt.value = maxQt;
	else if ( ( value < minQt ) && ( minQt != 0 ) )
		txtQt.value = minQt;
}


function showBundleParts( id, closeImg, openImg )
{
	var bundleObj =  findObj( 'bundle_' + id );
	var bundlepicObj = findObj( 'bundlepic_' + id );
	
	if( bundleObj && bundlepicObj )
	{
		if( bundleObj.style.display == 'none' )
		{
			bundleObj.style.display = 'block';
			bundlepicObj.src = closeImg;
		}
		else
		{
			bundleObj.style.display = 'none';
			bundlepicObj.src = openImg;
		}
	}
}

function shipChange( combo, shipCostFunc, spanSalesTaxID, spanShipRateID, spanSubTotalID, spanInsuranceID, hdnTotalID, remainsTotal, subTotalByBaseSalesTax, remainsInsurance, includeShippingInSalesTax, salesTaxRate, extraSum, insureOrder, allowRound )
{
	var form = document.forms[ 0 ];

	var spanSalesTax = findObj( spanSalesTaxID );
	var spanShipRate = findObj( spanShipRateID );
	var spanInsurance = findObj( spanInsuranceID );
	var spanSubTotal = findObj( spanSubTotalID );
	var hdnTotal = form[ hdnTotalID ];
	
	var shipRate = shipCostFunc( combo );

	if( spanShipRate )
		spanShipRate.innerHTML = currencyFormatS( shipRate );

	var salesTax = roundX( ( includeShippingInSalesTax ) ?
				   ( subTotalByBaseSalesTax + shipRate ) * salesTaxRate / 100 :
	               subTotalByBaseSalesTax * salesTaxRate / 100, 2 );
	
	var insurance = insureOrder ? ( 0.5 * Math.floor( ( subTotalByBaseSalesTax + salesTax + shipRate ) / 100 ) ) + remainsInsurance : 0;

	var cost = remainsTotal + subTotalByBaseSalesTax + salesTax + shipRate + extraSum + ( insurance - remainsInsurance );
	hdnTotal.value = allowRound ? Math.ceil( cost ) : cost;
	
	if( spanSalesTax )
		spanSalesTax.innerHTML = currencyFormatS( allowRound ? Math.ceil( salesTax ) : salesTax );

	if( spanInsurance )
		spanInsurance.innerHTML = currencyFormatS( allowRound ? Math.ceil( insurance ) : insurance );

	if( spanSubTotal )
		spanSubTotal.innerHTML = currencyFormatS( allowRound ? Math.ceil( cost ) : cost );
}
