
/************ define postcard data ************/
window.postcardDefs = new Array();

var k = 1;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 200;
window.postcardDefs[k].indiciaOffset = new offSet(408, 28);
window.postcardDefs[k].returnAddressOffset = new offSet(53, 30);

var k = 2;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(413, 230);
window.postcardDefs[k].returnAddressOffset = new offSet(47, 27);

var k = 3;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(460, 185);
window.postcardDefs[k].returnAddressOffset = new offSet(29, 22);

var k = 4;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(455, 205);
window.postcardDefs[k].returnAddressOffset = new offSet(29, 26);

var k = 5;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(408, 23);
window.postcardDefs[k].returnAddressOffset = new offSet(86, 23);
window.postcardDefs[k].foldingOption = 1;

var k = 6;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(440, 38);
window.postcardDefs[k].returnAddressOffset = new offSet(80, 38);
window.postcardDefs[k].foldingOption = 1;

var k = 7;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(432, 25);
window.postcardDefs[k].returnAddressOffset = new offSet(55, 25);

var k = 8;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(412, 23);
window.postcardDefs[k].returnAddressOffset = new offSet(50, 23);

var k = 9;
window.postcardDefs[k] = new postcardDef();
window.postcardDefs[k].minQty = 500;
window.postcardDefs[k].indiciaOffset = new offSet(458, 240);
window.postcardDefs[k].returnAddressOffset = new offSet(222, 240);

window.curQuote = new Object();

/************ initiation ************/
function doLoadStep() {
	if(!window.postcardDefs[window.postcardOption]) alert("Invalid option");
	else window.postcardDef = window.postcardDefs[window.postcardOption];
	var def = window.postcardDef;

	// set hidden field to pass the postcardOption on
	document.forms['frmPostcard'].postcardOption.value = window.postcardOption;

	// get some objects & info we'll be needing
	var imgPostcard = document.getElementById('imgPostcard');
	var lblMeter = document.getElementById('imgLblMeter');
	var imgIndicia = document.getElementById('imgIndicia');
	var imgReturnAddress = document.getElementById('imgReturnAddress');
	var lblReturnAddress = document.getElementById('imgLblReturnAddress');

	var postcardX = getLeft(imgPostcard);
	var postcardY = getTop(imgPostcard);

	// global tmp array for storing stuff
	window.tmp = new Array();

	// show the postcard
	imgPostcard.style.visibility = 'visible';

	// position the indicia
	var x = postcardX;
	var y = postcardY;

	var indiciaLeft = def.indiciaOffset.x + x;
	imgIndicia.style.left = indiciaLeft + 'px';

	var indiciaTop = def.indiciaOffset.y + y;
	imgIndicia.style.top = indiciaTop + 'px';

	imgIndicia.style.visibility = 'visible';

	// position the meter label
	lblMeter.style.left = (indiciaLeft - lblMeter.offsetWidth + 5) + 'px';
	lblMeter.style.top = (indiciaTop - lblMeter.offsetHeight + 40) + 'px';

	// position the return address
	var x = postcardX;
	var y = postcardY;

	var raLeft = def.returnAddressOffset.x + x;
	imgReturnAddress.style.left = raLeft + 'px';

	var raTop = def.returnAddressOffset.y + y;
	imgReturnAddress.style.top = raTop + 'px';

	imgReturnAddress.style.visibility = 'visible';

	// position return address label
	lblReturnAddress.style.left = (raLeft - lblReturnAddress.offsetWidth + 20) + 'px';
	lblReturnAddress.style.top = (raTop - lblReturnAddress.offsetHeight + 30) + 'px';

	// initiate totals
	calculateTotals();

	// set postage class
	switch(document.forms['frmPostcard'].postageClass.value) {
		case 'standard':
			postageClassClick(document.getElementById('imgPostageStd'));
			break;
		case 'first':
			postageClassClick(document.getElementById('imgPostage1c'));
			break;
	}

	// preload images
	preload_image('images/autoquote-icon-checked.png');
	preload_image('images/autoquote-indicia-'+window.postcardOption+'-over.png');
	preload_image('images/autoquote-checkbox-checked.png');
	preload_image('images/autoquote-returnaddress-over-'+window.postcardOption+'.png');

}

