function AddCustomCartItems()
{
    // Clear the cookie to ensure that a user can only create one cart 
    // per visit.
    ClearCustomCookie("CartCustom");
    ProcessCustomCart();
}

function ProcessCustomCart()
{
    var customCartArray = new Array();
    
    AddBaseCart(customCartArray);
    GetAccessories(customCartArray);
    GetFinish(customCartArray);
    
    GetCustomLaminate(customCartArray);
    
    if (customCartArray.length > 0)
    {
        SetCustomCookie('CartCustom', customCartArray.join('|'), 3, '/');
        updateNumberItemsInCart();
    }
}

function GetCustomLaminate(cartArray)
{
    var txtModel = document.getElementById(gtxtModel);
    var txtMfg = document.getElementById(gtxtMfg);
    
    if ((txtModel != null && txtModel.value != "") && (txtMfg != null && txtMfg.value != ""))
    {
        cartArray.push("00726 Custom Laminate, Cart:" + txtMfg.value + "-" + txtModel.value + ":1");
    }
}

function AddBaseCart(cartArray)
{
    var bCart = document.getElementById(glblBaseCart);
    if (bCart != null)
    {
        var entry = CreateItemEntry(glblBaseCart, "CCART");
        cartArray.push(entry);
    }
}

function GetFinish(cartArray)
{
    var blackVinyl = document.getElementById(gradBlackVinyl);
    var lmVinyl = document.getElementById(gradLightMapleVinyl);
    var wVinyl = document.getElementById(gradWalnutVinyl);
    var rmVinyl = document.getElementById(gradRedMapleVinyl);
    var bLaminate = document.getElementById(gradBlackLaminate)
    var rbLaminate = document.getElementById(gradBlueLaminate);
    var rLaminate = document.getElementById(gradRedLaminate);
    var gsLaminate = document.getElementById(gradGrayLaminate);
    var vcLaminate = document.getElementById(gradCherryLaminate);
    var hrmLaminate = document.getElementById(gradMapleLaminate);

    if (blackVinyl != null && blackVinyl.checked == true)
    {
        var entry = CreateItemEntry(glblBlackVinyl, "00700");
        cartArray.push(entry);
    }
    else if (lmVinyl != null && lmVinyl.checked == true)
    {
        var entry = CreateItemEntry(glblLightMapleVinyl, "00701");
        cartArray.push(entry);
    }
    else if (wVinyl != null && wVinyl.checked == true)
    {
        var entry = CreateItemEntry(glblWalnutVinyl, "00702");
        cartArray.push(entry);
    }
    else if (rmVinyl != null && rmVinyl.checked == true)
    {
        var entry = CreateItemEntry(glblRedMapleVinyl, "00703");
        cartArray.push(entry);
    }
    else if (bLaminate != null && bLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblBlackLaminate, "00720");
        cartArray.push(entry);
    }
    else if (rbLaminate != null && rbLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblBlueLaminate, "00721");
        cartArray.push(entry);
    }
    else if (rLaminate != null && rLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblRedLaminate, "00722");
        cartArray.push(entry);
    }
    else if (gsLaminate != null && gsLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblGrayLaminate, "00723");
        cartArray.push(entry);
    }
    else if (vcLaminate != null && vcLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblCherryLaminate, "00724");
        cartArray.push(entry);
    }
    else if (hrmLaminate != null && hrmLaminate.checked == true)
    {
        var entry = CreateItemEntry(glblMapleLaminate, "00725");
        cartArray.push(entry);
    }

}

function GetAccessories(cartArray)
{
    var pushHandle = document.getElementById(gchkPushHandle);
    var steelShelf = document.getElementById(gchkSteelShelf);
    if (pushHandle != null && pushHandle.checked == true)
    {
        var entry = CreateItemEntry(glblPushHandle, "00745");
        cartArray.push(entry);
    }
    
    if (steelShelf != null && steelShelf.checked == true)
    {
        var entry = CreateItemEntry(glblSteelShelf, "00746");
        cartArray.push(entry);
    }
}

function CreateItemEntry(lblCtrl, itemID)
{
    var control = document.getElementById(lblCtrl);
    if (control != null)
    {
        var descAttribute = control.attributes["Description"];
        if (descAttribute != null)
            return itemID + ':' + descAttribute.value + ':1';
    }

    return '';
}

function ClearCustomCookie(name)
{
    SetCustomCookie(name, null, -1, '/');
}

