var S_DBG	= 1;
var S_DB3	= 7;
var S_DB2	= 2;
var S_DBN	= 3;
var S_DBN10 = 6;

var CONST__FREE									= "FREE (Continental US Only)";
var CONST__FREE2								= "FREE";
var CONST__CELL_SHOW							= "block";
var CONST__CELL_HIDE							= "none";
var CONST___NO_VERSE							= "_NO_VERSE";
var CONST___IMAGE_HOSTER__VERSES_PATH			= "http://www.cardsdirect.com/images/verses/"
var CONST___MAX_NUMBER_FI_LINES					= 20;
var CONST___MAX_NUMBER_CV_LINES					= 20;
var CONST__FREE_AMOUNT							= 0.00;
var CONST__MINIMUM_GROUND_SHIPPING_CHARGE		= 5.00;
var CONST__CARDS_PER_SHIPPING_BOX				= 25;
var CONST__TAX									= 0.0775;
var CONST__CUST__MINIMUM_CHARGE__IMPRINT_LINE_1	= 4.00;
var CONST__CVDA_MINIMUM_CHARGE					= 4.00;
var CONST__FRONT_IMPRINT_AREA_ID				= 1;
var CONST__CUSTOM_VERSE_AREA_ID					= 2;

var CONST__ENV__MINIMUM_CHARGE__IMPRINT_LINE_1	= 20.00;
var CONST__ENV__CHARGE__IMPRINT_LINES_2_OR_MORE	= 0.00;
var CONST__ENV__BASE_CHARGE__PER_25_CARDS		= 5.00;


var PAGE_NAME__SELECT_SUGGESTED_WORDINGS		= "SelectSuggestedWordings.aspx";
var PAGE_NAME__SELECT_VERSE						= "SelectVerse.aspx";
var PAGE_NAME__SELECT_INK						= "SelectInk.aspx";
var PAGE_NAME__SELECT_FONT						= "SelectFont.aspx";
var CONST__IMAGE__IMAGE_HOST_ROOT				= "http://www.cardsdirect.com/images/";
var CONST__IMAGE__CART_DETAILS_HIDE				= "button_hide_details.gif";
var CONST__IMAGE__CART_DETAILS_SHOW				= "button_show_details.gif";


var bType_ID	= 1;
var bType_ALL	= 2;
var bType_ALERT = 3;


// Card Detail Constants
var nQFac		= 1;
var IEC			= 12.0;

var nVM_Fixed	= 1;
var nVM_Choice	= 2;
var nVM_Custom	= 3;



// ***************************************************************************************************
//											Bookmark Functions
// ***************************************************************************************************
function BM()
{
	if(window.external!=null)
	{
		window.external.AddFavorite(location.href, document.title);		
	}
}




// ***************************************************************************************************
//											Rotater Functions
// ***************************************************************************************************
aIP	= new Array(8);
aI	= new Array(8)
aIP[0]	= "http://www.cardsdirect.com/images/CD/Featured1.jpg,business-birthday-cards.aspx,Celebration Birthday Card";
aIP[1]	= "http://www.cardsdirect.com/images/CD/Featured2.jpg,business-anniversary-cards.aspx,Anniversary Card";
aIP[2]	= "http://www.cardsdirect.com/images/CD/Featured3.jpg,business-thank-you-cards.aspx,Genuine Thank You Card";
aIP[3]	= "http://www.cardsdirect.com/images/CD/Featured4.jpg,business-sympathy-cards.aspx,With Sympathy Card";
aIP[4]	= "http://www.cardsdirect.com/images/CD/Featured5.jpg,business-welcome-cards.aspx,Corporate Welcome Card";
aIP[5]	= "http://www.cardsdirect.com/images/CD/Featured6.jpg,custombusinessgreetingcards.aspx,Logo Card";
aIP[6]	= "http://www.cardsdirect.com/images/CD/Featured7.jpg,business-get-well-cards.aspx,Get Well Card";
aIP[7]	= "http://www.cardsdirect.com/images/CD/Featured8.jpg,business-anniversary-cards.aspx,Metallic Trio Anniversary Card";

var fRunning = 0;
var IPindex = 1;
var bCached = false;

function startTrans2()
{
	if (fRunning == 0)
	{
		var oObject		= document.getElementById("Feature1Image");
		var oObject2	= document.getElementById("Feature1Link");
		var strPath		= "http://www.cardsdirect.com/";
		fRunning		= 1;
		if(!oObject || !oObject2)
		{
			return;
		}
		else
		{
			oObject.filters[0].Apply();
			if(oObject.src!=null)			oObject.src		= aI[IPindex].src;
			if(oObject.border!=null)		oObject.border	= 0;
			if(oObject.alt!=null)			oObject.alt		= aI[IPindex].alt;
			//if(oObject.title!=null)			oObject.title	= aI[IPindex].title;			
			oObject.filters[0].Play();
			if(oObject2.href!=null)			oObject2.href	= strPath + aI[IPindex].title;
			//if(oObject2.title!=null)		oObject2.title	= aI[IPindex].title;
			IPindex += 1;		
			fRunning = 0;
			if(IPindex==(aI.length)) IPindex=0;	
		}		
	}	
}
function DoFeature()
{
	if(document.getElementById!=null)
	{
		if(Feature1Image!=null)
		{
			if(Feature1Image.filters[0]!=null)
			{
				if(!bCached)
				{
					var i = 0;	
					for(i=0; i<=aIP.length-1; i++)      
					{   
						var aIP2		= new Array();
						aIP2			= aIP[i].split(",");						
						oImage			= new Image();   
						oImage.src		= aIP2[0];  
						oImage.title	= aIP2[1];
						oImage.alt		= aIP2[2];
						//alert(oImage.title);
						aI[i]			= oImage;			
					}
					bCached = true;					
				}				
				setInterval(startTrans2, 4000);
			}
		}
	}
	
	//ShippingSchedule();
}



// ***************************************************************************************************
//											Validation Functions
// ***************************************************************************************************
function ValidateCount(iMax,otE,otV)
{
	
	if(otE!=null && otV!=null)
	{
		var x;
		x = Number(iMax) - otE.value.length;
		if(x<Number(0))
		{
			alert('The maximum characters for this field has been reached');
			otE.value = otE.value.substring(0,iMax);
			
		}
				
		otV.value = Number(iMax) - otE.value.length;
	}
	
}


function ValidateCountShipAddress(iMax,otE)
{
	
	if(otE!=null && otV!=null)
	{
		var x;
		x = Number(iMax) - otE.value.length;
		if(x<Number(0))
		{
			alert('The maximum of 30 characters for this field has been reached.\nPlease use the other address line or make appropriate abbreviations to ensure proper delivery');
			otE.value = otE.value.substring(0,iMax);			
		}		
	}
	
}


// ***************************************************************************************************
//											Search Functions
// ***************************************************************************************************
function ValidateSearch(strSearchPhrase)
{
	//alert(strSearchPhrase);
	var bSearch = true;
	strSearchPhrase = FormatString_RemoveSpaces(strSearchPhrase);
	if(!(strSearchPhrase.length>0)) 
	{
		bSearch = false;
		if(oBrwType('trSearchTermValidator')!=null)
		{
			oBrwType('trSearchTermValidator').style.display = CONST__CELL_SHOW;//CONST__CELL_SHOW;
		}
		else
		{
			alert('Please Enter a Search Term');
		}
		document.frmSearch.txtSearchPhrase.value = '';	
		document.frmSearch.txtSearchPhrase.focus();		
	}
	return bSearch;	
}

function SearchButton_Click(strSearchPhrase)
{
	var bReturn = false;
	var bSearch = ValidateSearch(strSearchPhrase);
	if(bSearch) 
	{
		document.frmSearch.submit();
		bReturn = true;
	}
	return bReturn;
}

function SearchPhraseFilled(strSearchPhrase)
{
	strSearchPhrase = FormatString_RemoveSpaces(strSearchPhrase);
	if(strSearchPhrase.length>0) 
	{
		if(oBrwType('trSearchTermValidator')!=null)
		{
			if(oBrwType('trSearchTermValidator').style.display==CONST__CELL_SHOW)
			{
				oBrwType('trSearchTermValidator').style.display =CONST__CELL_HIDE;
			}
		}
	}
}



/*
function OnEnterKey(oForm, strTargetButton)
{
	if(event!=null || oForm!=null || oBrwType('txtSearchPhrase')!=null) 
	{
		if(event.keyCode!=null)
		{
			if(event.keyCode == 13 && oBrwType('txtSearchPhrase').value!='')
			{
				oForm.tDoSearch.value = "1";
				alert(oForm.tDoSearch.value);
				//alert('OnEnterKey: strTargetButton.name = ' + strTargetButton.name + ', Enter key');
				//DoSearch(oBrwType('txtSearchPhrase').value);
				//oForm.onsubmit = "return false;"
				//alert(strTargetButton);
				//oBrwType(strTargetButton).focus();
				//document.getElementById.Form1.ctlSearch:cmdSearch.click();
				//oBrwType(strTargetButton).click();			
			}
		}
	}	
}

function DoSearch(strSearchPhrase)
{
	var redirectURL = '';	
	redirectURL = "http://DELL_DMC/CD2001/SearchResults.aspx";
	redirectURL += "?";
	redirectURL += "strSearchPhrase";
	redirectURL += "=";
	redirectURL += strSearchPhrase;
	
	alert('DoSearch: redirectURL = ' + redirectURL);	
	window.location = redirectURL;	
}
*/
// ***************************************************************************************************
//											AP Functions
// ***************************************************************************************************

function ShowHideImages_AP(strSize)
{
	if(strSize=='small')
	{
		oBrwType('tblImages_Small').style.display = CONST__CELL_SHOW;
		oBrwType('tblImages_Large').style.display = CONST__CELL_HIDE;		
	}
	else
	{
		oBrwType('tblImages_Large').style.display = CONST__CELL_SHOW;
		oBrwType('tblImages_Small').style.display = CONST__CELL_HIDE;		
	}

}

function UpdateQDA_NC(nQP, nPE, nSMF)
{
	var nQDA = Number(nQP)*Number(nPE)*Number(nSMF);
	//alert('GetQDA: nQDA = ' + nQDA);
	return nQDA;
}


function UpdatePDDA_NC(nQDA, otPDDA, olPDDA)
{
	var nPDDA = nQDA;
	if(otPDDA!=null) otPDDA.value = FormatCurrency(nPDDA,true);
	oBrwTypeInner_Write(olPDDA, otPDDA.value);
	//alert('UpdatePDDA: nPDDA = ' + nPDDA);
	return nPDDA;
}

function GetPE(otPE)
{
	var nPE = 0;
	if(otPE!=null) nPE = UnFormatCurrency(otPE.value);
	//alert('GetPE: nPE = ' + nPE);
	return nPE;
}

function GetCPP(otCPP)
{
	var nCPP = 1;
	if(otCPP!=null) nCPP = Number(otCPP.value);
	//alert('GetCPP: nCPP = ' + nCPP);
	return nCPP;
}

function GetQP(ocQ)
{
	var nQP = 0;
	if(ocQ!=null) nQP = Number(ocQ.value);
	//alert('GetQP: nQP = ' + nQP);
	return nQP;
}

function GetQC_NC(nQP, nCPP)
{
	var nQC = (nQP * nCPP);
	//alert('GetQC: nQC = ' + nQC);
	return nQC;
}

