var mnths = new Array("NoMonth","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

var dateTypePref = "0";
var custTopStockPref = "1000";
var MIN_SUM_DATE = "01/01/1996";
var MAX_SUM_DATE = "09/01/1997";
var MIN_DETL_DATE = "10/01/1997";
var MIN_SUM_VALUE_DATE = "10/01/2004";
var MAX_DETL_DATE = "02/25/2005";
var IS_LOADING = "0";
var NXT_LOAD = "02/25/2005";

//if (!navigator.cookieEnabled) {
//    cookieAlert();
//}
if(!document.all){
   window.captureEvents(Event.KEYUP);
}

function kpress(e){
    if(document.all)
    { //it's IE
       var e = window.event.keyCode;
    }else{
      e = e.which;
    }
    if (e == 13) {
       if (document.forms[0].CONTINUE != null)
       {
          submitForm(document.forms[0],'continue', 'N', 'Y', 'go');
       }
       else
       {
          if (document.forms[0].output != null  && document.forms[0].output != 'undefined')
          {
             submitForm(document.forms[0],'broker', 'Y', 'N', 'go');
          }
          else
          {
             if (document.forms[0].reportType != null && document.forms[0].reportType.value != '1')
                submitForm(document.forms[0],'security', 'N', 'Y', 'go');
             else
                submitForm(document.forms[0],'security', 'Y', 'Y', 'go');
          }
       }
       return false;
    }
}

function noScroll( ) {
try {
    document.body.scrollTop = 0;
    document.body.scrollLeft = 0;
    document.blur( );
} catch (e) { }
}

function changeDate(fieldname, type)
{
     var mStr = eval("document.getElementById('timePeriodId("+fieldname+")').options[document.getElementById('timePeriodId("+fieldname+")').selectedIndex].value");
     changeFromDate(fieldname);
     if (mStr == 'ctime')
     {
       if (type != 'load' && type != 'error'){
          eval("document.getElementById('fromDateId("+fieldname+")').value=''");
          eval("document.getElementById('toDateId("+fieldname+")').value=''");
       }

       eval("document.getElementById('from_cal"+fieldname+"').style.visibility='visible'");
       eval("document.getElementById('to_cal"+fieldname+"').style.visibility='visible'");
     }
     else
     {
       if (type != 'error'){
           eval("document.getElementById('useDateId("+fieldname+")').checked='true'");
           eval("document.getElementById('fromDateId("+fieldname+")').value=MMDDYYconvert(beginStr)");
           eval("document.getElementById('toDateId("+fieldname+")').value=MMDDYYconvert(endStr)");
           eval("document.getElementById('from_cal"+fieldname+"').style.visibility='hidden'");
           eval("document.getElementById('to_cal"+fieldname+"').style.visibility='hidden'");
       }
     }
     if(eval("document.getElementById('useDateId("+fieldname+")').checked"))
     {
       if(document.getElementById('useBDSRId')!= null && document.getElementById('useBDSRId')!= 'undefined')
       {
        document.getElementById('useBDSRId').checked='';
       }
     }
}
function checkRankSearch()
{
    var cRank = parseInt(document.forms[0].rankBy.options[document.forms[0].rankBy.selectedIndex].value);
    if(cRank == 1)
    {
        document.getElementById('lblCurrency').disabled = true;
        document.getElementById('lblCurrency').style.background = 'eeeeee';
    }
    else
    {
        document.getElementById('lblCurrency').disabled = false;
        document.getElementById('lblCurrency').style.background = 'ffffff';
    }
}
function getrandom()
{
  var rnd = Math.floor(Math.random()*1000);
  return(rnd);
}
function autExWebSite() {
    var autex = window.open('http://www.thomson.com/solutions/financial/', 'autExWindow', 'scrollbars=yes,width=638,height=478,resizable=yes,status=no,menubar=no,toolbar=yes');
    if (top.childWindows != null && top.childWindows != 'undefined')
       top.childWindows[top.childWindows.length] = autex;
    autex.focus();
}
function contestWindow() {
    var contestWindow = window.open('http://www.autexgroup.com/tshirt', 'contestWindow', 'scrollbars=yes,height=700,resizable=no,width=800,status=no,menubar=no,toolbar=no');
    if (top.childWindows != null && top.childWindows != 'undefined')
        top.childWindows[top.childWindows.length] = contestWindow;
    contestWindow.focus();
}
function reportsClicked()
{
  document.getElementById('toolsClickedDiv').style.visibility ="hidden" ;
  document.getElementById('reporytsClickedDiv').style.visibility ="visible";
  document.getElementById('toolsClickedDiv').style.position = 'absolute';

}
function toolsClicked()
{
  document.getElementById('toolsClickedDiv').style.visibility = "visible";
  document.getElementById('reporytsClickedDiv').style.visibility ="hidden";
  document.getElementById('reporytsClickedDiv').style.position = 'absolute';
}
/* Start Add Remove function */

function deleteOption(object,index) {
  object.options[index] = null;
}

function addOption(object,text,value) {
  var defaultSelected = true;
  var selected = true;
  var optionName = new Option(text, value, defaultSelected, selected)
  object.options[object.length] = optionName;
}

function add(fromObject,toObject) {

  for (var i=0, l=fromObject.options.length;i<l;i++) {
    if (fromObject.options[i].selected)
    {
      addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
  }
}
function remove(fromObject,toObject) {

  for (var i=fromObject.options.length-1;i>-1;i--) {
    if (fromObject.options[i].selected)
    deleteOption(fromObject,i);
  }
}
/* End Add Remove function */
function BlockDATAHelp() {
  var help = window.open('help/help-reports-main.html', 'BlockHelp', 'scrollbars=yes,width=454,height=473,resizable=no,status=yes,menubar=no,toolbar=no');
  if (top.childWindows != null && top.childWindows != 'undefined')
    top.childWindows[top.childWindows.length] = help;
  help.focus();
}
function submitNew(fidType)
{
    var displayname;
    if (fidType == "C")
    {
        displayname ="custom list";
    }
    else
    {
        displayname ="portfolio";
    }
    var alertMsg = "Please enter a name for the new " + displayname + " (no long than 24 characters)"
    n = showModalMsg(window, "/common/html/prompt.html", alertMsg, "dialogHeight:170px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;")
    if(n == 0)
    {
        return;
    }
    if(n.length < 3 || n.length > 24){
        alertMsg = "You must enter a name of at least 3 characters and less than 24 for the " + displayname + " you wish to store.\n";
        showModalMsg(window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
        return;
    }
}
function openPopupWin(url, popwd, popht, winName)
{
  var scrwd = screen.availWidth;
  var scrht = screen.availHeight;
  var leftPos = (scrwd-popwd)/2, topPos = (scrht-popht)/2;
  var properties = 'status=no,location=no,menubar=no,titlebar=no,' +
    'resizable=no,toolbar=no,scrollbars=1,width=' + popwd +
    ',height=' + popht + ',left=' + leftPos + ',top=' + topPos;
  var win = window.open(url, winName, properties);
  if (top.childWindows != null && top.childWindows != 'undefined')
     top.childWindows[top.childWindows.length] = win;
  win.focus();
}

function lookupWin(url, popwd, popht, winName,fromTopHolders)
{
  var symStatus = 'A';
  if(!fromTopHolders){
	  if (document.forms[0].symbolStatus[1].checked == true){
	     symStatus = 'I';
	  }
	  else if (document.forms[0].symbolStatus[2].checked == true){
	     symStatus = 'ALL';
	  }
  } 
  var scrwd = screen.availWidth;
  var scrht = screen.availHeight;
  var leftPos = (scrwd-popwd)/2, topPos = (scrht-popht)/2;
  var properties = 'status=no,location=no,menubar=no,titlebar=no,' +
    'resizable=no,toolbar=no,scrollbars=1,width=' + popwd +
    ',height=' + popht + ',left=' + leftPos + ',top=' + topPos;
  url = url+symStatus;
  var win = window.open(url,winName, properties);
  if (top.childWindows != null && top.childWindows != 'undefined')
     top.childWindows[top.childWindows.length] = win;
  win.focus();
}

function clickBDSR() {

    if (eval("document.getElementById('useBDSRId').checked")) {
       eval("document.getElementById('useDateId("+1+")').checked=''");
       eval("document.getElementById('useDateId("+2+")').checked=''");
       eval("document.getElementById('useDateId("+3+")').checked=''");
       eval("document.getElementById('useDateId("+4+")').checked=''");
    }

}


function showAvailability(ownershipData) {
        
        document.write("<b><font class=title >Volume based reports:  ");
        document.write("<b><font class=title >Monthly info. from: ");
        document.write(showFullDate(MIN_SUM_DATE,'month') + " to ");
        document.write(showFullDate(MAX_SUM_DATE,'month') + " -- Daily info. from: ");
        document.write(showFullDate(MIN_DETL_DATE,'date') + " to ");
        document.write(showFullDate(MAX_DETL_DATE,'date') + ".</font>\n");
        if(!ownershipData) {
	        document.write("<br><b><font class=title >Value based reports:  ");
	        document.write("<b><font class=title >Monthly and Daily info. from:  ");
	        document.write(showFullDate(MIN_SUM_VALUE_DATE,'date') + " to ");
	        document.write(showFullDate(MAX_DETL_DATE,'date') + ".</font>\n");
	    }
        if(IS_LOADING == "1") {
          document.write("</FONT><BR><FONT face=\"arial,helvetica,geneva\" size=2 COLOR=DA1C0D><CENTER><BLINK><B>Load in progress for " + showFullDate(NXT_LOAD,'date') + ".</B></BLINK></CENTER></FONT>\n");
        }
}

function showFullDate (dateToShow,typeOfDate) {
    showFDary = minMaxSumDateParse(dateToShow);
    sMMstr = showFDary[0];
    sDDstr = showFDary[1];
    sYYstr = showFDary[2]; // is set as YYYY

    //BI.inputsyms.value = sMM - 0;
    mnthNum = parseInt(sMMstr, 10);
    //mnthNum = sMM;
    if (typeOfDate == "month") {
        return (mnths[mnthNum] + " " + sYYstr);
    }
    else if (dateTypePref == 1) {
        return (sDDstr + " " + mnths[mnthNum] + " " + sYYstr);
    }
    else {
        return (mnths[mnthNum] + " " + sDDstr + ", " + sYYstr);
    } // intentionally shows Month DD, YYYY format for both Year-First and Month-First
}

function showBDSR() {
    document.write("<b><font class=title >Dates (");
    bdsrMM = max_detl_MMnum;
    firstReport = bdsrMM - 1;
    secondReport = bdsrMM - 2;
    thirdReport = bdsrMM - 3;
    if (firstReport < 1) {
        firstReport += 12;
    }
    if (secondReport < 1) {
        secondReport += 12;
    }
    if (thirdReport < 1) {
        thirdReport += 12;
    }
    if (bdsrMM == 1) {
        bsdrYYYY = "YTD Dec " + (max_detl_YYnum - 1);
    }
    else {
        bsdrYYYY = "YTD " + mnths[firstReport] + " " + max_detl_YYnum;
    }
    document.write(mnths[firstReport] + ", " + mnths[secondReport] + ", " + mnths[thirdReport] + ", " + bsdrYYYY);
    document.write(")</font>");
}


function minMaxSumDateParse (passedDate) {
    solidus1=passedDate.indexOf("/");
    solidus2=passedDate.indexOf("/",solidus1 + 1);
//    return(new Array(parseInt(passedDate.substring(0,solidus1),10),parseInt(passedDate.substring(solidus1 + 1,solidus2),10),passedDate.substring((solidus2 + 1),passedDate.length)));
    return(new Array(
        passedDate.substring(0,solidus1),
        passedDate.substring(solidus1 + 1,solidus2),
        passedDate.substring((solidus2 + 1),
        passedDate.length)));
} // returns month and year in an Array


function grabToday() {
    max_detl_ary = minMaxSumDateParse(MAX_DETL_DATE);
        min_sum_ary = minMaxSumDateParse(MIN_SUM_DATE);
       // min_sum_ary = minMaxSumDateParse(MIN_DETL_DATE);
    min_detl_ary = minMaxSumDateParse(MIN_DETL_DATE);
    max_detl_MMstr = max_detl_ary[0];
    max_detl_MMnum = parseInt(max_detl_MMstr, 10);
    max_detl_DDstr = max_detl_ary[1];
    max_detl_DDnum = parseInt(max_detl_DDstr, 10);
    max_detl_YYstr = max_detl_ary[2];
    max_detl_YYnum = parseInt(max_detl_YYstr, 10);
    min_detl_MMstr = min_detl_ary[0];
    min_detl_MMnum = parseInt(min_detl_MMstr, 10);
    min_detl_DDstr = min_detl_ary[1];
    min_detl_YYstr = min_detl_ary[2];
    min_detl_YYnum = parseInt(min_detl_YYstr, 10);
    min_sum_MMstr = min_sum_ary[0];
    min_sum_MMnum = parseInt(min_sum_MMstr, 10);
    min_sum_DDstr = min_sum_ary[1]; // unused
    min_sum_YYstr = min_sum_ary[2];
    min_sum_YYnum = parseInt(min_sum_YYstr, 10);
    /*
    dMM = max_detl[0];
    dDD = max_detl[1];
    dYY = max_detl[2];
    mindMM = min_detl[0];
    mindDD = min_detl[1];
    mindYY = min_detl[2];
    minMM = min_sum[0];
    minDD = min_sum[1]; // unused
    minYY = min_sum[2];
    */
    if (max_detl_YYnum > 99 && max_detl_YYnum < 1900) {
        max_detl_YYnum +=1900; // solves microsoft y2k == 100
    }
    max_detl_YYstr = max_detl_YYnum.toString();
    max_detl_YYstr = max_detl_YYstr.substring(max_detl_YYstr.length - 4, max_detl_YYstr.length);

fullDateStr=(max_detl_MMstr + "/" + max_detl_DDstr + "/" + max_detl_YYstr);

//check if fullDateStr has run on a weekend 

testdateStr = fullDateStr;
var testDate = new Date(testdateStr);

var endDayofWeek = testDate.getDay();

if(endDayofWeek == 6){  //saturday
testDate.setDate(testDate.getDate()-1);
}
if(endDayofWeek == 0){//sunday
testDate.setDate(testDate.getDate()-2);
}
if (endDayofWeek == 0 || endDayofWeek == 6){
var adjustedDate = new Date(testDate);
lastTradingDateStr = ((adjustedDate.getMonth()+1)+"/"+adjustedDate.getDate()+"/"+adjustedDate.getFullYear());
}else lastTradingDateStr = fullDateStr;

}

function changeFromDate (whichScreen) {
    whichMark = whichScreen;
 changeFromStr = eval("document.getElementById('timePeriodId("+whichScreen+")').options[document.getElementById('timePeriodId("+whichScreen+")').selectedIndex].value");

endStr = fullDateStr;

LastTradingEndStr = lastTradingDateStr;

// RPL 10/11/99 - Fix for last 5 business days
        var endDate = new Date(LastTradingEndStr);
        var endDayofWeek = endDate.getDay();

        if (changeFromStr == "yest") {
            beginStr =  LastTradingEndStr;
            endStr =  LastTradingEndStr;
        }

        else if (changeFromStr == "5day") {
 	var max_det_DDnum = endDate.getDate();
 	var max_Month = endDate.getMonth()+1;
 	var max_Year = endDate.getFullYear();	
	

if (endDayofWeek == 5 )  {
        if (max_det_DDnum > 4) {
                    dLDnum = max_det_DDnum - 4;
                    weekAgoDateStr = (max_Month + "/" + dLDnum + "/" + max_Year);
                }
                else if (max_Month > 1) {
                    dLMnum = max_Month - 1;
                    dLDnum = calcLastDayOfMonth(dLMnum, max_Year) - (4 - max_det_DDnum);
                    weekAgoDateStr = (dLMnum + "/" + dLDnum + "/" + max_Year);
}
                else {
                    dLDnum = 31 - (4 - max_det_DDnum);
                    dLYnum = max_Year - 1;
                    weekAgoDateStr = ("12/" + dLDnum + "/" + dLYnum);
                }
            }
            else  {
                if (max_det_DDnum > 6) {
                    dLDnum = max_det_DDnum - 6;
                    weekAgoDateStr = (max_Month + "/" + dLDnum + "/" + max_Year);
                }
                else if (max_Month > 1) {
                    dLMnum = max_Month - 1;
                    dLDnum = calcLastDayOfMonth(dLMnum, max_Year) - (6 - max_det_DDnum);
                    weekAgoDateStr = (dLMnum + "/" + dLDnum + "/" + max_Year);
                }
                else {
                    dLDnum = 31 - (6 - max_det_DDnum);
                    dLYnum = max_Year - 1;
                    weekAgoDateStr = ("12/" + dLDnum + "/" + dLYnum);
                }
            }
            beginStr = weekAgoDateStr;
 	 endStr =  LastTradingEndStr;

        }

        else if (changeFromStr == "mtd") {
            beginStr = (max_detl_MMstr + "/1/" + max_detl_YYstr);
        }
        else if (changeFromStr == "pm") {
            if (max_detl_MMnum > 1) {
                dLMnum = max_detl_MMnum - 1;
                beginStr = (dLMnum + "/1/" + max_detl_YYstr);
                endStr = (dLMnum + "/" + calcLastDayOfMonth(dLMnum, max_detl_YYnum)+ "/" + max_detl_YYstr);
            }
            else {
                dLYnum = max_detl_YYnum - 1;
                beginStr = ("12/1/" + dLYnum);
                endStr = ("12/31/" + dLYnum);
            }
        }
        else if (changeFromStr == "ytd") {
            beginStr = "1/1/" + max_detl_YYstr;
        }
        else if (changeFromStr.substring(0,2) == "py") {
            dLYnum = max_detl_YYnum - 1;
            beginStr = "1/1/" + dLYnum;
            endStr = "12/31/" + dLYnum;
        }
        else if (changeFromStr == "12month") {
            nMonth = max_detl_MMstr;
            nDay = max_detl_DDstr;
            nYear = max_detl_YYnum - 1;
            if (nDay == 0)
            {
              nMonth = max_detl_MMstr -1;
              if (nMonth == 0)
              {
                nYear = max_detl_YYnum -1;
                  nMonth = 12;
              }
              nDay = calcLastDayOfMonth(nMonth, nYear);
            }
            if (nDay == calcLastDayOfMonth(nMonth, nYear))
               beginStr = (++nMonth + "/" + "01" + "/" + nYear);
            else
               beginStr = (nMonth + "/" + ++nDay + "/" + nYear);
        }
        else if (changeFromStr == "recqtr") {
            if (max_detl_MMnum > 9) {
                beginStr = ("7/1/" + max_detl_YYstr);
                endStr = ("9/30/" + max_detl_YYstr);
            }
            else if (max_detl_MMnum > 6) {
                beginStr = ("4/1/" + max_detl_YYstr);
                endStr = ("6/30/" + max_detl_YYstr);
            }
            else if (max_detl_MMnum > 3) {
                beginStr = ("1/1/" + max_detl_YYstr);
                endStr = ("3/31/" + max_detl_YYstr);
            }
            else {
                dLYnum = max_detl_YYnum - 1;
                beginStr = ("10/1/" + dLYnum);
                endStr = ("12/31/" + dLYnum);
            }
        }

}

window.onload=function(){

if (document != null) {
  if(document.getElementById('useBDSRId')!= null && document.getElementById('useBDSRId')!= 'undefined'){
     var status=eval("document.getElementById('useBDSRId').checked");
     if(status==true)
     {
       eval("document.getElementById('useDateId("+1+")').checked=''");
       eval("document.getElementById('useDateId("+2+")').checked=''");
       eval("document.getElementById('useDateId("+3+")').checked=''");
       eval("document.getElementById('useDateId("+4+")').checked=''");
     }
     else{
       eval("document.getElementById('useDateId("+1+")').checked");
       eval("document.getElementById('useDateId("+2+")').checked");
       eval("document.getElementById('useDateId("+3+")').checked");
       eval("document.getElementById('useDateId("+4+")').checked");
      }
  }
 }
}


function MMDDYYconvert(dateToConvert) {
    conDate=minMaxSumDateParse(dateToConvert);

    if (dateTypePref == 0) {
        return (conDate[0] + "/" + conDate[1] + "/" + conDate[2]);
    }
    else if (dateTypePref == 1) {
        return (conDate[1] + "/" + conDate[0] + "/" + conDate[2]);
    }
    else if (dateTypePref == 2) {
        return (conDate[2] + "/" + conDate[0] + "/" + conDate[1]);
    }
}


function calcLastDayOfMonth (monthIn,yearIn) {
    if (monthIn == 4 || monthIn == 6 || monthIn == 9 || monthIn == 11) {
        return (30);
    }
    else if (monthIn != 2) {
        return (31);
    }
    else {
        if ((yearIn % 4 == 0 && yearIn % 100 !=0) || yearIn % 400 == 0) {
            return(29);
        }
        else {
            return(28);
        }
    } //yearIn comes in in four digits
}

function mark(thisMark) {
    whereFrom="0";
    var frm = eval("document.getElementById('fromDateId("+thisMark+")').value");
    var to =  eval("document.getElementById('toDateId("+thisMark+")').value");
    statusMark = eval("document.getElementById('useDateId("+thisMark+")').checked");
    temp = changeMenu(whereFrom, eval("document.getElementById('timePeriodId("+thisMark+")').selectedIndex"));
    eval("document.getElementById('timePeriodId("+thisMark+")').selectedIndex=temp");
    val = validAte(frm,to,thisMark)
    eval("document.getElementById('useDateId("+thisMark+")').checked = val");
    if(frm =='' || to =='' ){
      eval("document.getElementById('useDateId("+thisMark+")').checked=''");
    }else
    {
      eval("document.getElementById('useDateId("+thisMark+")').checked='true'");
      if(document.getElementById('useBDSRId')!= null && document.getElementById('useBDSRId')!= 'undefined')
      {
        document.getElementById('useBDSRId').checked='';
      }
    }

    if (statusMark < whereFrom) {
      eval("document.getElementById('useDateId("+thisMark+")').checked = statusMark");
    }
    eval("document.getElementById('from_cal"+thisMark+"').style.visibility='visible'");
    eval("document.getElementById('to_cal"+thisMark+"').style.visibility='visible'");
}


function mark1(thisMark) {
    whereFrom="1";
    var mStr = eval("document.getElementById('timePeriodId("+thisMark+")').options[document.getElementById('timePeriodId("+thisMark+")').selectedIndex].value");
    var frm = eval("document.getElementById('fromDateId("+thisMark+")').value");
    var to =  eval("document.getElementById('toDateId("+thisMark+")').value");

    statusMark = eval("document.getElementById('useDateId("+thisMark+")').checked");
    temp = changeMenu(whereFrom, eval("document.getElementById('timePeriodId("+thisMark+")').selectedIndex"));
    eval("document.getElementById('timePeriodId("+thisMark+")').selectedIndex=temp");
    val = validAte(frm,to,thisMark)

    /*if(val == 0){
      eval("document.getElementById('useDateId("+thisMark+")').checked = val");
    } */

    if (statusMark > whereFrom) {
       eval("document.getElementById('useDateId("+thisMark+")').checked = statusMark");
    }

    if(document.getElementById('useBDSRId')!= null && document.getElementById('useBDSRId')!= 'undefined')
    {
       if(eval("document.getElementById('useDateId("+thisMark+")').checked")){
        eval("document.getElementById('useBDSRId').checked=''");
       }
    }
}


function changeMenu (statusMenu,previouslySelected) {
    if (statusMenu != 0) {
        return(previouslySelected);
    }
    else {
        return(0);
    }
}


function validAte (first,last,whichDates) {
    var ok = 0;
    alertMsgFirst = validMMDDYY(first,"from");
    if (alertMsgFirst.indexOf("ERROR") != -1) {
        ok = -1;
    }
    alertMsgLast = validMMDDYY(last,"to");
    if (alertMsgLast.indexOf("ERROR") != -1) {
        ok = -1;
    }
    ok = ok + 1;
    if (ok) {
        if (alertMsgFirst == "00000000") {
            return(0);
        }
        else if (alertMsgLast == "00000000") {
            return(0);
        }
        from = YYcut(alertMsgFirst);
        to = YYcut(alertMsgLast); // revision g; these flip on Submit only

        if (whichDates == 1) {
          eval("document.getElementById('fromDateId("+1+")').value=from");
          eval("document.getElementById('toDateId("+1+")').value=to");
        }
        else if (whichDates == 2) {
          eval("document.getElementById('fromDateId("+2+")').value=from");
          eval("document.getElementById('toDateId("+2+")').value=to");
        }
        else if (whichDates == 3) {
          eval("document.getElementById('fromDateId("+3+")').value=from");
          eval("document.getElementById('toDateId("+3+")').value=to");
        }
        else if (whichDates == 4) {
          eval("document.getElementById('fromDateId("+4+")').value=from");
          eval("document.getElementById('toDateId("+4+")').value=to");
        }
    }
    return(ok);
}

function validMMDDYY(passed,whichSide) {
    if (passed.length < 8) {
        return('00000000');
    }


    passedValAry=minMaxSumDateParse(passed);
    if (dateTypePref == 0) {
        pvMMstr = passedValAry[0];
        pvMMnum = parseInt(passedValAry[0],10);
        pvDDstr = passedValAry[1];
        pvDDnum = parseInt(passedValAry[1],10)
        pvYYstr = passedValAry[2];
        pvYYnum = parseInt(passedValAry[2],10)
    }
    else if (dateTypePref == 1) {
        pvDDstr = passedValAry[0];
        pvDDnum = parseInt(passedValAry[0],10)
        pvMMstr = passedValAry[1];
        pvMMnum = parseInt(passedValAry[1],10)
        pvYYstr = passedValAry[2];
        pvYYnum = parseInt(passedValAry[2],10)
    }
    else if (dateTypePref == 2) {
        pvMMstr = passedValAry[1];
        pvMMnum = parseInt(passedValAry[1],10)
        pvDDstr = passedValAry[2];
        pvDDnum = parseInt(passedValAry[2],10)
        pvYYstr = passedValAry[0];
        pvYYnum = parseInt(passedValAry[0],10)
    }

    if ( isNaN(pvMMnum) || isNaN(pvDDnum)) {
        return ("ERROR: " + passed + " is not a valid date");
    }


    testYearNum = pvYYnum;
    if (pvYYstr.length > 4) {
        testYearNum = parseInt(pvYYstr.substring(pvYYstr.length - 4, pvYYstr.length), 10);
    }
    if (testYearNum < 90) {
        testYearNum +=2000;
    }
    else if (testYearNum < 100) {
        testYearNum +=1900;
    }
    /*     classic leap year calculation:
           if the year is:
           evenly divisible by 4 and not evenly divisible by 100 or
           evenly divisible by 400 then it is a leap year,Otherwise it is not a leap year
       */

    if (pvMMnum == 2 && pvDDnum == 29) {
        if (((testYearNum % 4 == 0) && (testYearNum % 100 != 0)) || (testYearNum  % 400 == 0)) {
        pvDDnum = 29;
        }
            else {
                pvDDnum = -1;
            }
    }
    if ((pvMMnum < 1 || pvMMnum > 12) ||
        (pvDDnum < 1 || pvDDnum > calcLastDayOfMonth(pvMMnum, testYearNum))  ) {
        return ("ERROR: " + passed + " is not a valid date");
    }
    else if (testYearNum == max_detl_YYnum &&
        (pvMMnum > max_detl_MMnum || (pvMMnum == max_detl_MMnum && pvDDnum > max_detl_DDnum))) {
        return ("ERROR: Data from " + passed + " is not available yet.");
    }
    else if ( (testYearNum == min_sum_YYnum && pvMMnum < min_sum_MMnum) ||
            (testYearNum < min_sum_YYnum || testYearNum > max_detl_YYnum) ) {
        return ("ERROR: I can't see back to " + passed);
    }

    else {

        if (pvMMnum < 10) {
            pvMMstr = "0" + pvMMnum;
        }

        // If we already have the string 0(1-9) then this will cause the string to become
        // 00 since the day portion can only be two characters.


        if (pvDDnum < 10) {
            pvDDstr = "0" + pvDDnum;
        }

        return (testYearNum + "" + pvMMstr + pvDDstr);
    }
}

function YYcut(dateToCut) {
    if (dateTypePref == 0) {
        return (parseInt(dateToCut.substring(4,6),10) + "/" + parseInt(dateToCut.substring(6,8),10) + "/" + dateToCut.substring(0,4));
    }
    else if (dateTypePref == 1) {
        return (parseInt(dateToCut.substring(6,8),10) + "/" + parseInt(dateToCut.substring(4,6),10) + "/" + dateToCut.substring(0,4));
    }
    else if (dateTypePref == 2) {
        return (parseInt(dateToCut.substring(0,4),10) + "/" + parseInt(dateToCut.substring(4,6),10) + "/" + dateToCut.substring(6,8));
    }
    else {
        return (parseInt(dateToCut.substring(4,6),10) + "/" + parseInt(dateToCut.substring(6,8),10) + "/" + dateToCut.substring(0,4));
    }
}


 //**function customVerifyTS ()
//************Erick P. said if they select custom then display 1000******************
function customSetValue (customVal) {
  if (document.topStocksResForm.numTopStockDisplay[3].checked){
     if(isNaN(customVal)|| customVal == '0'){
        document.topStocksResForm.otherNumTopStockDisplay.value = "1000";
     }
     else{
        document.topStocksResForm.otherNumTopStockDisplay.value = customVal;
     }

  }
 }


 //************OnChange Check for Top Stocks Custom Number option******************
function ONCHANGEcustomVerifyTS() {
    document.topStocksResForm.numTopStockDisplay[3].checked = true;
    var customLower = document.topStocksResForm.otherNumTopStockDisplay.value.toLowerCase();
    if (parseInt(customLower,10) > 0) {
        document.topStocksResForm.otherNumTopStockDisplay.value = parseInt(document.topStocksResForm.otherNumTopStockDisplay.value,10);
         return true;
    }
    else {
        document.topStocksResForm.otherNumTopStockDisplay.value = "";
        return false;
    }
}

//**function customVerifyTS ()
//************Check for Top Stocks Custom Number option******************
function customVerifyTS () {
  if (document.topStocksResForm.numTopStockDisplay[3].checked == true){
    var customLower = document.topStocksResForm.otherNumTopStockDisplay.value.toLowerCase();
    if (parseInt(customLower,10) > 0) {
        document.topStocksResForm.otherNumTopStockDisplay.value = parseInt(document.topStocksResForm.otherNumTopStockDisplay.value,10);
         return true;
    }
    else {
        document.topStocksResForm.otherNumTopStockDisplay.value = "";
        return false;
    }
  }
  else{
    document.topStocksResForm.otherNumTopStockDisplay.value ="";
    return true;
  }
}
var scrrenType;
function submitForm(formObj,whichName, procReq, msg, mtd)
{

   /*
   // hide the error messages so when user clicks back button they dont see the messages.
    if (document.forms[0].method.value=='go') {
      try{
        document.all.errorDiv.style.display='none';
      }
      catch(e) {
      }
    }*/

     scrrenType = whichName;
    // Value based reports validation for Oct 01, 2004
    if (msg== 'Y' && document.forms[0].rankBy != null)
    {
      var cRank = parseInt(document.forms[0].rankBy.options[document.forms[0].rankBy.selectedIndex].value);
      if (cRank == 2)
      {
          var returnVal = true;
          for (var i=1; returnVal != false && i<=4; i++)
          {
              if (eval("document.getElementById('useDateId("+i+")')") != null &&
              eval("document.getElementById('useDateId("+i+")')") != 'undefined' &&
              eval("document.getElementById('useDateId("+i+")').checked"))
              {
                var val = validAte(eval("document.getElementById('fromDateId("+i+")').value"),
                                   eval("document.getElementById('toDateId("+i+")').value"),i)
                if (val==1)
                {
                  returnVal = checkvaluedate(eval("document.getElementById('fromDateId("+i+")').value"),
                  eval("document.getElementById('toDateId("+i+")').value"));
                }
              }
          }
          if (returnVal == false)
          {
            var show = showModalMsg(window, "/common/html/confirm.html", "Your report will only contain value weighted trading volume beginning on October 1, 2004.", "dialogHeight:150px; dialogWidth:400px;status:no; center:yes; edge:raised; scroll:no; help:no;", mtd);

            if(show == "ok")
            {
              document.forms[0].method.value=mtd;
              document.forms[0].submit();
            }else{
              return;
            }
          }
          else
          {
             document.forms[0].method.value=mtd;
             document.forms[0].submit();
          }

      }else
      {
          document.forms[0].method.value=mtd;
          document.forms[0].submit();
      }
    }else
    {
      document.forms[0].method.value=mtd;
      document.forms[0].submit();
    }
    // status bar
    if (procReq=='Y')
    {
      if (whichName != 'broker' && whichName != 'industry1' && whichName != 'industry2'){
        if (document.forms[0].method.value=='go' && document.forms[0].outputType[0].checked)
        {
            document.forms[0].style.cursor = "wait";
            document['ProcessReq'].style.visibility='visible';
            document.forms[0].RST.style.cursor = "wait";
        }
      }
      else if (whichName == 'industry1'){
          if (document.forms[0].method.value=='go' && document.forms[0].reportType.value == '1'
          && document.forms[0].outputType[0].checked)
          {
              document.forms[0].style.cursor = "wait";
              document['ProcessReq'].style.visibility='visible';
              document.forms[0].RST.style.cursor = "wait";
          }
      }
      else
      {
          if (document.forms[0].method.value=='go' && document.forms[0].output.value == '1')
          {
              document.forms[0].style.cursor = "wait";
              document['ProcessReq'].style.visibility='visible';
              document.forms[0].RST.style.cursor = "wait";
          }
      }
    }
}

// Validating daterange before 10/01/2004
function checkvaluedate(fromDate,toDate)
{
  var strSeperator = "/";
  var isValidValueDate = true;
  validValueDate = 20041001; // 10/01/2004
  if (dateTypePref==1) // Changing format if it is dd/MM/yyyy
  {
    var F = fromDate.split('/');
    var T = toDate.split('/');
    var fDate = F[1]+strSeperator+F[0]+strSeperator+F[2];
    var tDate = T[1]+strSeperator+T[0]+strSeperator+T[2];
    fromDate = fDate;
    toDate = tDate;
  }
  var fromdate_format= new Date(fromDate);
  var todate_format= new Date(toDate);

  //fromDate and toDate will be converted from any format (US, European, etc) to //yyyymmdd
  var fromDatecvt = fromdate_format.getFullYear()*10000+(fromdate_format.getMonth()+1)*100+fromdate_format.getDate();
  var toDatecvt =  todate_format.getFullYear()*10000 + (todate_format.getMonth()+1)*100 + todate_format.getDate();
  if (fromDatecvt < validValueDate || toDatecvt < validValueDate)
  {
     isValidValueDate = false;
  }
  return isValidValueDate;
}

function addSymbol() {
    var alertMsg = "";
    if (document.forms[0].symbol.value.length < 1) {
        alertMsg += "Please enter symbols in the (Symbols to Add) area";
    }
    if (alertMsg.length > 0) {
        showModalMsg(window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
    }
    else
    {
       document.forms[0].method.value='add';
       document.forms[0].submit();
    }
}

function removeSymbol() {
    var alertMsg = "";
    if (document.forms[0].securitiesInPortfolio.length < 1 || document.forms[0].securitiesInPortfolio.selectedIndex == -1) {
        alertMsg += "Please select the symbols to delete";
    }
    if (alertMsg.length > 0) {
         showModalMsg(window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
    }
    else
    {
       document.forms[0].method.value='remove';
       document.forms[0].submit();
    }
}

function inactivesDeletion() {
    var dataOK = 0;
    alertMsg = "Are you sure you want to delete all inactive symbols from this portfolio?"
    returnval = showModalMsg(window, "/common/html/confirm.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;",'removeInactives')
    if (returnval=="ok") {
        dataOK = 1;
    }
    else {
       dataOK = 0;
    }
    if (dataOK == 1) {
      document.forms[0].method.value='removeInactives';
      document.forms[0].submit();
    }
}

function addCountry() {
    var alertMsg = "";
    if (document.forms[0].countries.value.length < 1 || document.forms[0].countries.selectedIndex == -1) {
        alertMsg += "Please select countries to add.";
    }
    if (alertMsg.length > 0) {
        showModalMsg(window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
    }
    else
    {
       document.forms[0].method.value='add';
       document.forms[0].submit();
    }
}

function removeCountry() {
    var alertMsg = "";
    if (document.forms[0].customList.length < 1 || document.forms[0].customList.selectedIndex == -1) {
        alertMsg += "Please select countries to remove.";
    }
    if (alertMsg.length > 0) {
        showModalMsg(window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
    }
    else
    {
       document.forms[0].method.value='remove';
       document.forms[0].submit();
    }
}
function lookupRel_Code() {
    var l = window.open('deal_code.jsp', 'dealcode', 'scrollbars=no,height=200,resizable=yes,width=400,status=no,menubar=no,toolbar=no');
    if (top.childWindows != null && top.childWindows != 'undefined')
       top.childWindows[top.childWindows.length] = l;
    l.focus();
}

function cookieAlert() {
  var alertMsg = "Autex BlockDATA requires cookie support. Please set your browser to accept cookies.";
  cookieBackup = document.cookie;
  document.cookie = "cookie=yep";
  cookieOk = document.cookie.indexOf("cookie=yep") > -1;
  document.cookie = "cookie=yep; expires=Thu, 01-Jan-70 00:00:01 GMT";
  if (!cookieOk)
    showModalMsg(parent.window, "/common/html/alert.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;");
}

function setTitle(title)
{
   try{
        var doc = (top.TopNav) ? top.TopNav.document : null;
        if (doc != null) {
          if (doc.getElementById) {
             elem = doc.getElementById('h_title');
          } else if (doc.all) {
             elem = doc.all("h_title");
          } else {
             elem = null;
          }
          if (elem) {
            elem.innerHTML = title;
          }
        }
      }
      catch(e) {
      }
}

function setStatus(status)
{
    if (status != null && status == 'I'){
       document.forms[0].symbolStatus[1].checked = true;
    }
    else if (status != null && status == 'ALL'){
       document.forms[0].symbolStatus[2].checked = true;
    }
}

function confirmDeletion (cORp) {
    var dataOK = 0;
    var listName="";
    var typeList="portfolio";
    if (cORp == "C") {
        listName = document.forms[0].countryList;
        typeList = "custom list";
    }
    else
    {
        listName = document.forms[0].portfolio;
        typeList = "portfolio";
    }
    var killMe = findSelected(listName);
    var alertMsg = "";
    if (killMe != "") {
        alertMsg = "Are you sure you want to delete the " + typeList + " " + killMe + "?";
        var returnval = showModalMsg(window, "/common/html/confirm.html", alertMsg, "dialogHeight:150px; dialogWidth:350px;status:no; center:yes; edge:raised; scroll:no; help:no;",'delete')
        if (returnval=="ok")
        {
            dataOK = 1;
        }
        else {
            dataOK = 0;
        }
    }
    else{
        document.forms[0].method.value='delete'
        document.forms[0].submit();
    }
    if (dataOK == 1) {
        document.forms[0].method.value='delete'
        document.forms[0].submit();
    }
}
function deleteFromList (methodType) {
   document.forms[0].method.value = methodType;
   if (scrrenType != 'continue' && scrrenType != 'broker' && scrrenType != 'industry1' && scrrenType != 'industry2'){
       if (methodType=='go' && document.forms[0].outputType[0].checked)
        {
            document.forms[0].style.cursor = "wait";
            document['ProcessReq'].style.visibility='visible';
            document.forms[0].RST.style.cursor = "wait";
        }
   }
   else if (scrrenType == 'industry1'){
      if (methodType=='go' && document.forms[0].reportType.value == '1'
      && document.forms[0].outputType[0].checked)
      {
          document.forms[0].style.cursor = "wait";
          document['ProcessReq'].style.visibility='visible';
          document.forms[0].RST.style.cursor = "wait";
      }
   }
   else
   {
      if (methodType=='go' && document.forms[0].output != null &&
          document.forms[0].output != 'undefined' && document.forms[0].output.value == '1')
      {
          document.forms[0].style.cursor = "wait";
          document['ProcessReq'].style.visibility='visible';
          document.forms[0].RST.style.cursor = "wait";
      }
   }
   document.forms[0].submit();
}
function findSelected(lstName) {
    var foundMe;
    var found;
    var listName = lstName;
    for (var i = 0; i < listName.length; i++) { // set to one so they can't select the blank line
        if (listName.options[i].selected) {
            foundMe = listName.options[i].text;
            found = 1;
        }
    }
    if (found) {
        return (foundMe);
    }
    else {
        return ("");
    }
}
function closeChildWindows() {
    if (typeof(top.childWindows) != 'undefined' && top.childWindows != null ) {
        for (var i = 0; i < top.childWindows.length; i++) {
            if (typeof(top.childWindows[i]) != 'undefined' && !top.childWindows[i].closed)
            {
                top.childWindows[i].onUnload = null;
                top.childWindows[i].close();
            }
        }
    }
}

function logout() {
   closeChildWindows();
   self.parent.location.href ='logout.do';
}
