var menuUtils = new TabMenu();
var menuTools = new TabMenu();
var dynTableSearch = new DynTable("MainTable");
var initiated = false;
var fidRanking = __constants.FIDS.RENTABILIDADACU_CALC.toString();
var fieldRanking = "rentability-0";
var tabUtils = ['Busquedas', 'Graficos'];
var instsCounter = document.createTextNode("0");
var tabs = [
'Favoritos',
'Simulaciones',
'Carteras',
'Ranking'
];
addLoadEvent(function(){
init();
});
function init() {
configureSearchTable();
// INICIO MENU TOOLS
menuTools.tabStripes = tabs;
menuTools.showHelpButton = true;
menuTools.helpRef = "javascript:popup('bbva/help.jsp#%r','helpWindow',330,700,true)"
menuTools.containerWidth = 900;
menuTools.containerHeight = 260;
menuTools.tabWidth = 150;
menuTools.scrollable=true;
menuTools.create();
menuTools.appendTo('divToolsContainer');
menuTools.beforeShowTab = function(currentTab,newtab){
if (newtab==currentTab)
{
return false;
}else
{
//para ranking
if(newtab==3)
findRanking();
updateOnlyVisible(currentTab,newtab);
return true;
}
};
// FIN MENU TOOLS
// INICIO MENU UTILS
menuUtils.tabStripes = tabUtils;
menuUtils.showHelpButton = true;
menuUtils.helpRef = "javascript:popup('bbva/help.jsp#%r','helpWindow',330,700,true)"
menuUtils.containerWidth = 450;
menuUtils.containerHeight = 180;
menuUtils.verticalAlign = "middle";
menuUtils.create();
menuUtils.appendTo('divUtilsContainer');
menuUtils.showTab(0); // show search tab by default
document.getElementById(menuUtils.getTabId(1)).innerHTML = 'Para visualizar los graficos,
pulse sobre el icono
del warrant que desee ver.';
// FIN MENU UTILS
InitialiseScroller();
removeAllOptions(document.formAdvSearch.sector);
addOption(document.formAdvSearch.sector, 'Espere ...', 'Espere ...', -1,true);
initiated = true;
}
function configureSearchTable(){
dynTableSearch.columnIds = new Array();
dynTableSearch.columnNames = new Array();
dynTableSearch.columnWidths = new Array();
dynTableSearch.rowIds = new Array();
dynTableSearch.rowNames = new Array();
var preferedFidPos = [14,8,9];
for (e in preferedFidPos){
dynTableSearch.columnIds[dynTableSearch.columnIds.length] = allFids[preferedFidPos[e]][COLUMN_ID];
dynTableSearch.columnNames[dynTableSearch.columnNames.length] = allFids[preferedFidPos[e]][COLUMN_NAME];
dynTableSearch.columnWidths[dynTableSearch.columnWidths.length] = allFids[preferedFidPos[e]][COLUMN_WIDTH]*pxChar;
}
dynTableSearch.autoSaveColumns = false;
dynTableSearch.autoSaveRows = false;
dynTableSearch.cellIdUnique=true;
dynTableSearch.separeTitles = true;
dynTableSearch.showRemoveCol = false;
dynTableSearch.showRemoveRow = false;
dynTableSearch.showAlternativeRowColors = true;
dynTableSearch.showOptionButton = true;
dynTableSearch.optionButtonWidth = 12;
dynTableSearch.setSS2Applet(getApplet());
dynTableSearch.setSS2Callback("$$onDataSearch");
var b = new Array();
for (i in tabs)
{
if(tabs[i]!='Ranking' && parent.tabs[i]!='Documents')
{ b[b.length] = tabs[i];}
}
dynTableSearch.optionButtons = b;
dynTableSearch.optionRef = "addInstrument('%r','%n','%t')";
dynTableSearch.divPopup = document.getElementById("popup");
dynTableSearch.ContextMenuAlignedToLeft = true;
dynTableSearch.showGraphButton = true;
dynTableSearch.graphButtonWidth = 12;
dynTableSearch.graphRef = "javascript:showGraph('%r','%n')";
dynTableSearch.create();
dynTableSearch.table.className = "sectors";
dynTableSearch.table.cellPadding = 1;
dynTableSearch.table.cellSpacing = 1;
dynTableSearch.tableTitles.className = "header";
dynTableSearch.tableTitles.cellPadding = 1;
dynTableSearch.tableTitles.cellSpacing = 1;
dynTableSearch.appendTableTitlesTo("divContentTitles");
dynTableSearch.appendTableTo("divContent");
}
function loadSectors(key, result)
{
// para pasar los String de java a js
key = javaHelper.var2str(key);
result = javaHelper.var2str(result);
var arr = eval(result);
if(arr==null)arr = new Array();
if(!window.cargandosector)
{
window.cargandosector = true;
removeAllOptions(document.formAdvSearch.sector)
addOption(document.formAdvSearch.sector, '(Seleccionar)', '(Seleccionar)', "",true);
for ( var i = 0;i< arr.length;i++ ){
addOption(document.formAdvSearch.sector, arr[i][0], arr[i][0], arr[i][1]);
}
enableListbox(document.formAdvSearch.sector);
}
}
function loadMaturity(key,result)
{
key = javaHelper.var2str(key);
result = javaHelper.var2str(result);
var arr = eval(result);
if(arr==null)arr = new Array();
var value;
var selectmat = document.getElementById("maxmaturity");
removeAllOptions(selectmat);
addOption(selectmat, '(Seleccionar)', '(Seleccionar)', "",true);
for ( var i = 0;i< arr.length;i++ ){
value = arr[i][1];
selectmat.options[selectmat.options.length]=new Option(
value.substr(6,2) + "/" +
value.substr(4,2)+ "/" +
value.substr(0,4), arr[i][0]);
}
}
function loadUnderlyings(key,result)
{
key = javaHelper.var2str(key);
result = javaHelper.var2str(result);
var arr = eval(result);
if(arr==null)arr = new Array();
var und = document.getElementById("underline");
removeAllOptions(und);
addOption(und, '(Seleccionar)', '(Seleccionar)', "",true);
for ( var i = 0;i< arr.length;i++ ){
und.options[und.options.length]=
new Option(arr[i][0], arr[i][0]);
}
}
function initSearch(){
Search.getMaturities("WSlsApplet", "loadMaturity", "callbackException")
Search.getSectors("WSlsApplet", "loadSectors", "callbackException")
Search.getUnderlyings("WSlsApplet", "loadUnderlyings", "callbackException")
idSearch = "Los Más Rentables";
Ranking.getRanking("onloadRanking","Ranking.rankingException",fieldRanking, 8, true )
}
function onloadRanking(key,arr)
{
if(arr==null)return;
arr = eval(arr);
fillSearchTable(arr);
}
//
// Add a row to the table
//
function addRic(r, ricID) {
if( r==null || r==" " || r=="")return;
// para los warrants de BBVA
if(r.indexOf("=")==-1)return;
r = r.toUpperCase();
//resize container
objScroller.scrollHeight += 17;
// add a row to the display.
dynTableSearch.addRow(r, ricID);
}
function clearSearchTable(){
resetCounter();
dynTableSearch.removeAllRows();
if(objScroller){
objScroller.scrollHeight = 0;
objScroller.MoveArea(0,0);
}
}
//
// Display the updates from Slingshot.
//
function $$onDataSearch(inst,fid,value, offset, state, flags) {
//
// Ignore Null Updates which occur on Startup
//
if(value==null)
return;
data = parseValue(fid, value);
dynTableSearch.updateCell(inst ,fid ,data, offset, state, flags);
}
function resetCounter(count){
instsCounter.nodeValue = "0";
}
function showCounter(count){
instsCounter.nodeValue = count;
if(document.getElementById("divCountInsts").childNodes.length == 0){
document.getElementById("divCountInsts").appendChild(
document.createTextNode('Recibidos ')
);
document.getElementById("divCountInsts").appendChild(instsCounter);
document.getElementById("divCountInsts").appendChild(
document.createTextNode(' instrumentos.')
);
}
}
function removeCounter(){
var dc = document.getElementById("divCountInsts");
while(dc.childNodes.length>0)
{dc.removeChild(dc.childNodes[0]);}
}
function $$onState(state, msg)
{
state = javaHelper.var2str(state);
window.status = ____SS2.CONECTIONSTATE.getState(state).toUpperCase();
//if(parseInt(state)!= ____SS2.CONECTIONSTATE.CONNECTION_ACTIVE)
//alert("WDS : " + ____SS2.CONECTIONSTATE.getState(state));
}
function $$onLoadAppWarrant(app)
{
if(!initiated)
{
setTimeout('$$onLoadAppWarrant',500);
return;
}
initSearch();
}
function callbackSearch(key, result)
{
key = javaHelper.var2str(key);
result = javaHelper.var2str(result);
var arr = eval(result);
fillSearchTable(arr);
}
function fillSearchTable(arrayOfInsts){
if(arrayOfInsts==null)
arrayOfInsts = new Array();
clearSearchTable();
var header = document.getElementById("headerRowId");
if(header!=null)
header.childNodes[0].nodeValue = idSearch;
for ( var i = 0;i< arrayOfInsts.length;i++ ){
addRic(arrayOfInsts[i][0],arrayOfInsts[i][1]);
// Si es el ranking
if(arrayOfInsts[i][2] != null)
$$onDataSearch(arrayOfInsts[i][0], fidRanking, arrayOfInsts[i][2],0,0,0);
}
showCounter(arrayOfInsts.length);
document.getElementById("divLoadContent").style.display="none"
dynTableSearch.tbody.style.display="block"
}
function callbackException(key, result, msg)
{
key = javaHelper.var2str(key);
result = javaHelper.var2str(result);
msg = javaHelper.var2str(msg);
alert("HTTP : " + msg);
}
function checkSearchForm(form){
for (var i=0;i < form.elements.length;i++){
if (form.elements[i].value && form.elements[i].value==" Min" || form.elements[i].value==" Max")
form.elements[i].value="";
}
removeCounter();
dynTableSearch.tbody.style.display="none"
document.getElementById("divLoadContent").style.display="block"
idSearch = "Resultado Búsqueda";
var b = new Search("callbackSearch", "callbackException");
var aux;
aux = form.mindeltaaux.value
form.mindelta.value= (!aux || isNaN(aux))?"":aux;
aux = form.maxdeltaaux.value
form.maxdelta.value= (!aux || isNaN(aux))?"":aux;
aux = form.minvolatilityaux.value
form.minvolatility.value= (!aux || isNaN(aux))?"":aux/100.;
aux = form.maxvolatilityaux.value
form.maxvolatility.value= (!aux || isNaN(aux))?"":aux/100.;
form.minmaturity.value = form.maxmaturity.value;
aux = form.sector;
b.sector= aux.options[aux.selectedIndex].value;
aux = form.underline;
b.underlying= aux.options[aux.selectedIndex].value;
b.maxstrike= form.maxstrike.value;
b.minstrike= form.minstrike.value;
aux = form.call_put;
b.call_put= aux.options[aux.selectedIndex].value;
b.minmaturity= form.minmaturity.value;
b.maxmaturity= form.maxmaturity.value;
b.minvolatility = form.minvolatility.value;
b.maxvolatility = form.maxvolatility.value;
b.mindelta = form.mindelta.value;
b.maxdelta = form.maxdelta.value;
b.minvega= form.minvega.value;
b.maxvega= form.maxvega.value;
aux = form.riskfactor;
b.riskfactor= aux.options[aux.selectedIndex].value;
if ( b.sector=="" && b.underlying=="" && b.minmaturity=="" && b.maxmaturity=="" && b.riskfactor=="" ) {
alert( "Por favor, seleccione al menos uno de los siguientes criterios:\n" +
"\tSector\n" +
"\tSubyacente\n" +
"\tVencimiento\n" +
"\tPerfil\n" +
"Gracias.");
}
else {
b.search();
}
return false;
}