function UpdateAll_AP()
{
	var oForm	= document.Form1;
	var nQP		= GetQP(oForm.cQ);
	var nCPP	= GetCPP(oForm.tCPP);
	var nPE		= GetPE(oForm.tPriceEach);
	
	var nQC		= GetQC_NC(nQP,nCPP);
	var nBaNOC	= GetBaNOC(oForm.tBaNOC);
	var nToQC	= GetToQC(nQC, nBaNOC)
	
	var nQB		= GetQB(nQC);
	var nToQB	= GetQB(nToQC)
	
	var bADDA	= IsADDA(oForm.chkADDA);
	var bEM		= IsEM(oForm.chkEM);
	var nBaSDA	= GetBaSDA(oForm.tBaSDA);
	var nSMF	= GetSMF();
	var aSRDHL	= GetSRDHL();
	var aSRDV	= GetSRDV();
	var aSSRDHL	= GetSSRDHL();
	var aSSRDV	= GetSSRDV();
	var nTR		= Number(oForm.tTR.value);
	
	var nQDA	= 0;
	var nDF		= 0;
	var nDDA	= 0;
	var nPDDA	= 0;
	var nQDDA	= 0;
	var nSDA	= 0;	
	var nPADDA	= 0;
	var nADDA	= 0;
	var nToShDA	= 0;
	var nToTXDA	= 0;
	var nToTDA	= 0;
	var nSTLDA	= 0;
		
	// Calculate nQDA
	nQDA	= UpdateQDA_NC(nQP, nPE, nSMF);
	//alert('UpdateQDA_NC:nQDA = ' + nQDA);
	
	// Calculate nPDDA
	nPDDA	= UpdatePDDA_NC(nQDA, oForm.tPDDA, 'lblPDDA');	
	//alert('UpdatePDDA_NC:nPDDA = ' + nPDDA);
	
	// Calculate nDF	
	nDF		= UpdateDF(nQC, aSRDHL, aSRDV, aSSRDHL, aSSRDV, oForm.tDP, 'lblDP');	//oForm.tDP, 'lblDF');
	//alert('UpdateDF:nDF = ' + nDF);
	
	// Calculate nQDDA
	nQDDA	= UpdateQDDA_AP(nPDDA, nDF);	
	//alert('1');
	// Calculate nDDA	
	nDDA	= UpdateDDA(nPDDA, nQDDA, oForm.tDDA, 'lblDDA');
	//alert('2');
	//alert('UpdateAll_AP:nDDA = ' + nDDA);
	
	
	// Calculate nSDA	
	nSDA	= UpdateSDA(nPDDA, nDDA, oForm.tSDA, 'lblSDA', null);
	// Calculate nPADDA
	nPADDA	= UpdatePADDA(nSDA, nBaSDA, oForm.tPADDA, 'lblPADDA');
	// Calculate nADDA
	if(bADDA) nADDA	= UpdateADDA(nToQC, nPADDA, oForm.tADDA, 'lblADDA', GetADDA());
	// Calculate nToSDA
	nToSDA	= UpdateToSDA(nPADDA, nADDA, oForm.tToSDA, 'lblToSDA');
	// Calculate nToShDA
	nToShDA	= UpdateToShDA(oForm.cS, nToQB, nToSDA, oForm.tToShDA, 'lblToShDA');
	// Calculate nToTXDA
	nToTXDA = UpdateToTXDA(oForm.chkCA, nTR, nToSDA, oForm.tToTXDA, 'lblToTXDA');
	// Calculate nToTDA
	nToTDA	= UpdateToTDA(nToSDA, nToShDA, nToTXDA, oForm.tToTDA, 'lblToTDA');
	// Calculate nSTLDA
	if(bEM) nSTLDA = UpdateSTLDA__ADJDA_L(oForm.tToTDA.value, oForm.txtADJDA, oForm.txtSTLDA, 'lblADJP');		
}
function ShChanged_AP()
{
	var oForm	= document.Form1;
	UpdateSh(oForm.cS, oForm.tSID, oForm.tToShDA);
	UpdateAll_AP();
}	


// ***************************************************************************************************
//											CD Functions
// ***************************************************************************************************


function RoundQty(oQty, nDQ)
{
	var nQty = GetNumber(oQty);
	
	if(isNaN(nQty) || nQty<1)
	{
		//alert('RoundQty: isNaN');
		oQty.value = nDQ;
		nQty = Number(nDQ);
		oQty.focus();
		oNetMessage('Quantity can only contain numbers.');
	}	
	
	if( (nQty % 25) != 0)
	{
		var nTemp = Number(nQty/25);		
		nTemp = Math.floor(nTemp);
		nTemp = nTemp + 1;
		nTemp = nTemp * 25;
		
		oQty.value = nTemp;
		nQty = nTemp;
	}

	//nQty = nQty / 25;
	
	//alert('RoundQty: nQty = ' + nQty);
	return Number(nQty);
}



function GetWONP(nQB, aWONP)
{
	var m;
	var i;
	var nWONP;
		
	if(nQB <= 4)
	{
		i = nQB - 1;
		m = 1;
		nWONP = (aWONP[i]) * m;
	}
	else
	{
		nWONP = (aWONP[3]) + (aWONP[4]) * (nQB-4);
	}
	
	
	//alert('GetWONP: nWONP = ' + nWONP);
	return nWONP;
}	

function GetWNP(nQB, aWNP)
{
	var m;
	var i;
	var nWNP;
	
	var nPer100_500_to_975_index = 5;
	var nPer100_1000_or_More_index = 6;
	var nFactor = 0;
	var nRemainder = 0;
	
	var bPricePer100Available_500_to_975 = (aWNP[5]>0);
	var bPricePer100Available_1000_or_more = (aWNP[6]>0);

	if(nQB <= 4) // 25 - 100 quantities
	{
		i = nQB - 1;
		m = 1;
		nWNP = (aWNP[i]) * m;
	}
	else if((nQB >= 20) && (nQB <= 39) && bPricePer100Available_500_to_975) // New Pricing Mods - 500 to 975
	{
		nFactor = Math.floor(nQB/4);
		nRemainder = nQB - (nFactor*4);
		nWNP = aWNP[5] * nFactor;
		nWNP += aWNP[4] * nRemainder;
	}
	else if((nQB >= 40) && bPricePer100Available_1000_or_more) // New Pricing Mods - 1000 or more
	{
		nFactor = Math.floor(nQB/4);
		nRemainder = nQB - (nFactor*4);
		nWNP = aWNP[6] * nFactor;
		nWNP += aWNP[4] * nRemainder;	
						
	}
	else // All Other Cases
	{
		nWNP = (aWNP[3]) + (aWNP[4]) * (nQB-4);			
	}	
	
	/*
	if(nQB <= 4)
	{
		i = nQB - 1;
		m = 1;
		nWNP = (aWNP[i]) * m;
	}
	else
	{
		nWNP = (aWNP[3]) + (aWNP[4]) * (nQB-4);
	}
	*/
	
	//alert('GetWNP: nWNP = ' + nWNP);
	return nWNP;
}

function GetPD(nQB, aWNP, aWONP)
{
	var m;
	var i;
	var nPD;	
	
	if(nQB <= 4)
	{
		i = nQB - 1;
		m = 1;
	}
	else
	{
		i = 4;
		m = nQB;
	}
	
	nPD = (aWNP[i] - aWONP[i]) * m;
	//alert('GetPD: nPD = ' + nPD);
	return nPD;
}			


function UpdateToAPDA(bSAH, tAPDA, tSAHDA, tToAPDA, lblToAPDA)
{
	var nAPDA	= UnFormatCurrency(tAPDA.value);
	var nSAHDA	= UnFormatCurrency(tSAHDA.value);

	var nToAPDA = 0;
	if(bSAH)
	{	
		nToAPDA = Number(nAPDA) + Number(nSAHDA);			
	}
	else
	{
		nToAPDA = Number(nAPDA);			
	}
	
	nToAPDA = SetDA(nToAPDA, tToAPDA, lblToAPDA);
	
	//alert('UpdateToAPDA: nToAPDA = ' + nToAPDA);	
	return nToAPDA;
}


function UpdateIDA(bFIC, tIEC, cI, nQB, bFIF, bVerse, bCIF, bEIF, bCVF, tIDA, lblIDA)
{
	var nIEC = 0;
	/*		
	alert(
	'bFIF = ' + bFIF + '\n' +
	'bVerse = ' + bVerse + '\n' +
	'bCIF = ' + bCIF + '\n' +
	'bEIF = ' + bEIF + '\n' +
	'bCVF = ' + bCVF + '\n'
	);
	*/
	if((!bFIC) && (bFIF || bVerse || bCIF || bEIF || bCVF))
	{
		var nID		= cI.value;
		var aIEC	= new Array();
		aIEC = tIEC.value.split(",");
		for(var i = 0; i < aIEC.length; i++) 
		{
			if(aIEC[i] == nID)
			{
				nIEC = IEC;
				//nIEC = nQB * IEC;
				break;
			}
		}
		
	}	
	nIEC = SetDA(nIEC, tIDA, lblIDA);
		
	//alert('UpdateIDA: nIEC = ' + nIEC);	
	return nIEC;			
}



function UpdateCVDA(bCVNV, IsCVCharge, nCVSUC, nPD, tCVDA, lblCVDA, bFIC)
{
	var nCVDA	= 0;
	if(!bCVNV)
	{
		/* New Pricing Mods 10-31-04
		if(IsCVCharge)
		{
			nCVDA = GetCLDA(1,1,true,nPD, bFIC);
			//alert(nCVDA);	
		}
		*/
		nCVDA	+= nCVSUC;			
	}
	
	
	
	//alert(nCVDA);
	nCVDA	= SetDA(nCVDA, tCVDA, lblCVDA);
	 
	//alert('UpdateToCVDA: nCVDA = ' + nCVDA + 'includes nCVSUC = ' + nCVSUC);
	return 	nCVDA;	
}
/* New Pricing Mods 10-31-04
function UpdateToCLDA(tCL1DA, tCL2DA, tCL3DA, tCL4DA)
{
	var nToCLDA = 0;
	nToCLDA += UnFormatCurrency(tCL1DA.value);
	nToCLDA += UnFormatCurrency(tCL2DA.value);
	nToCLDA += UnFormatCurrency(tCL3DA.value);
	nToCLDA += UnFormatCurrency(tCL4DA.value);
	
	return nToCLDA;
}
*/


function UpdateToELDA(tEL1DA, tEL2DA, tEL3DA, tEL4DA)
{
	var nToELDA = 0;
	nToELDA += UnFormatCurrency(tEL1DA.value);
	nToELDA += UnFormatCurrency(tEL2DA.value);
	nToELDA += UnFormatCurrency(tEL3DA.value);
	nToELDA += UnFormatCurrency(tEL4DA.value);
	
	return nToELDA;
}


function UpdatePDDA(nQDA, nLGDA, nToAPDA, nFIDA, nVDA, nIDA, nToCLDA, nAEDA, nToELDA, tPDDA, lblPDDA)
{
	var nPDDA = Number(nQDA + nLGDA + nToAPDA + nFIDA + nVDA + nIDA + nToCLDA + nAEDA + nToELDA);
	
	nPDDA = SetDA(nPDDA, tPDDA, lblPDDA);
		
	//alert('UpdatePDDA: nPDDA = ' + nPDDA);
	return nPDDA;
}	



function GetFirstLine(strL1P, strL2P, strL4P, strL4P)
{
	var nFLF = 0;
	
	var nL1P = strL1P.length;
	var nL2P = strL2P.length;
	var nL3P = strL3P.length;
	var nL4P = strL4P.length;
	
	
	if((nL1P+nL2P+nL3P+nL4P)>0) 
	{
			
		// One of the lines is filled in
		if(nL1P>0)
		{
			nFLF = 1;
		}		
		else if(nL2P>0)
		{
			nFLF = 2;
		}
		else if(nL3P>0) 
		{
			nFLF = 3;
		}
		else if(nL4P>0)
		{
			nFLF = 4;
		}
					
	}
	//alert('GetFirstLine: nFLF = ' + nFLF); 
	return nFLF;
}



function GetELDA(nLine, nFLF_Env, bFilled, nQB, nIDA)
{
	var nDA = 0;
	if(bFilled)
	{
		var bFoil = (nIDA>0);
		if(nQB==1)
		{
			if(bFoil)
			{
				nDA = 19.0;
			}
			else
			{
				nDA = 14.0;
			}
		}
		else if(nQB==2)
		{
			if(bFoil)
			{
				nDA = 21.0;
			}
			else
			{
				nDA = 16.0;
			}
		}
		else if(nQB==3)
		{
			if(bFoil)
			{
				nDA = 23.0;
			}
			else
			{
				nDA = 18.0;
			}
		}
		else
		{
			if(bFoil)
			{
				nDA = (10.0 + ((nQB*25)*.15));
			}
			else
			{
				nDA = (10.0 + ((nQB*25)*.10));
			}
		}
		/*
		nDA = CONST__ENV__BASE_CHARGE__PER_25_CARDS * nQB;
		if(nDA < CONST__ENV__MINIMUM_CHARGE__IMPRINT_LINE_1)
		{
			nDA = CONST__ENV__MINIMUM_CHARGE__IMPRINT_LINE_1;
		}	
		*/
	}	
	return nDA;	
}

