var storeObj = { update_state_menu : function( menu_id, country, state ) { //var id = parseInt( parent ); //alert( subtypes[id] ); $('#' + menu_id ).children().remove().end(); if ( country > 0 && states[country] != undefined ) { var selected_str; $.each( states[country], function( item, opt ) { selected_str = ''; if ( state == opt['id'] ) selected_str = 'selected="selected"'; $( '#' + menu_id ).append('' ); } ); } }, set_cc_type : function( cc_number ) { var type; type = storeObj.get_cc_type( cc_number ); $( '.cc_type' ).removeClass( 'cardtype_selected' ); switch ( type ) { case 'mastercard': $( '#cc_icon_mc' ).addClass( 'cardtype_selected' ); break; case 'visa': $( '#cc_icon_visa' ).addClass( 'cardtype_selected' ); break; case 'jcb': $( '#cc_icon_jcb' ).addClass( 'cardtype_selected' ); break case 'amex': $( '#cc_icon_amex' ).addClass( 'cardtype_selected' ); break; case 'dinersclub': $( '#cc_icon_dinersclub' ).addClass( 'cardtype_selected' ); break; case 'discover': $( '#cc_icon_discover' ).addClass( 'cardtype_selected' ); break; } }, set_zipcode_label : function( id ) { $( '#cc_zipcode_label' ).html( countries[id].zipcode_label ); $( '#sh_zipcode_label' ).html( countries[id].zipcode_label ); $( '#cc_state_label' ).html( countries[id].state_label ); $( '#sh_state_label' ).html( countries[id].state_label ); }, get_cc_type : function( cc_number ) { if ((/^(34|37)/).test(cc_number) && cc_number.length == 15 ) { return 'amex'; //AMEX begins with 34 or 37, and length is 15. } else if ((/^(51|52|53|54|55)/).test(cc_number) && cc_number.length == 16 ) { return 'mastercard'; //MasterCard beigins with 51-55, and length is 16. } else if ((/^(4)/).test(cc_number) && (cc_number.length == 13 || cc_number.length == 16 ) ) { return 'visa'; //VISA begins with 4, and length is 13 or 16. } else if ((/^(300|301|302|303|304|305|36|38)/).test(cc_number) && cc_number.length == 14 ) { return 'dinersclub'; //Diners Club begins with 300-305 or 36 or 38, and length is 14. } else if ((/^(6011)/).test(cc_number) && cc_number.length == 16 ) { return 'discover'; //Discover begins with 6011, and length is 16. } else if ((/^(3)/).test(cc_number) && cc_number.length == 16 ) { return 'jcb'; //JCB begins with 3, and length is 16. } else if ((/^(2131|1800)/).test(cc_number) && cc_number.length == 15 ) { return 'jcb'; //JCB begins with 2131 or 1800, and length is 15. } return ''; }, clear_menu : function ( menu_id ) { } };