home *** CD-ROM | disk | FTP | other *** search
/ PC Advisor 2006 January / PCA126_DVD.iso / internet / nsb-setup.exe / chrome / toolkit.jar / content / mozapps / autofill / ccard.js < prev    next >
Encoding:
Text File  |  2005-04-02  |  4.7 KB  |  164 lines

  1. function saveCCData()
  2. {
  3.     saveDatacardField('cc_name', cc_name_val.value);
  4.     saveDatacardField('cc_number', cc_number_val.value);
  5.     saveDatacardField('cc_type', cc_type_val.value);
  6.     saveDatacardField('cc_expire_month', cc_expire_month_val.value);
  7.     saveDatacardField('cc_expire_year', cc_expire_year_val.value);
  8.  
  9.     if (passwordHasChanged == 1) {
  10.         saveDatacardField('cc_password', cc_password_val.value);
  11.        } else {
  12.         passwordHasChanged = 0;
  13.     }
  14.     dump("Credit Card Info is now saved!\n");
  15. }
  16.  
  17. function initCreditCard()
  18. {
  19.     var kPREFContractID = "@mozilla.org/preferences-service;1";
  20.     var kPBIID = Components.interfaces.nsIPrefBranch;
  21.     var gPrefService  = Components.classes[kPREFContractID].getService(kPBIID);        
  22.     var pwdForgot = gPrefService.getBoolPref("formfill.user.reset");
  23.      
  24.     //credit card information
  25.     cc_name_val=new Object();cc_name_val.value="";
  26.     cc_number_val=new Object();cc_number_val.value="";
  27.     cc_type_val=new Object();cc_type_val.value="";
  28.     cc_expire_month_val=new Object();cc_expire_month_val.value=-1;
  29.     cc_expire_year_val=new Object();cc_expire_year_val.value=-1;
  30.     cc_password_val=new Object(); cc_password_val.value="";
  31.  
  32.     try
  33.     {
  34.         var regDict =
  35.             afService.GetDatacardFieldsByType(
  36.                 currentDatacardFile, nsIAutoFillService.FIELDTYPE_REGULAR);
  37.         cc_name_val.value = getDictionaryValue(regDict, 'cc_name');
  38.         cc_number_val.value = getDictionaryValue(regDict, 'cc_number');
  39.         cc_type_val.value = getDictionaryValue(regDict, 'cc_type');
  40.         cc_expire_month_val.value = getDictionaryValue(regDict, 'cc_expire_month');
  41.         cc_expire_year_val.value = getDictionaryValue(regDict, 'cc_expire_year');
  42.         cc_password_val.value = getDictionaryValue(regDict, 'cc_password');
  43.         dump("Credit Card Info is now read!\n");
  44.     }
  45.     catch(e) { }
  46. }
  47.  
  48. function CCardOK()
  49. {
  50.     // var cardPwd=document.getElementById("CardPwd");
  51.     //    var rcardPwd=document.getElementById("RetypeCardPwd");
  52.     var cardNum = document.getElementById("CardNumber");
  53.     var cardNumValue = cardNum.value;
  54.  
  55.     if (cardNumValue.length && !validate_ccardNumber(cardNumValue))
  56.     {
  57.         dump("Credit Card Number is invalid \n");
  58.         return false;
  59.     }
  60.  
  61.     onCCAccept(cardNumValueVerified);
  62.     saveCCData();
  63.     return true;
  64. }
  65.  
  66. function ccStartUp()
  67. {     
  68.     var cardName = document.getElementById("CardName");
  69.     var cardNumber = document.getElementById("CardNumber");
  70.     var cardType = document.getElementById("cardtypeList");
  71.      
  72.     //set credit card information
  73.     cardName.value = cc_name_val.value;
  74.     cardNumber.value = cc_number_val.value;
  75.     cardType.value = cc_type_val.value;
  76.  
  77.     //Init drop down items       
  78.     var eMonthIdx = cc_expire_month_val.value; 
  79.     eMonthIdx = parseInt(eMonthIdx, 10);
  80.     dump("eMonthIdx" + eMonthIdx + "\n");
  81.  
  82.     var eYearIdx = cc_expire_year_val.value; 
  83.     eYearIdx = parseInt(eYearIdx, 10);
  84.     dump("eYEARIdx" + eYearIdx + "\n");
  85.     
  86.     // Process drop down items   
  87.     var expireMonth = document.getElementById("monthList");     
  88.     if (eMonthIdx > -1) 
  89.     {
  90.         eMonthIdx = eMonthIdx - 1;
  91.         expireMonth.selectedIndex = eMonthIdx;
  92.         expireMonth.selected;
  93.     } else {
  94.         expireMonth.selectedIndex = 0;
  95.         expireMonth.selected;
  96.     }
  97.  
  98.     //Process drop down items    
  99.     var expireYear = document.getElementById("yearList");       
  100.     if (eYearIdx > -1) 
  101.     {
  102.         eYearIdx = eYearIdx - 4;
  103.         expireYear.selectedIndex = eYearIdx;
  104.         expireYear.selected;
  105.     } else {
  106.         expireYear.selectedIndex = 0;
  107.         expireYear.selected;
  108.     }
  109. }
  110.  
  111.  
  112. function onCCAccept(cardNumValueVerified)
  113. {
  114.     dump("onCCAccept\n");
  115.     var cardName=document.getElementById("CardName");
  116.     // var cardNumber=document.getElementById("CardNumber"); NOW VERIFIED AND UPDATED
  117.     var cardType = document.getElementById("cardtypeList");
  118.  
  119.     //ExpireMonth
  120.     var expireMonth=document.getElementById("monthList"); 
  121.    
  122.     var eMonthValue=expireMonth.selectedItem.value; 
  123.   
  124.     //ExpireYear
  125.     var expireYear=document.getElementById("yearList"); 
  126.     var eYearValue=expireYear.selectedItem.value; 
  127.  
  128.     // var cardPwd=document.getElementById("CardPwd");
  129.  
  130.     //update data 
  131.     cc_name_val.value=cardName.value;
  132.     cc_number_val.value=cardNumValueVerified; //VERIFIED
  133.     cc_type_val.value=cardType.value;
  134.     // cc_password_val.value=cardPwd.value;
  135.  
  136.     cc_expire_month_val.value=eMonthValue;
  137.     cc_expire_year_val.value=eYearValue;
  138. }
  139.  
  140. function validate_ccardNumber(cardNumValue)
  141. {
  142.     var error = "Please Enter your Credit Card number.";
  143.  
  144.     //The following removes any spaces and any values that are no in the range 0-9
  145.     var stripped = cardNumValue.replace(/\s+/g,''); //strip out spaces
  146.     stripped = stripped.replace(/\D+/g,''); //strip out any value that is not 0-9
  147.         
  148.     //Card must be 16 digits in length or less..no spaces
  149.     if (stripped.length > 16)
  150.     {
  151.         // alert(error); //FIX THIS alert functionality
  152.         return false;
  153.     }
  154.  
  155.     if (isNaN(parseInt(stripped))) //This is redundant and should never be TRUE
  156.     {
  157.         // alert(error); //FIX THIS alert functionality
  158.         return false;
  159.     }
  160.  
  161.     cardNumValueVerified = stripped;
  162.     return true;
  163. }
  164.