/* New Pricing Mods 10-31-04
function GetCLDA(nLine, nFLF_Cust, bFilled, nPD, bFIC)
{
	//alert(nPD);
	var nDA = 0;
	if(bFilled)
	{
		//if(nLine==nFLF_Cust)
		//{
		nDA = nPD;
		if(!bFIC && (nDA < CONST__CUST__MINIMUM_CHARGE__IMPRINT_LINE_1))
		{
			nDA = CONST__CUST__MINIMUM_CHARGE__IMPRINT_LINE_1;
		}	
		//}
		//else
		//{
		//	nDA = 0;//CONST__CUST__MINIMUM_CHARGE__IMPRINT_LINE_1;
		//}
	}
	
	return nDA;	
}
*/

function UpdateELDA(nQB, oForm, nIDA)
{
	//alert('nQB = ' + nQB);
	//alert('nIDA = ' + nIDA);
	//var oForm	= document.customize;
		
	// Remove spaces
	strL1P = FormatString_RemoveSpaces(oForm.tEL1P.value);
	strL2P = FormatString_RemoveSpaces(oForm.tEL2P.value);
	strL3P = FormatString_RemoveSpaces(oForm.tEL3P.value);
	strL4P = FormatString_RemoveSpaces(oForm.tEL4P.value);
	
	var nFLF_Env = GetFirstLine(strL1P, strL2P, strL3P, strL4P);
	//alert('ELChanged: nFLF_Env = ' + nFLF_Env);
	
	
	var nDA		= 0;		
	// Line 1
	nDA	= GetELDA(1, nFLF_Env, ((strL1P.length+strL2P.length+strL3P.length+strL4P.length)>0), nQB, nIDA)
	SetDA(Math.round(nDA), oForm.tEL1DA, 'lEL1DA');
		
	// Line 2
	nDA	= 0;//GetELDA(2, nFLF_Env, (strL2P.length>0), nQB)
	SetDA(nDA, oForm.tEL2DA, 'lEL2DA');
	
	// Line 3
	nDA	= 0;//GetELDA(3, nFLF_Env, (strL3P.length>0), nQB)
	SetDA(nDA, oForm.tEL3DA, 'lEL3DA');
		
	// Line 4
	nDA	= 0;//GetELDA(4, nFLF_Env, (strL4P.length>0), nQB)
	SetDA(nDA, oForm.tEL4DA, 'lEL4DA');
	
	
						
}


/* New Pricing Mods 10-31-04
function UpdateCLDA(nPD, oForm, bFIC)
{
	//var oForm	= document.customize;
		
	// Remove spaces
	strL1P = FormatString_RemoveSpaces(oForm.tCL1P.value);
	strL2P = FormatString_RemoveSpaces(oForm.tCL2P.value);
	strL3P = FormatString_RemoveSpaces(oForm.tCL3P.value);
	strL4P = FormatString_RemoveSpaces(oForm.tCL4P.value);
	
	var nFLF_Cust = GetFirstLine(strL1P, strL2P, strL3P, strL4P);
	
	var nDA		= 0;		
	// Line 1
	nDA	= GetCLDA(1, nFLF_Cust, ((strL1P.length+strL2P.length+strL3P.length+strL4P.length)>0), nPD, bFIC)
	SetDA(nDA, oForm.tCL1DA, 'lCL1DA');
		
	// Line 2
	nDA	= 0;//GetCLDA(2, nFLF_Cust, (strL2P.length>0), nPD, bFIC)
	SetDA(nDA, oForm.tCL2DA, 'lCL2DA');
	
	// Line 3
	nDA	= 0;//GetCLDA(3, nFLF_Cust, (strL3P.length>0), nPD, bFIC)
	SetDA(nDA, oForm.tCL3DA, 'lCL3DA');
		
	// Line 4
	nDA	= 0;//GetCLDA(4, nFLF_Cust, (strL4P.length>0), nPD, bFIC)
	SetDA(nDA, oForm.tCL4DA, 'lCL4DA');						
}
*/

function hClearLines_Clk(oRowPrefix)
{
	//alert('hClearLines_Clk');
	var NumberofRows = CONST___MAX_NUMBER_CV_LINES;
	var oRow;
	for(var i=1;i<=Number(NumberofRows); ++i)
	{
		oRow = oRowPrefix + i;
		if(oBrwType(oRow)!=null)
		{
			oBrwType(oRow).value = '';
		}
	}
	oBrwType('chkBlank' + oRowPrefix).checked = true;
	//UpdateCVDA();
	UpdateAll_CD();	
}

function hCheckLines(oTextBoxPrefix)
{
	var oForm			= document.customize;
	var oRow;
	var iFilled			= Number(0);
	
	var NumberofRows	
	if(oTextBoxPrefix=='tCV') 
	{
		NumberofRows = CONST___MAX_NUMBER_CV_LINES;
	}
	else if(oTextBoxPrefix=='tFI') 
	{
		NumberofRows = CONST___MAX_NUMBER_FI_LINES;
	}
	else
	{ //default
		NumberofRows = 20;
	}
	
	for(var i=1;i<=Number(NumberofRows); ++i)
	{
		oTextBox = oTextBoxPrefix + i;
		if(oBrwType(oTextBox)!=null)
		{
			if(oBrwType(oTextBox).value.length>0)
			{
				iFilled += 1;
			}
		}		
	}

	if(iFilled>0)
	{
		oBrwType('chkBlank' + oTextBoxPrefix).checked = false;
	}
	else
	{
		oBrwType('chkBlank' + oTextBoxPrefix).checked = true;
	}
	
	return 	(iFilled>0);
}


function hCustomVerse_Clk(oForm)
{
	//var oForm	= document.customize;
	
	oForm.tVT.value = nVM_Custom;
	
	oBrwType("trVerseAndImprint_CustomVerseButton").style.display = CONST__CELL_HIDE;
	oBrwType("trVerseAndImprint_StandardVerseButton").style.display = CONST__CELL_SHOW;

	oBrwType("btnStandardVerse").style.visibility = "visible";
	oBrwType("btnCustomVerse").style.visibility = "hidden";
	oBrwType("btnSelectNewVerse").style.visibility = "hidden";
	
	if(oBrwType("cboCustomVerse_TypeStyles")!=null)
	{
		oBrwType("tblVerseAndImprint_TypeStyle").style.display = CONST__CELL_SHOW;
	}
	
	oBrwType("tblVerseAndImprint_CustomVerse").style.display = CONST__CELL_SHOW;
	oBrwType("tblVerseAndImprint_CustomVerseMessage").style.display = CONST__CELL_SHOW;

	oBrwType("trVerseAndImprint_ChoiceOfVerse").style.display = CONST__CELL_HIDE;
	oBrwType("trVerseAndImprint_FixedVerse").style.display = CONST__CELL_HIDE;

	oBrwType("tblVerseAndImprint_CardImprint").style.display = CONST__CELL_HIDE;

	oBrwType("trVerseAndImprint_Image_NonCustomVerse").style.display = CONST__CELL_HIDE;


	
	oBrwType("trVerseAndImprint_Image_CustomVerse").style.display = CONST__CELL_SHOW;

	var strTSCode = oForm.cboCustomVerse_TypeStyles.options[oForm.cboCustomVerse_TypeStyles.selectedIndex].text;
	//alert('strTSCode = ' + strTSCode);
	SetVerseImage(strTSCode);	
}


function hStandardVerse_Clk(oForm)
{
	//var oForm	= document.customize;
	
	oForm.tVT.value = nVM_Choice;
	
	oBrwType("trVerseAndImprint_CustomVerseButton").style.display = CONST__CELL_SHOW;
	oBrwType("trVerseAndImprint_StandardVerseButton").style.display = CONST__CELL_HIDE;

	
	oBrwType("btnStandardVerse").style.visibility = "hidden";	
	oBrwType("btnCustomVerse").style.visibility = "visible";
	oBrwType("btnSelectNewVerse").style.visibility = "visible";

	oBrwType("tblVerseAndImprint_TypeStyle").style.display = CONST__CELL_HIDE;
	oBrwType("tblVerseAndImprint_CustomVerse").style.display = CONST__CELL_HIDE;
	oBrwType("tblVerseAndImprint_CustomVerseMessage").style.display = CONST__CELL_HIDE;
	
	oBrwType("trVerseAndImprint_ChoiceOfVerse").style.display = CONST__CELL_SHOW;
	oBrwType("trVerseAndImprint_FixedVerse").style.display = CONST__CELL_HIDE;
	

	oBrwType("tblVerseAndImprint_CardImprint").style.display = CONST__CELL_SHOW;

	oBrwType("trVerseAndImprint_Image_NonCustomVerse").style.display = CONST__CELL_SHOW;
	oBrwType("trVerseAndImprint_Image_CustomVerse").style.display = CONST__CELL_HIDE;	
}


function SetVerseImage(oForm, strTSCode)
{
	//var oForm	= document.customize;
	//alert(oForm==null);
	//alert(strTSCode);
	var strOrientation = oForm.tIVC.value;
	oForm.imgCustomVerse.src = CONST___IMAGE_HOSTER__VERSES_PATH + strTSCode + "_" + strOrientation + ".gif";
	oForm.tCustomVerseSrc.value = oForm.imgCustomVerse.src;
	strLargeCustomVerseImage = CONST___IMAGE_HOSTER__VERSES_PATH + strTSCode + "_L.gif";
	oBrwType("hLargeCustomVerse").href = "javascript:popLargeCard('" + strLargeCustomVerseImage + "')";
	oForm.tLargeCustomVerseHref.value = oBrwType("hLargeCustomVerse").href.replace("javascript:popLargeCard","jspLC");
}

function hNoVerse_Clk(oForm)
{
	//var oForm	= document.customize;
	oForm.txtSentimentNumber.value = CONST___NO_VERSE;

	// Load the verse new image.
	var strOrientation = oForm.tIVC.value;
	oForm.imgVerse.src = CONST___IMAGE_HOSTER__VERSES_PATH + CONST___NO_VERSE + "_" + strOrientation + ".gif";
	oForm.tVerseSrc.value = oForm.imgVerse.src; // to maintain state when Updating.
	
	var strLargeImage = CONST___IMAGE_HOSTER__VERSES_PATH + CONST___NO_VERSE + "_L.gif";

	oBrwType("hLargeVerse").href = "javascript:popLargeCard('" + strLargeImage + "')";
	oForm.tLargeVerseHref.value = oBrwType("hLargeVerse").href.replace("javascript:popLargeCard","jspLC"); // to maintain state when Updating.
}


// Global for brower version branching.
var Nav4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4));

var dialogWin = new Object();


function openDialog(url, width, height, returnFunc, args) 
{
	if (!dialogWin.win || (dialogWin.win && dialogWin.win.closed)) 
	{
		// Initialize properties of the modal dialog object.
		dialogWin.returnFunc = returnFunc
		dialogWin.returnedValue1 = ""
		dialogWin.returnedValue2 = ""
		dialogWin.returnedValue3 = new Array()
		dialogWin.args = args
		dialogWin.url = url
		dialogWin.width = width
		dialogWin.height = height
		// Keep name unique so Navigator doesn't overwrite an existing dialog.
		dialogWin.name = (new Date()).getSeconds().toString()
		// Assemble window attributes and try to center the dialog.
		if (Nav4) 
		{
			// Center on the main window.
			dialogWin.left = window.screenX + 
			   ((window.outerWidth - dialogWin.width) / 2)
			dialogWin.top = window.screenY + 
			   ((window.outerHeight - dialogWin.height) / 2)
			var attr = "screenX=" + dialogWin.left + 
			   ",screenY=" + dialogWin.top + "scrollbars=yes,resizable=yes,width=" + 
			   dialogWin.width + ",height=" + dialogWin.height
		} 
		else 
		{
			// The best we can do is center in screen.
			dialogWin.left = (screen.width - dialogWin.width) / 2
			dialogWin.top = (screen.height - dialogWin.height) / 2
			var attr = "left=" + dialogWin.left + ",top=" + 
			   dialogWin.top + ",scrollbars=yes,resizable=yes,width=" + dialogWin.width + 
			   ",height=" + dialogWin.height
		}
		
		// Generate the dialog and make sure it has focus.
		dialogWin.win=window.open(dialogWin.url, dialogWin.name, attr)
		if(dialogWin.win==null) alert('POPUP was blocked');
		dialogWin.win.focus()
	} 
	else 
	{
		dialogWin.win.focus()
	}	
}

