var changeServiceMenu;

/* Service Menu */
function showChangeServiceMenu(anchor, root){
  var append = false;
  
  // hide the rightside CIK select
  // this is a kludge to fix IE select always on top
  var cikSelect = document.getElementById('rightsideCIKSelect');
  var covQuickLink = document.getElementById('covLinkSelect');
  if (cikSelect){
    cikSelect.style.visibility = 'hidden';
  }
  if (covQuickLink){
    covQuickLink.style.visibility = 'hidden';
  }
  if (document.forms.searchDocsForm){
      var searchForm = document.forms.searchDocsForm;
      searchForm['docTypes[]'].style.visibility = 'hidden';
  }

  if (!changeServiceMenu) {
    append = true;
    changeServiceMenu = new Element('div', {'class': "mainTopNavSubMenu", 
					    id:"topSubMenu"})
	.setStyles({position: 'absolute',
                    'z-index': 100})
	.addEvent('mouseout', closeChangeServiceMenu);
    
    //    subMenu.style.width = "250px";                                                                                                                                     
    //tpl.parse('topNavChangeService', 'topNavChangeService');
    
    var services = new Hash();
    services.set('Convertible' ,'Convertible Securities');
    services.set('Credit', 'Credit Agreements');
    services.set('High Grade', 'Investment Grade');
    services.set('High Yield', 'High Yield');
    services.set('QIB-Convert', 'Convertibles - QIB only');
    //    services.set('QIB-HY', 'High Yield - QIB only');
    services.set('Merger', 'Mergers');

    var serviceCount = 1;
    services.each(function(label, service){
	    changeServiceMenu.adopt(new Element('div', {'class': "mainTopNavSubMenuItem",
			    id: "topSubMenu" + serviceCount })
		.addEvent('mouseover', highlightNavItem)
		.addEvent('mouseout', unhighlightNavItem)
		.adopt(new Element('div', {id: "topSubMenu" + serviceCount + "Arrow",
				'class': "mainTopNavSubMenuArrow"})
		    .set('html', '&raquo;&nbsp;')
		    )
		.adopt(new Element('a', { href: 'javascript: changeService(\'' + service + '\')' }) 
		       .appendText(label)
		       )
		)
		
		serviceCount++;
	});
  }

  //  changeServiceMenu.innerHTML = tpl.get('topNavChangeService');
  
  var top = (getTopPos(anchor) + 21) + 'px';
  changeServiceMenu.setStyle('top', top);

  var left = getLeftPos(anchor.parentNode) + 'px';
  
  changeServiceMenu.setStyles({ visibility: "visible",
	      display: 'block',
	      left: left});
  
  changeServiceMenu.addEvent('mouseout', checkCloseNavMenu);
  
  if (append){
    document.body.appendChild(changeServiceMenu);
  }
}


function highlightNavItem(){
    var arrow = document.getElementById(this.id + 'Arrow');
    if (arrow) arrow.style.visibility = 'visible';
    
    this.className='mainTopNavSubMenuItemHover';
}

function unhighlightNavItem(ev){
    new Event(ev).stop();

  var arrow = document.getElementById(this.id + 'Arrow');
  if (arrow) arrow.style.visibility = 'hidden';

  this.set('class', 'mainTopNavSubMenuItem');

  
  checkCloseNavMenu(ev);
  //  setTimeout('checkMenuOpen()', 1000);                                                                                                                                  
}

function checkCloseNavMenu(event){
    //  if (isIE()) return;

  var subMenu = document.getElementById('topSubMenu');
  if (!childOf(event.relatedTarget, changeServiceMenu)){
      closeChangeServiceMenu();
  }

}

/**
 *
 **/
function closeChangeServiceMenu(event){
  if (changeServiceMenu) {
    changeServiceMenu.style.visibility = 'hidden';
    changeServiceMenu.style.display = 'none';
  }

  // unhide the rightside CIK select
  // this is a kludge to fix IE select always on top                                                                                                                                   
  var cikSelect = document.getElementById('rightsideCIKSelect');
  if (cikSelect){
    cikSelect.style.visibility = 'visible';
  }
  var covQuickLink = document.getElementById('covLinkSelect');
  if (covQuickLink){
    covQuickLink.style.visibility = 'visible';
  }
  if (document.forms.searchDocsForm){
      var searchForm = document.forms.searchDocsForm;
      searchForm['docTypes[]'].style.visibility = 'visible';
  }


  openSubMenu = '';
}

/**
 *
 **/
function changeService(serviceName){
  if (subscribed(serviceName)){
    switch(serviceName){
      case 'Convertible':
      case 'High Yield':
        location.href = "/news.php?securityType=" + serviceName;
        break;
      default:
        location.href = "/searchSecurities.php?securityType=" + serviceName;
    }
  } else {
    if (serviceName == 'QIB-Convert')
      window.open('/newServices.php');
    else
      window.open('/newSubService.php?s=' + serviceName);
  }
}

function requestReport(secID, docID){
    var url = "/checkReqReport.php";
    var req = new Request.JSON({url: url,
                                onSuccess: function(message){
                if (message.status == 'success'){
                    finishRequestReport(secID, docID);
                }
                else {
                    alert(message.data.reason);
                }
            }
        });
    var params = '';
    if (secID){
        params += 'sid=' + secID;
    }
    req.send(params);
}

function finishRequestReport(secID, docID){
    var url = "/requestReport.php";
    if (secID || docID) url += "?sid=" + secID + "&did=" + docID;
    openWindow(url,
               '_blank',
               'toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=900,height=600,top=20,left=20');
}

function openCurrentForums(){
    var url = "currentForums.php";
    openWindow(url,
               '_blank',
               'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes');
    return false;    
}