function returnAddressOver() {
	var lblReturnAddress = document.getElementById('imgLblReturnAddress');
	lblReturnAddress.style.visibility = 'visible';

	var imgReturnAddress = document.getElementById('imgReturnAddress');
	imgReturnAddress.style.cursor = 'pointer';

	var posX = getLeft(imgReturnAddress);
	var posY = getTop(imgReturnAddress) + imgReturnAddress.offsetHeight + 4;

	var msg = 'Add a printed return address.';
	indiciaDescriptionOpen('returnaddress', posX, posY, 130, 40, msg);

}
function returnAddressOut() {
	var lblReturnAddress = document.getElementById('imgLblReturnAddress');

	if(!window.curQuote.optionReturnAddress) {
		lblReturnAddress.style.visibility = 'hidden';
	}

	var imgReturnAddress = document.getElementById('imgReturnAddress');
	if(!window.curQuote.optionReturnAddress) imgReturnAddress.src = 'images/autoquote-returnaddress-'+window.postcardOption+'.png';	
	imgReturnAddress.style.cursor = 'default';

	var posX = getLeft(imgReturnAddress);
	var posY = getTop(imgReturnAddress) + imgReturnAddress.offsetHeight + 4;

	indiciaDescriptionClose('returnaddress');
}

function returnAddressClick() {
	var td = document.getElementById('tdOptionsReturnAddress');
	var img = document.getElementById('imgOptionsReturnAddress');
	var imgReturnAddress = document.getElementById('imgReturnAddress');

	if(window.curQuote.optionReturnAddress) {
		window.curQuote.optionReturnAddress = 0;
		td.className = 'unchecked';
		img.src = 'images/autoquote-checkbox-unchecked.png';
		imgReturnAddress.src = 'images/autoquote-returnaddress-'+window.postcardOption+'.png';
	} else {
		window.curQuote.optionReturnAddress = 1;
		td.className = '';
		img.src = 'images/autoquote-checkbox-checked.png';
		imgReturnAddress.src = 'images/autoquote-returnaddress-over-'+window.postcardOption+'.png';
	}

	calculateTotals();
}


function indiciaOver() {
	var lblMeter = document.getElementById('imgLblMeter');
	lblMeter.style.visibility = 'visible';

	var imgIndicia = document.getElementById('imgIndicia');
	//imgIndicia.src = 'images/autoquote-indicia-'+window.postcardOption+'-over.png';
	imgIndicia.style.cursor = 'pointer';

	var posX = getLeft(imgIndicia);
	var posY = getTop(imgIndicia) + imgIndicia.offsetHeight + 4;

	var msg = 'Add a printed permit indicia.';
	indiciaDescriptionOpen('indicia', posX, posY, 130, 40, msg);
}

function indiciaOut() {
	var lblMeter = document.getElementById('imgLblMeter');

	if(!window.curQuote.optionIndicia) {
		lblMeter.style.visibility = 'hidden';
	}

	var imgIndicia = document.getElementById('imgIndicia');
	if(!window.curQuote.optionIndicia) imgIndicia.src = 'images/autoquote-indicia-'+window.postcardOption+'.png';	
	imgIndicia.style.cursor = 'default';

	var posX = getLeft(imgIndicia);
	var posY = getTop(imgIndicia) + imgIndicia.offsetHeight + 4;

	indiciaDescriptionClose('indicia');
}

function indiciaDescriptionOpen(name, posX, posY, maxX, maxY, msg) {
	name = 'divDescription' + name;
	var div = document.getElementById(name);
	if(!div) {
		div = document.createElement('div');
		div.id = name;
		div.className = 'rolldownMessageBox';
		document.body.appendChild(div);
	}
	div.innerHTML = '';
	div.style.left = posX;
	div.style.top = posY;
	div.style.height = '0px';
	div.style.width = '0px';
	div.style.visibility = 'visible';

	window.tmp[name+'msg'] = msg;

	clearTimeout(window.tmp[name+'timer']);
	indiciaDescriptionOpen_expand(name, 1, 8, maxX, maxY);
}


function indiciaDescriptionClose(name) {
	name = 'divDescription' + name;
	var div = document.getElementById(name);

	div.innerHTML = '';
	clearTimeout(window.tmp[name+'timer']);
	indiciaDescriptionClose_contract(name);
}



function indiciaClick() {
	var td = document.getElementById('tdOptionsIndicia');
	var img = document.getElementById('imgOptionsIndicia');
	var imgIndicia = document.getElementById('imgIndicia');

	if(window.curQuote.optionIndicia) {
		window.curQuote.optionIndicia = 0;
		td.className = 'unchecked';
		img.src = 'images/autoquote-checkbox-unchecked.png';
		imgIndicia.src = 'images/autoquote-indicia-'+window.postcardOption+'.png';
	} else {
		window.curQuote.optionIndicia = 1;
		td.className = '';
		img.src = 'images/autoquote-checkbox-checked.png';
		imgIndicia.src = 'images/autoquote-indicia-'+window.postcardOption+'-over.png';
	}

	calculateTotals();
}