function setPrefs_V()
{
	var oForm	= document.customize;
	var strSN;
	strSN = dialogWin.returnedValue1;
	dialogWin.win.close(); 
	
	// Set the new verse ID.
	oForm.txtSentimentNumber.value = strSN;
	UpdateAll_CD();
	
	// Load the verse new image.
	var strOrientation;
	strOrientation = oForm.tIVC.value;
	oForm.imgVerse.src = CONST___IMAGE_HOSTER__VERSES_PATH + strSN + "_" + strOrientation + ".gif";
	oForm.tVerseSrc.value = oForm.imgVerse.src; // to maintain state when Updating.
	
	var strLargeImage = CONST___IMAGE_HOSTER__VERSES_PATH + strSN + "_L.gif";

	oBrwType("hLargeVerse").href = "javascript:popLargeCard('" + strLargeImage + "')";
	oForm.tLargeVerseHref.value = oBrwType("hLargeVerse").href.replace("javascript:popLargeCard","jspLC"); // to maintain state when Updating.

	// Change the reference to large image popup.
}



function hChangeVerse_Clk(nVGID, nDVID)
{
	var strPage = PAGE_NAME__SELECT_VERSE + "?VerGro__VerseGroupID=" + nVGID + "&Ver__VerseNumber=" + nDVID;//document.customize.tVGID.value;
	
	//alert(strPage);
	openDialog(strPage, 580, 580, setPrefs_V);	
	
}





function hLaunchSuggestedWordings_Clk(nCTTGID, nAreaID)
{
	var strPage = PAGE_NAME__SELECT_SUGGESTED_WORDINGS + "?CusTexTemGro__CustomTextTemplateGroupID=" + nCTTGID + "&Are__AreaID=" + nAreaID;	
	//alert(strPage);
	
	if(nAreaID==CONST__CUSTOM_VERSE_AREA_ID)
	{
		openDialog(strPage, 605, 605, setPrefs_CV);
	}
	else if(nAreaID==CONST__FRONT_IMPRINT_AREA_ID)
	{
		openDialog(strPage, 605, 605, setPrefs_FI);
	}	
}


function hChangeInk_Clk(nPID)
{
	var strPage = PAGE_NAME__SELECT_INK + "?" + "Pro__ProductID" + "=" + nPID;
	openDialog(strPage, 605, 605, setPrefs_IC);
}

function hChangeFont_Clk(nTGID)
{
	var strPage = PAGE_NAME__SELECT_FONT + "?TypGro__TypestyleGroupID=" + nTGID;
	openDialog(strPage, 605, 605, setPrefs_TS);
}




function setPrefs_TS()
{
	var oForm	= document.customize;
	var strTS	= dialogWin.returnedValue1;
	var strTSID = dialogWin.returnedValue2;
	dialogWin.win.close(); 
	
	//alert('strTS = ' + strTS);
	//alert('strTSID = ' + strTSID);	
	SetSelectedIndex(oForm.cboCustomVerse_TypeStyles, strTS);
	SetVerseImage(oForm, strTS)
}


function setPrefs_IC()
{
	var oForm	= document.customize;
	var strIC	= dialogWin.returnedValue1;	
	var strICID = dialogWin.returnedValue2;
	dialogWin.win.close(); 
	
	//alert('strIC = ' + strIC);
	//alert('strICID = ' + strICID);
	SetSelectedIndex(oForm.cI, strIC);

	UpdateAll_CD();		
}

function SetSelectedIndex(ocbo, strText)
{
	var cboLength = ocbo.length;

	for(var index=0;index<cboLength; index++)
	{
		//alert('value = ' + ocbo.options[index].value + '\ntext = ' + strText);
		//alert('value = ' + ocbo.options[index].value);
		if(ocbo.options[index].text==strText)
		{
			//alert(ocbo.options[index].text);
			//alert(strText);
			ocbo[index].selected = true;
		}
	}

}

function setPrefs_CV()
{
	var oForm	= document.customize;
	var iNumberOfLines = dialogWin.returnedValue3.length;
	
	hClearLines_Clk('tCV');
	
	for(var iCtr=0;iCtr<iNumberOfLines;iCtr++)
	{
		dialogWin.returnedValue3[iCtr] = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
		switch(iCtr)
		{
			case 0:
				oForm.tCV1.value = dialogWin.returnedValue3[iCtr];
				break;
			case 1:
				oForm.tCV2.value = dialogWin.returnedValue3[iCtr];
				break;
			case 2:
				oForm.tCV3.value = dialogWin.returnedValue3[iCtr];
				break;
			case 3:
				oForm.tCV4.value = dialogWin.returnedValue3[iCtr];
				break;
			case 4:
				oForm.tCV5.value = dialogWin.returnedValue3[iCtr];
				break;
			case 5:
				oForm.tCV6.value = dialogWin.returnedValue3[iCtr];
				break;
			case 6:
				oForm.tCV7.value = dialogWin.returnedValue3[iCtr];
				break;
			case 7:
				oForm.tCV8.value = dialogWin.returnedValue3[iCtr];
				break;
			case 8:
				oForm.tCV9.value = dialogWin.returnedValue3[iCtr];
				break;
			case 9:
				oForm.tCV10.value = dialogWin.returnedValue3[iCtr];
				break;
			case 10:
				oForm.tCV11.value = dialogWin.returnedValue3[iCtr];
				break;
			case 11:
				oForm.tCV12.value = dialogWin.returnedValue3[iCtr];
				break;
			case 12:
				oForm.tCV13.value = dialogWin.returnedValue3[iCtr];
				break;
			case 13:
				oForm.tCV14.value = dialogWin.returnedValue3[iCtr];
				break;
			case 14:
				oForm.tCV15.value = dialogWin.returnedValue3[iCtr];
				break;
			case 15:
				oForm.tCV16.value = dialogWin.returnedValue3[iCtr];
				break;
			case 16:
				oForm.tCV17.value = dialogWin.returnedValue3[iCtr];
				break;
			case 17:
				oForm.tCV18.value = dialogWin.returnedValue3[iCtr];
				break;
			case 18:
				oForm.tCV19.value = dialogWin.returnedValue3[iCtr];
				break;
			case 19:
				oForm.tCV20.value = dialogWin.returnedValue3[iCtr];
				break;
			default:
				break;		
		}		
	}

	hCheckLines('tCV');
	UpdateAll_CD();		

}

function setPrefs_FI()
{
	var oForm	= document.customize;
	
	hClearLines_Clk('tFI');
	var iNumberOfLines = dialogWin.returnedValue3.length;	
	for(var iCtr=0;iCtr<iNumberOfLines;iCtr++)
	{
		switch(iCtr)
		{
			//dialogWin.returnedValue3[iCtr] = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
			case 0:
				oForm.tFI1.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 1:
				oForm.tFI2.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 2:
				oForm.tFI3.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 3:
				oForm.tFI4.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 4:
				oForm.tFI5.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 5:
				oForm.tFI6.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 6:
				oForm.tFI7.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 7:
				oForm.tFI8.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 8:
				oForm.tFI9.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 9:
				oForm.tFI10.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 10:
				oForm.tFI11.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 11:
				oForm.tFI12.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 12:
				oForm.tFI13.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 13:
				oForm.tFI14.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 14:
				oForm.tFI15.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 15:
				oForm.tFI16.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 16:
				oForm.tFI17.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 17:
				oForm.tFI18.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 18:
				oForm.tFI19.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			case 19:
				oForm.tFI20.value = dialogWin.returnedValue3[iCtr].replace('#$#',"'");
				break;
			default:
				break;		
		}		
	}
	
	UpdateAll_CD();	
}

function IsCIF(oForm, bCIA)
{
	var bCIF = false;
	if(bCIA)
	{
		bCIF = bCIF || ((FormatString_RemoveSpaces(oForm.tCL1P.value)).length>0);
		bCIF = bCIF || ((FormatString_RemoveSpaces(oForm.tCL2P.value)).length>0);
		bCIF = bCIF || ((FormatString_RemoveSpaces(oForm.tCL3P.value)).length>0);
		bCIF = bCIF || ((FormatString_RemoveSpaces(oForm.tCL4P.value)).length>0);
	}
	return bCIF;
}

function IsEIF(oForm, bPC)
{
	var bEIF = false;
	if(!bPC)
	{
		bEIF = bEIF || ((FormatString_RemoveSpaces(oForm.tEL1P.value)).length>0);
		bEIF = bEIF || ((FormatString_RemoveSpaces(oForm.tEL2P.value)).length>0);
		bEIF = bEIF || ((FormatString_RemoveSpaces(oForm.tEL3P.value)).length>0);
		bEIF = bEIF || ((FormatString_RemoveSpaces(oForm.tEL4P.value)).length>0);
	}
	return bEIF;
}

function IsFIF(oForm, bFIA)
{
	var bFIF = false;
	if(bFIA)
	{
		bFIF = hCheckLines('tFI');		
	}
	return bFIF;
}

function IsCVF(oForm, bCVM)
{
	
	var bCVF = false;
	if(bCVM)
	{
		bCVF = hCheckLines('tCV');
	}
	return bCVF;
}

