<!--

function requestEnv(action, requestObj)
{
	var acct = (top.accountNumber== "null" || top.accountNumber== null)?"":top.accountNumber;
	var aTok = top.authToken;
	if(action)
	{
		var request = "<EZMessage action='" + action +"'><data><authToken>" + aTok + "</authToken>"
		switch(action)
		{
			case "auth.keepAlive":
				request += "";
			break;		
			case "auth.login":
				request += "<userName>" + requestObj.un + "</userName>";
				request += "<password>" + requestObj.pw + "</password>";
			break;
			case "auth.logout":
				request += "";
			break;
			case "account.info":
				if(requestObj)
				{
					if(requestObj.primaryAccount)
						request += "<primaryAccount>" + requestObj.primaryAccount + "</primaryAccount>";
				}
			break;
			case "account.positions":
				request += "<account>" +acct + "</account>";
				if(requestObj)
				{
					if(requestObj.csv)
					{
						request += "<csv>" + requestObj.csv  + "</csv>";
					}
				}
			break;
			case "echo":
				var echo = (requestObj)?requestObj.echo + "<pathName>" + (top.makePath()) + "</pathName>":"<pathName>" + (top.makePath()) + "</pathName>";
				request += "<echo>" + echo + "</echo>";		
			break;
			case "news.symbol":
				var sym = (requestObj)?requestObj.symbol: top.defaultSymbol;	
				request +=	"<symbol>" + sym  + "</symbol>";
				if(acct != null && acct != "null" && acct != "")
				{
					request +=	"<account>" + acct + "</account>";
				}
			break;
			case "account.cash":
				request += "<account>" +acct + "</account><portfolio>true</portfolio>";
				request += "<historical>true</historical>";
			break;			
			case "view.quote":
				if(requestObj.secKey)
				{
					request += 	"<securityKey>" + requestObj.secKey + "</securityKey>";
					request +=	"<account>" + acct + "</account>";
				}
				else
				{
					var desc = (requestObj)?requestObj.desc:"true";
					var sym = (requestObj)?requestObj.symbol: top.defaultSymbol;
					request +=	"<description>" + desc + "</description>" +
								"<fundamentals>true</fundamentals>" +
								"<bs>true</bs>" +
								"<symbol>" + sym  + "</symbol>" +
								"<account>" + acct + "</account>";
					if(requestObj.newSymbol == true)
					{
						request += "<setDefault>" + top.defaultSymbol + "</setDefault>";
					}
				}
			break;
			case "account.symbol.netDelta":
				var sym = (requestObj)?(requestObj.symbol)?requestObj.symbol:(requestObj.sym)?requestObj.sym:top.defaultSymbol:top.defaultSymbol;
				request +=	"<symbol>" + sym  + "</symbol>";
				request += 	"<account>" +acct + "</account>";
			break;
			case "account.symbol.positions":
				var sym = (requestObj)?(requestObj.symbol)?requestObj.symbol:(requestObj.sym)?requestObj.sym:top.defaultSymbol:top.defaultSymbol;
				request += "<symbol>" + sym  + "</symbol>";
				request += "<account>" + acct + "</account>";				
			break;
			case "account.disclaimer":
				var curTime = (requestObj)?requestObj.curTime:'';				
				if(acct)
				{
					request += "<account>" +acct + "</account>";
				}				
				if(requestObj.disclaimerType=='optionsWarning')
				{				
					request += "<optionsWarningAcceptVersion>"+ gv('optionsCurrentVersion') +"</optionsWarningAcceptVersion>";
				}
				else if(requestObj.disclaimerType=='toolsWarning')
				{
					request += "<toolsWarningAcceptVersion>"+ gv('toolsCurrentVersion') +"</toolsWarningAcceptVersion>";
				}
				else if(requestObj.disclaimerType=='rfqWarning')
				{
					request += "<rfqWarningAcceptVersion>"+ gv('rfqCurrentVersion') +"</rfqWarningAcceptVersion>";
				}
			break;
			case "hotlist.today":
					request += "<account>" + acct + "</account>";
					request += "<top>" + requestObj.top + "</top>";
			break;
			case "hotlist.industry.list":
					request += "<account>" + acct + "</account>";
			break;			
			case "hotlist.industry":
					request += "<account>" + acct + "</account>";
					request += "<industryCode>" + requestObj.industryCode + "</industryCode>";
					request += "<top>" + requestObj.top + "</top>";
			break;
			case "watchlist.list":
					request += "<account>" + acct + "</account>";
			break;
			case "watchlist.watch":
					request += "<account>" + acct + "</account>";
					request += "<fundamentals>true</fundamentals>";
					request += "<id>" + requestObj.id + "</id>";
			break;
			case "watchlist.delete":
					request += "<account>" + acct + "</account>";
					request += "<id>" + requestObj.id + "</id>";
			break;
			case "watchlist.save":
					request += "<account>" + acct + "</account>";
					if(requestObj.removeItems == true || requestObj.addItems == true)
					{
						if(requestObj.addItems == true)
						{
							request += "<addItems>true</addItems>"
						}
						if(requestObj.removeItems == true)
						{
							request += "<removeItems>true</removeItems>"
						}
						request += "<watchItems>"
							request += "<index>0</index>"
							if(requestObj.override)
								request += "<securityKey>" + requestObj.symbol + "</securityKey>"
							else
								request += "<securityKey>" + requestObj.symbol + ":::S</securityKey>"
						request += "</watchItems>"
					}
					if(requestObj.id)
						request += "<id>" + requestObj.id + "</id>"
					if(requestObj.name)					
						request += "<name>" + requestObj.name + "</name>"
					if(requestObj.rename == true)	
						request +=  "<rename>true</rename>"					
			break;
			case "preferences.save":
					request += "<preference>";
					request += "<name>" + requestObj.pref + "</name>";
					request += "<value>" + requestObj.value + "</value>";
					request += "</preference>";
			break;
			case "preferences.load":
					request += "<name>" + requestObj.pref + "</name>";
			break;
			case "view.chain":
					request += "<account>" + acct + "</account>";
					request += "<symbol>" + requestObj.sym  + "</symbol>";
					request += "<greeks>" + requestObj.greeks + "</greeks>";
					request += "<bs>" + requestObj.bs + "</bs>";
					request += "<quotesAfter>" + requestObj.ts + "</quotesAfter>";
					if(requestObj.id)
					{
						for(var x = 0; x < requestObj.id.length; x++)
						{
							request += "<id>" + requestObj.id[x] + "</id>";
						}
					}
			break;
			case "security.definition":
				if(requestObj.secKey)
					request += "<securityKey>" + requestObj.secKey+ "</securityKey>";
				if(requestObj.sym)
					request += "<optionSymbol>" + requestObj.sym+ "</optionSymbol>";
			break;
			case "account.activity":
				request += "<account>" +acct + "</account>";
				if(requestObj.size)
				{
					request += "<page>" + requestObj.page + "</page>";
					request += "<size>" + requestObj.size + "</size>";
				}
				if(requestObj.pageEnd){	request += "<pageEnd>" + requestObj.pageEnd + "</pageEnd>";}
				if(requestObj.sort){ request += "<sort>" + requestObj.sort  + "</sort>";}
				if(requestObj.dRange){ request += "<dRange>" + requestObj.dRange + "</dRange>";}
				if(requestObj.sDate){ request += "<sDate>" + requestObj.sDate + "</sDate>";}
				if(requestObj.eDate){ request += "<eDate>" + requestObj.eDate + "</eDate>";}
				if(requestObj.transTypeSelect){ request += "<transTypeSelect>" + requestObj.transTypeSelect+ "</transTypeSelect>";}
				if(requestObj.oSymbol){ request += "<symbol>" + requestObj.oSymbol + "</symbol>";}			
				if(requestObj.csv){ request += "<csv>" + requestObj.csv   + "</csv>";}							
			break;
			case "stock.lookup":
				request +=	"<company>" + requestObj.company + "</company>";
			break;
			case "account.orders":
				request += "<account>" +acct + "</account>";
				if(requestObj.size)
				{
					request += "<size>" + requestObj.size + "</size>";
					request += "<page>" + requestObj.page + "</page>";
				}
				if(requestObj.pageEnd){	request += "<pageEnd>" + requestObj.pageEnd+ "</pageEnd>";}	
				if(requestObj.sort){ request += "<sort>" + requestObj.sort  + "</sort>";}
				if(requestObj.dRange){ request += "<dRange>" + requestObj.dRange + "</dRange>";}
				if(requestObj.sDate){ request += "<sDate>" + requestObj.sDate + "</sDate>";}
				if(requestObj.eDate){ request += "<eDate>" + requestObj.eDate + "</eDate>";}
				if(requestObj.oTypeSelect){ request += "<oTypeSelect>" + requestObj.oTypeSelect + "</oTypeSelect>";}
				if(requestObj.sTypeSelect){ request += "<sTypeSelect>" + requestObj.sTypeSelect + "</sTypeSelect>";}
				if(requestObj.oSymbol){ request += "<symbol>" + requestObj.oSymbol + "</symbol>";}					
				if(requestObj.csv){	request += "<csv>" + requestObj.csv  + "</csv>";}
				if(requestObj.timeStamp)	{request += "<timeStamp>" + requestObj.timeStamp+ "</timeStamp>";}
				if(requestObj.orderId){request +="<id>" + requestObj.orderId + "</id>";}
			break;
			case "view.exchange.quote":
				request += "<k>" + requestObj.secKey+ "</k>";
			break;
			case "order.exreport":
				request += "<account>" +acct + "</account>"
				request += "<orderId>" +requestObj.orderId+"</orderId>"
			break;
			case "symbol.company.name":
				request += "<symbol>" + requestObj.sym + "</symbol>"
			break;
			case "tool.coveredcall":
				request += "<account>" +acct + "</account>"
				if(requestObj.listExpirations == true)
					request += "<listExpirations>true</listExpirations>"
				if(requestObj.expMonth)
					request += "<expMonth>" + requestObj.expMonth + "</expMonth>"
				if(requestObj.expYear)
					request += "<expYear>" + requestObj.expYear + "</expYear>"
				if(requestObj.searchType)
					request += "<searchType>" + requestObj.searchType + "</searchType>"
				if(requestObj.symbol != null)
					request += "<symbol>" + requestObj.symbol + "</symbol>"
				if(requestObj.marketCap != null)
					request += "<marketCap>" + requestObj.marketCap + "</marketCap>"
			break;
			case "tool.spreadfinder":
				request += "<account>" +acct + "</account>"
				if(requestObj.type)
					request += "<type>" + requestObj.type + "</type>"
				if(requestObj.expMonth)
					request += "<expMonth>" + requestObj.expMonth + "</expMonth>"
				if(requestObj.expYear)
					request += "<expYear>" + requestObj.expYear + "</expYear>"
				if(requestObj.symbol != null)
					request += "<symbol>" + requestObj.symbol + "</symbol>"
			break;
			case "tool.risk":
				request += "<account>" + acct + "</account>"
				request += "<dataSet>" + requestObj.dataSet + "</dataSet>"
				request += "<groupBy>" + requestObj.groupBy + "</groupBy>"
				if(requestObj.sort != null)
					request += "<sort>" + requestObj.sort + "</sort>"
			break;
			case "view.series":
				var sym = (requestObj)?requestObj.symbol: top.currentSymbol;	
				request +=	"<symbol>" + sym  + "</symbol>";
				if(acct != null && acct != "null" && acct != "")
				{
					request +=	"<account>" + acct + "</account>";
				}
			break;
			case "order.cancel":
				var orderId = (requestObj)?requestObj.orderId:"";
				request += 	"<account>" +acct + "</account>" +
							"<orderId>" + orderId + "</orderId>";
			break;
			case "order.fund":
				request += 	"<account>" +acct + "</account>"
				if(requestObj.quote != null && requestObj.quote != "null")
					request += "<quote>" + requestObj.quote + "</quote>";
				if(requestObj.exchangeableFrom != null && requestObj.exchangeableFrom != "null")
					request += "<exchangeableFrom>" + requestObj.exchangeableFrom + "</exchangeableFrom>";
				if(requestObj.symbol != null && requestObj.symbol != "null")
					request += "<symbol>" + requestObj.symbol + "</symbol>";
				if(requestObj.action != null && requestObj.action != "null")
					request += "<action>" + requestObj.action + "</action>";
				if(requestObj.preview != null && requestObj.preview != "null")
					request += "<preview>" + requestObj.preview + "</preview>";
				if(requestObj.amount != null && requestObj.amount != "null")
					request += "<amount>" + requestObj.amount + "</amount>";
				if(requestObj.reinvestDivs != null && requestObj.reinvestDivs != "null")
					request += "<reinvestDivs>" + requestObj.reinvestDivs + "</reinvestDivs>";
				if(requestObj.reinvestGains != null && requestObj.reinvestGains != "null")
					request += "<reinvestGains>" + requestObj.reinvestGains + "</reinvestGains>";
				if(requestObj.exchangeFor != null && requestObj.exchangeFor != "null")
					request += "<exchangeFor>" + requestObj.exchangeFor + "</exchangeFor>";
			break;
		}
		request += "</data></EZMessage>"
		return request
	}
}
function requestUV()
{
	return  "<EZMessage action='ui.version'/>"
}
function requestEnvNewOrders(action, requestObj)
{
	var acct = (top.accountNumber== "null" || top.accountNumber== null)?"":top.accountNumber;
	var aTok = top.authToken;
	if(action)
	{
		var request = "<EZMessage type='new' action='" + action +"'><data><authToken>" + aTok + "</authToken>"
		switch(action)
		{
			case "account.orders":
				var orderId = (requestObj)?requestObj.orderId:"";
				request += 	"<account>" +acct + "</account>" +
							"<id>" + orderId + "</id>";
			break;	
		}
		request += "</data></EZMessage>"
		return request
	}
}
-->