/* NOTE CHASE-BANK ONE MERGED UI CHANGES
/* See bolValidateForm below
/* changed if (!bolIsValidMMYYYYDateFormat(form.statementDate)) condition to show error page - Kurt Mattes
 */

function gotoURLosc(Obj)
{
	var urlLink=Obj.options[Obj.selectedIndex].value;
	if (document.bolForm.timePeriod[0].checked)
	{
		if(!(urlLink==''))
		{
			eval("top.location='"+Obj.options[Obj.selectedIndex].value+"_Single.html'");
		}
		else
		{
		}
	}
	
	if (document.bolForm.timePeriod[1].checked)
	{
		if(!(urlLink==''))
		{
			eval("top.location='"+Obj.options[Obj.selectedIndex].value+"_Range.html'");
		}
		else
		{
		}
	}
}
 
 
function bolSetFieldFocus(field){
if(field!=null){
if(field.type!="hidden")field.focus();
}
}
/* Start GDS Changes
 * Modified by: Sanjeewa
 */
function bolGetCookie(p_CookieName)
{

}

function bolSetCookie(p_Name, p_Value)
{
  document.cookie = p_Name + "=" + escape (p_Value);
}

/* End GDS Changes
 */
function bolPopupURL(aURL){
var newWin=window.open(aURL,"bol","directories=0,height=480,width=578,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=yes");
var agt=navigator.userAgent.toLowerCase(); 
if(!(agt.indexOf("msie")!=-1 && (parseInt(agt.substr(agt.indexOf("msie")+5,1))==4))){
newWin.focus();
}
}
function bolPopupURL2(aURL){
var newWin=window.open(aURL,"bol","directories=0,height=480,width=578,location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
var agt=navigator.userAgent.toLowerCase(); 
if(!(agt.indexOf("msie")!=-1 && (parseInt(agt.substr(agt.indexOf("msie")+5,1))==4))){
newWin.focus();
}
}
function bolPopupURLClose(aURL){
winArray[winArray.length] = window.open(aURL,"bol","directories=0,height=480,width=578,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=yes");
var agt=navigator.userAgent.toLowerCase(); 
}
function bolCloseChildren()
{
	for(i=0;i<winArray.length;i++)
	{
		// check if window wasn't already closed 
		if (winArray[i] && !winArray[i].closed) 
		{	
		  winArray[i].close();
		}		
	}
	winArray.length = 0;
}
function bolBillPayPopup(aURL){
var newWin=window.open(aURL,"bol","directories=0,height=280,width=463,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
var agt=navigator.userAgent.toLowerCase(); 
if(!(agt.indexOf("msie")!=-1 && (parseInt(agt.substr(agt.indexOf("msie")+5,1))==4))){
newWin.focus();
}
}
function bolAdPopupURL(aURL){
var leftOffset=0;
var topOffset=0;
var popupwidth=800;
var popupheight=400;
if(screen.width){
if(screen.width>popupwidth){
leftOffset=((screen.width-popupwidth)/2);
}  
}
var newWin=window.open(aURL,"bol",'directories=0,left='+leftOffset+',top='+topOffset+',screenx='+leftOffset+',screeny='+topOffset+',height='+popupheight+',location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=yes,width='+popupwidth);
var agt=navigator.userAgent.toLowerCase(); 
if(!(agt.indexOf("msie")!=-1&&(parseInt(agt.substr(agt.indexOf("msie")+5,1))==4))){
newWin.focus();
}
}
function bolTONWPopupURL(bolObj,aURL){
if(bolObj.selectedIndex!=0){
var leftOffset=50;
var topOffset=30;
var popupwidth=795;
var popupheight=475;
bolObj.selectedIndex = 0;
if(screen.width){	
if(screen.width>popupwidth){	
leftOffset=((screen.width-popupwidth)/2);
}  
}
var newWin=window.open(aURL,"ICMLayout",'directories=0,left='+leftOffset+',top='+topOffset+',screenx='+leftOffset+',screeny='+topOffset+',height='+popupheight+',width='+popupwidth+',location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
var agt=navigator.userAgent.toLowerCase(); 
if(!(agt.indexOf("msie")!=-1&&(parseInt(agt.substr(agt.indexOf("msie")+5,1))==4))){	
newWin.focus();	
}
}
}
function bolSelAct(bolObj,bolIdx,bolUseFirstOption){
var bolOffLink=bolObj.options[bolObj.selectedIndex].value;
if(bolUseFirstOption=="true" || (bolUseFirstOption==null && bolObj.selectedIndex!=0)){
if(bolOffLink!="VisaDNDLink" && bolOffLink != "UALMilesPlusLink" && bolOffLink != "SONYREWARDS"){
if(bolIdx=='' || bolOffLink.indexOf("AcctIndex=")==-1){
eval("top.location='"+bolObj.options[bolObj.selectedIndex].value+"'");
}else{
eval("top.location='"+bolObj.options[bolObj.selectedIndex].value+bolIdx+"'");
}
}else{
if (bolOffLink =="UALMilesPlusLink")
{
bolOffSiteLink('UAL Miles Plus','http://mileageplusvisa.ualmiles.com/');	
}
else if (bolOffLink == "SONYREWARDS")
{
bolOffSiteLink('Sony Rewards','http://www.sony.com/sonycard/');	
}
else
{
var bolBrandGoto = "";
if (document.bolForm["bolBrand" + bolIdx] != null)
{
bolBrandGoto = document.bolForm["bolBrand" + bolIdx].value;
}
else
{
var cookieVal = document.cookie;
if ( (cookieVal.indexOf("bolBrand=")) + 0 == -1 )
bolBrandGoto = "";
var temp = cookieVal.substring(cookieVal.indexOf("bolBrand=")+ 9, cookieVal.length);
var offset = temp.indexOf(";");
if (offset + 0 == -1)
{
offset = temp.length;
}
bolBrandGoto = unescape(temp.substring(0, offset));
}
switch(bolBrandGoto)
{
case "BA":
bolOffSiteLink('Visa','http://www.usa.visa.com/personal/shopping/visa_special_offers/First_USA_British_Airways.jsp');
break;
case "AMAZON":
bolOffSiteLink('Visa','https://usa.visa.com/specialOffers/FUSA_Amazon/offers.jsp');
break;
case "AOL":
bolOffSiteLink('Visa','http://usa.visa.com/specialOffers/AOLVisaOffers/offers.jsp');
break;
case "CMSFI":
bolOffSiteLink('Visa','http://usa.visa.com/specialOffers/CMS/offers.jsp');
break;
case "CMS":
bolOffSiteLink('Visa','http://usa.visa.com/specialOffers/CMS/offers.jsp');
break;
case "FROST":
bolOffSiteLink('Visa','http://usa.visa.com/specialOffers/CMS/offers.jsp');
break;
case "YAHOO":
bolOffSiteLink('Visa','http://usa.visa.com/specialOffers/Yahoo/offers.jsp');
break;
case "NETBANK":
bolOffSiteLink('Visa','https://www.usa.visa.com/specialOffers/NetBankVisaOffers/offers.jsp');
break;
default:
bolOffSiteLink('Visa','https://www.usa.visa.com/specialOffers/BankOne/offers.jsp');
break;
}
}
bolObj.selectedIndex=0;
}
}
}
function bolOffSiteLink(gotoName,gotoURL){  
gotoName = escape(gotoName);
gotoURL = escape(gotoURL); 
var OffSitePopUpURL;
var leftOffset=0;
var topOffset=0;    
OffSitePopUpURL="/bolOffSiteLink.aspx"; 
if(screen.width){
if(screen.width < 800){
leftOffset=60;
topOffset=90;
}else{
if(screen.width>=800&&screen.width<1024){
leftOffset=160;
topOffset=134;
}else{
if(screen.width>=1024){
leftOffset=272;
topOffset=250;
}
}
}
}
var loadURL=OffSitePopUpURL+'?gotoName='+gotoName+'&gotoURL='+gotoURL;
var webLinkWin=window.open(loadURL,"view",'width=480,height=295,left='+leftOffset+',top='+topOffset+',screenx='+leftOffset+',screeny='+topOffset+',resizable=no,scrollbars=yes,menubar=no');
webLinkWin.focus();
}
function printPage()
{
  var pr =  (window.print) ? 1 : 0;

  if (pr)	//Browser is Internet Explorer 5 or Netscape 4
    window.print()
  else		//Browser is not Internet Explorer 5 nor is it Netscape 4
    alert("Sorry, your browser doesn't support this feature.");
}

function bolClientSelectionListIsNotValid(list) {
  var itemSelected = list.selectedIndex;
  if (list.options[itemSelected].value == "") {
    list.focus();
    return true;
  }
  return false;
}
function bolIsValidMMYYYYDateFormat(dateField) {
  var dateString = bolStrip(dateField.value, " ");
  var newValue = bolIsValidMMYYYYDateFormatString(dateString);
  if (newValue != "") {
    dateField.value = newValue;
    return true;
  }
  return false;
}
function bolIsValidMMYYYYNotFutureDate(dateField) {
  return bolIsValidMMYYYYDateCompare(dateField, "<=");
}
function bolStrip(string,sChar){
if((string==null)||(string=="")){
return "";
}
var startIndex=bolIndexOfFirstNotIn(sChar,string);
var endIndex=bolIndexOfLastNotIn(sChar,string);
if(startIndex==-1){
return "";
}
return string.substring(startIndex,endIndex+1);
}
function bolIsValidMMYYYYDateFormatString(dateStr) {
    var dateLen = dateStr.length;
    if ((bolIsNumeric(dateStr)) && (dateLen == 6)) {
        dateStr = dateStr.substring(0, 2) + "/" + dateStr.substring(2, 6);
        dateLen = dateStr.length;
    }
    if (bolIsNumeric(dateStr)) {
        return "";
    }
    var spacerIndex = bolIndexOfFirstNotIn("0123456789", dateStr);
    var spacerChar = dateStr.charAt(spacerIndex);
    if (bolIsLetter(spacerChar)) {
        return "";
    }
    var monthStr = dateStr.substring(0, spacerIndex);
    var yearStr = dateStr.substring(spacerIndex + 1, dateLen);
    if (!bolIsNumeric(monthStr) || !bolIsNumeric(yearStr)) {
        return "";
    }
    var month = parseInt(monthStr, 10);
    if ((month < 1) || (month > 12)) {
        return "";
    }
    if (monthStr.length == 1) {
        monthStr = "0" + monthStr;
    }
    if (yearStr.length == 2) {
        if (parseInt(yearStr, 10) > 71) {
            yearStr = "19" + yearStr;
        } else {
            yearStr = "20" + yearStr;
        }
    }
    else
    {
   // alert("Year = " + parseInt(yearStr,10));
      if (parseInt(yearStr, 10) < 1900) {
        return "";
      }
    }
    if ((monthStr.length != 2) || (yearStr.length != 4)) {
        return "";
    }
    return monthStr + "/" + yearStr;
}
function bolIsValidMMYYYYDateCompare(dateField, operator) {
  if (!bolIsValidMMYYYYDateFormat(dateField)) {
    return false;
  }
  var givenDate = bolMmyyyyDateCompareString(dateField.value);
  var today = bolMmyyyyDateCompareString(bolGetTodayAsmmyyyy());
  return eval("\"" + givenDate + "\"" + operator + "\"" + today + "\"");
}
function bolIndexOfFirstNotIn(okayChars,inString){
var i;
for(i=0;i<inString.length;i++){
var charm=inString.charAt(i);
if(okayChars.indexOf(charm)==-1){
return i;
}
}
return -1;
}
function bolIndexOfLastNotIn(okayChars, inString) {
var i;
for (i = inString.length - 1; i >= 0; i--) {
var charm = inString.charAt(i);
if (okayChars.indexOf(charm) == -1) {
return i;
}
}
return -1;
}
function bolIsNumeric(number) {
number = number + "";
return ((number.length > 0) && bolIsComposedOfChars("0123456789", number));
}
function bolIsLetter(aChar) {
return ((aChar >= "a") && (aChar <= "z")) || ((aChar >= "A") && (aChar <= "Z"));
}
function bolMmyyyyDateCompareString(dateString) {
  var month = dateString.substring(0, 2);
  var year = dateString.substring(3, 7);
  return year + month;
}
function bolGetTodayAsmmyyyy() {
  var todayStr = bolGetTodayAsmmddyyyy();
  return todayStr.substring(0, 2) + "/" + todayStr.substring(6, 10);
}
function bolIsComposedOfChars(validChars, inString) {
return bolIndexOfFirstNotIn(validChars, inString) == -1;
}
function bolGetTodayAsmmddyyyy() {
  var todayDate = new Date();
  var today = (todayDate.getMonth() + 1) + "/" + todayDate.getDate() + "/" + bolGetFullYear(todayDate);
  return (bolIsValidDateFormatString(today));
}
function bolGetFullYear(dateObj) {
  var year = parseInt(dateObj.getYear(), 10);
  if (year < 1000) {
    year += 1900;
  }
  return year;
}
function bolIsValidDateFormatString(dateStr) {
    if (typeof (dateStr) == "undefined") {
        return "";
    }
    var dateLen = dateStr.length;
    if ((bolIsNumeric(dateStr)) && (dateLen == 8)) {
        dateStr = dateStr.substring(0, 2) + "/" + dateStr.substring(2, 4) + "/" + dateStr.substring(4, 8);
        dateLen = dateStr.length;
    }
    if ((bolIsNumeric(dateStr)) && (dateLen == 6)) {
        dateStr = dateStr.substring(0, 2) + "/" + dateStr.substring(2, 4) + "/" + dateStr.substring(4, 6);
        dateLen = dateStr.length;
    }
    if (bolIsNumeric(dateStr)) {
        return "";
    }
    var spacerIndex = bolIndexOfFirstNotIn("0123456789", dateStr);
    var spacerChar = dateStr.charAt(spacerIndex);
    if (bolIsLetter(spacerChar)) {
        return "";
    }
    var firstSpacer = dateStr.indexOf(spacerChar);
    var secondSpacer = dateStr.lastIndexOf(spacerChar);
    var monthStr = dateStr.substring(0, firstSpacer);
    var dayStr = dateStr.substring(firstSpacer + 1, secondSpacer);
    var yearStr = dateStr.substring(secondSpacer + 1, dateLen);
    if ((!bolIsNumeric(monthStr)) || (!bolIsNumeric(dayStr)) || (!bolIsNumeric(yearStr))) {
        return "";
    }
    if (monthStr.length == 1) {
        monthStr = "0" + monthStr;
    }
    if (dayStr.length == 1) {
        dayStr = "0" + dayStr;
    }
    var month = parseInt(monthStr, 10);
    var day = parseInt(dayStr, 10);
    var year = parseInt(yearStr, 10);
    if (yearStr.length == 4) {
       var century = parseInt(yearStr.substring(0,2), 10);
       if (century == 0) {
          return "";
       }
       var YearFirstDigit = parseInt(yearStr.substring(0,1), 10);
       if (YearFirstDigit == 0) {
		  return "";
	   }	  	
    }
    if (yearStr.length == 2) {
        if (year > 71) {
            yearStr = "19" + yearStr;
        } else {
            yearStr = "20" + yearStr;
        }
    }
    if ((monthStr.length != 2) || (dayStr.length != 2) || (yearStr.length != 4)) {
        return "";
    }
    var daysInMonth = new Array(12);
    daysInMonth[1] = 31;
    daysInMonth[2] = 28;
    daysInMonth[3] = 31;
    daysInMonth[4] = 30;
    daysInMonth[5] = 31;
    daysInMonth[6] = 30;
    daysInMonth[7] = 31;
    daysInMonth[8] = 31;
    daysInMonth[9] = 30;
    daysInMonth[10] = 31;
    daysInMonth[11] = 30;
    daysInMonth[12] = 31;
    if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) {
        daysInMonth[2] = 29;
    }
    if ((month < 1) || (month > 12)) {
        return "";
    }
    if ((day < 1) || (day > daysInMonth[month])) {
        return "";
    }
    return (monthStr + "/" + dayStr + "/" + yearStr);
}
var isValid = false;
function bolValidateForm(form)
{
  if (isValid)
  {
    document.onSamePage = "YES";
    if (confirm('You have already submitted this transaction.\n\nIf you have clicked the Stop button on your browser, click "OK".\n\nIf you have not clicked the Stop button, click "Cancel".\n'))
    {
      if (null == document.onSamePage)
      {
        return false;
      }
      else
      {
        isValid = false;
        form.IsKnownDuplicate.value = "YES";
      }
    }
    else
    {
      return false;
    }
  }
  if (bolClientSelectionListIsNotValid(form.accountIndex))
  {
    alert("Please select an account.");
    form.accountIndex.focus();
    return false;
  }

  isValid = true;
  return true;
}