function UpdateAll_CD()
{
	var oForm	= document.customize;
	
	
	var nQC		= GetNumber(oForm.tQ);
	var nBaNOC	= GetBaNOC(oForm.tBaNOC);
	var nToQC	= GetToQC(nQC, nBaNOC)
	
	var nQB			= GetQB(nQC);
	var nToQB		= GetQB(nToQC);
	var bFIC		= false;//oForm.chkFIC.checked;//GetFIC();
	var bPC			= GetPC();
	//var bCI			= GetCI();
	
	var	nSMF		= GetSMF();
	var aWNP		= GetAWNP();
	var nWNP		= GetWNP(nQB, aWNP);
	var aWONP		= GetAWONP();
	var nWONP		= GetWONP(nQB, aWONP);
	var nPD			= GetPD(nQB, aWNP, aWONP)
	var nBaSDA		= GetBaSDA(oForm.tBaSDA);
	var nSMF		= GetSMF();
	var aSRDHL		= GetSRDHL();
	var aSRDV		= GetSRDV();
	var aSSRDHL		= GetSSRDHL();
	var aSSRDV		= GetSSRDV();
	var bADDA		= IsADDA(oForm.chkADDA);
	var nTR			= Number(oForm.tTR.value);
	
	var bEM			= IsEM(oForm.chkEM);
	
	var	nVT			= Number(oForm.tVT.value);
	var nVM			= Number(oForm.tVM.value);
	
	var bVerse		= (oForm.txtSentimentNumber.value!=CONST___NO_VERSE) && (oForm.txtSentimentNumber.value!='');
	var bFIA		= (Number(oForm.tFIA.value)==1);
	var bFIF		= IsFIF(oForm, bFIA);
	
	var bCIA		= (Number(oForm.tCIA.value)==1);
	var bCIF		= IsCIF(oForm, bCIA);
	
	var bEIF		= IsEIF(oForm, bPC)
	
	var bCVM		= (nVM==nVM_Custom);
	var bCVF		= IsCVF(oForm, bCVM);
	
	
	// Leave here
	var nCVSUC		= (bCVF)?UnFormatCurrency(oForm.tCVSUC.value):0;
	var bCVNV		= oForm.chkBlanktCV.checked;
	var IsCVCharge	= (nCVSUC>0);
	
	
	
	// SECTION 1	
	var nQDA	= 0;
	var nDF		= 0;
	var nDDA	= 0;
	var nQDDA	= 0;
	
	//var nQDA_NR	= 0;		
	var nLGDA	= 0;
	var nToAPDA	= 0;	
	var nFIDA = 0;
	
	// SECTION 2
	var nIDA	= 0;
	var nVDA	= 0;
	var nToCLDA = 0;
	
	// SECTION 3
	var nAEDA = 0;
	var nToELDA = 0;	

	// SECTION 4
	var nPDDA	= 0;
	var nSDA	= 0;	
	var nPADDA	= 0;
	var nADDA	= 0;
	var nToShDA	= 0;
	var nToTXDA	= 0;
	var nToTDA	= 0;
	var nSTLDA	= 0;
	
		
		
		
	// SECTION 1
	nQDA	= UpdateQDA(nSMF, nWNP, oForm.tQDA, 'lblQDA');
	nQDA_NR	= UpdateQDA_NR(nSMF, nWNP);
	
	// Calculate nDF	
	nDF		= UpdateDF(nQC, aSRDHL, aSRDV, aSSRDHL, aSSRDV, oForm.tDP, 'lblDP');
	
	// Calculate nQDDA
	nQDDA	= UpdateQDDA(nQDA_NR, nDF, oForm.tQDDA, 'lblQDDA');
	
	// Calculate nDDA	
	nDDA	= UpdateDDA(nQDA, nQDDA, oForm.tDDA, 'lblDDA');
	//nDDA_NR	= UpdateDDA_NR(nQDA_NR, nQDDA_NR);
	
	nLGDA	= UnFormatCurrency(oForm.tLGDA.value);
	//alert('UpdateAll: nLGDA = ' + nLGDA);
	
	nToAPDA	= UnFormatCurrency(oForm.tToAPDA.value);
	//alert('UpdateAll: nToAPDA = ' + nToAPDA);	
	
	if(bFIA) 
	{
		nFIDA	= UnFormatCurrency(oForm.tFIDA.value);
	}
	//alert('UpdateAll: nFIDA = ' + nFIDA);
	
		
		
		
	// SECTION 2
	nIDA	= UpdateIDA(bFIC, oForm.tIEC, oForm.cI, nQB, bFIF, bVerse, bCIF, bEIF, bCVF, oForm.tIDA, 'lblIDA');
	
	if(bCVM)
	{
		nVDA	= UpdateCVDA(bCVNV, IsCVCharge, nCVSUC, nPD, oForm.tCVDA, 'lblCVDA', bFIC);
	}
	else
	{
		nVDA	= UnFormatCurrency(oForm.tVDA.value);		
		/* New Pricing Mods 10-31-04
		if(bCI)
		{
			// Update Custom Imprint
			UpdateCLDA(nPD, oForm, bFIC);
		
			// Get Custom Imprint Total
			nToCLDA = UpdateToCLDA(oForm.tCL1DA, oForm.tCL2DA, oForm.tCL3DA, oForm.tCL4DA);
		}
		*/
	}
		
	// SECTION 3
	if(!bPC)
	{
		// Update Env Imprint
		nAEDA = UpdateAEDA(oForm.tASE.value, oForm.cE, nQB, oForm.tEDA, 'lblEDA')
		
		// Update Env Imprint
		UpdateELDA(nQB, oForm, nIDA);
		
		// Get Env Imprint Total
		nToELDA = UpdateToELDA(oForm.tEL1DA, oForm.tEL2DA, oForm.tEL3DA, oForm.tEL4DA);
	}
		
		
	// SECTION 4
	// Calculate nPDDA
	nPDDA	= UpdatePDDA(nQDA, nLGDA, nToAPDA, nFIDA, nVDA, nIDA, nToCLDA, nAEDA, nToELDA, oForm.tPDDA, 'lblPDDA');
	// Calculate nSDA	
	nSDA	= UpdateSDA(nPDDA, nDDA, oForm.tSDA, 'lblSDA');
	// Calculate nPADDA
	nPADDA	= UpdatePADDA(nSDA, nBaSDA, oForm.tPADDA, 'lblPADDA');
	// Calculate nADDA
	if(bADDA) nADDA	= UpdateADDA(nToQC, nPADDA, oForm.tADDA, 'lblADDA', GetADDA());
	// Calculate nToSDA
	nToSDA	= UpdateToSDA(nPADDA, nADDA, oForm.tToSDA, 'lblToSDA');
	// Calculate nToShDA
	nToShDA	= UpdateToShDA(oForm.cS, nToQB, nToSDA, oForm.tToShDA, 'lblToShDA');
	// Calculate nToTXDA
	nToTXDA = UpdateToTXDA(oForm.chkCA, nTR, nToSDA, oForm.tToTXDA, 'lblToTXDA');
	// Calculate nToTDA
	nToTDA	= UpdateToTDA(nToSDA, nToShDA, nToTXDA, oForm.tToTDA, 'lblToTDA');
	// Calculate nSTLDA
	if(bEM) nSTLDA = UpdateSTLDA__ADJDA_L(oForm.tToTDA.value, oForm.txtADJDA, oForm.txtSTLDA, 'lblADJP');	

}

function UpdateAEDA(strAES, oCE, nQB, ot, ol)
{
   //alert('strAES = ' + strAES);
   //alert('strAES.length = ' + strAES.length);   
   var nAEDA = 0;
   if(strAES.length!=0 && strAES!=null && (oCE!=null))
   {
		// Envelopes and String		
		nAEDA = GetAEDA(strAES, oCE, nQB);			
   }
  
   nAEDA = SetDA(nAEDA, ot, ol);
   return nAEDA;
}

function GetAEDA(strAES, oCE, nQB)
{
   var es, ess;
   var nAEDA = 0;
   // Split at each space character.
   ess = strAES.split("|"); 
   //alert('ess.length = ' + ess.length);	 		
   if(ess.length>0)
   {
		var iSEID;
		var strSED;
		var decSEDA;
		for(var i=0;i<ess.length;i++)
		{
			esss = ess[i].split(",");
			//alert('esss.length = ' + esss.length + '\nesss[0] = ' + esss[0] + '\nesss[1] = ' + esss[1] + '\nesss[2] = ' + esss[2]);	 		
				
			strSEID			= esss[0];
			strSED			= esss[1];
			nSEDA			= Number(esss[2]);
			
			if(oCE!=null)
			{
				if(oCE.options[oCE.selectedIndex].value==strSEID)
				{
					nAEDA = SetDA((nQB * nSEDA),null,null);						
				}
				
				if(nSEDA==0)
				{
					oCE.options[i].text		= strSED + " - " + CONST__FREE2;
					//alert('oCE.options[i].text = ' + strSED + " - " + FormatCurrency((nQB * nSEDA), true));
				}
				else
				{
					oCE.options[i].text		= strSED + " - " + FormatCurrency((nQB * nSEDA), true);
					//alert('oCE.options[i].text = ' + strSED + " - " + FormatCurrency((nQB * nSEDA), true));
				}
				oCE.options[i].value	= strSEID;
				//alert('oCE.options[i].value = ' + strSEID);
											
			}				
		}		
   } 
   return nAEDA;
}

function QChanged_I(oQty)
{
	var nDQ = GetDQ();
	RoundQty(oQty, nDQ);	
	UpdateAll_CD_I();	
}

function UpdateAll_CD_I()
{
	var oForm	= document.CardDetailEx;	
	
	var nQC		= GetNumber(oForm.tQ);
	var nQB		= GetQB(nQC);
	var	nSMF	= GetSMF();
	var aWNP	= GetAWNP();
	var nWNP	= GetWNP(nQB, aWNP);
	var aWONP	= GetAWONP();
	var nWONP	= GetWONP(nQB, aWONP);
	var nSMF	= GetSMF();
	var aSRDHL	= GetSRDHL();
	var aSRDV	= GetSRDV();
	var aSSRDHL	= GetSSRDHL();
	var aSSRDV	= GetSSRDV();	
	
	// SECTION 1	
	var nQDA	= 0;
	var nDF		= 0;
	var nDDA	= 0;
	var nQDDA	= 0;
	
	nQDA	= UpdateQDA(nSMF, nWNP, oForm.tQDA, 'lblQDA');
	nQDA_NR	= UpdateQDA_NR(nSMF, nWNP);
	nDF		= UpdateDF(nQC, aSRDHL, aSRDV, aSSRDHL, aSSRDV, oForm.tDP, 'lblDP');
	nQDDA	= UpdateQDDA(nQDA_NR, nDF, oForm.tQDDA, 'lblQDDA');
	nDDA	= UpdateDDA(nQDA, nQDDA, oForm.tDDA, 'lblDDA');	
}	

function QChanged(oQty)
{
	//alert('QChanged');
	var nDQ = GetDQ();
	RoundQty(oQty, nDQ);	
	UpdateAll_CD();	
}	

function SAHClicked(bSAH)
{
	//alert('SAHClicked: bSAH = ' + bSAH);
	var oForm	= document.customize;		
	UpdateToAPDA(bSAH, oForm.tAPDA, oForm.tSAHDA, oForm.tToAPDA, 'lblToAPDA');
	UpdateAll_CD(); 
}

function ShChanged_CD()
{
	var oForm	= document.customize;
	UpdateSh(oForm.cS, oForm.tSID, oForm.tToShDA);
	UpdateAll_CD();
}


// ***************************************************************************************************
//											Calculate Functions
// ***************************************************************************************************

function GetQB(nQC)
{
	var nQB = 0;
	nQC	  = Number(nQC);
	if(nQC>0) nQB = Number(nQC/CONST__CARDS_PER_SHIPPING_BOX);
	//alert('GetQB: nQB = ' + nQB);
	return nQB;
}

function GetBaSDA(ot)
{
	var nBaSDA = 0;
	if(ot!=null) nBaSDA = UnFormatCurrency(ot.value);
	//alert('GetBaSDA: nBaSDA = ' + nBaSDA);
	return nBaSDA;
}

function GetBaNOC(ot)
{
	var nBaNOC = 0;
	if(ot!=null) nBaNOC = Number(ot.value);
	//alert('GetBaNOC: nBaNOC = ' + nBaNOC);
	return nBaNOC;
}

function GetToQC(nQC, nBaNOC)
{
	var nToQC = 0;
	nToQC = Number(nQC) + Number(nBaNOC);
	//alert('GetToQC: nToQC = ' + nToQC);
	return nToQC;
}





function GetDF_SRD(nQC, aSRDHL, aSRDV)
{
	var nDF_SRD		= 0;
	var bFound	= false;	
		   
	for(var nCtr=0; nCtr < aSRDHL.length; nCtr++)
	{
	    if( nQC <= aSRDHL[nCtr])
	    {
			bFound = true;
			nDF_SRD = Number(aSRDV[nCtr]);
			break;
	    }
	}	
	return nDF_SRD;
}

function GetDF_SSRD(nQC, aSSRDHL, aSSRDV)
{
	var nDF_SSRD		= 0;
	var bFound	= false;	
		   
	for(var nCtr=0; nCtr < aSSRDHL.length; nCtr++)
	{
	    if( nQC <= aSSRDHL[nCtr])
	    {
			bFound = true;
			nDF_SSRD = Number(aSSRDV[nCtr]);
			break;
	    }
	}	
	return nDF_SSRD;
}

function UpdateDF(nQC, aSRDHL, aSRDV, aSSRDHL, aSSRDV, ot, ol)
{
	var nDF			= 0;	
	var nDF_SRD		= GetDF_SRD(nQC, aSRDHL, aSRDV);
	var nDF_SSRD	= GetDF_SSRD(nQC, aSSRDHL, aSSRDV);
	
	// Round to whole number then divide 100 to rid decimal points
	nDF = Math.round((nDF_SRD + nDF_SSRD)*100);
	nDF = nDF/100;
	//alert(nDF_SRD + ' + ' + nDF_SSRD + ' = ' + nDF);
	//alert('Math.round((nDF_SRD + nDF_SSRD)*100) = ' + Math.round((nDF_SRD + nDF_SSRD)*100));
	//alert('Math.round((nDF_SRD + nDF_SSRD)*100) = ' + Math.round((nDF_SRD + nDF_SSRD)*100));
	
	
	if(ot!=null) ot.value = nDF;	
	oBrwTypeInner_Write(ol, FormatPercent(nDF,true,true,true));
	
	return nDF;
}