function indiciaDescriptionOpen_expand(name, timeout, increment, maxW, maxH) {

	var div = document.getElementById(name);

	var curW = 1 * div.style.width.replace(/[^0-9\.]/g, '');
	var curH = 1 * div.style.height.replace(/[^0-9\.]/g, '');

	if(curW < maxW) curW += increment; if(curW > maxW) curW = maxW;
	if(curH < maxH) curH += increment; if(curH > maxH) curH = maxH;

	div.style.width = curW + 'px';
	div.style.height = curH + 'px';

	if(curW >= maxW && curH >= maxH) {
		div.innerHTML = window.tmp[name+'msg'];
		return;
	} else {
		window.tmp[name+'timer'] = setTimeout('indiciaDescriptionOpen_expand(\''+name+'\', '+timeout+', '+increment+', '+maxW+', '+maxH+')', timeout);
	}
}


function indiciaDescriptionClose_contract(name) {
	var div = document.getElementById(name);

	var curW = 1 * div.style.width.replace(/[^0-9\.]/g, '');
	var curH = 1 * div.style.height.replace(/[^0-9\.]/g, '');

	var increment = 10;
	var timeout = 1;

	if(curW > 0) curW -= increment; if(curW < 0) curW = 0;
	if(curH > 0) curH -= increment; if(curH < 0) curH = 0;

	div.style.width = curW + 'px';
	div.style.height = curH + 'px';

	if(curW <= 0 && curH <= 0) {
		div.style.visibility = 'hidden';
		return;
	} else {
		window.tmp[name+'timer'] = setTimeout('indiciaDescriptionClose_contract(\''+name+'\')', timeout);
	}
}

function postageClassOver(that) {
	var type;
	switch(that.id) {
		case 'imgPostageStd': type = 'standard'; break;
		case 'imgPostage1c': type = 'first'; break;
		default: return;
	}

	if(type != window.curQuote.postageClass) {
		that.src = 'images/mailclass-'+type+'-over.png';
		that.style.cursor = 'pointer';
	}
}
function postageClassOut(that) {
	var type;
	switch(that.id) {
		case 'imgPostageStd': type = 'standard'; break;
		case 'imgPostage1c': type = 'first'; break;
		default: return;
	}

	if(type != window.curQuote.postageClass) {
		that.src = 'images/mailclass-'+type+'.png';
		that.style.cursor = 'default';
	}
}
function postageClassClick(that) {
	var type;
	switch(that.id) {
		case 'imgPostageStd': type = 'standard'; break;
		case 'imgPostage1c': type = 'first'; break;
		default: return;
	}

	var i = document.getElementById('imgPostageStd');
	if(i) i.src = 'images/mailclass-standard.png';
	var i = document.getElementById('imgPostage1c');
	if(i) i.src = 'images/mailclass-first.png';

	that.src = 'images/mailclass-'+type+'-over.png';
	window.curQuote.postageClass = type;
	document.forms['frmPostcard'].postageClass.value = type;

	calculateTotals();
}

function frmPostcardSubmit(f) {
	calculateTotals();
	var qty = document.getElementById('fldQuantity').value * 1;

	return true;
}


