All combinations of arrays in javascript

JavaScript

function test() {
                            (function (a) { a.combinations = function (a) { if (Object.prototype.toString.call(a) !== "[object Array]") { throw new Error("combinations method was passed a non-array argument") } var b = [], c = [], d = a.length ? 1 : 0, e = a.length; for (var f = 0; f < e; ++f) { if (Object.prototype.toString.call(a[f]) !== "[object Array]") { throw new Error("combinations method was passed a non-array argument") } d = d * a[f].length } for (var g = 0; g < d; ++g) { var h = g, c = [], i = []; for (var j = 0; j < e; ++j) { c[j] = h % a[j].length; h = Math.floor(h / a[j].length) } for (var j = 0; j < c.length; ++j) { i.push(a[j][c[j]]) } b.push(i) } return b } })(jQuery)
                            //var id1 = $('#text1').val();
                            // var id2 = $('#text2').val();
                            //  var id3 = $('#text3').val();

                            // alert(id1 + id2 + id3);

                            //FOR INDIVIDUAL
                            var txt1 =["RED","BLUE","GREEN"] //document.getElementsByName('txt1');
                            var txt2 =["S","M","L"]// document.getElementsByName('txt2');
                            var txt3 =["PAK","IND","BAN"]// document.getElementsByName('txt3');
                            var allOptionsArray;
                            var allOptionsArray2;
                            //FOR ALL
                            //var txt = document.getElementById('txt')
                            var arr1 = new Array();
                            var arr2 = new Array();
                            var arr3 = new Array();
                            var arr1val = new Array();
                            var arr2val = new Array();
                            var arr3val = new Array();
                            for (var i = 0; i < txt1.length; i++) {
                                arr1 = txt1[i];
                               
                             //  ...