function UpdateQDA(nSMF, nWNP, tQDA, lblQDA)
{
	var nQDA = (Number(nWNP) * Number(nQFac) * Number(nSMF));
	nQDA = Math.round(nQDA);
	
	nQDA = SetDA(nQDA, tQDA, lblQDA);
	
	return nQDA;
}

function UpdateQDA_NR(nSMF, nWNP)
{
	var nQDA = (Number(nWNP) * Number(nQFac) * Number(nSMF));
	nQDA = SetDA1(nQDA);
	
	return nQDA;
}

function UpdateQDDA(nQDA, nDF, ot, ol)
{
	
	var nQDDA = nQDA * (1.00-nDF);
	//alert('UpdateQDDA: nQDDA(raw) = ' + nQDDA);
	
	nQDDA = Math.round(nQDDA);
	//alert('UpdateQDDA: nQDA = ' + nQDA + '\UpdateQDDA: nDDA = ' + nDDA + '\nUpdateQDDA: nQDDA(rounded) = ' + nQDDA);
	
	
	nQDDA = SetDA(nQDDA, ot, ol);
	
	
		
	return nQDDA;	
}

function UpdateQDDA_AP(nQDA, nDF)
{
	
	var nQDDA = nQDA * (1.00-nDF);
	
	nQDDA = Math.round(nQDDA);
	//alert('UpdateQDDA_AP: nQDA = ' + nQDA + '\UpdateQDDA_AP: nDDA = ' + nDDA + '\nUpdateQDDA_AP: nQDDA(rounded) = ' + nQDDA);
		
	return nQDDA;	
}

function UpdateQDDA_NR(nQDA_NR, nDF)
{
	var nQDDA_NR = nQDA_NR * (1.00-nDF);
	nQDDA_NR = SetDA1(nQDDA_NR);
	
	return nQDDA_NR;
}


function UpdateDDA(nQDA, nQDDA, ot, ol)
{
	var nDDA = nQDA - nQDDA;
	//alert('UpdateDDA: nQDA = ' + nQDA);
	//alert('UpdateDDA: nQDDA = ' + nQDDA);
	nDDA = Math.round(nDDA);
	//alert('UpdateDDA: nDDA = ' + nDDA);
	
	nDDA = SetDA(nDDA, ot, ol);
	
	return nDDA;
}

function UpdateDDA_NR(nQDA_NR, nQDDA_NR)
{
	var nDDA_NR = nQDA_NR - nQDDA_NR;
	nDDA_NR = SetDA1(nDDA_NR);
	
	return nDDA_NR;
}



function UpdateSDA(nPDDA, nDDA, ot, ol)
{
	var nSDA = nPDDA-nDDA;
	//nSDA = Math.round(nSDA);
	
	if(ot!=null) ot.value = FormatCurrency( Math.round(nSDA),true);
	oBrwTypeInner_Write(ol, ot.value);
	//alert('UpdateSDA: ol_top = null ' + (ol_top==null));
	//oBrwTypeInner_Write(ol_top, ot.value);
	
	
	//alert('UpdateSDA: nSDA = ' + nSDA);
	return nSDA;
}

function UpdatePADDA(nSDA, nBaSDA, ot, ol)
{
	var nPADDA = nSDA + nBaSDA;
	
	if(ot!=null) ot.value = FormatCurrency(nPADDA, true)
	oBrwTypeInner_Write(ol, ot.value);
	
	//alert('UpdatePADDA: nPADDA = ' + nPADDA);
	return nPADDA;
}



function UpdateADDA(nQ, nT, ot, ol, aADDA)
{
	//alert('START UPDATE ADDA');
	
	var strAlert1 = '';
	strAlert1 += 'nQ = ' + nQ + '\n';
	strAlert1 += 'nT = ' + nT + '\n';
	
	
	var nADDA	= 0;
	var nToADDA = 0;
	var sToADDA;
	
	if(aADDA!=null)
	{
		for(z=0;z<aADDA.length;z++)
		{
			nADDA = CADDA(aADDA[z][1], nQ, nT);
			oBrwTypeInner_Write(aADDA[z][0], '-' + FormatCurrency(nADDA, true));
			nToADDA += nADDA;
		}			
	}
	
	
	sToADDA = FormatCurrency(nToADDA, true);
	if(ot!=null) ot.value = sToADDA;
	oBrwTypeInner_Write(ol, '-' + sToADDA);
	
	nToADDA = UnFormatCurrency(sToADDA);
	
	
	//alert('sToADDA = ' + sToADDA + '\n' + 'nToADDA = ' + nToADDA);

	
	//alert('FINISHED UPDATE ADDA');	
	return nToADDA;		
}
	
	
	
function CADDA(aADDA, nQ, nT)
{
	var nDiscountType;
	var nQtyLowerLimit;
	var nQtyUpperLimit;
	var nTotalLowerLimit;
	var nTotalUpperLimit;		
	var nPercentDiscount;
	var nLumpSumDiscount;
		
	// Default values
	var bUseCouDis__TotalLowerLimit;
	var bUseCouDis__TotalUpperLimit;
	var bUseCouDis__QuantityLowerLimit;
	var bUseCouDis__QuantityUpperLimit;
		
	var bMeetRequirements_TotalUpper = true;
	var bMeetRequirements_TotalLower = true;
	var bMeetRequirements_QuantityUpper = true;
	var bMeetRequirements_QuantityLower = true;
		
	var bTotalRequirementsMet = false;
	
	var bFoundRowMeetingRequirements = false;
		
	var nPercentageDiscountDollarAmount = 0;
	var nTotalDiscountDollarAmount = 0;
	var nADDA = 0;
	var sADDA;
	var strAlert2 = '';
	
	for(i=0;i<aADDA.length;i++)
	{
		aValues = new Array(7);
		aValues = aADDA[i].split(",");
								
		nDiscountType		= Number(aValues[0]);
		nQtyLowerLimit		= Number(aValues[1]);
		nQtyUpperLimit		= Number(aValues[2]);
		nTotalLowerLimit	= Number(aValues[3]);
		nTotalUpperLimit	= Number(aValues[4]);
		nPercentDiscount	= Number(aValues[5]);
		nLumpSumDiscount	= Number(aValues[6]);
		
		nPercentageDiscountDollarAmount = 0;
		nTotalDiscountDollarAmount		= 0;
			
			
		strAlert2 += '\n\n';
		strAlert2 += 'nDiscountType = ' + nDiscountType + '\n';
		strAlert2 += 'nQtyLowerLimit = ' + nQtyLowerLimit + '\n';
		strAlert2 += 'nQtyUpperLimit = ' + nQtyUpperLimit + '\n';
		strAlert2 += 'nTotalLowerLimit = ' + nTotalLowerLimit + '\n';
		strAlert2 += 'nTotalUpperLimit = ' + nTotalUpperLimit + '\n';
		strAlert2 += 'nPercentDiscount = ' + nPercentDiscount + '\n';
		strAlert2 += 'nLumpSumDiscount = ' + nLumpSumDiscount + '\n';
			
		
		// Default values
		bMeetRequirements_TotalUpper = true;
		bMeetRequirements_TotalLower = true;
		bMeetRequirements_QuantityUpper = true;
		bMeetRequirements_QuantityLower = true;
		switch(nDiscountType)
		{
			case 0:
			{
				alert('error');
				break;
			}
			case 1:
			{
				//CombinePercentAndLumpDiscount 
				// Total:		Required
				// Quantity:	Not Required
				bUseCouDis__TotalLowerLimit = (nTotalLowerLimit!=-1);
				bUseCouDis__TotalUpperLimit = (nTotalUpperLimit!=-1);
				
				
				strAlert2 += '\n\n';
				strAlert2 += 'bUseCouDis__TotalLowerLimit = ' + bUseCouDis__TotalLowerLimit + '\n';
				strAlert2 += 'bUseCouDis__TotalUpperLimit = ' + bUseCouDis__TotalUpperLimit + '\n';
				
				if(bUseCouDis__TotalLowerLimit)
				{
					bMeetRequirements_TotalLower = (nT>=nTotalLowerLimit);
				}
				if(bUseCouDis__TotalUpperLimit)
				{
					bMeetRequirements_TotalUpper = (nT<=nTotalUpperLimit);
				}
				strAlert2 += '\n\n';
				strAlert2 += 'bMeetRequirements_TotalLower = ' + bMeetRequirements_TotalLower + '\n';
				strAlert2 += 'bMeetRequirements_TotalUpper = ' + bMeetRequirements_TotalUpper + '\n';

				bTotalRequirementsMet = (bMeetRequirements_TotalLower && bMeetRequirements_TotalUpper);
				strAlert2 += 'bTotalRequirementsMet = ' + bTotalRequirementsMet + '\n';
				if(bTotalRequirementsMet)
				{
					bFoundRowMeetingRequirements = true;
					//Meet Requirements
					//Calculate Discount
					nPercentageDiscountDollarAmount		= nPercentDiscount*nT;
					nTotalDiscountDollarAmount			= nLumpSumDiscount + nPercentageDiscountDollarAmount;
					nTotalDiscountDollarAmount			= Number(FormatCurrency(nTotalDiscountDollarAmount,false));//Rounds decimal
				}
				strAlert2 += '\n\n';
				strAlert2 += 'nTotalDiscountDollarAmount = ' + nTotalDiscountDollarAmount + '\n';					
				break;
			}
			case 2:
			{
				//LargerOfPercentAndLumpDiscount
				// Total:		Required
				// Quantity:	Required
				bUseCouDis__TotalLowerLimit = (nTotalLowerLimit!=-1);
				bUseCouDis__TotalUpperLimit = (nTotalUpperLimit!=-1);
				bUseCouDis__QuantityLowerLimit = (nQtyLowerLimit!=-1);
				bUseCouDis__QuantityUpperLimit = (nQtyUpperLimit!=-1);
						
					
				strAlert2 += '\n\n';
				strAlert2 += 'bUseCouDis__TotalLowerLimit = ' + bUseCouDis__TotalLowerLimit + '\n';
				strAlert2 += 'bUseCouDis__TotalUpperLimit = ' + bUseCouDis__TotalUpperLimit + '\n';
				strAlert2 += 'bUseCouDis__QuantityLowerLimit = ' + bUseCouDis__QuantityLowerLimit + '\n';
				strAlert2 += 'bUseCouDis__QuantityUpperLimit = ' + bUseCouDis__QuantityUpperLimit + '\n';
				
				// Total Check
				if(bUseCouDis__TotalLowerLimit)
				{
					bMeetRequirements_TotalLower = (nT>=nTotalLowerLimit);
				}
				if(bUseCouDis__TotalUpperLimit)
				{
					bMeetRequirements_TotalUpper = (nT<=nTotalUpperLimit);
				}
					
				// Quantity check
				if(bUseCouDis__QuantityLowerLimit)
				{
					bMeetRequirements_QuantityLower = (nT>=nQtyLowerLimit);
				}
				if(bUseCouDis__QuantityUpperLimit)
				{
					bMeetRequirements_QuantityUpper = (nT<=nQtyUpperLimit);
				}
				strAlert2 += '\n\n';
				strAlert2 += 'bMeetRequirements_TotalLower = ' + bMeetRequirements_TotalLower + '\n';
				strAlert2 += 'bMeetRequirements_TotalUpper = ' + bMeetRequirements_TotalUpper + '\n';
				strAlert2 += 'bMeetRequirements_QuantityLower = ' + bMeetRequirements_QuantityLower + '\n';
				strAlert2 += 'bMeetRequirements_QuantityUpper = ' + bMeetRequirements_QuantityUpper + '\n';

				bTotalRequirementsMet = (bMeetRequirements_TotalLower && bMeetRequirements_TotalUpper && bMeetRequirements_QuantityLower && bMeetRequirements_QuantityUpper);
				strAlert2 += 'bTotalRequirementsMet = ' + bTotalRequirementsMet + '\n';
				if(bTotalRequirementsMet)
				{
					bFoundRowMeetingRequirements = true;
					//Meet Requirements
					nPercentageDiscountDollarAmount		= nPercentDiscount*nT;
					nTotalDiscountDollarAmount			= (nLumpSumDiscount>nPercentageDiscountDollarAmount)?nLumpSumDiscount:nPercentageDiscountDollarAmount;
					nTotalDiscountDollarAmount			= Number(FormatCurrency(nTotalDiscountDollarAmount,false));//Rounds decimal
				}
				strAlert2 += '\n\n';
				strAlert2 += 'nTotalDiscountDollarAmount = ' + nTotalDiscountDollarAmount + '\n';					
				break;
			}
		}
	
		//alert(strAlert2);
		if(bFoundRowMeetingRequirements) break; // break loop found row meeting requirements
			
	}
	
	sADDA = FormatCurrency(nTotalDiscountDollarAmount, true);
	nADDA = UnFormatCurrency(sADDA);
	
	//alert('Returning = ' + nADDA);
	return nADDA;
}

