function calculateTotal(form)
{
    var qtyAdult = +form.item_30.value;
    var qtyPlus = +form.item_31.value;
    var designPlacements = getDesignPlacements(form);
    var qtyColorsFront = +form.item_7.options[form.item_7.selectedIndex].text;
    var qtyColorsBack = +form.item_52.options[form.item_52.selectedIndex].text;

    var qtyTotal = (qtyAdult + qtyPlus);

    var priceAdult = getPriceAdult(qtyAdult);
    var pricePlus = getPriceAdult(qtyPlus) + 2;
    var priceNumberColors = 0;
    var priceNumColF = 0;
    var priceNumColB = 0;
    if(designPlacements == 1 || designPlacements == 3)
    {
    	if(designPlacements == 3)
    		priceNumColF = getColorsMarkup(qtyTotal);
    	
    	if (qtyColorsFront > 1)
    		priceNumColF = (qtyColorsFront-1) * getColorsMarkup(qtyTotal);
    }
    
    if(designPlacements == 2 || designPlacements == 3) 
    {
    	if(qtyColorsBack > 1)
    		priceNumColB = (qtyColorsBack-1) * getColorsMarkup(qtyTotal);
    }
    
    priceNumberColors = priceNumColF + priceNumColB;
    
    
    var shirtColorPrice = getShirtColorPrice(form);
    var ttlColors = priceNumberColors * qtyTotal;
    var ttlAdult = priceAdult * qtyAdult;
    var ttlPlus = pricePlus * qtyPlus;
    var ttlShirtColor = +shirtColorPrice * qtyTotal;

    var grandTotal = ttlColors + ttlAdult + ttlPlus + ttlShirtColor;

    if(qtyTotal < 6)
    {
        alert("You must select at least 6 shirts for a quote");
        return false;
    }

    form.item_29.value = formatCurrency(grandTotal);
}

function getColorsMarkup(qty)
{
    var priceColor = 0;
    if (qty <= 6)
        priceColor = 2.25;
    else if (qty <= 12)
        priceColor = 2;
    else if (qty <= 24)
        priceColor = 1.5;
    else if (qty <= 36)
        priceColor = 1.1;
    else if (qty <= 48)
        priceColor = 0.70;
    else if (qty <= 100)
        priceColor = 0.70;
    else if (qty <= 250)
        priceColor = 0.25;
    else if (qty <= 1000)
        priceColor = 0.15;
    else if (qty <= 1250)
        priceColor = 0.10;
    else
        priceColor = 0.05;
    return priceColor;
}

function getPriceAdult(qty)
{
    if (qty <= 6)
        priceAdult = 19.32;
    else if (qty <= 12)
        priceAdult = 10.64;
    else if (qty <=24)
        priceAdult = 6.32;
    else if (qty <=36)
        priceAdult = 5.20;
    else if (qty <=48)
        priceAdult = 4.05;
    else if (qty <=100)
        priceAdult = 3.69;
    else if (qty <=150)
        priceAdult = 3.47;
    else if (qty <=200)
        priceAdult = 3.36;
    else if (qty <=250)
        priceAdult = 3.16;
    else if (qty <=750)
        priceAdult = 2.67;
    else if (qty <=1000)
        priceAdult = 1.89;
    else if (qty <=1250)
        priceAdult = 1.86;
    else if (qty <=1500)
        priceAdult = 1.84;
    else if (qty <=2000)
        priceAdult = 1.77;
    else if (qty <=3000)
        priceAdult = 1.75;
    else if (qty <=4000)
        priceAdult = 1.73;
    else
        priceAdult = 1.71;


    return priceAdult;
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    if (cents<50)
	{
		cents = 50;
	}
	else
	{
		num += 100;
		cents = "00";
	}
    num = Math.floor(num/100).toString();
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
              num.substring(num.length-(4*i+3));
    return(((sign)?'':'-') + '$' + num + '.' + cents);
}


function getShirtColor(form)
{
    if (document.images) {
        newColor = form.item_5.options[form.item_5.selectedIndex].text;
        document.tshirtColor.src =  "/images/tshirts/tshirt"+newColor + ".jpg";
    }
}


function getShirtColorPrice(form)
{
    clr = form.item_5.options[form.item_5.selectedIndex].text;
    if (clr == "White")
        return 0;
    if(clr == "Ash" || clr == "Navy" || clr == "Kelly-Green" || clr == "Royal-Blue" || clr == "Purple" || clr == "Gold" || clr == "Brown" || clr == "Forest-Green" || clr == "Heather-Gray" || clr == "Burgandy" || clr == "Yellow")
        return 0.39;
    else
        return 1.00;
}

function getDesignPlacements(form)
{
    plc = form.item_53.options[form.item_53.selectedIndex].text;
    if (plc == "Front")
        return 1;
    if(plc == "Back")
    	return 2
    else
    	return 3;
}
