function isNumeric(x) {
	if (x.length == 0)
		return true;

	var RegExp = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
	var result = x.match(RegExp);
	if (result == null)
		result = false;
	return result;
}

function checkSettingsForm() {
	var errMsg = "";
	var errField = "";
	var strConfirmMessage = "By changing to this report type, all of your existing data\nfor this PaperTrade will become incompatible and you will need\nto enter new data.  Are you sure you want to do this?  If you\nwant to make a new PaperTrade instead, click Cancel, and choose\nCreate New PaperTrade from the dropdown at the top of the page.";

	document.getElementById('papertrade_name').value = document.getElementById('papertrade_name').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('papertrade_name').value = document.getElementById('papertrade_name').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('explanation').value = document.getElementById('explanation').value.replace(/[ \t\r\n\v\f]*$/i,"");
	document.getElementById('explanation').value = document.getElementById('explanation').value.replace(/^[ \t\r\n\v\f]*/i,"");
	document.getElementById('monthly_fee').value = document.getElementById('monthly_fee').value.replace(/\$|,| /g,"");
	document.getElementById('trailing_stop').value = document.getElementById('trailing_stop').value.replace(/%|,| /g,"");
	document.getElementById('options_1_bank').value = document.getElementById('options_1_bank').value.replace(/\$|,| /g,"");
	document.getElementById('options_1_risk').value = document.getElementById('options_1_risk').value.replace(/%|,| /g,"");
	document.getElementById('options_1_b_age_1').value = document.getElementById('options_1_b_age_1').value.replace(/\$|,| /g,"");
	document.getElementById('options_1_b_age_2').value = document.getElementById('options_1_b_age_2').value.replace(/\$|,| /g,"");
	document.getElementById('options_2_bank').value = document.getElementById('options_2_bank').value.replace(/\$|,| /g,"");
	document.getElementById('options_2_risk').value = document.getElementById('options_2_risk').value.replace(/%|,| /g,"");
	document.getElementById('options_2_margin').value = document.getElementById('options_2_margin').value.replace(/%|,| /g,"");
	document.getElementById('options_2_interest').value = document.getElementById('options_2_interest').value.replace(/%|,| /g,"");
	document.getElementById('options_2_b_age_1').value = document.getElementById('options_2_b_age_1').value.replace(/\$|,| /g,"");
	document.getElementById('options_2_b_age_2').value = document.getElementById('options_2_b_age_2').value.replace(/\$|,| /g,"");
	document.getElementById('options_2_b_age_3').value = document.getElementById('options_2_b_age_3').value.replace(/\$|,| /g,"");
	document.getElementById('stocks_1_bank').value = document.getElementById('stocks_1_bank').value.replace(/\$|,| /g,"");
	document.getElementById('stocks_1_risk').value = document.getElementById('stocks_1_risk').value.replace(/%|,| /g,"");
	document.getElementById('stocks_1_margin').value = document.getElementById('stocks_1_margin').value.replace(/%|,| /g,"");
	document.getElementById('stocks_1_interest').value = document.getElementById('stocks_1_interest').value.replace(/%|,| /g,"");
	document.getElementById('stocks_1_b_age_1').value = document.getElementById('stocks_1_b_age_1').value.replace(/\$|,| /g,"");
	document.getElementById('stocks_1_b_age_2').value = document.getElementById('stocks_1_b_age_2').value.replace(/\$|,| /g,"");
	document.getElementById('timers_1_bank').value = document.getElementById('timers_1_bank').value.replace(/\$|,| /g,"");
	document.getElementById('timers_1_risk').value = document.getElementById('timers_1_risk').value.replace(/%|,| /g,"");
	document.getElementById('timers_1_margin').value = document.getElementById('timers_1_margin').value.replace(/%|,| /g,"");
	document.getElementById('timers_1_interest').value = document.getElementById('timers_1_interest').value.replace(/%|,| /g,"");
	document.getElementById('timers_1_b_age_1').value = document.getElementById('timers_1_b_age_1').value.replace(/\$|,| /g,"");
	document.getElementById('timers_1_b_age_2').value = document.getElementById('timers_1_b_age_2').value.replace(/\$|,| /g,"");
	document.getElementById('timers_1_mmf').value = document.getElementById('timers_1_mmf').value.replace(/\%|,| /g,"");
	document.getElementById('timers_3_bank').value = document.getElementById('timers_3_bank').value.replace(/\$|,| /g,"");
	document.getElementById('timers_3_risk').value = document.getElementById('timers_3_risk').value.replace(/%|,| /g,"");
	document.getElementById('timers_3_b_age_1').value = document.getElementById('timers_3_b_age_1').value.replace(/\$|,| /g,"");
	document.getElementById('timers_3_mmf').value = document.getElementById('timers_3_mmf').value.replace(/\%|,| /g,"");


	if (document.getElementById('papertrade_name').value.length == 0) {
		errMsg = "Please enter a name for this PaperTrade";
		errField = "papertrade_name";
	} else if (!isNumeric(document.getElementById('monthly_fee').value) || document.getElementById('monthly_fee').value.length == 0) {
		errMsg = "The monthly fee must contain valid numbers only and have a value.";
		errField = "monthly_fee";
	} else if (document.getElementById('share_yes').checked && document.getElementById('explanation').value.length == 0) {
		errMsg = "An explanation is required for shared PaperTrades.";
		errField = "explanation";
	} else if (strReportType == "options_long_1" || strReportType == "options_long_2" || strReportType == "options_spread" || strReportType == "options_spread_2") {
		if ((strReportType == "options_long_1" || strReportType == "options_spread_2") && (!isNumeric(document.getElementById('trailing_stop').value) || document.getElementById('trailing_stop').value.length == 0)) {
			errMsg = "The trailing stop must contain valid numbers only and have a value.";
			errField = "trailing_stop";
		} else if (!isNumeric(document.getElementById('options_1_bank').value) || document.getElementById('options_1_bank').value.length == 0 ||
			parseFloat(document.getElementById('options_1_bank').value) <= 0) {
			errMsg = "The bank must contain valid numbers only and have a value greater than zero.";
			errField = "options_1_bank";
		} else if (!isNumeric(document.getElementById('options_1_risk').value) || document.getElementById('options_1_risk').value.length == 0) {
			errMsg = "The risk must contain valid numbers only and have a value.";
			errField = "options_1_risk";
		} else if (!isNumeric(document.getElementById('options_1_b_age_1').value) || document.getElementById('options_1_b_age_1').value.length == 0) {
			errMsg = "The comm 1 must contain valid numbers only and have a value.";
			errField = "options_1_b_age_1";
		} else if (!isNumeric(document.getElementById('options_1_b_age_2').value) || document.getElementById('options_1_b_age_2').value.length == 0) {
			errMsg = "The comm 2 must contain valid numbers only and have a value.";
			errField = "options_1_b_age_2";
		}
	} else if (strReportType == "options_short") {
		if (!isNumeric(document.getElementById('options_2_bank').value) || document.getElementById('options_2_bank').value.length == 0 ||
			parseFloat(document.getElementById('options_2_bank').value) <= 0) {
			errMsg = "The bank must contain valid numbers only and have a value greater than zero.";
			errField = "options_2_bank";
		} else if (!isNumeric(document.getElementById('options_2_risk').value) || document.getElementById('options_2_risk').value.length == 0) {
			errMsg = "The risk must contain valid numbers only and have a value.";
			errField = "options_2_risk";
		} else if (!isNumeric(document.getElementById('options_2_margin').value) || document.getElementById('options_2_margin').value.length == 0) {
			errMsg = "The margin must contain valid numbers only and have a value.";
			errField = "options_2_margin";
		} else if (!isNumeric(document.getElementById('options_2_interest').value) || document.getElementById('options_2_interest').value.length == 0) {
			errMsg = "The interest must contain valid numbers only and have a value.";
			errField = "options_2_interest";
		} else if (!isNumeric(document.getElementById('options_2_b_age_1').value) || document.getElementById('options_2_b_age_1').value.length == 0) {
			errMsg = "The buy/write comm must contain valid numbers only and have a value.";
			errField = "options_2_b_age_1";
		} else if (!isNumeric(document.getElementById('options_2_b_age_2').value) || document.getElementById('options_2_b_age_2').value.length == 0) {
			errMsg = "The exercise comm must contain valid numbers only and have a value.";
			errField = "options_2_b_age_2";
		} else if (!isNumeric(document.getElementById('options_2_b_age_3').value) || document.getElementById('options_2_b_age_3').value.length == 0) {
			errMsg = "The stock comm must contain valid numbers only and have a value.";
			errField = "options_2_b_age_3";
		}
	} else if (strReportType == "stocks_long" || strReportType == "stocks_long_short") {
		if (!isNumeric(document.getElementById('trailing_stop').value) || document.getElementById('trailing_stop').value.length == 0) {
			errMsg = "The trailing stop must contain valid numbers only and have a value.";
			errField = "trailing_stop";
		} else if (!isNumeric(document.getElementById('stocks_1_bank').value) || document.getElementById('stocks_1_bank').value.length == 0 ||
			parseFloat(document.getElementById('stocks_1_bank').value) <= 0) {
			errMsg = "The bank must contain valid numbers only and have a value greater than zero.";
			errField = "stocks_1_bank";
		} else if (!isNumeric(document.getElementById('stocks_1_risk').value) || document.getElementById('stocks_1_risk').value.length == 0) {
			errMsg = "The risk must contain valid numbers only and have a value.";
			errField = "stocks_1_risk";
		} else if (!isNumeric(document.getElementById('stocks_1_margin').value) || document.getElementById('stocks_1_margin').value.length == 0) {
			errMsg = "The margin must contain valid numbers only and have a value.";
			errField = "stocks_1_margin";
		} else if (!isNumeric(document.getElementById('stocks_1_interest').value) || document.getElementById('stocks_1_interest').value.length == 0) {
			errMsg = "The interest must contain valid numbers only and have a value.";
			errField = "stocks_1_interest";
		} else if (!isNumeric(document.getElementById('stocks_1_b_age_1').value) || document.getElementById('stocks_1_b_age_1').value.length == 0) {
			errMsg = "The comm 1 must contain valid numbers only and have a value.";
			errField = "stocks_1_b_age_1";
		} else if (!isNumeric(document.getElementById('stocks_1_b_age_2').value) || document.getElementById('stocks_1_b_age_2').value.length == 0) {
			errMsg = "The comm 2 must contain valid numbers only and have a value.";
			errField = "stocks_1_b_age_2";
		}
	} else if (strReportType == "timers_long_1" || strReportType == "timers_long_short") {
		if (!isNumeric(document.getElementById('timers_1_bank').value) || document.getElementById('timers_1_bank').value.length == 0 ||
			parseFloat(document.getElementById('timers_1_bank').value) <= 0) {
			errMsg = "The bank must contain valid numbers only and have a value greater than zero.";
			errField = "timers_1_bank";
		} else if (!isNumeric(document.getElementById('timers_1_risk').value) || document.getElementById('timers_1_risk').value.length == 0) {
			errMsg = "The risk must contain valid numbers only and have a value.";
			errField = "timers_1_risk";
		} else if (!isNumeric(document.getElementById('timers_1_margin').value) || document.getElementById('timers_1_margin').value.length == 0) {
			errMsg = "The margin must contain valid numbers only and have a value.";
			errField = "timers_1_margin";
		} else if (!isNumeric(document.getElementById('timers_1_interest').value) || document.getElementById('timers_1_interest').value.length == 0) {
			errMsg = "The interest must contain valid numbers only and have a value.";
			errField = "timers_1_interest";
		} else if (!isNumeric(document.getElementById('timers_1_b_age_1').value) || document.getElementById('timers_1_b_age_1').value.length == 0) {
			errMsg = "The comm 1 must contain valid numbers only and have a value.";
			errField = "timers_1_b_age_1";
		} else if (!isNumeric(document.getElementById('timers_1_b_age_2').value) || document.getElementById('timers_1_b_age_2').value.length == 0) {
			errMsg = "The comm 2 must contain valid numbers only and have a value.";
			errField = "timers_1_b_age_2";
		} else if (!isNumeric(document.getElementById('timers_1_mmf').value) || document.getElementById('timers_1_mmf').value.length == 0) {
			errMsg = "The MMF must contain valid numbers only and have a value.";
			errField = "timers_1_mmf";
		}
	} else if (strReportType == "timers_long_3") {
		if (!isNumeric(document.getElementById('timers_3_bank').value) || document.getElementById('timers_3_bank').value.length == 0 ||
			parseFloat(document.getElementById('timers_3_bank').value) <= 0) {
			errMsg = "The bank must contain valid numbers only and have a value greater than zero.";
			errField = "timers_3_bank";
		} else if (!isNumeric(document.getElementById('timers_3_risk').value) || document.getElementById('timers_3_risk').value.length == 0) {
			errMsg = "The risk must contain valid numbers only and have a value.";
			errField = "timers_3_risk";
		} else if (!isNumeric(document.getElementById('timers_3_b_age_1').value) || document.getElementById('timers_3_b_age_1').value.length == 0) {
			errMsg = "The comm 1 must contain valid numbers only and have a value.";
			errField = "timers_3_b_age_1";
		} else if (!isNumeric(document.getElementById('timers_3_mmf').value) || document.getElementById('timers_3_mmf').value.length == 0) {
			errMsg = "The MMF must contain valid numbers only and have a value.";
			errField = "timers_3_mmf";
		}
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		alert(errMsg);
	} else {
		if (document.getElementById('report_name').value.length > 0 &&
			(((curReportType == "options_long_1" || curReportType == "options_spread" || curReportType == "options_spread_2") &&
			strReportType != "options_long_1" && strReportType != "options_spread" && strReportType != "options_spread_2") ||
			(curReportType != "options_long_1" && curReportType != "options_spread" && curReportType != "options_spread_2" && curReportType != strReportType))) {
			if (confirm(strConfirmMessage)) {
				document.getElementById('settings_form').submit();
			}
		} else {
			document.getElementById('settings_form').submit();
		}
	}
}

