function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	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));

	return (((sign)?'':'-') + num + '.' + cents);
}

//various shipping methods
function updateMultiPrice (formName,slp,modifyOptions,isP,pho) {

	var myForm  = eval('document.'+formName);
	if ( pho || (isP && !pho && myForm.delivery &&  myForm.delivery[1].checked) ) {
		toggle_delivery(0,formName,slp);
		return;
	}

	if (qtyFlag) {
		var no     = myForm['quantity'][myForm['quantity'].selectedIndex].value;
	} else {
		no = 1;
	}

	if (is_m) {
		var s_m = myForm['ship_method'][myForm['ship_method'].selectedIndex].value;
	} else {
		var s_m = 'M';
	}
	var sc = sca[s_m];
	var st = no * slp;
	var sp = sc;
	spa['M'] = sca['M'];
	spa['G'] = sca['G'];
	spa['2'] = sca['2'];
	spa['1'] = sca['1'];

	if (st > spb)
	{
		sp       = (st - spb) * spr + sc;
		spa['M'] = (st - spb) * spr + sca['M'];
		spa['G'] = (st - spb) * spr + sca['G'];
		spa['2'] = (st - spb) * spr + sca['2'];
		spa['1'] = (st - spb) * spr + sca['1'];
	}

	if (strs == 1)
	{
		sp = no*sca['M']+sca[s_m]-sca['M'];
		spa['M'] = no*sca['M'];
		spa['G'] = no*sca['M']+sca['G']-sca['M'];;
		spa['2'] = no*sca['M']+sca['2']-sca['M'];;
		spa['1'] = no*sca['M']+sca['1']-sca['M'];;
	}

	var tx=0;
	if(txb){
		var tx=st*txb;
	}

	var srvf=0;
	if (srv>0) {
		srvf = srv*no;
	}

	var total          = st + sp + tx + srvf;

	myForm['subtotal'].value       = '$'+formatCurrency(st);
	myForm['ship'].value       = '$'+formatCurrency(sp);

	if(myForm['tax']){
		myForm['tax'].value       = '$'+formatCurrency(tx);
	}
	if (srv>0) {
		myForm['srv_fee'].value   = '$'+formatCurrency(srvf);
	}
	myForm['total'].value       = '$'+formatCurrency(total);

	//change text in ship method dropdown
	if (is_m && modifyOptions) {
		if (shipOptions['M']) {
			myForm['ship_method'][shipOptions['M']].text = methDesc['M'] + ' $' + formatCurrency(spa['M']);
		}
		if (shipOptions['G']) {
			myForm['ship_method'][shipOptions['G']].text = methDesc['G'] + ' $' + formatCurrency(spa['G']);
		}
		if (shipOptions['2']) {
			myForm['ship_method'][shipOptions['2']].text = methDesc['2'] + ' $' + formatCurrency(spa['2']);
		}
		if (shipOptions['1']) {
			myForm['ship_method'][shipOptions['1']].text = methDesc['1'] + ' $' + formatCurrency(spa['1']);
		}
	}
}

function UpdateInfo(formName,isP) {
	var myForm  = eval('document.'+formName);
	var div = document.getElementById("ups_info");
	var ship_method = myForm['ship_method'][myForm['ship_method'].selectedIndex].value;
	var div_msg = '';

	if (isP) {
		div_msg = '<br>As you selected "Print online" delivery option,<br>you will be able to print your certificate(s) upon checkout.<br>No certificates will be shipped by mail.';
	} else {
		if (ship_method == '1' || ship_method == 'G'  || ship_method == '2') {
			if (after_three) {
				div_msg = "<br><font color=red>Orders received AFTER 3:00PM EST will be processed next business day " + next_day + "<br>UPS does NOT deliver to PO Box</font>";
			} else {
				div_msg = "<br><font color=red>UPS does NOT deliver to PO Boxes.<br>Days of delivery are business days excluding weekends/holidays.</font>";
			}
		} else {
			div_msg = "<br>&nbsp;";
		}
	}

	div.innerHTML = div_msg;
}

function toggle_delivery(show_row,formName,slp) {//phone certs
	var myForm  = eval('document.'+formName);

	var browser_version = parseFloat(navigator.appVersion);
	if (navigator.appVersion.indexOf("MSIE")!=-1){ //IE
		var display_str = "block";
	} else {
		var display_str = "table-row";
	}
	if (show_row) {

		if (browser_version >= 4) {
			document.getElementById("ship_row").style.display = display_str;
			document.getElementById("shipcost_label").innerHTML = "Ship Cost:";
		}
		updateMultiPrice(formName,slp,1);
		UpdateInfo(formName,0);

	} else {

		if (browser_version >= 4) {
			document.getElementById("ship_row").style.display = "none";
			if (!(myForm['excl_pod'] && myForm['excl_pod'].value)) {
				document.getElementById("shipcost_label").innerHTML = "Handling Cost:";
			}
		}

		var hnd_base = 2;

		if (myForm['excl_pod'] && myForm['excl_pod'].value) {//exclusive POD charges - controlled from the form
			hnd_base = parseFloat(myForm['excl_pod'].value);
		}

		if (qtyFlag) {
			var no     = myForm['quantity'][myForm['quantity'].selectedIndex].value;
		} else {
			no = 1;
		}

		//var hnd = no*hnd_base;
		var hnd = hnd_base;//do not multiply

		var st = no * slp;
		if (st > spb && !(myForm['excl_pod'] && myForm['excl_pod'].value)) {
			hnd = hnd + (st - spb) * spr;
		}

		var total = st + hnd;

		myForm['subtotal'].value       = '$'+formatCurrency(st);
		myForm['ship'].value = '$' + formatCurrency(hnd);
		myForm['total'].value       = '$'+formatCurrency(total);
		UpdateInfo(formName,1);
	}
}

