﻿
var digactive;
var digoptionsactive;
var tradactive;
var tradoptionsactive;

function init()
{
    digactive = (document.getElementById('dig_table') != null);
    digoptionsactive = (document.getElementById('digopttable') != null);
    tradactive = (document.getElementById('trad_table') != null);
    tradoptionsactive = (document.getElementById('tradopttable') != null);
    update_prices();
}

function select_size(sizename)
{
    if (tradactive)
    {
	    var tradsizemenu = document.getElementById('trad_size_menu');
	    var tradquantmenu = document.getElementById('trad_qty_menu');
	    select_value(tradsizemenu, sizename);
	    select_value(tradquantmenu, '5000');
	}
	
	if (digactive)
	{
	    var digsizemenu = document.getElementById('dig_size_menu');
	    var digquantmenu = document.getElementById('dig_qty_menu');
	    var digcustqty = document.getElementById('dig_cust_qty');
	    select_value(digsizemenu, sizename);
	    select_value(digquantmenu, '500');
	    //digcustqty.value = '500';
	}
	update_prices();
}

function select_value(menu, sizename)
{
	for (var i=0; i<menu.options.length; i++)
		if (menu.options[i].value == sizename)
			menu.selectedIndex = i;
}


function update_prices() {

    var qty = parseInt(document.getElementById('trad_qty_menu').value);
    var sz;
    var tradsizemenu = document.getElementById('trad_size_menu');
    var tradcustsize1 = document.getElementById('trad_cust_size_1');
    var tradcustsize2 = document.getElementById('trad_cust_size_2');
    var tradquantmenu = document.getElementById('trad_qty_menu');

    var sz;
    var tradPrice;

    if (tradsizemenu.value == "Other...") {
        sz = tradcustsize1.value + 'x' + tradcustsize2.value;
    }
    else {
        sz = tradsizemenu.value;
    }

    var stk;
    if (qty < 1000) {
        stk = 'Digital';
    }
    else
        stk = '12 Pt. Postcard';
        

	    
    if (isNaN(qty))
    {
	    alert("Invalid quantity");
    }
    else
    {
	    tradPrice = '$' + Math.ceil(Printing_Price(qty, stk, sz));
	}

    var tradpricespan = document.getElementById('trad_price');
    tradpricespan.innerHTML = addCommas(tradPrice);
    
//    if (document.getElementById("sizes_tr") != null)
//    {
//        if (tradSize == digSize)
//            selectSizeImage(tradSize);
//        else
//            deselectSizeImages();
//    }
}

var size_images = ["si_bc","si_bm","si_35x55","si_4x6","si_425x6","si_5x7","si_6x8"];

function digStockSelected()
{
    if (document.getElementById('digstockrad1').checked)
        return document.getElementById('digstockcover').value;
    if (document.getElementById('digstockrad2').checked)
        return document.getElementById('digstocktext').value;
    if (document.getElementById('digstockrad3').checked)
        return document.getElementById('digstockspec').value;        
    return('');
}

function stockTotalCostDisplay(StockNameWithUnitPrice, Sheets)
{
    var addCost = stockAddCost(StockNameWithUnitPrice);
    var temp = StockNameWithUnitPrice;
    
    if (addCost > 0)
    {
        temp += " (+$" + (addCost * Sheets) + ")";
    }
    return temp;
}

function calcStockCosts(DDL, Sheets)
{
    if (DDL == null)
        return;
    for (var i=1; i<DDL.options.length; i++)
    {
        var currentVal = DDL.options[i].value;
        var currCost = stockAddCost(currentVal);
        var newText = currentVal.replace(/\(\+\$\d+.?\d+\)/,'');
        DDL.options[i] = new Option(newText,currentVal); //text,value
    }
}

function stockAddCost(StockName)
{
    var costFormatted = StockName.match(/\$\d+.?\d+/);
    var cost;
    if (costFormatted == null)
        return parseFloat(0);
    else
    {
        var justPrice=costFormatted[0].substring(1);
        return parseFloat(justPrice);
    }
}