function UpdateToSDA(nPADDA, nADDA, ot, ol)
{
	var nToSDA	= Number(nPADDA) - Number(nADDA);
	var sToSDA	= FormatCurrency(nToSDA, true);
	
	if(ot!=null) ot.value = sToSDA;
	oBrwTypeInner_Write(ol, sToSDA);
	
	//alert('UpdateToSDA: nToSDA = ' + nToSDA);
	return nToSDA;
}


function UpdateSh(oCSh, otSID, otToShDA)
{
	var nSID = -1;
	switch(oCSh.selectedIndex)
	{
		case 0:
		{
			nSID = S_DBG;
			break;
		}
		case 1:
		{
			nSID = S_DB3;
			break;
		}
		case 2:
		{
			nSID = S_DB2;
			break;
		}
		case 3:
		{
			nSID = S_DBN;
			break;
		}
		case 4:
		{
			nSID = S_DBN10;
			break;
		}
	}			
	if(otSID!=null)		otSID.value		= nSID;
	if(otToShDA!=null)	otToShDA.value	= oCSh.options[oCSh.selectedIndex].value;
	
	//alert('UpdateSh: otSID.value = ' + nSID + '\n' + 'oCSh.options[oCSh.selectedIndex].value = ' + oCSh.options[oCSh.selectedIndex].value);				
}

function UpdateToShDA(oCSh, nToQB, nToSDA, otToShDA, olToShDA)
{
	var nToShDA = 0;
	var straDA	= new Array(5);
	
	var nG;
	var n3;
	var n2;
	var nN;
	var nN10;
	
	var strGDA;
	var str3DA;
	var str2DA;
	var strNDA;
	var strNDA10;
	
	
	// New Pricing Mods 10-31-04
	/*	
	if(nToSDA >= 100)
	{
		straDA[0] = CONST__FREE;
	}
	else
	{
		straDA[0] = FormatCurrency(CONST__MINIMUM_GROUND_SHIPPING_CHARGE, true);
	}
	*/
	
	straDA[0]	= CONST__FREE;
	n3			= ((12 + (nToQB * 3.8)) * .66) * 1.0;
	straDA[1]	= FormatCurrency(n3, true);
	n2			= (12 + (nToQB * 3.8)) * 1.0;
	straDA[2]	= FormatCurrency(n2, true);
	nN			= (30 + (nToQB * 6.4)) * 1.0;
	straDA[3]	= FormatCurrency(nN, true);
	nN10		= ((30 + (nToQB * 6.4))*1.1) * 1.0;
	straDA[4]	= FormatCurrency(nN10, true);

	oCSh.options[0].text	= "UPS Ground" + " - " + straDA[0];
	//oCSh.options[0].value	= (straDA[0]==CONST__FREE)?FormatCurrency(CONST__FREE_AMOUNT, true):straDA[0];
	oCSh.options[0].value	= FormatCurrency(CONST__FREE_AMOUNT, true);
	oCSh.options[1].text	= "3 Day Select" + " - " + straDA[1];
	oCSh.options[1].value	= straDA[1];
	oCSh.options[2].text	= "2nd Day Air" + " - " + straDA[2];
	oCSh.options[2].value	= straDA[2];
	oCSh.options[3].text	= "Next Day Air" + " - " + straDA[3];
	oCSh.options[3].value	= straDA[3];
	oCSh.options[4].text	= "Next Day Air 10AM" + " - " + straDA[4];
	oCSh.options[4].value	= straDA[4];

	if(otToShDA!=null) otToShDA.value	= oCSh.options[oCSh.selectedIndex].value;		
	oBrwTypeInner_Write(olToShDA, oCSh.options[oCSh.selectedIndex].value);
	
	nToShDA = UnFormatCurrency(oCSh.options[oCSh.selectedIndex].value);
	
	//alert('UpdateToShDA: nToShDA = ' + nToShDA);
	return nToShDA;		
}


	
function UpdateToTXDA(oT, nTR, nToSDA, otToTXDA, olToTXDA)	
{
	var nToTXDA	= 0;
	var sToTXDA;
	var bTax	= false;
	
	if(oT!=null) bTax = oT.checked;
	
	if(bTax) nToTXDA = Number(nToSDA) * nTR;
	
	sToTXDA = FormatCurrency(nToTXDA, true);
	nToTXDA	= UnFormatCurrency(sToTXDA);
	if(otToTXDA!=null) otToTXDA.value = sToTXDA;
	oBrwTypeInner_Write(olToTXDA, sToTXDA);
	
	//alert('UpdateToTXDA: nToTXDA = ' + nToTXDA);
	return nToTXDA;
}	


function UpdateToTDA(nToSDA, nToShDA, nToTXDA, otToTDA, olToTDA)	
{
	var nToTDA	= 0;
	var sToTDA;
	
	nToTDA = Number(nToSDA) + Number(nToShDA) + Number(nToTXDA);
	
	sToTDA = FormatCurrency(nToTDA, true)
	nToTDA	= UnFormatCurrency(sToTDA);
	
	if(otToTDA!=null) otToTDA.value = sToTDA;
	oBrwTypeInner_Write(olToTDA, sToTDA);
	
	//alert('UpdateToTDA: nToTDA = ' + nToTDA);
	return nToTDA;
}	
	
	

function UpdateSTLDA__ADJDA_L(sToTDA, otADJDA, otSTLDA, olADJP)
{
	var nToTDA;
	var nADJDA		= 0;// Default to 0 if Error
	var nADJP		= 0;// Default to 0 if Error
	var nSTLDA		= UnFormatCurrency(sToTDA);// Default to OrderTotal if Error
	var bToTDA_Number	= false;
	var bADJDA_Number	= false;
	
	if(otADJDA!=null) nADJDA	= UnFormatCurrency(otADJDA.value);
	nToTDA			= UnFormatCurrency(sToTDA);
	//alert(!(isNaN(nToTDA)));
	//alert(!(isNaN(nADJDA)));
	bToTDA_Number	= !(isNaN(nToTDA));
	bADJDA_Number	= !(isNaN(nADJDA));
		
	if(bToTDA_Number && bADJDA_Number)
	{
		nSTLDA	= nToTDA + nADJDA;
		//alert('nToTDA = ' + nToTDA);
		//alert('nADJDA = ' + nADJDA);
		//alert('nSTLDA = ' + nSTLDA);
		if(nADJDA!=0)
		{
			nADJP	= (nADJDA/nToTDA);
			//alert('nADJP = ' + nADJP);			
		}
		//alert('nADJDA = ' + nADJDA);
	}
	else
	{
		alert('Adjustment Amount is not a valid number.\nSetting Adjustment Amount to 0.00');		
	}
	//alert('nSTLDA = ' + nSTLDA);
	if(otSTLDA!=null)otSTLDA.value = FormatCurrency(nSTLDA, true);
	if(otADJDA!=null)otADJDA.value = FormatCurrency(nADJDA, true);
	oBrwTypeInner_Write(olADJP, FormatPercent(nADJP, true, false, true));		
}

function UpdateSTLDA__STLDA_L(sToTDA, otADJDA, otSTLDA, olADJP)
{
	var nToTDA;
	var nADJDA		= 0;// Default to 0 if Error
	var nADJP		= 0;// Default to 0 if Error
	var nSTLDA		= UnFormatCurrency(sToTDA);// Default to OrderTotal if Error
	var bToTDA_Number	= false;
	var bADJDA_Number	= false;
	
	if(otSTLDA!=null) nSTLDA = UnFormatCurrency(otSTLDA.value);
	nToTDA			= UnFormatCurrency(sToTDA);
	//alert(!(isNaN(nToTDA)));
	//alert(!(isNaN(nSTLDA)));
	bToTDA_Number	= !(isNaN(nToTDA));
	bSTLDA_Number	= !(isNaN(nSTLDA));
		
	if(bToTDA_Number && bSTLDA_Number)
	{
		nADJDA = nSTLDA - nToTDA;
		//alert('nToTDA = ' + nToTDA);
		//alert('nADJDA = ' + nADJDA);
		//alert('nSTLDA = ' + nSTLDA);
		if(nADJDA!=0)
		{
			nADJP	= (nADJDA/nToTDA);
			//alert('nADJP = ' + nADJP);			
		}
		//alert('nADJDA = ' + nADJDA);
	}
	else
	{
		alert('Settlement Amount is not a valid number.\nSetting Settlement Amount to OrderTotal');	
		nSTLDA	= UnFormatCurrency(sToTDA);// Default to OrderTotal if Error	
	}
	//alert('nSTLDA = ' + nSTLDA);
	if(otSTLDA!=null)otSTLDA.value = FormatCurrency(nSTLDA, true);
	if(otADJDA!=null)otADJDA.value = FormatCurrency(nADJDA, true);
	oBrwTypeInner_Write(olADJP, FormatPercent(nADJP, true, false, true));		
}		

function ADJDAChanged(oForm)
{
	UpdateSTLDA__ADJDA_L(oForm.tToTDA.value, oForm.txtADJDA, oForm.txtSTLDA, 'lblADJP')
}
function STLDAChanged(oForm)
{
	UpdateSTLDA__STLDA_L(oForm.tToTDA.value, oForm.txtADJDA, oForm.txtSTLDA, 'lblADJP')
}
	
	
	
// ***************************************************************************************************
//											Utility Functions
// ***************************************************************************************************


function IsADDA(ot)
{
	var bADDA = false;
	if(ot!=null) bADDA = ot.checked;
	//alert('IsADDA: bADDA = ' + bADDA);
	return bADDA;
}

function IsEM(oEM)
{
	var bEM = false;
	if(oEM!=null) bEM = oEM.checked;
	//alert('IsEM: bEM = ' + bEM);	
	return bEM;
}	
	
function FormatPercent(decValue, bShowPercentSign, bShowParenthesis, bRound)
{
	var strValue;
	
	strValue = (decValue*100.00) + '';// converts to string
	
	if(bRound)
	{
		strValue = Math.round((decValue*100.00));
		//strValue = FormatCurrency((decValue*100.00),false); //Rounds as currency		
	}
		
	if(bShowPercentSign == true)
	{
		strValue = strValue + "%";
	}
	if(bShowParenthesis == true)
	{
		strValue = "(" + strValue + ")";
	}
		
	return strValue;
}	

function FormatString_RemoveSpaces(strValue)
{
	return strValue.replace(/ /g,'');
}		

function FormatCurrency(num, bShowDollarSign)
{
	var strFormattedValue; /* (mcb, 051001) */
		
	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;
	num = Math.floor(num/100).toString();
			
	if(cents<10)
	{
		cents = "0" + cents;
	}
			
	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));
				
	strFormattedValue = ((sign)?'':'-');
	if(bShowDollarSign == true)
	{
		strFormattedValue = strFormattedValue + '$';
	}
	strFormattedValue = strFormattedValue + num + '.' + cents;
	
	return (strFormattedValue);
			
}

function UnFormatCurrency(nValue)
{
	var sReg = /\$|\,/g;
	nValue = Number(nValue.replace(sReg,''));
	
	//alert('UnFormatCurrency: nValue = ' + nValue);
	return nValue;			
}


