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 contest = document.getElementById('contest');
	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');
	var demo_margin_selected = document.getElementById('demo_margin_selected');
	
	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;
		}
	}
	
	demo.style.display = 'none';
	real.style.display = 'none';
	contest.style.display = 'none';
	portfolio.style.display = 'none';
	demo_margin.style.display = 'none';
	demo_margin_selected.style.display = 'none';
	
	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 if (major_acc_type == 3) {
		contest.style.display = 'block';
		demo.style.display = 'none';
		real.style.display = 'none';
		portfolio.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');
	var demo_margin_selected = document.getElementById('demo_margin_selected');
	var demo_forex_cfd = document.getElementById('demo_forex_cfd');
	var demo_bulgarian_stock_exchange = document.getElementById('demo_bulgarian_stock_exchange');
	var macedonian_stock_exchange = document.getElementById('macedonian_stock_exchange');
	var full = document.getElementById('full');
	
	demo_forex_cfd.className = 'display_none';
	demo_bulgarian_stock_exchange.className = 'display_none';
	macedonian_stock_exchange.className = 'display_none';
	full.className = 'display_none';
	demo_margin.style.display = 'none';
	demo_margin_selected.style.display = 'none';
	
	switch(demo_account) {
		case '6':
			demo_margin.style.display = 'block';
			demo_forex_cfd.className = '';
			break;
		case '7':
			demo_bulgarian_stock_exchange.className = '';
			demo_margin_selected.style.display = 'block';
			break;
		case '8':
			macedonian_stock_exchange.className = '';
			demo_margin_selected.style.display = 'block';
			break;
		case '9':
			demo_margin.style.display = 'block';
			full.className = '';
			break;
	}
}

function ChangePortfolioTypes(pFld) {
	var lFld = document.getElementById(pFld);
	var account_type = lFld.options[lFld.selectedIndex].value;
	var portfolio = document.getElementById('portfolio_type');
	var forex_selected_systems = document.getElementById('forex_selected_systems');
	var forex_cfd = document.getElementById('forex_cfd');
	var bulgarian_stock_exchange = document.getElementById('bulgarian_stock_exchange');
	var international_stocks_futures_options = document.getElementById('international_stocks_futures_options');
	
	forex_selected_systems.className = 'display_none';
	forex_cfd.className = 'display_none';
	bulgarian_stock_exchange.className = 'display_none';
	international_stocks_futures_options.className = 'display_none';
	portfolio.style.display = 'none';
	
	switch(account_type) {
		case '1':
			forex_selected_systems.className = '';
			break;
		case '2':
			forex_cfd.className = '';	
			break;
		case '3':
			bulgarian_stock_exchange.className = '';
			break;
		case '4':
			international_stocks_futures_options.className = '';
			break;
		case '5':
			portfolio.style.display = 'block';
			break;
	}
}

function DisplayPortfolioInfo(pFld) {
	var lFld = document.getElementById(pFld);
	var portfolio_type = lFld.options[lFld.selectedIndex].value;
	var safe = document.getElementById('safe');
	var extreme = document.getElementById('extreme');
	var conservative = document.getElementById('conservative');
	var balanced = document.getElementById('balanced');
	var aggressive = document.getElementById('aggressive');
	
	safe.className = 'display_none';
	extreme.className = 'display_none';
	conservative.className = 'display_none';
	balanced.className = 'display_none';
	aggressive.className = 'display_none';
	
	switch(portfolio_type) {
		case '1':
			safe.className = '';
			break;
		case '2':
			extreme.className = '';
			break;
		case '3':
			conservative.className = '';
			break;
		case '4':
			balanced.className = '';
			break;
		case '5':
			aggressive.className = '';
			break;
	}
}

function AlreadyBeenHere() {
	ChangeAccTypes('major_account_type', null);
	DisplayPortfolioInfo('portfolio_type_select');
	ChangePortfolioTypes('account_type');
	ChangeDemoTypes('demo_account_type');
}

function FirstTimeHere() {
	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;
				}
			}
		}
	}
}

function citizenshipChanges(pId, pVal, pOldVal, pNewVal) {
	var lElm = document.getElementById(pId);
	var lCcondition;
	
	if (typeof pVal === 'undefined' || pVal == null) {
		var lFld = document.getElementById('citizenship');
		var lCcondition = lFld.options[lFld.selectedIndex].value;
		
	} else {
		lCcondition = pVal;
	}
	
	if (lCcondition == 'Bulgaria') {
		lElm.innerHTML = pOldVal;
	} else {
		lElm.innerHTML = pNewVal;
	}
	return false;
}