function deselectSizeImages()
{
    for (i=0; i<size_images.length; i++)
    {
        var image = document.getElementById(size_images[i]);
        image.src = image.src.replace('_selected','');
    }
}


function selectSizeImage(Size)
{
    deselectSizeImages();
    with (document.getElementById('sizes_tr'))
    { 
        var i;
        switch (Size)
        {
            case "2x3.5" :
            case "3.5x2" : i='si_bc'; break;
            case "2x6" :
            case "6x2" : i='si_bm'; break;
            case "3.5x5.5" :
            case "5.5x3.5" : i='si_35x55'; break;
            case "4x6" :
            case "6x4" : i='si_4x6'; break;
            case "4.25x6" :
            case "6x4.25" : i='si_425x6'; break;
            case "5x7" :
            case "7x5" : i='si_5x7'; break;
            case "6x8" :
            case "8x6" : i='si_6x8'; break;
            default : break;
        }
        var o=document.getElementById(i);
        if (o != null)
            o.src = o.src.replace('.jpg','_selected.jpg');
    }
}

function radioValue(radio)
{
    if (radio == null)
        alert('Error in radioValue(): radio param cannot be null');
    var temp = '';
    for (var i=0; i<radio.length; i++)
        if (radio[i].checked)
            temp = radio[i].value;
    return temp;
}

function digOptionsTotal(Sheets, PrintPrice)
{
    var temp = 0;
    var theform = document.getElementById('form1');
    
    switch (radioValue(theform.design))
    {
        case 'none' : break;
        case 'typesetting' : temp += 25; break;
        case 'full' : temp += 75; break;
    }
   
    if (theform.dig_score.checked)
        temp += 75;
    if (theform.dig_perf.checked)
        temp += 100;
    if (theform.dig_score_fold.checked)
        temp += 100;
    if (theform.dig_perf_fold.checked)
        temp += 100;
        
    if (!theform.hi_gloss[0].checked)
    {
        temp += 40;
        if (theform.hi_gloss[1].checked)
            temp += (0.25 * Sheets);
        if (theform.hi_gloss[2].checked)
            temp += (0.25 * Sheets);
        if (theform.hi_gloss[3].checked)
            temp += (0.5 * Sheets);
    }
    
    if (theform.vardata.checked)
        temp += (PrintPrice * 0.2);
        
    return temp;
}

function showGlossPrices(Sheets)
{
	var gfp = document.getElementById('gloss_f_price');
	var gbp = document.getElementById('gloss_b_price');
	var gap = document.getElementById('gloss_both_price');
	
	var gfpshow, gbpshow, gapshow;
	
	if (isNaN(Sheets) || (Sheets == 0) || (Sheets == Infinity))
	{
	    gfpshow = '';
	    gbpshow = '';
	    gapshow = '';
	}
	else
	{
	    gfpshow = " +$" + Math.ceil(40 + (0.25 * Sheets));
	    gbpshow = " +$" +Math.ceil(40 + (0.25 * Sheets));
	    gapshow = " +$" + Math.ceil(40 + (0.5 * Sheets));
    }
		
	if (gfp != null)
	    gfp.innerHTML = gfpshow;
	if (gbp != null)
	    gbp.innerHTML = gbpshow;
	if (gap != null)
	    gap.innerHTML = gapshow;
}
			

function tradOptionsTotal(Sheets, PrintPrice, Size)
{
    var temp = 0;
    var theform = document.getElementById('form1');
    
    if (theform.Logo_Off.checked && !((Size=='2x3.5')||(Size=='3.5x2')))
        temp += 75;
        
    if (theform.tradproof[1].checked)
        temp += 30;
    
    switch (radioValue(theform.design))
    {
        case 'none' : break;
        case 'typesetting' : temp += 25; break;
        case 'full' : temp += 75; break;
    }
    alert(radioValue(theform.finishing_rb));
    switch (radioValue(theform.finishing_rb)) {
        case 'Score Only': temp += 100; break;
        case 'Score/Fold': temp += 150; break;
        case 'Perf Only': temp += 100; break;
        case 'Perf/Fold': temp += 150; break;
    }
        
    if (theform.textremoval.checked)
        temp += 50;
        
    return temp;
}

