///////////////////////////////////////////////////////////// // Common Javascript functions ///////////////////////////////////////////////////////////// function IsNumeric(value_in) { // make sure it's numeric // returns true if numeric, false otherwise for (var i=0; i "9") { return false } } return true } function CheckClosingDates() { var fromDate = document.search.closefrom.value var toDate = document.search.closeto.value var err_msg = "From Closing date must be less than or equal to To Closing date!" if (!IsBlank(fromDate)) { if (IsValidDate("From Date", fromDate)) { document.search.closefrom.value = date_value fromDate = document.search.closefrom.value date_value = "" var month_from = fromDate.substring(0, 2); var day_from = fromDate.substring(3, 5); var year_from = fromDate.substring(6, 10); from_date = new Date(year_from, month_from-1, day_from); if (!IsBlank(toDate)) { if (IsValidDate("To Date", toDate)) { toDate = document.search.closeto.value var month_to = toDate.substring(0, 2); var day_to = toDate.substring(3, 5); var year_to = toDate.substring(6, 10); to_date = new Date(year_to, month_to-1, day_to); //check if larger than to date if(!CompareDate(from_date, to_date)) { alert(err_msg) return false } } else { //Invalid Date return false } } else { if (document.search.closedate.checked){ alert("Pool Closing Date is required when Pool Closing Date checkbox is selected!") return false } } } else { return false } } else{ if (document.search.closedate.checked) { alert("Pool Closing Date is required when Pool Closing Date checkbox is selected!") return false } } return true; } function CheckSettlementDates() { var fromDate = document.search.settlementfrom.value var toDate = document.search.settlementto.value var err_msg = "From Settlement date must be less than or equal to To Settlement date!" if (!IsBlank(fromDate)) { if (IsValidDate("From Date", fromDate)) { document.search.settlementfrom.value = date_value fromDate = document.search.settlementfrom.value date_value = "" var month_from = fromDate.substring(0, 2); var day_from = fromDate.substring(3, 5); var year_from = fromDate.substring(6, 10); from_date = new Date(year_from, month_from-1, day_from); if (!IsBlank(toDate)) { if (IsValidDate("To Date", toDate)) { toDate = document.search.settlementto.value var month_to = toDate.substring(0, 2); var day_to = toDate.substring(3, 5); var year_to = toDate.substring(6, 10); to_date = new Date(year_to, month_to-1, day_to); //check if larger than to date if(!CompareDate(from_date, to_date)) { alert(err_msg) return false } } else { //Invalid Date return false } } else { if (document.search.closedate.checked){ alert("Pool Settlement Date is required when Pool Settlment Date checkbox is selected!") return false } } } else { return false } } else{ if (document.search.settlementdate.checked) { alert("Pool Settlement Date is required when Pool Settlement Date checkbox is selected!") return false } } return true; } function IsLetter(theChar) { var charArray = new Array( ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); for(var j=0; j < charArray.length; j++) if(theChar == charArray[j]) return true; return false; } function IsDigit(theChar) { var charArray = new Array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); for(var j=0; j < charArray.length; j++) if(theChar == charArray[j]) return true; return false; } function IsBlank(value_in) { var blank_cnt = 0 if (value_in == "") { return true } else { for (var i=0; i 2) { alert(field_name + "contains an invalid date. Please enter in mm/dd/yyyy format.") return false } } else { if (!separator_cnt) { month_tmp += ch } else { if (separator_cnt == 1) { day_tmp += ch } else { year_tmp += ch } } } } // if no separators, length should = 8, else give error if (!separator_cnt) { if (date_in.length != 8) { alert(field_name + " contains an invalid date. Please enter in mm/dd/yyyy format.") return false } else { // get month, day, and year values month_tmp = date_in.substring(0, 2); day_tmp = date_in.substring(2, 4); year_tmp = date_in.substring(4, 8); } } // make sure month, day, and year are numeric if (!IsNumeric(month_tmp) || !IsNumeric(day_tmp) || !IsNumeric(year_tmp)) { alert(field_name + " must be a numeric date."); return false; } var month_num = parseInt(month_tmp,10); var day_num = parseInt(day_tmp,10); var year_num = parseInt(year_tmp,10); // check for leap year if ((!(year_num % 4) && (month_num == 2 && day_num == 29))) { //return false } else { // make sure everything's valid if ((month_num > 12 || month_num < 1) || (day_num > days_in_month[month_num-1]) || (day_num < 1) || (year_num < EARLY) || (year_num > LATE)) { alert(field_name + " Error - Please make sure the month is between 1 and 12, day is valid for the month specified, and a valid 4 digit year is entered.") return false } } // make sure day and month are 2 digits if (month_num < 10 && month_tmp.length == 1) { month_tmp = 0 + month_tmp } if (day_num < 10 && day_tmp.length == 1) { day_tmp = 0 + day_tmp } date_value = month_tmp + '/' + day_tmp + '/' + year_tmp return true } function isHoliday(Date, holidays) { var err_msg = "This is a holiday, please choose another date!" for(var i=0; i parseInt(fromYear)) { flag = CheckOtherFields() // alert("To Year > from Year") } else { if ((parseInt(toMonth)-parseInt(fromMonth)) <= 2) flag = true else flag = CheckOtherFields() } } else { if (document.search.closedate.checked) { // alert("CheckFix Selected CLOSE Date Checked") if (!IsDateRangeLarge(fromDate,toDate,90)) flag = true else flag = CheckOtherFields() } else flag = CheckOtherFields() } } if (!flag) alert("WARNING: Your selection criteria may produce large result set. Please narrow down your selection") return flag; } function CheckOtherFields() { // var sponsor = document.search.sponsor.value var index = document.search.Prefixcode.selectedIndex var prefix = document.search.Prefixcode.options[index].value var fromRate = document.search.passthrufrom.value var toRate = document.search.passthruto.value var flag = true if (prefix == "non") if ( !IsBlank(fromRate) && !IsBlank(toRate)) if (parseFloat(toRate)-parseFloat(fromRate) >= 1.0) if (parseFloat(fromRate) <= 6.0 && parseFloat(toRate) >= 7.0) flag = false; else flag = true; else if (parseFloat(fromRate) >= 6.0 && parseFloat(toRate) <= 7.0) flag = false; else flag = true; else flag = false else flag = true; return flag; } function CheckForm() { var flag = false; if(!CheckProduct()){ document.search.checkmegas.focus(); return false; } if(!CheckPool()){ document.search.checkarm.focus(); return false; } if(!CheckIssueDates()) { document.search.issuedate.focus(); return false; } if(!CheckPostDates()) { document.search.closedate.focus(); return false; } if(!CheckSettleDates()) { document.search.settlementdate.focus(); return false; } if(!CheckPassThruRates()) { document.search.passthrufrom.focus(); return false; } // if (!CheckForResultSet()) // { // document.search.passthrufrom.focus(); // return false; // // } return true; } function CheckPassThruRates() { var fromRate = document.search.passthrufrom.value var toRate = document.search.passthruto.value // alert("CheckPassThru") if (IsBlank(fromRate)) if (IsBlank(toRate)) return true; else { alert("From Pass Through Rate must be supplied along with To Pass through Rate") return false; } else { if (IsBlank(toRate)) { alert("To Pass Through Rate must be supplied along with the From Pass Through Rate") return false; } } if (IsRateValid(fromRate)) if (IsRateValid(toRate)) if (parseFloat(toRate) >= parseFloat(fromRate)) return true; else alert("To Rate can not be less than From Rate") return false; } function CheckProduct() { // alert("Check Product") if (!document.search.checkmegas.checked) if (!document.search.checksfmbs.checked) { alert("You must select a Product type") return false; } else return true; else return true; } function CheckPool() { // alert("Check Pool") if (!document.search.checkarm.checked) if (!document.search.checkfix.checked) { alert("You must select an Amortization type") return false; } else return true; else return true; } function CheckIssueDates() { var index1 = document.search.yearfrom.selectedIndex; var fromYear = document.search.yearfrom.options[index1].value index1 = document.search.yearto.selectedIndex; var toYear = document.search.yearto.options[index1].value index1 = document.search.monthfrom.selectedIndex; var fromMonth = document.search.monthfrom.options[index1].value index1 = document.search.monthto.selectedIndex; var toMonth = document.search.monthto.options[index1].value if (!document.search.issuedate.checked) { return true; } else { if (parseInt(fromYear) > parseInt(toYear)) { alert("From Year Issue Date can not be greater than To Year") return false; } else { if (parseInt(fromYear) == parseInt(toYear)) if (parseInt(fromMonth) > parseInt(toMonth)) { alert("From Issue Month can not be greater than To Issue Month for the same year") return false; } else return true; else return true; } } } function CheckPostDates() { var fromDate = document.search.yearfrom.value var toDate = document.search.yearto.value // alert("CheckPostDates") if (!document.search.closedate.checked) return true; else if (!CheckClosingDates()) return false; else return true; } function CheckSettleDates() { // var fromDate = document.search.yearfrom.value // var toDate = document.search.yearto.value // alert("CheckPostDates") if (!document.search.settlementdate.checked) return true; else if (!CheckSettlementDates()) return false; else return true; } function CompareDate(Date1, Date2) { var year1 = Date1.getYear(); var month1_tmp = Date1.getMonth(); if(month1_tmp < 10) var month1 = "0" + month1_tmp; else month1 = month1_tmp; var day1_tmp = Date1.getDate(); if(day1_tmp < 10) var day1 = "0" + day1_tmp; else day1 = day1_tmp; var year2 = Date2.getYear(); var month2_tmp = Date2.getMonth(); if(month2_tmp < 10) var month2 = "0" + month2_tmp; else month2 = month2_tmp; var day2_tmp = Date2.getDate(); if(day2_tmp < 10) var day2 = "0" + day2_tmp; else day2 = day2_tmp; var time1 = parseInt("0"+year1+month1+day1, 10); var time2 = parseInt("0"+year2+month2+day2, 10); //alert(time1); //alert(time2); if(time1 > time2) { //alert(err_msg); return false; } else return true; } function IsDateRangeLarge(Date1, Date2, num) { var month_from = Date1.substring(0, 2); var day_from = Date1.substring(3, 5); var year_from = Date1.substring(6, 10); var fromDate = new Date(year_from, month_from-1, day_from); var year1 = fromDate.getYear(); var month_to = Date2.substring(0, 2); var day_to = Date2.substring(3, 5); var year_to = Date2.substring(6, 10); var toDate = new Date(year_to, month_to-1, day_to); var month1_tmp = fromDate.getMonth(); if(month1_tmp < 10) var month1 = "0" + month1_tmp; else month1 = month1_tmp; var day1_tmp = fromDate.getDate(); if(day1_tmp < 10) var day1 = "0" + day1_tmp; else day1 = day1_tmp; var year2 = toDate.getYear(); var month2_tmp = toDate.getMonth(); if(month2_tmp < 10) var month2 = "0" + month2_tmp; else month2 = month2_tmp; var day2_tmp = toDate.getDate(); if(day2_tmp < 10) var day2 = "0" + day2_tmp; else day2 = day2_tmp; var time1 = parseInt("0"+year1+month1+day1, 10); var time2 = parseInt("0"+year2+month2+day2, 10); if ((time2-time1) > parseInt(num)) { return true; } else return false; } function IsRateValid(rate) { var varRate = rate; var rateChar = ""; var decCount = 0; for(var i=0; i 999) || (parseFloat(rate) < 1)) { alert("Pass Through Rate must be between 1.0 and 999.0") return false; } else return true; } else { alert("Pass Through Rate has multiple decimal point") return false; } } ////////////////////////////////////////// WZ added 1-6-2003 function fSetPoolL(cusip,pool){ var frmObj = document.frmDisplay; frmObj.PoolSelected.value = pool; frmObj.CusipSelected.value = cusip; frmObj.isForDownload.value = "N"; frmObj.submit(); } function fSetPoolForDownload(pool){ var frmObj = document.frmDisplay; frmObj.PoolForDownload.value = pool; frmObj.isForDownload.value = "Y"; frmObj.submit(); } function checkAllL( ) { var formObj = document.frmSelectPool; //var checkRemove = formObj.elements[0]; //changed from 0 to 1 pramod var checkRemove = formObj.addall; var numberofchecks = formObj.length; if ( checkRemove.checked ) for ( i = 1; i < numberofchecks; i++ ) formObj.elements[i].checked = true; else for ( i = 1; i < numberofchecks; i++ ) formObj.elements[i].checked = false; } function removeElement() { var formObj = document.frmSelectPool; formObj.submit(); } function downLoad() { var formObj = document.frmSelectPool; formObj.isDownloadReport.value = "Y"; var numberofchecks = formObj.length; var selectedPools = 0; var elementName = ""; for ( i = 1; i < numberofchecks; i++ ) { if ( formObj.elements[i].checked == true && formObj.elements[i].name != "remove" && formObj.elements[i].name != "addall" && formObj.elements[i].name != "print" && formObj.elements[i].name != "bodyPage" ) { selectedPools++; elementName += formObj.elements[i].name+"\n"; } } if ( selectedPools > 21 ) { alert("You can only download to 20 prospectus supplements at a time. "); } else { formObj.action="process?formAction=AdvRetrievePDF"; formObj.submit(); } } function downLoadPool() { var formObj = document.frmRetrieve; formObj.isDownloadReport.value = "Y"; // formObj.action="process?formAction=AdvRetrievePDF"; formObj.submit(); } function printReprot() { var formObj = document.frmSelectPool; var numberofchecks = formObj.length; var selectedPools = 0; var elementName = ""; for ( i = 1; i < numberofchecks; i++ ) { if ( formObj.elements[i].checked == true && formObj.elements[i].name != "remove" && formObj.elements[i].name != "addall" && formObj.elements[i].name != "print" && formObj.elements[i].name != "bodyPage" ) { selectedPools++; elementName += formObj.elements[i].name+"\n"; } } if ( selectedPools > 21 ) { alert("You can only view up to 20 prospectus supplements at a time. "); } else { formObj.action="process?formAction=AdvRetrievePDF"; formObj.submit(); } } function CCL() { var formObj = document.frmSelectPool; //var checkRemove = formObj.elements[1]; var checkRemove = formObj.addall; var numberofchecks = formObj.length; if ( checkRemove.checked ) for ( i = 1; i < numberofchecks; i++ ) if ( !formObj.elements[i].checked ) checkRemove.checked = false; } function fSetPoolR(cusip,pool){ var frmObj = document.frmDisplay; frmObj.CusipSelected.value = cusip; frmObj.PoolSelected.value = pool; frmObj.isForDownload.value = "N"; frmObj.submit(); } function fSetValue(val) { var formObj = document.frmResult; if ( val == "addtolist" ) { formObj.caller.value = "addtolist"; } else { formObj.PageNumber.value = val; } formObj.submit(); } function checkAllR() { var formObj = document.frmResult; //var checkObj = formObj.elements[0]; var checkObj = formObj.addall; var numberofchecks = formObj.length; if ( checkObj.checked ) for ( i = 1; i < numberofchecks && formObj.elements[i].type == "checkbox"; i++ ) formObj.elements[i].checked = true; else for ( i = 1; i < numberofchecks && formObj.elements[i].type == "checkbox"; i++ ) formObj.elements[i].checked = false; } function CCR() { var formObj = document.frmResult; var checkObj = formObj.elements[0]; var numberofchecks = formObj.length; if ( checkObj.checked ) for ( i = 1; i < numberofchecks && formObj.elements[i].type == "checkbox"; i++ ) if ( !formObj.elements[i].checked ) checkObj.checked = false; } ////////////////////////////////////////// WZ added 1-6-2003 End