/**************** calculateTotals *********************/
function calculateTotals(event) {
	var fldQuantity = document.getElementById('fldQuantity');
	var fldPrinting = document.getElementById('fldPrinting');
	var fldPostage = document.getElementById('fldPostage');
	var fldTotal = document.getElementById('fldTotal');

	var qty = intval(fldQuantity.value); // qty is the quantity to use for calculations
	var showqty = qty; // showqty is the quantity to display
	var printing = 0;
	var postage = 0;

	var def = window.postcardDefs[window.postcardOption];

	if(event != 'onkeyup') {
		// make sure the quantity is at least the minimum
		if(qty < def.minQty) qty = def.minQty;
		showqty = qty;
	}

	// round up to the nearest hundred if > n10
	// ex: 211 rounds to 300 for calculation
	var r = qty % 100;
	if(r > 10) qty += (100 - r);



	switch(window.postcardOption) {

		/********************/
		case 1:
			// (1ST 500 = $64.95) + (NEXT X HUNDRED * 10.99 (TO 1000)) + EACH HUNDRED LEFT * $2.99)

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;


			// postage
			postage = showqty * .28;

			break;

		/********************/
		case 2:
			//(1ST 500 = $64.95) + (NEXT X HUNDRED * 10.99 (TO 1000)) + EACH HUNDRED LEFT * $2.99) +.22 * QUANTITY

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;


			// postage
			postage = showqty * .28;

			break;

		/********************/
		case 3:
			// (1ST 500 = $64.95) + (NEXT X HUNDRED * 10.99 (TO 1000)) + EACH HUNDRED LEFT * $2.99) +.22 * QUANTITY

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;


			// postage
			postage = showqty * .28;

			break;


		/********************/
		case 4:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;
			printing += printing * .25;

			// postage
			postage = showqty * .49;

			break;


		/********************/
		case 5:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			var h = Math.floor(qty / 100);

			var folding = 0;
			if(window.curQuote.foldingOption) {
				folding = h * 2.99;
			}

			var tabbing = h * 4.99;

			printing = workingtotal;
			printing += folding;
			printing += tabbing;


			// postage
			postage = (window.curQuote.postageClass == 'standard') ? showqty * .28 : showqty * .41;	


			break;

		/********************/
		case 6:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			var h = Math.floor(qty / 100);

			var folding = 0;
			if(window.curQuote.foldingOption) {
				folding = h * 2.99;
			}

			var tabbing = h * 4.99;

			printing = workingtotal;
			printing += folding;
			printing += tabbing;

			// postage
			postage = (window.curQuote.postageClass == 'standard') ? showqty * .28 : showqty * .41;	
			break;


		/********************/
		case 7:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			var h = Math.floor(qty / 100);
			var folding = h * 4.99;

			printing = workingtotal;
			printing += folding;

			// postage
			postage = (window.curQuote.postageClass == 'standard') ? showqty * .28 : showqty * .41;	
			break;


		/********************/
		case 8:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 129.95 + (22.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 22.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 129.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 22.99);
			}
			else {
				workingtotal = 129.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				//var n = Math.ceil(qty / 100);
				//workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;


			// postage
			postage = (window.curQuote.postageClass == 'standard') ? showqty * .28 : showqty * .41;	
			break;



		/********************/
		case 9:

			var workingqty = qty;
			var workingtotal = 0;

			if(workingqty >= 1000) {
				workingtotal = 64.95 + (10.99 * 5);
				workingqty -= 1000;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 2.99);
			}
			else if(workingqty >= 500) {
				workingtotal = 64.95;
				workingqty -= 500;

				var n = Math.ceil(workingqty / 100);
				workingtotal += (n * 10.99);
			}
			else {
				workingtotal = 64.95;
				workingqty -= 0;
			}

			if(window.curQuote.optionIndicia) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}
			if(window.curQuote.optionReturnAddress) {
				var n = Math.ceil(qty / 100);
				workingtotal += (n * 2.99);
			}

			printing = workingtotal;
			printing += printing * .25;

			// postage
			postage = (window.curQuote.postageClass == 'standard') ? showqty * .49 : showqty * .58;	
			break;

		/********************/
		default: 
			alert('Error: an invalid option has been selected');
			return;
	}

	if(window.curQuote.needPostalDelivery) printing += 16.00;

	var total = printing + postage;

	fldQuantity.value = showqty;
	fldPrinting.value = format_dollars(printing);
	fldPostage.value = format_dollars(postage);
	fldTotal.value = format_dollars(total);

	// set hidden field flags
	document.forms['frmPostcard'].includeReturnAddress.value = (window.curQuote.optionReturnAddress) ? 1 : 0;
	document.forms['frmPostcard'].includeIndicia.value = (window.curQuote.optionIndicia) ? 1 : 0;


}



/************ postcard data class ************/
function postcardDef() {


}

function offSet(x, y) {
	this.x = x;
	this.y = y;
}


// misc functions
function getLeft(obj) {
	return (obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft +  getLeft(obj.offsetParent));
}
function getTop(obj) {
	return (obj.offsetParent==null ? obj.offsetTop : obj.offsetTop + getTop(obj.offsetParent));
}
function intval(n) {
	n = n.replace(/^(\d*).*$/, '$1', n);
	return n*1;
}
function format_dollars(v) {
	v = Math.round(v*100)/100;
	v += '';

	var b = v.split(/\./);
	v = b[0];
	if(!b[1]) b[1] = '';
	while(b[1].length < 2) b[1] += '0';
	v += '.' + b[1];

	return v;
}
function number_format(v) {

}