function checkDataForm()
{
	var errMsg = "";
	var errField = "";
	var tradeSelectionVal = "";
	var timerFieldLength = 0;

	if (document.data_form.tradeselection.length == undefined) {
		tradeSelectionVal = "new";
	} else {
		for (var i = 0; i < document.data_form.tradeselection.length; i++) {
			if (document.data_form.tradeselection[i].checked) {
				tradeSelectionVal = document.data_form.tradeselection[i].value;
			}
		}
	}

	/*if (((curReportType != "options_spread" && curReportType != "options_long_1") || document.getElementById('papertradetype').selectedIndex != 1) &&
		((curReportType == "options_short" && document.getElementById('credit').disabled == false) || curReportType != "options_short") &&
		((curReportType == "timers_long_1" && (document.getElementById('tradetype').checked == false ||
			document.getElementById('entry').value.length > 0 || document.getElementById('high').value.length > 0 ||
			document.getElementById('exit').value.length > 0 || document.getElementById('allocation').value.length > 0)) || curReportType != "timers_long_1") &&
		((curReportType == "timers_long_3" && (document.getElementById('tradetype').checked == false ||
			document.getElementById('entry').value.length > 0 ||
			document.getElementById('exit').value.length > 0 || document.getElementById('allocation').value.length > 0)) || curReportType != "timers_long_3") &&
		((curReportType == "timers_long_short" && (document.getElementById('tradetype').selectedIndex != 2 ||
			document.getElementById('entry').value.length > 0 || document.getElementById('high').value.length > 0 ||
			document.getElementById('exit').value.length > 0 || document.getElementById('allocation').value.length > 0)) || curReportType != "timers_long_short")) {
		if (document.getElementById('stock').value.length == 0) {
			errMsg = "The stock field must contain a value.";
			errField = "stock";
		}
	}*/

	if (errMsg.length <= 0) {
		if (curReportType == "options_spread_2" || curReportType == "options_spread_3" || (curReportType == "options_long_1" && document.getElementById('papertradetype').selectedIndex == 0)) {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			}
		} else if (curReportType == "options_long_1" && document.getElementById('papertradetype').selectedIndex == 1) {
			document.getElementById('sp_entry').value = document.getElementById('sp_entry').value.replace(/\$|,| /g,"");
			document.getElementById('sp_exit').value = document.getElementById('sp_exit').value.replace(/\$|,| /g,"");
			document.getElementById('sp_credit').value = document.getElementById('sp_credit').value.replace(/\$|,| /g,"");
			document.getElementById('sp_debit').value = document.getElementById('sp_debit').value.replace(/\$|,| /g,"");
			if (document.getElementById('sp_stock').value.length == 0) {
				errMsg = "The stock field must contain a value.";
				errField = "sp_stock";
			} else if (!isNumeric(document.getElementById('sp_entry').value) || document.getElementById('sp_entry').value.length == 0) {
				errMsg = "The upper strike value must contain valid numbers only and have a value.";
				errField = "sp_entry";
			} else if (!isNumeric(document.getElementById('sp_exit').value) || document.getElementById('sp_exit').value.length == 0) {
				errMsg = "The lower strike value must contain valid numbers only and have a value.";
				errField = "sp_exit";
			} else if (!isNumeric(document.getElementById('sp_credit').value) || document.getElementById('sp_credit').value.length == 0) {
				errMsg = "The credit value must contain valid numbers only and have a value.";
				errField = "sp_credit";
			} else if (!isNumeric(document.getElementById('sp_debit').value) || document.getElementById('sp_debit').value.length == 0) {
				document.getElementById('sp_debit').value = "0";
			} else if (!isValidTradeDate(document.getElementById('sp_entrydate').value) || document.getElementById('sp_entrydate').value.length == 0) {
				errMsg = "none";
				errField = "sp_entrydate";
			} else if (!isValidTradeDate(document.getElementById('sp_exitdate').value) || document.getElementById('sp_exitdate').value.length == 0) {
				errMsg = "none";
				errField = "sp_exitdate";
			} else if (Date.parse(document.getElementById('sp_exitdate').value) < Date.parse(document.getElementById('sp_entrydate').value)) {
				errMsg = "Entry date must be before or the same as the exit date.";
				errField = "sp_entrydate";
			}
		} else if (curReportType == "options_long_2") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('credit').value = document.getElementById('credit').value.replace(/\$|,| /g,"");
			document.getElementById('debit').value = document.getElementById('debit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The stock price value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The strike price value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('credit').value) || document.getElementById('credit').value.length == 0) {
				errMsg = "The credit value must contain valid numbers only and have a value.";
				errField = "credit";
			} else if (!isNumeric(document.getElementById('debit').value) || document.getElementById('debit').value.length == 0) {
				document.getElementById('debit').value = "0";
			}
		} else if (curReportType == "options_short" && document.getElementById('credit').disabled == false) {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('credit').value = document.getElementById('credit').value.replace(/\$|,| /g,"");
			document.getElementById('debit').value = document.getElementById('debit').value.replace(/\$|,| /g,"");
			document.getElementById('addcredit').value = document.getElementById('addcredit').value.replace(/\$|,| /g,"");
			document.getElementById('adddebit').value = document.getElementById('adddebit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('credit').value) || document.getElementById('credit').value.length == 0) {
				errMsg = "The initial credit value must contain valid numbers only and have a value.";
				errField = "credit";
			} else if (!isNumeric(document.getElementById('debit').value) || document.getElementById('debit').value.length == 0) {
				document.getElementById('debit').value = "0";
			} else if (!isNumeric(document.getElementById('addcredit').value)) {
				document.getElementById('debit').value = "0";
			} else if (!isNumeric(document.getElementById('adddebit').value)) {
				document.getElementById('debit').value = "0";
			}
		} else if (curReportType == "options_short" && document.getElementById('credit').disabled == true) {
			document.getElementById('addcredit').value = document.getElementById('addcredit').value.replace(/\$|,| /g,"");
			document.getElementById('adddebit').value = document.getElementById('adddebit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('addcredit').value) || document.getElementById('addcredit').value.length == 0) {
				errMsg = "The additional credit value must contain valid numbers only and have a value.";
				errField = "addcredit";
			} else if (!isNumeric(document.getElementById('adddebit').value) || document.getElementById('adddebit').value.length == 0) {
				document.getElementById('adddebit').value = "0";
			}
		} else if (curReportType == "options_spread" && document.getElementById('papertradetype').selectedIndex == 0) {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('credit').value = document.getElementById('credit').value.replace(/\$|,| /g,"");
			document.getElementById('debit').value = document.getElementById('debit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The upper strike value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The lower strike value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('credit').value) || document.getElementById('credit').value.length == 0) {
				errMsg = "The credit value must contain valid numbers only and have a value.";
				errField = "credit";
			} else if (!isNumeric(document.getElementById('debit').value) || document.getElementById('debit').value.length == 0) {
				document.getElementById('debit').value = "0";
			}
		} else if (curReportType == "options_spread" && document.getElementById('papertradetype').selectedIndex == 1) {
			document.getElementById('pc_entry').value = document.getElementById('pc_entry').value.replace(/\$|,| /g,"");
			document.getElementById('pc_exit').value = document.getElementById('pc_exit').value.replace(/\$|,| /g,"");
			if (document.getElementById('pc_stock').value.length == 0) {
				errMsg = "The stock field must contain a value.";
				errField = "pc_stock";
			} else if (!isNumeric(document.getElementById('pc_entry').value) || document.getElementById('pc_entry').value.length == 0) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "pc_entry";
			} else if (!isNumeric(document.getElementById('pc_exit').value) || document.getElementById('pc_exit').value.length == 0) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "pc_exit";
			} else if (!isValidTradeDate(document.getElementById('pc_entrydate').value) || document.getElementById('pc_entrydate').value.length == 0) {
				errMsg = "none";
				errField = "pc_entrydate";
			} else if (!isValidTradeDate(document.getElementById('pc_exitdate').value) || document.getElementById('pc_exitdate').value.length == 0) {
				errMsg = "none";
				errField = "pc_exitdate";
			} else if (Date.parse(document.getElementById('pc_exitdate').value) < Date.parse(document.getElementById('pc_entrydate').value)) {
				errMsg = "Entry date must be before or the same as the exit date.";
				errField = "pc_entrydate";
			}
		} else if (curReportType == "stocks_long") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('high').value = document.getElementById('high').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			}
		} else if (curReportType == "stocks_long_short") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('high').value = document.getElementById('high').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == 0) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == 0) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			}
		} else if (curReportType == "timers_long_1") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('high').value = document.getElementById('high').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('allocation').value = document.getElementById('allocation').value.replace(/%|,| /g,"");
			
			if (document.getElementById('allocation').value.length > 0 && isNumeric(document.getElementById('allocation').value) &&
				parseFloat(document.getElementById('allocation').value) >= 100 && document.getElementById('tradetype').checked == true)
				timerFieldLength = -1;
			else if (document.getElementById('entry').value.length > 0 || document.getElementById('high').value.length > 0 ||
				document.getElementById('exit').value.length > 0 || document.getElementById('allocation').value.length > 0 ||
				document.getElementById('stock').value.length > 0) {
				timerFieldLength = 0;
			}

			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == timerFieldLength) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == timerFieldLength) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('allocation').value) || document.getElementById('allocation').value.length == timerFieldLength) {
				errMsg = "The allocation value must contain valid numbers only and have a value.";
				errField = "allocation";
			}
			
			if (errMsg.length <= 0 &&
				document.getElementById('entry').value.length > 0 &&
				isNumeric(document.getElementById('entry').value) &&
				parseFloat(document.getElementById('entry').value) > 0 &&
				document.getElementById('exit').value.length > 0 &&
				isNumeric(document.getElementById('exit').value) &&
				parseFloat(document.getElementById('exit').value) > 0 &&
				document.getElementById('allocation').value.length > 0 &&
				isNumeric(document.getElementById('allocation').value) &&
				parseFloat(document.getElementById('allocation').value) < 100) {
				document.getElementById('tradetype').checked = true;
			}
		} else if (curReportType == "timers_long_short") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('high').value = document.getElementById('high').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('allocation').value = document.getElementById('allocation').value.replace(/%|,| /g,"");
			if (document.getElementById('allocation').value.length > 0 && isNumeric(document.getElementById('allocation').value) &&
				parseFloat(document.getElementById('allocation').value) >= 100 && document.getElementById('tradetype').selectedIndex == 2)
				timerFieldLength = -1;
			else if (document.getElementById('entry').value.length > 0 || document.getElementById('high').value.length > 0 ||
				document.getElementById('exit').value.length > 0 || document.getElementById('allocation').value.length > 0 ||
				document.getElementById('stock').value.length > 0) {
				timerFieldLength = 0;
			}

			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == timerFieldLength) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == timerFieldLength) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('allocation').value) || document.getElementById('allocation').value.length == timerFieldLength) {
				errMsg = "The allocation value must contain valid numbers only and have a value.";
				errField = "allocation";
			}
		} else if (curReportType == "timers_long_3") {
			document.getElementById('entry').value = document.getElementById('entry').value.replace(/\$|,| /g,"");
			document.getElementById('exit').value = document.getElementById('exit').value.replace(/\$|,| /g,"");
			document.getElementById('allocation').value = document.getElementById('allocation').value.replace(/%|,| /g,"");
			if (document.getElementById('tradetype').checked == true)
				timerFieldLength = -1;
			if (document.getElementById('entry').value.length > 0 || document.getElementById('exit').value.length > 0 ||
				document.getElementById('allocation').value.length > 0 || document.getElementById('stock').value.length > 0) {
				timerFieldLength = 0;
			}

			if (!isNumeric(document.getElementById('entry').value) || document.getElementById('entry').value.length == timerFieldLength) {
				errMsg = "The entry value must contain valid numbers only and have a value.";
				errField = "entry";
			} else if (!isNumeric(document.getElementById('exit').value) || document.getElementById('exit').value.length == timerFieldLength) {
				errMsg = "The exit value must contain valid numbers only and have a value.";
				errField = "exit";
			} else if (!isNumeric(document.getElementById('allocation').value) || document.getElementById('allocation').value.length == timerFieldLength) {
				errMsg = "The allocation value must contain valid numbers only and have a value.";
				errField = "allocation";
			}
			
			if (errMsg.length <= 0 &&
				document.getElementById('entry').value.length > 0 &&
				isNumeric(document.getElementById('entry').value) &&
				parseFloat(document.getElementById('entry').value) > 0 &&
				document.getElementById('exit').value.length > 0 &&
				isNumeric(document.getElementById('exit').value) &&
				parseFloat(document.getElementById('exit').value) > 0 &&
				document.getElementById('allocation').value.length > 0 &&
				isNumeric(document.getElementById('allocation').value) &&
				parseFloat(document.getElementById('allocation').value) < 100) {
				document.getElementById('tradetype').checked = true;
			}
		}
	}

	if (errMsg.length <= 0) {
		if (((curReportType != "options_spread" && curReportType != "options_long_1") || document.getElementById('papertradetype').selectedIndex != 1) &&
			((curReportType == "options_short" && document.getElementById('credit').disabled == false) || curReportType != "options_short")) {
			if (!isValidTradeDate(document.getElementById('entrydate').value) || document.getElementById('entrydate').value.length == 0) {
				errMsg = "none";
				errField = "entrydate";
			} else if (!isValidTradeDate(document.getElementById('exitdate').value) || document.getElementById('exitdate').value.length == 0) {
				errMsg = "none";
				errField = "exitdate";
			} else if (Date.parse(document.getElementById('exitdate').value) < Date.parse(document.getElementById('entrydate').value)) {
				errMsg = "Entry date must be before or the same as the exit date.";
				errField = "entrydate";
			}
		}
	}

	if (errMsg.length > 0) {
		document.getElementById(errField).focus();
		if (errMsg != "none")
			alert(errMsg);
	} else {
		if (document.getElementById('papertradetype')) {
			document.getElementById('papertradetype').disabled = false;
			if (curReportType == "options_spread") {
				document.getElementById('pc_stock').disabled = false;
			} else {
				document.getElementById('sp_stock').disabled = false;
			}
		}
		document.getElementById('stock').disabled = false;

		/*if (confirm('If this trade is closed, click OK.\nIf this trade is open, click CANCEL.')) {
			document.getElementById('closed_trade').value = "True";
		} else {
			document.getElementById('closed_trade').value = "False";
		}*/
		if (document.getElementById('ratio')) {
			document.getElementById('ratio').disabled = false;
		}
		document.getElementById('data_form').submit();
	}
}

