/*
Pre-processing to tune headline size before feeding to FLIR
*/

jQuery(document).ready(function() {

    function get_perms(min, max, choose) {
        var results = new Array();
        if (choose == 1) {
            for (i=min; i<max; i++) {
                results.push([i]);
            }
        } else {
            var imax = max - choose;
            var sup_perms = null;
            var jmax = null;
            for (var i=min; i<=imax; i++) {
                sub_perms = get_perms(i+1, max, choose-1);
                jmax = sub_perms.length;
                for (j=0; j<jmax; j++) {
                    results.push([i].concat(sub_perms[j]));
                }
            }
        }
        return results;
    }

    FLIR.init({ path: 'http://www.professortashman.com/wp-content/themes/ptpost/flir/' });

    jQuery.each(jQuery('h2.flir a'), function() {
        var maxlines = 3;
        var words = this.innerHTML.split(" ");
        var wordcount = words.length;
        var longest_line = this.innerHTML.length;

        if (words.length <= maxlines) {
            longest_line = 0;
            for (i=0; i<words.length; i++) {
                if (words[i].length > longest_line) {
                    longest_line = words[i].length;
                }
            }
            this.innerHTML = words.join("<br />");
        } else {
            //alert("ok 1");
            var test_array = null;
            var test_long = 0;
            var concat = false;
            var this_cat = null;
            var this_line;
            var perms = get_perms(0, wordcount-1, maxlines-1);
            //alert(perms);
            for (i=0; i<perms.length; i++) {
                //alert("ok 2");
                perms[i].push(wordcount-1);
                //alert("perms[i]: "+perms[i]);
                push = perms[i].shift();
                test_array = new Array();
                this_line = '';
                test_long = 0;
                for (j=0; j<wordcount; j++ ) {
                    this_line += ' '+words[j];
                    if (push==j) {
                        test_array.push(this_line);
                        if (this_line.length > test_long) {
                            test_long = this_line.length;
                        }
                        //alert(this_line);
                        this_line = '';
                        push = perms[i].shift();
                    }
                }
                //alert(test_array);
                //alert("test_long: "+test_long+" longest_line: "+longest_line);
                if (test_long<longest_line) {
                    longest_line = test_long;
                    best_array = test_array;
                }
                //alert("ok 5");
            }
            //alert("ok 6");
            //alert(best_array);
            this.innerHTML = best_array.join("<br />");
        }

        var scale_factor = 30;
        if (longest_line >= 10) {
            scale_factor = 280/longest_line;
        }
        if (jQuery(this).hasClass('big')) {
            scale_factor = 2*scale_factor;
        }
        //alert("font size "+parseInt(scale_factor+0.5));
        jQuery(this).css({"fontSize" : parseInt(scale_factor+0.5)+"px",
                          "letterSpacing" : "0"});
        FLIR.replace(this, new FLIRStyle({hq: 'true'}));
    });
});

