home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 October / Gamestar_77_2005-10_dvd.iso / Programy / nsb-install-8-0.exe / chrome / toolkit.jar / content / mozapps / autofill / ccard.js < prev    next >
Text File  |  2005-07-29  |  5KB  |  173 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.     // MERC - JCH: Bug #156487. Sanity check if credit card info provided.
  123.     if (!expireMonth.selectedItem) {
  124.         return;
  125.     }
  126.     var eMonthValue=expireMonth.selectedItem.value; 
  127.   
  128.     //ExpireYear
  129.     var expireYear=document.getElementById("yearList");
  130.     
  131.     // MERC - JCH: Bug #156487. Sanity check if credit card info provided.
  132.     if (!expireYear.selectedItem) {
  133.         return;
  134.     }
  135.     var eYearValue=expireYear.selectedItem.value; 
  136.  
  137.     // var cardPwd=document.getElementById("CardPwd");
  138.  
  139.     //update data 
  140.     cc_name_val.value=cardName.value;
  141.     cc_number_val.value=cardNumValueVerified; //VERIFIED
  142.     cc_type_val.value=cardType.value;
  143.     // cc_password_val.value=cardPwd.value;
  144.  
  145.     cc_expire_month_val.value=eMonthValue;
  146.     cc_expire_year_val.value=eYearValue;
  147. }
  148.  
  149. function validate_ccardNumber(cardNumValue)
  150. {
  151.     var error = "Please Enter your Credit Card number.";
  152.  
  153.     //The following removes any spaces and any values that are no in the range 0-9
  154.     var stripped = cardNumValue.replace(/\s+/g,''); //strip out spaces
  155.     stripped = stripped.replace(/\D+/g,''); //strip out any value that is not 0-9
  156.         
  157.     //Card must be 16 digits in length or less..no spaces
  158.     if (stripped.length > 16)
  159.     {
  160.         // alert(error); //FIX THIS alert functionality
  161.         return false;
  162.     }
  163.  
  164.     if (isNaN(parseInt(stripped))) //This is redundant and should never be TRUE
  165.     {
  166.         // alert(error); //FIX THIS alert functionality
  167.         return false;
  168.     }
  169.  
  170.     cardNumValueVerified = stripped;
  171.     return true;
  172. }
  173.