function updateoptions_long_1(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strRollover)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
	document.getElementById('spread_div').style.display = "none";
	document.getElementById('putcall_div').style.display = "inline";
	document.getElementById('papertradetype').disabled = true;

	if (curReportType == "options_spread") {
		document.getElementById('papertradetype').selectedIndex = 1;

		document.getElementById('pc_stock').disabled = false;
		document.getElementById('pc_stock').style.background = "#fefea0";
		document.getElementById('pc_stock').value = strStockValue;
		document.getElementById('pc_entry').value = strEntryValue;
		document.getElementById('pc_entrydate').value = strEntryDateValue;
		document.getElementById('pc_exitdate').value = strExitDateValue;
		document.getElementById('pc_high').value = strHighValue;
		document.getElementById('pc_exit').value = strExitValue;
		if (strRollover == "Yes") {
			document.getElementById('pc_rollover').value = "true";
			document.getElementById('pc_stock').disabled = true;
			document.getElementById('pc_stock').style.background = "#d4d0c8";
		} else {
			document.getElementById('pc_rollover').value = "false";
		}
	} else {
		document.getElementById('papertradetype').selectedIndex = 0;

		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('stock').value = strStockValue;
		document.getElementById('entry').value = strEntryValue;
		document.getElementById('entrydate').value = strEntryDateValue;
		document.getElementById('exitdate').value = strExitDateValue;
		document.getElementById('high').value = strHighValue;
		document.getElementById('exit').value = strExitValue;
		if (strRollover == "Yes") {
			document.getElementById('rollover').value = "true";
			document.getElementById('stock').disabled = true;
			document.getElementById('stock').style.background = "#d4d0c8";
		} else {
			document.getElementById('rollover').value = "false";
		}
	}
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updateoptions_spread_2(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strRollover)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
	document.getElementById('spread_div').style.display = "none";
	document.getElementById('putcall_div').style.display = "inline";

	document.getElementById('stock').disabled = false;
	document.getElementById('stock').style.background = "#fefea0";
	document.getElementById('stock').value = strStockValue;
	document.getElementById('entry').value = strEntryValue;
	document.getElementById('entrydate').value = strEntryDateValue;
	document.getElementById('exitdate').value = strExitDateValue;
	document.getElementById('high').value = strHighValue;
	document.getElementById('exit').value = strExitValue;
	if (strRollover == "Yes") {
		document.getElementById('rollover').value = "true";
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
	} else {
		document.getElementById('rollover').value = "false";
	}
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updateoptions_spread_3(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strRollover, strRatio)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
	document.getElementById('spread_div').style.display = "none";
	document.getElementById('putcall_div').style.display = "inline";

	document.getElementById('ratio').disabled = false;
	document.getElementById('ratio').style.background = "#fefea0";
	document.getElementById('stock').disabled = false;
	document.getElementById('stock').style.background = "#fefea0";
	document.getElementById('stock').value = strStockValue;
	document.getElementById('entry').value = strEntryValue;
	document.getElementById('entrydate').value = strEntryDateValue;
	document.getElementById('exitdate').value = strExitDateValue;
	document.getElementById('high').value = strHighValue;
	document.getElementById('exit').value = strExitValue;
	document.getElementById('ratio').selectedIndex = strRatio - 1;
	if (strRollover == "Yes") {
		document.getElementById('rollover').value = "true";
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('ratio').disabled = true;
		document.getElementById('ratio').style.background = "#d4d0c8";
	} else {
		document.getElementById('rollover').value = "false";
	}
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updateoptions_long_2(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strExitValue, strCreditValue, strDebitValue)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('exit').value = strExitValue;
    document.getElementById('credit').value = strCreditValue;
    document.getElementById('debit').value = strDebitValue;
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updateoptions_short(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strExitValue, strCreditValue, strDebitValue, strAddCreditValue, strAddDebitValue, strExerciseValue)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('exit').value = strExitValue;
    document.getElementById('credit').value = strCreditValue;
    document.getElementById('debit').value = strDebitValue;
    document.getElementById('addcredit').value = strAddCreditValue;
    document.getElementById('adddebit').value = strAddDebitValue;
    if (strExerciseValue == "Yes") {
		document.getElementById('exercise').checked = true;
	} else {
		document.getElementById('exercise').checked = false;
	}

    document.getElementById('stock').disabled = false;
	document.getElementById('stock').style.background = "#fefea0";
    document.getElementById('entry').disabled = false;
	document.getElementById('entry').style.background = "#fefea0";
    document.getElementById('exit').disabled = false;
	document.getElementById('exit').style.background = "#fefea0";
    document.getElementById('credit').disabled = false;
	document.getElementById('credit').style.background = "#fefea0";
    document.getElementById('debit').disabled = false;
	document.getElementById('debit').style.background = "#fefea0";
    document.getElementById('entrydate').disabled = false;
	document.getElementById('entrydate').style.background = "#fefea0";
    document.getElementById('exitdate').disabled = false;
	document.getElementById('exitdate').style.background = "#fefea0";
	document.getElementById('exercise').disabled = false;
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updateoptions_spread(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strExitValue, strCreditValue, strDebitValue, strCondor, strRollover)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
	document.getElementById('spread_div').style.display = "inline";
	document.getElementById('putcall_div').style.display = "none";
	document.getElementById('papertradetype').disabled = true;

	if (curReportType == "options_long_1") {
		document.getElementById('papertradetype').selectedIndex = 1;

		document.getElementById('sp_stock').disabled = false;
		document.getElementById('sp_stock').style.background = "#fefea0";
		document.getElementById('sp_stock').value = strStockValue;
		document.getElementById('sp_entry').value = strEntryValue;
		document.getElementById('sp_entrydate').value = strEntryDateValue;
		document.getElementById('sp_exitdate').value = strExitDateValue;
		document.getElementById('sp_exit').value = strExitValue;
		document.getElementById('sp_credit').value = strCreditValue;
		document.getElementById('sp_debit').value = strDebitValue;
		if (strCondor == "Yes" && document.getElementById('sp_condor') != null) {
			document.getElementById('sp_condor').checked = true;
		} else if (document.getElementById('sp_condor') != null) {
			document.getElementById('sp_condor').checked = false;
		}
		if (strRollover == "Yes") {
			document.getElementById('sp_rollover').value = "true";
		} else {
			document.getElementById('sp_rollover').value = "false";
		}
	} else {
		document.getElementById('papertradetype').selectedIndex = 0;

		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('stock').value = strStockValue;
		document.getElementById('entry').value = strEntryValue;
		document.getElementById('entrydate').value = strEntryDateValue;
		document.getElementById('exitdate').value = strExitDateValue;
		document.getElementById('exit').value = strExitValue;
		document.getElementById('credit').value = strCreditValue;
		document.getElementById('debit').value = strDebitValue;
		if (strCondor == "Yes" && document.getElementById('condor') != null) {
			document.getElementById('condor').checked = true;
		} else if (document.getElementById('condor') != null) {
			document.getElementById('condor').checked = false;
		}
		if (strRollover == "Yes") {
			document.getElementById('rollover').value = "true";
		} else {
			document.getElementById('rollover').value = "false";
		}
	}
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updatestocks_long(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('high').value = strHighValue;
    document.getElementById('exit').value = strExitValue;
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updatestocks_long_short(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strTradeType)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('high').value = strHighValue;
    document.getElementById('exit').value = strExitValue;
    if (strTradeType == "Long") {
		document.getElementById('tradetype').selectedIndex = 0;
	} else {
		document.getElementById('tradetype').selectedIndex = 1;
	}
	
	document.getElementById('submitval').selectedIndex = 1
	document.getElementById('submitval2').selectedIndex = 1;}