/**************** step 1 functions ****************/
function clickPostcardOption(id) {
	id *= 1;
	var f = document.forms['frmSelectPostcardOption'];

	var alreadySelected = 0;
	if(document.getElementById('trPostCardOption_'+id).className == 'optionSelected') alreadySelected = 1;

	var allimages = document.getElementsByTagName('img');
	var allids = new Array();
	for(var i=0; i<allimages.length; ++i) {
		if(allimages[i].id.indexOf('imgPostCardOption_') == 0) {
			allimages[i].src = 'images/autoquote-icon-unchecked.png';
			var optid = allimages[i].id.substr(18);
			document.getElementById('trPostCardOption_'+optid).className = '';
		}
	}

	var img = document.getElementById('imgPostCardOption_'+id);
	if(img) {
		img.src = 'images/autoquote-icon-checked.png';
	}
	document.getElementById('trPostCardOption_'+id).className = 'optionSelected';

	f.postcardOption.value = id;

	if(alreadySelected) frmSelectPostcardOptionSubmit(f);
}

function frmSelectPostcardOptionSubmit(f) {
	var optionid = f.postcardOption.value * 1;

	if(!optionid) {
		alert('Please select a postcard option above before continuing.');
		return false;
	}

	if(optionid == 10) {
		document.location='/site/autoquote/quoteform.html';
		return false;
	}

	f.submit();

}


function needPostalDeliveryOver(opt) {
	var img;

	if(opt) {
		img = document.getElementById('imgOptionsNeedPostalDelivery');

	} else {
		img = document.getElementById('imgOptionsWillDeliverToPO');

	}

// 	var msg = 'Check this option if you';
// 	var posX = 10;
// 	var posY = 10;
// 	needPostalDeliveryOpen('needpostaldelivery', posX, posY, 130, 40, msg);
}

function needPostalDeliveryOut(opt) {
	var img;

	if(opt) {
		img = document.getElementById('imgOptionsNeedPostalDelivery');

	} else {
		img = document.getElementById('imgOptionsWillDeliverToPO');

	}


}

function needPostalDeliveryClick(opt) {
	var f = document.forms['frmPostcard'];

	var imgOptionsNeedPostalDelivery = document.getElementById('imgOptionsNeedPostalDelivery');
	var tdOptionsNeedPostalDelivery = document.getElementById('tdOptionsNeedPostalDelivery');

	var imgOptionsWillDeliverToPO = document.getElementById('imgOptionsWillDeliverToPO');
	var tdOptionsWillDeliverToPO = document.getElementById('tdOptionsWillDeliverToPO');

	if(opt) {
		window.curQuote.needPostalDelivery = true;

		imgOptionsNeedPostalDelivery.src = 'images/autoquote-checkbox-checked.png';
		imgOptionsWillDeliverToPO.src = 'images/autoquote-checkbox-unchecked.png';

		tdOptionsNeedPostalDelivery.className = 'checked';
		tdOptionsWillDeliverToPO.className = 'unchecked';
	} else {
		window.curQuote.needPostalDelivery = false;

		imgOptionsNeedPostalDelivery.src = 'images/autoquote-checkbox-unchecked.png';
		imgOptionsWillDeliverToPO.src = 'images/autoquote-checkbox-checked.png';

		tdOptionsNeedPostalDelivery.className = 'unchecked';
		tdOptionsWillDeliverToPO.className = 'checked';
	}

	f.needPostalDelivery.value = (window.curQuote.needPostalDelivery) ? 1 : 0;

	calculateTotals();
}

function foldingOptionClick() {
	var f = document.forms['frmPostcard'];

	var img = document.getElementById('imgOptionsFolding');
	var td = document.getElementById('tdOptionsFolding');

	if(window.curQuote.foldingOption) {
		window.curQuote.foldingOption = false;
		img.src = 'images/autoquote-checkbox-unchecked.png';
		td.className = 'unchecked';
	} else {
		window.curQuote.foldingOption = true;
		img.src = 'images/autoquote-checkbox-checked.png';
		td.className = 'checked';
	}

	f.foldingOption.value = (window.curQuote.foldingOption) ? 1 : 0;

	calculateTotals();
}

// function needPostalDeliveryOpen(name, posX, posY, maxX, maxY, msg) {
// 	name = 'divDescription' + name;
// 	var div = document.getElementById(name);
// 	if(!div) {
// 		div = document.createElement('div');
// 		div.id = name;
// 		div.className = 'rolldownMessageBox';
// 		document.body.appendChild(div);
// 	}
// 	div.innerHTML = '';
// 	div.style.left = posX;
// 	div.style.top = posY;
// 	div.style.height = '0px';
// 	div.style.width = '0px';
// 	div.style.visibility = 'visible';

// 	window.tmp[name+'msg'] = msg;

// 	clearTimeout(window.tmp[name+'timer']);
// 	indiciaDescriptionOpen_expand(name, 1, 8, maxX, maxY);
// }