function SetCustomCookie(name, value, expires, path, domain) 
{
    expDate = new Date();
    if (expires) 
    {
        // Exipration Date set in an increment of Days
        expDate.setDate(expDate.getDate()+expires);
    }
    
    var curCookie = name + '=' + escape(value) +
            ((expires) ? '; expires=' + expDate.toGMTString() : '') +
            ((path) ? '; path=' + path : '') +
            ((domain) ? '; domain=' + domain : '');
            
    document.cookie = curCookie;
}

function ClearCustomCartForm()
{
    // Clear the cookie.
    ClearCustomCookie("CartCustom");
    
    // Set the form to its original state before any postbacks.
    DeselectVinyl();
    DeselectLaminate();
    ClearCustomLaminate();
    
    var chkPushHandle = document.getElementById(gchkPushHandle);
    var chkSteelShelf = document.getElementById(gchkSteelShelf);
    chkPushHandle.checked = false;    
    chkSteelShelf.checked = false;
}

function ClearCustomLaminate()
{
    var txtModel = document.getElementById(gtxtModel);
    var txtMfg = document.getElementById(gtxtMfg);
    txtModel.value = "";
    txtMfg.value = "";
}

function DeselectLaminate(selection)
{
    var radBlackLaminate = document.getElementById(gradBlackLaminate);
    var radBlueLaminate = document.getElementById(gradBlueLaminate);
    var radRedLaminate = document.getElementById(gradRedLaminate);
    var radGrayLaminate = document.getElementById(gradGrayLaminate);
    var radCherryLaminate = document.getElementById(gradCherryLaminate);
    var radMapleLaminate = document.getElementById(gradMapleLaminate);
//    var radNoLaminate = document.getElementById(gradNoLaminate);
    
    var imgLaminateSwatch = document.getElementById("laminateSwatch");
    imgLaminateSwatch.style.display = "none";
    
//    radNoLaminate.checked = true;
//    radBlackLaminate.checked = false;    
//    radBlueLaminate.checked = false;
//    radRedLaminate.checked = false;    
//    radGrayLaminate.checked = false;
//    radCherryLaminate.checked = false;    
//    radMapleLaminate.checked = false;
    
    ClearCustomLaminate();
	
    var imgVinylSwatch = document.getElementById("vinylSwatch");
	SetSwatch(selection, imgVinylSwatch);
	
}

function DeselectVinyl(selection)
{
    var radBlackVinyl = document.getElementById(gradBlackVinyl);
    var radLightMapleVinyl = document.getElementById(gradLightMapleVinyl);
    var radWalnutVinyl = document.getElementById(gradWalnutVinyl);
    var radRedMapleVinyl = document.getElementById(gradRedMapleVinyl);
//    var radNoVinyl = document.getElementById(gradNoVinyl);
    
    var imgVinylSwatch = document.getElementById("vinylSwatch");
    imgVinylSwatch.style.display = "none";
    
//    radNoVinyl.checked = true;
//    radBlackVinyl.checked = false;    
//    radLightMapleVinyl.checked = false;
//    radWalnutVinyl.checked = false;    
//    radRedMapleVinyl.checked = false;
    
    ClearCustomLaminate();
	
	var imgLaminateSwatch = document.getElementById("laminateSwatch");
	SetSwatch(selection, imgLaminateSwatch);


}

function SetSwatch(covering, container)
{
    // switch on the value and set the appropriate swatch to the image.
    container.style.display = "inline";
	
	switch (covering.value) {
		case 'BlackVinyl':
			container.src = '/ClientCss/Images/00700_Vinyl_Black.jpg';
			break;
		case 'LightMapleVinyl':
			container.src = '/ClientCss/Images/00701_Vinyl_LtMaple.jpg';
			break;
		case 'WalnutVinyl':
			container.src = '/ClientCss/Images/00702_Vinyl_Walnut.jpg';
			break;
		case 'RedMapleVinyl':
			container.src = '/ClientCss/Images/00703_Vinyl_RedMaple.jpg';
			break;
		case 'BlackLaminate':
			container.src = '/ClientCss/Images/00720_Lam_SE101_Black.jpg';
			break;
		case 'BlueLaminate':
			container.src = '/ClientCss/Images/00721_Lam_SB0009_RBlue.jpg';
			break;
		case 'RedLaminate':
			container.src = '/ClientCss/Images/00722_Lam_SR505N_Red.jpg';
			break;
		case 'GrayLaminate':
			container.src = '/ClientCss/Images/00723_AG111N_GreySand.jpg';
			break;
		case 'CherryLaminate':
			container.src = '/ClientCss/Images/00724_Lam_WC331_VCherry.jpg';
			break;
		case 'MapleLaminate':
			container.src = "/ClientCss/Images/00725_Lam_WM791_HRMaple.jpg";
			break;
		default:
			container.style.display = "none";
	}
}