function updatetimers_long_1(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strAllocation, strTradeType)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('high').value = strHighValue;
    document.getElementById('exit').value = strExitValue;
    document.getElementById('allocation').value = strAllocation;
    if (strTradeType == "MMF") {
		document.getElementById('tradetype').checked = true;
	} else {
		document.getElementById('tradetype').checked = false;
	}
	//checkMMFField(false, strAllocation);
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updatetimers_long_short(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strHighValue, strExitValue, strAllocation, strTradeType)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('high').value = strHighValue;
    document.getElementById('exit').value = strExitValue;
    document.getElementById('allocation').value = strAllocation;
    if (strTradeType == "Long") {
		document.getElementById('tradetype').selectedIndex = 0;
	} else if (strTradeType == "Short") {
		document.getElementById('tradetype').selectedIndex = 1;
	} else {
		document.getElementById('tradetype').selectedIndex = 2;
	}
	//checkMMFField(true, strAllocation);
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function updatetimers_long_3(bolClosed, strStockValue, strEntryValue, strEntryDateValue, strExitDateValue, strExitValue, strAllocation, strTradeType)
{
	if (bolClosed) {
		document.getElementById('closed_trade_open').checked = false;
		document.getElementById('closed_trade_closed').checked = true;
	} else {
		document.getElementById('closed_trade_open').checked = true;
		document.getElementById('closed_trade_closed').checked = false;
	}
    document.getElementById('stock').value = strStockValue;
    document.getElementById('entry').value = strEntryValue;
    document.getElementById('entrydate').value = strEntryDateValue;
    document.getElementById('exitdate').value = strExitDateValue;
    document.getElementById('exit').value = strExitValue;
    document.getElementById('allocation').value = strAllocation;
    if (strTradeType == "MMF") {
		document.getElementById('tradetype').checked = true;
	} else {
		document.getElementById('tradetype').checked = false;
	}
	//checkMMFField(false, strAllocation);
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function tieToTrade(tradeType, stockSymbol, ratioValue)
{
	var time=new Date();
	var month=time.getMonth() + 1;
	var day=time.getDate();
	var year=time.getYear();
	if (year < 2000)
		year += 1900;

    if (tradeType == "options_long_1" && curReportType == "options_spread") {
		document.getElementById('papertradetype').selectedIndex = 1;
		document.getElementById('papertradetype').disabled = true;

		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";

		document.getElementById('pc_stock').value = stockSymbol;
		document.getElementById('pc_stock').disabled = true;
		document.getElementById('pc_stock').style.background = "#d4d0c8";
		document.getElementById('pc_entry').value = "";
		document.getElementById('pc_high').value = "";
		document.getElementById('pc_exit').value = "";
		document.getElementById('pc_rollover').value = "true";
		document.getElementById('pc_entrydate').value = "";
		document.getElementById('pc_exitdate').value = month + "/" + day + "/" + year;
    } else if (tradeType == "options_long_1" && curReportType == "options_long_1") {
		document.getElementById('papertradetype').selectedIndex = 0;
		document.getElementById('papertradetype').disabled = true;

		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";

		document.getElementById('stock').value = stockSymbol;
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('entry').value = "";
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('rollover').value = "true";
		document.getElementById('entrydate').value = "";
		document.getElementById('exitdate').value = month + "/" + day + "/" + year;
    } else if (tradeType == "options_spread_2") {
		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";

		document.getElementById('stock').value = stockSymbol;
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('entry').value = "";
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('rollover').value = "true";
		document.getElementById('entrydate').value = "";
		document.getElementById('exitdate').value = month + "/" + day + "/" + year;
    } else if (tradeType == "options_spread_3") {
		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";

		document.getElementById('stock').value = stockSymbol;
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('ratio').disabled = true;
		document.getElementById('ratio').style.background = "#d4d0c8";
		document.getElementById('entry').value = "";
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('ratio').selectedIndex = ratioValue - 1
		document.getElementById('rollover').value = "true";
		document.getElementById('entrydate').value = "";
		document.getElementById('exitdate').value = month + "/" + day + "/" + year;
    } else if (tradeType == "options_short") {
		document.getElementById('stock').value = "";
		document.getElementById('entry').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('credit').value = "";
		document.getElementById('debit').value = "";
		document.getElementById('addcredit').value = "";
		document.getElementById('adddebit').value = "";
		document.getElementById('entrydate').value = "";
		document.getElementById('exitdate').value = "";
		document.getElementById('exercise').checked = false;

		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('entry').disabled = true;
		document.getElementById('entry').style.background = "#d4d0c8";
		document.getElementById('exit').disabled = true;
		document.getElementById('exit').style.background = "#d4d0c8";
		document.getElementById('credit').disabled = true;
		document.getElementById('credit').style.background = "#d4d0c8";
		document.getElementById('debit').disabled = true;
		document.getElementById('debit').style.background = "#d4d0c8";
		document.getElementById('entrydate').disabled = true;
		document.getElementById('entrydate').style.background = "#d4d0c8";
		document.getElementById('exitdate').disabled = true;
		document.getElementById('exitdate').style.background = "#d4d0c8";
		document.getElementById('exercise').disabled = true;
    } else if (tradeType == "options_spread" && curReportType == "options_long_1") {
		document.getElementById('papertradetype').selectedIndex = 1;
		document.getElementById('papertradetype').disabled = true;

		document.getElementById('spread_div').style.display = "inline";
		document.getElementById('putcall_div').style.display = "none";

		document.getElementById('sp_stock').value = stockSymbol;
		document.getElementById('sp_stock').disabled = true;
		document.getElementById('sp_stock').style.background = "#d4d0c8";
		document.getElementById('sp_entry').value = "";
		document.getElementById('sp_exit').value = "";
		document.getElementById('sp_credit').value = "";
		document.getElementById('sp_debit').value = "";
		if (document.getElementById('sp_condor') != null) {
			document.getElementById('sp_condor').checked = false;
		}
		document.getElementById('sp_rollover').value = "true";
		document.getElementById('sp_entrydate').value = "";
		document.getElementById('sp_exitdate').value = month + "/" + day + "/" + year;
    } else if (tradeType == "options_spread" && curReportType == "options_spread") {
		document.getElementById('papertradetype').selectedIndex = 0;
		document.getElementById('papertradetype').disabled = true;

		document.getElementById('spread_div').style.display = "inline";
		document.getElementById('putcall_div').style.display = "none";

		document.getElementById('stock').value = stockSymbol;
		document.getElementById('stock').disabled = true;
		document.getElementById('stock').style.background = "#d4d0c8";
		document.getElementById('entry').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('credit').value = "";
		document.getElementById('debit').value = "";
		if (document.getElementById('condor') != null) {
			document.getElementById('condor').checked = false;
		}
		document.getElementById('rollover').value = "true";
		document.getElementById('entrydate').value = "";
		document.getElementById('exitdate').value = month + "/" + day + "/" + year;
    }
	
	document.getElementById('submitval').selectedIndex = 0;
	document.getElementById('submitval2').selectedIndex = 0;
}

function updateAdditionalCreditDebit(strAddCreditValue, strAddDebitValue)
{
    document.getElementById('addcredit').value = strAddCreditValue;
    document.getElementById('adddebit').value = strAddDebitValue;
    document.getElementById('stock').value = "";
    document.getElementById('entry').value = "";
    document.getElementById('exit').value = "";
    document.getElementById('credit').value = "";
    document.getElementById('debit').value = "";
    document.getElementById('entrydate').value = "";
    document.getElementById('exitdate').value = "";
    document.getElementById('exercise').checked = false;

    document.getElementById('stock').disabled = true;
	document.getElementById('stock').style.background = "#d4d0c8";
	document.getElementById('entry').disabled = true;
	document.getElementById('entry').style.background = "#d4d0c8";
	document.getElementById('exit').disabled = true;
	document.getElementById('exit').style.background = "#d4d0c8";
	document.getElementById('credit').disabled = true;
	document.getElementById('credit').style.background = "#d4d0c8";
	document.getElementById('debit').disabled = true;
	document.getElementById('debit').style.background = "#d4d0c8";
	document.getElementById('entrydate').disabled = true;
	document.getElementById('entrydate').style.background = "#d4d0c8";
	document.getElementById('exitdate').disabled = true;
	document.getElementById('exitdate').style.background = "#d4d0c8";
    document.getElementById('exercise').disabled = true;
	
	document.getElementById('submitval').selectedIndex = 1;
	document.getElementById('submitval2').selectedIndex = 1;
}

function newTrade()
{
	var time=new Date();
	var month=time.getMonth() + 1;
	var day=time.getDate();
	var year=time.getYear();
	if (year < 2000)
		year += 1900;

    document.getElementById('stock').value = "";
    document.getElementById('entry').value = "";

    if (curReportType == "options_long_1") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('rollover').value = "false";

		document.getElementById('papertradetype').selectedIndex = 0;
		document.getElementById('papertradetype').disabled = false;
		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('sp_stock').disabled = false;
		document.getElementById('sp_stock').style.background = "#fefea0";

		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";

		document.getElementById('sp_stock').value = "";
		document.getElementById('sp_entry').value = "";
		document.getElementById('sp_exit').value = "";
		document.getElementById('sp_credit').value = "";
		document.getElementById('sp_debit').value = "";
		if (document.getElementById('sp_condor') != null) {
			document.getElementById('sp_condor').checked = false;
		}
		document.getElementById('sp_rollover').value = "false";
		document.getElementById('sp_entrydate').value = "";
		document.getElementById('sp_exitdate').value = month + "/" + day + "/" + year;
    } else if (curReportType == "options_spread_2") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('rollover').value = "false";
		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		
		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";
    } else if (curReportType == "options_spread_3") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('rollover').value = "false";
		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('ratio').selectedIndex = 0;
		document.getElementById('ratio').disabled = false;
		document.getElementById('ratio').style.background = "#fefea0";
		
		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";
    } else if (curReportType == "options_long_2") {
		document.getElementById('exit').value = "";
		document.getElementById('credit').value = "";
		document.getElementById('debit').value = "";
    } else if (curReportType == "options_short") {
		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('entry').disabled = false;
		document.getElementById('entry').style.background = "#fefea0";
		document.getElementById('exit').disabled = false;
		document.getElementById('exit').style.background = "#fefea0";
		document.getElementById('credit').disabled = false;
		document.getElementById('credit').style.background = "#fefea0";
		document.getElementById('debit').disabled = false;
		document.getElementById('debit').style.background = "#fefea0";
		document.getElementById('exercise').disabled = false;
		document.getElementById('entrydate').disabled = false;
		document.getElementById('entrydate').style.background = "#fefea0";
		document.getElementById('exitdate').disabled = false;
		document.getElementById('exitdate').style.background = "#fefea0";
		document.getElementById('exit').value = "";
		document.getElementById('credit').value = "";
		document.getElementById('debit').value = "";
		document.getElementById('addcredit').value = "";
		document.getElementById('adddebit').value = "";
		document.getElementById('exercise').checked = false;
    } else if (curReportType == "options_spread") {
		document.getElementById('exit').value = "";
		document.getElementById('credit').value = "";
		document.getElementById('debit').value = "";
		if (document.getElementById('condor') != null) {
			document.getElementById('condor').checked = false;
		}
		document.getElementById('rollover').value = "false";

		document.getElementById('papertradetype').selectedIndex = 0;
		document.getElementById('papertradetype').disabled = false;
		document.getElementById('stock').disabled = false;
		document.getElementById('stock').style.background = "#fefea0";
		document.getElementById('pc_stock').disabled = false;
		document.getElementById('pc_stock').style.background = "#fefea0";

		document.getElementById('spread_div').style.display = "inline";
		document.getElementById('putcall_div').style.display = "none";

		document.getElementById('pc_stock').value = "";
		document.getElementById('pc_entry').value = "";
		document.getElementById('pc_high').value = "";
		document.getElementById('pc_exit').value = "";
		document.getElementById('pc_rollover').value = "false";
		document.getElementById('pc_entrydate').value = "";
		document.getElementById('pc_exitdate').value = month + "/" + day + "/" + year;
    } else if (curReportType == "stocks_long") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
    } else if (curReportType == "stocks_long_short") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('tradetype').selectedIndex = 0;
    } else if (curReportType == "timers_long_1") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('allocation').value = "";
		document.getElementById('tradetype').checked = false;
    } else if (curReportType == "timers_long_short") {
		document.getElementById('high').value = "";
		document.getElementById('exit').value = "";
		document.getElementById('allocation').value = "";
		document.getElementById('tradetype').selectedIndex = 0;
    } else if (curReportType == "timers_long_3") {
		document.getElementById('exit').value = "";
		document.getElementById('allocation').value = "";
		document.getElementById('tradetype').checked = false;
    }

    document.getElementById('entrydate').value = "";
    document.getElementById('exitdate').value = month + "/" + day + "/" + year;
	
	document.getElementById('submitval').selectedIndex = 0;
	document.getElementById('submitval2').selectedIndex = 0;
}