function sheets(Quantity, SizeName, SheetWidth, SheetHeight, Gutter)
{
	var size = new Size( );
	SizeNameToSize( SizeName, size );
	if (size == null)
	    alert('invalid size');
    var perSheet = NumberPerSheet( SheetWidth, SheetHeight, Gutter, size.width, size.height );
    var temp = SheetsNeeded(Quantity, perSheet);
    return temp;
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function trad_size_menu_OnChange()
{
	var tradsizemenu = document.getElementById('trad_size_menu');
	var tradcustsize1 = document.getElementById('trad_cust_size_1');
	var tradcustsize2 = document.getElementById('trad_cust_size_2');
	if (tradsizemenu.value == "Other...")
	{
		tradcustsize1.disabled = '';
		tradcustsize2.disabled = '';
		tradcustsize1.focus();
		tradcustsize1.select();
	}
	else
	{
		tradcustsize1.disabled = 'disabled';
		tradcustsize2.disabled = 'disabled';
		
		var s = tradsizemenu.value.split('x');
		tradcustsize1.value = s[0];
		tradcustsize2.value = s[1];
	}
	update_prices();
}

function dig_size_menu_OnChange()
{
	var digsizemenu = document.getElementById('dig_size_menu');
	var digcustsize1 = document.getElementById('dig_cust_size_1');
	var digcustsize2 = document.getElementById('dig_cust_size_2');
	if (digsizemenu.value == "Other...")
	{
		digcustsize1.disabled = '';
		digcustsize2.disabled = '';
		digcustsize1.focus();
		digcustsize1.select();
	}
	else
	{
		digcustsize1.disabled = 'disabled';
		digcustsize2.disabled = 'disabled';
		
		var s = digsizemenu.value.split('x');
		digcustsize1.value = s[0];
		digcustsize2.value = s[1];
	}
	update_prices();
}

function select10point()
{
    var form = document.getElementById('form1');
    form.trad_cardtype[0].checked = true;
}

function select14point()
{
    var form = document.getElementById('form1');
    form.trad_cardtype[1].checked = true;
}

function digstockchange(index)
{
    var digstockradios = document.getElementById('form1').digstockcat;
    digstockradios[index].checked = true;
    update_prices();
}

function digstockradiochange(index)
{
    var digstockradios = document.getElementById('form1').digstockcat;
    digstockradios[index].checked = true;
    if (index != 1)
        digstockcover.selectedIndex = 0;
    if (index != 2)
        digstocktext.selectedIndex = 0;
    if (index != 3)
        digstockspec.selectedIndex = 0;
    update_prices();
}

function trad_cust_size_OnChange()
{
	update_prices();		
}

function dig_cust_size_OnChange()
{
	update_prices();
}

function dig_qty_menu_OnChange()
{
	var digqtymenu = document.getElementById('dig_qty_menu');
	var digcustqty = document.getElementById('dig_cust_qty');
	
	if (digqtymenu.value == "Other...")
	{
		digcustqty.disabled = '';
		digcustqty.focus();
		digcustqty.select();
	}
	else
	{
		digcustqty.disabled = 'disabled';
		digcustqty.value = digqtymenu.value;
	}
	//calcStockCosts(document.getElementById('digstockspec'));
	
	update_prices();
}

function dig_cust_qty_OnChange()
{
	update_prices();
}

function check_mail(mailoption) {
    var sb = document.getElementById('submit_btn');

    if (mailoption == 'view')
        sb.innerText = 'continue';
    else
        sb.innerText = 'add to cart';
}