function windowOnLoad(f) {
	var prev = window.onload;
	window.onload = function() {
		if (prev)
			prev();
		f();
	}
}

function ChangeAccTypes(pFld, pVal) {
	var lFld = document.getElementById(pFld);
	
	var real = document.getElementById('real');
	var demo = document.getElementById('demo');
	var portfolio = document.getElementById('portfolio_type');
	var account_type = document.getElementById('account_type');
	var demo_account_type = document.getElementById('demo_account_type');
	var demo_margin = document.getElementById('demo_margin_type');
	
	if (pVal) {
		lFld.value = pVal;
		var major_acc_type = lFld.options[pVal].value;
	} else {
		var major_acc_type = lFld.options[lFld.selectedIndex].value;
		if (major_acc_type == 1) {
			var account_type_val = account_type.options[account_type.selectedIndex].value;
		} else if (major_acc_type == 2) {
			var demo_margin_val = demo_account_type.options[demo_account_type.selectedIndex].value;
		}
	}
	
	if (major_acc_type == 1) {
		if (account_type_val == 5) {
			portfolio.style.display = 'block';
		} else {
			portfolio.style.display = 'none';
		}
		real.style.display = 'block';
		demo.style.display = 'none';
		demo_margin.style.display = 'none';
	} else if (major_acc_type == 2) {
		if (demo_margin_val == 6 || demo_margin_val == 9) {
			demo_margin.style.display = 'block';
		} else {
			demo_margin.style.display = 'none';
		}
		demo.style.display = 'block';
		real.style.display = 'none';
		portfolio.style.display = 'none';
	} else {
		demo.style.display = 'none';
		real.style.display = 'none';
		portfolio.style.display = 'none';
		demo_margin.style.display = 'none';
	}
}

function ChangeDemoTypes(pFld) {
	var lFld = document.getElementById(pFld);
	var demo_account = lFld.options[lFld.selectedIndex].value;
	var demo_margin = document.getElementById('demo_margin_type');
	
	if (demo_account == 6 || demo_account == 9) {
		demo_margin.style.display = 'block';
	} else {
		demo_margin.style.display = 'none';
	}
}

function ChangePortfolioTypes(pFld) {
	var lFld = document.getElementById(pFld);
	var account_type = lFld.options[lFld.selectedIndex].value;
	var portfolio = document.getElementById('portfolio_type');
	
	if (account_type == 5) {
		portfolio.style.display = 'block';
	} else {
		portfolio.style.display = 'none';
	}
}

function DisplayAccTypes() {
	ChangeAccTypes('major_account_type', null);
}

function DisplayRealAcc() {
	ChangeAccTypes('major_account_type', 1);
}

function ChangeFirmInfo(pFld) {
	var lFld = document.getElementById(pFld);
	var ctype = lFld.options[lFld.selectedIndex].value;
	var firm_info = document.getElementById('firm_info');
	var representative = document.getElementById('representative');
	
	if (ctype == 1) {
		firm_info.style.display = 'none';
		representative.style.display = 'none';
	} else if (ctype == 2) {
		firm_info.style.display = 'block';
		representative.style.display = 'block';
	} else {
		firm_info.style.display = 'none';
		representative.style.display = 'none';
	}
}

function DisplayFirmInfo() {
	ChangeFirmInfo('client_type');
}


function SetAllCheckBoxes(pForm, pID, pDirection) {
	var form = document.forms[pForm];
	
	for (var i=0; i < form.elements.length; i++) {
		if (pID && pDirection == 'h') {
			var lPattern = 'l' + pID + '\\[\\]$';
			var lMatch = new RegExp(lPattern).test(form.elements[i].name);
			if (lMatch) {
				if (form.elements[i].checked == true) {
					form.elements[i].checked = false;
				} else {
					form.elements[i].checked = true;
				}
			}
		} else if (pID && pDirection == 'v') {
			var lPattern = '^c' + pID + '\\_';
			var lMatch = new RegExp(lPattern).test(form.elements[i].name);
			if (lMatch) {
				if (form.elements[i].checked == true) {
					form.elements[i].checked = false;
				} else {
					form.elements[i].checked = true;
				}
			}
		}
	}
}