function changeTradeType(tradeType)
{
    if (tradeType == "options_spread") {
		document.getElementById('spread_div').style.display = "inline";
		document.getElementById('putcall_div').style.display = "none";
    } else {
		document.getElementById('spread_div').style.display = "none";
		document.getElementById('putcall_div').style.display = "inline";
    }
}

function deleteTrade(tradeID)
{
	if (confirm('Are you sure?')) {
		document.getElementById('tradeid').value = tradeID;
		document.getElementById('delete_trade').submit();
	}
}

function isValidTradeDate(dateStr) {
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat);

    if (matchArray == null) {
		alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
		return false;
    }

    month = matchArray[1];
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) {
		alert("Month must be between 1 and 12.");
		return false;
    }

    if (day < 1 || day > 31) {
		alert("Day must be between 1 and 31.");
		return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert("Month "+month+" doesn`t have 31 days!")
		return false;
    }

    if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			alert("February " + year + " doesn`t have " + day + " days!");
			return false;
		}
    }
    return true;
}

function ptShowExp() {
	if (document.getElementById('expbox').style.display == 'inline') {
		document.getElementById('expboxlink').innerHTML = '<img border="0" src="/images/page_buttons/show_explanations_button.jpg">';
		document.getElementById('expbox').style.display = 'none';
	} else {
		document.getElementById('expboxlink').innerHTML = '<img border="0" src="/images/page_buttons/hide_explanations_button.jpg">';
		document.getElementById('expbox').style.display = 'inline';
	}
}

function checkMMFField(bolDropdown, curValue) {
	var tempValue = 0;
	if (isNumeric(curValue)) {
		tempValue = parseFloat(curValue);
		if (bolDropdown) {
			if (tempValue >= 100) {
				if (document.getElementById('tradetype').selectedIndex == 2)
					document.getElementById('tradetype').selectedIndex = 0;

				document.getElementById('tradetype').options.length = 2;
			} else {
				if (document.getElementById('tradetype').options.length <= 2) {
					document.getElementById('tradetype').options.add(new Option('MMF', 'MMF'));
				}
			}
		} else {
			if (tempValue >= 100) {
				document.getElementById('tradetype').checked = false;
				document.getElementById('tradetype').disabled = true;
			} else {
				document.getElementById('tradetype').disabled = false;
			}
		}
	}
}