function oNetMessage(erMessage)
{
	var strBrowserType = navigator.userAgent.toLowerCase();
	if(strBrowserType.search('msie')<0) alert(erMessage);	
}
	
function oBrwType(strType)
{
	//alert('oBrwType(strType) = ' + strType);
	var oType;
	if(document.getElementById)
	{
		//alert('oBrwType: document.getElementById');
		oType = document.getElementById(strType);
	}
	else if(document.all.item)
	{
		//alert('oBrwType: document.all.item');
		oType = document.all.item(strType);
	}
	return oType;		
}
	
function oBrwTypeInner(strType)
{
	var oType = oBrwType(strType);
	var oObject;
	if(oType!=null)
	{
		if(!oType.innerHTML)
		{
			oObject = oType.innerHTML;			
		}
		else
		{
			oObject = oType.innerText;
		}
	}
	return oObject;
}


function oBrwTypeInner_Write(strType, strWrite)
{
	var oType = oBrwType(strType);
	if(oType!=null)
	{
		if(!oType.innerHTML)
		{
			oType.innerHTML = strWrite;			
		}
		else
		{
			oType.innerText = strWrite;
		}
	}
}

function GetBType()
{
	if(document.getElementById)
	{
		//alert('one');
		return bType_ID;
	}
	else if(document.all)
	{
		//alert('two');
		return bType_ALL;
	}
	else
	{
		//alert('three');
		return bType_ALERT;
	}		
}


function GetNumber(ot)
{
	var sReg = /\$|\,/g;
	var nValue = Number(ot.value.replace(sReg,''));
	
	//alert('GetNumber: nValue = ' + nValue);
	return nValue;	
}

function SetDA(nNumber, ot, ol)
{
	var sValue = FormatCurrency(nNumber, true);
	if(ot!=null) ot.value = sValue;
	oBrwTypeInner_Write(ol, sValue);
	
	nNumber = UnFormatCurrency(sValue, true);
	
	return nNumber;
}


function SetDA1(nNumber)
{
	var sValue = FormatCurrency(nNumber, true);
	
	nNumber = UnFormatCurrency(sValue, true);
	
	return nNumber;
}


// ***************************************************************************************************
//											PopUp Functions
// ***************************************************************************************************


var TOP100		= 'http://www.top100webshops.com/';
var TOPDEPO		= 'http://www.topdepo.com/';
var BBB			= 'http://www.bbbonline.org/cks.asp?id=102102114284927058';
var MART		= 'http://www.onlinemarts.com/incoming.asp?i=3104';
var MART2		= 'http://www.onlinemarts.com/';

var TOP100IMG		= 'http://www.top100webshops.com/isapi/track2.dll?T?3036&black';
var TOPDEPOIMG		= 'http://www.topdepo.com/isapi/Tracker.dll?T?2099&1&1';

function WST(strSRC)
{
	var strURL = '';
	if(strSRC=='TOP100')
	{
		strURL = TOP100;
	}
	else if(strSRC=='TOPDEPO')
	{
		strURL = TOPDEPO;
	}
	else if(strSRC=='MART2')
	{
		strURL = MART;
	}
	else if(strSRC=='BBB')
	{
		strURL = BBB;
	}		
	window.status=strURL;
}

function NS()
{
	window.status=' ';
}

function NWS(strSRC)
{
	window.status=strSRC;
}

function Go(argURL) 
{
	openWin = window.open(argURL,"myWindow","top=100,left=100,buttons=yes,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,directories=yes,toolbar=yes");
	openWin.focus();
}
function Getsrc(strSRC) 
{
	var strURL = '';
	if(strSRC=='TOP100')
	{
		strURL = TOP100IMG;
	}
	else if(strSRC=='TOPDEPO')
	{
		strURL = TOPDEPOIMG;
	}
	
	return strURL;
}

function popHelp(argURL) 
{
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=560,height=560,buttons=no,scrollbars=yes,location=no,menubar=no,resizable=yes,status=no,directories=no,toolbar=no");
	openWin.focus();
}

function popLargeCard(argURL)
{
	
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=700,height=700,buttons=no,scrollbars=yes,location=no,menubar=no,resizable=yes,status=no,directories=no,toolbar=no");
	openWin.focus();
}

function popLargeCard_AP(argURL)
{
	argURL = argURL.replace('_M.jpg','_L.jpg');
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=700,height=700,buttons=no,scrollbars=yes,location=no,menubar=no,resizable=yes,status=no,directories=no,toolbar=no");
	openWin.focus();
}

function popWindow(argURL) 
{
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=680,height=800,buttons=yes,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=no,directories=no,toolbar=yes");
	openWin.focus();
}
function popTrackingWindow(argURL) 
{
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=800,height=500,buttons=yes,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=no,directories=no,toolbar=yes");
	openWin.focus();
}

function popWindow2(argURL) 
{
	openWin = window.open(argURL,"myWindow","top=100,left=100,width=450,height=175,buttons=no,scrollbars=no,location=no,menubar=no,resizable=no,status=no,directories=no,toolbar=no");
	openWin.focus();
}

	
// ***************************************************************************************************
//											Shipping Schedule POPUP Functions
// ***************************************************************************************************	
function ShowPopUp()
{
	var oCookie = document.cookie;
	var oCookieExists = oCookie.indexOf("pop");
	return (oCookieExists==-1);
}	
function SetPopUpCookie()
{
	document.cookie = "pop=1";
}	
function ShippingSchedule()
{
	if((ShowPopUp())==true)
	{
		openDialog_SI("shippingschedule.htm", 500, 640, LoadQuickShip);
			
		//popShippingSchedule();
		SetPopUpCookie();			
	}	
}	
function popShippingSchedule() 
{
	openWin = window.open("shippingschedule.htm","myWindow","top=100,left=100,width=465,height=515,buttons=no,scrollbars=no,location=no,menubar=no,resizable=no,status=no,directories=no,toolbar=no");
	openWin.focus();
}
function LoadQuickShip()
{
	var bAdded;
	bAdded = dialogWin.returnedValue1;
	dialogWin.win.close(); 
	if(bAdded=='2')
	{
		window.location = 'fast-shipping-christmas-cards.aspx';	
	}	
}
function openDialog_SI(url, width, height, returnFunc, args) 
{
	if (!dialogWin.win || (dialogWin.win && dialogWin.win.closed)) 
	{
		// Initialize properties of the modal dialog object.
		dialogWin.returnFunc = returnFunc
		dialogWin.args = args
		dialogWin.url = url
		dialogWin.width = width
		dialogWin.height = height
		// Keep name unique so Navigator doesn't overwrite an existing dialog.
		dialogWin.name = (new Date()).getSeconds().toString()
		// Assemble window attributes and try to center the dialog.
		if (Nav4) 
		{
			// Center on the main window.
			dialogWin.left = 100
			dialogWin.top = 100
			var attr = "screenX=" + dialogWin.left + 
			   ",screenY=" + dialogWin.top + "scrollbars=no,resizable=no,width=" + 
			   dialogWin.width + ",height=" + dialogWin.height
		} 
		else 
		{
			// The best we can do is center in screen.
			dialogWin.left = 100
			dialogWin.top = 100
			var attr = "left=" + dialogWin.left + ",top=" + 
			   dialogWin.top + ",buttons=no,scrollbars=no,location=no,menubar=no,resizable=no,status=no,directories=no,toolbar=no,width=" + dialogWin.width + 
			   ",height=" + dialogWin.height
		}
		
		// Generate the dialog and make sure it has focus.
		dialogWin.win=window.open(dialogWin.url, dialogWin.name, attr)
		dialogWin.win.focus()
	} 
	else 
	{
		dialogWin.win.focus()
	}	
}



// ***************************************************************************************************
//											CART Functions
// ***************************************************************************************************	
function UpdateCartToShDA(oCSh, otToShDA, olToShDA)
{
	if(otToShDA!=null) otToShDA.value	= oCSh.options[oCSh.selectedIndex].value;		
	oBrwTypeInner_Write(olToShDA, oCSh.options[oCSh.selectedIndex].value);
	
	var nToShDA = UnFormatCurrency(oCSh.options[oCSh.selectedIndex].value);
	
	//alert('UpdateToShDA: nToShDA = ' + nToShDA);
	return nToShDA;		
}
	
function RemoveItem(ochk, btn)
{
	ochk.checked = true;
	oBrwType(btn).click();	
}



function ShowHide_CartDetails(ocell, oQDA, oQDDA, oSDA, oimg, ochk)
{
	ochk.checked = !ochk.checked;	
	if(ochk.checked)
	{
		oimg.src = CONST__IMAGE__IMAGE_HOST_ROOT + CONST__IMAGE__CART_DETAILS_HIDE;
		oBrwType(ocell).style.display = CONST__CELL_SHOW;
		oBrwType(oQDA).style.display = CONST__CELL_SHOW;
		oBrwType(oQDDA).style.display = CONST__CELL_SHOW;
		oBrwType(oSDA).style.display = CONST__CELL_HIDE;
		if(oimg.focus!=null)oimg.focus();
	}
	else
	{
		oimg.src = CONST__IMAGE__IMAGE_HOST_ROOT + CONST__IMAGE__CART_DETAILS_SHOW;
		oBrwType(ocell).style.display = CONST__CELL_HIDE;
		oBrwType(oQDA).style.display = CONST__CELL_HIDE;
		oBrwType(oQDDA).style.display = CONST__CELL_HIDE;
		oBrwType(oSDA).style.display = CONST__CELL_SHOW;	
		if(oimg.focus!=null)oimg.focus();
	}	
}

function UpdateAll_SC(oForm, nTR)
{
	var bEM		= IsEM(oForm.chkEM);
	var nToSDA	= UnFormatCurrency(oForm.tToSDA.value);	
	var nToShDA	= 0;
	var nToTXDA	= 0;
	var nToTDA	= 0;
	var nSTLDA	= 0;
	
	// Calculate nToShDA
	nToShDA = UpdateCartToShDA(oForm.cS, oForm.tToShDA, 'lblToShDA');
		
	// Calculate nToTXDA
	nToTXDA = UpdateToTXDA(oForm.chkCA, nTR, nToSDA, oForm.tToTXDA, 'lblToTXDA');
	
	// Calculate nToTDA
	nToTDA	= UpdateToTDA(nToSDA, nToShDA, nToTXDA, oForm.tToTDA, 'lblToTDA');
	
	// Calculate nSTLDA
	if(bEM) 
	{
		oBrwTypeInner_Write('lblToTDA_EM', FormatCurrency(nToTDA, true));
		nSTLDA = UpdateSTLDA__ADJDA_L(oForm.tToTDA.value, oForm.txtADJDA, oForm.txtSTLDA, 'lblADJP');
	}		
}	
	
// ***************************************************************************************************
//											DateTime Functions
// ***************************************************************************************************	
	
function SetDateTime()
{
	// Array of day names
	dayNames = new Object();
	dayNames[0] = 'Sunday'; dayNames[1] = 'Monday'; dayNames[2] = 'Tuesday'; dayNames[3] = 'Wednesday';
	dayNames[4] = 'Thursday'; dayNames[5] = 'Friday'; dayNames[6] = 'Saturday';

	// Array of month Names
	monthNames = new Object();
	monthNames[0] = 'January'; monthNames[1] = 'February'; monthNames[2] = 'March';
	monthNames[3] = 'April'; monthNames[4] = 'May'; monthNames[5] = 'June';
	monthNames[6] = 'July'; monthNames[7] = 'August'; monthNames[8] = 'September';
	monthNames[9] = 'October'; monthNames[10] = 'November'; monthNames[11] = 'December';

	now = new Date();
	adjDay = dayNames[now.getDay()];
	adjMonth = monthNames[now.getMonth()];
	adjDate = now.getDate();
	defYear = now.getYear();
	adjYear = (defYear < 1000) ? defYear + 1900 : defYear;
	dateString = adjDay + ', ' + adjMonth + ' ' + adjDate + ', ' + adjYear
	oBrwTypeInner_Write("lbDateTimeStamp", dateString);	
}
