﻿function ToProperCase(str, glue) {
    /*
    * @param String str The text to be converted to titleCase.
    * @param Array glue the words to leave in lowercase. 
    */
    glue = (glue) ? glue : new Array(
        'of',
        'for',
        'and'
);
    return str.replace(/(\w)(\w*)/g, function (_, i, r) {
        var j = i.toUpperCase() + (r != null ? r : "");
        return (glue.indexOf(j.toLowerCase()) < 0) ? j : j.toLowerCase();
    });
}
function avg(aNum, sIndex, lIndex) {
    var total = 0;
    if (sIndex == null || sIndex == "")
        sIndex = 0;
    if (lIndex == null || lIndex == "" || lIndex == 0)
        lIndex = aNum.length;
    for (var i = sIndex; i < lIndex; i++) {
        total = parseFloat(total) + parseFloat(aNum[i]);
    }
    total = parseFloat(total) / (lIndex - sIndex);
    return total;
}
function runTimer(id) {
    var time = $('#' + id).html().split(":");
    if (time[1] < 59)
        time[1] = time[1] * 1 + 1;
    else {
        time[1] = 00;
        time[0] = time[0] * 1 + 1;
    }
    if (time[0].toString().length < 2)
        time[0] = "0" + time[0];
    if (time[1].toString().length < 2)
        time[1] = "0" + time[1];
    $('#timer').html(time[0] + ":" + time[1]);
}
var th = ['hundred', 'thousand', 'lakh', 'crore', 'arab'];
var dg = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
var tn = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'];
var tw = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
function Num2Word(s) {
    s = s.toString(); s = s.replace(/[\, ]/g, '');
    if (s != parseFloat(s)) return 'not a number';
    var x = s.indexOf('.');
    if (x == -1) x = s.length; if (x > 9) return 'too big';
    var n = s.split(''); var str = ''; var sk = 0;
    for (var i = 0; i < x; i++) {
        if ((x - i) % 3 == 2) {
            if (n[i] == '1') {
                str += tn[Number(n[i + 1])] + ' '; i++; sk = 1;
            }
            else if (n[i] != 0) {
                str += tw[n[i] - 2] + ' '; sk = 1;
            }
        }
        else if (n[i] != 0) {
            str += dg[n[i]] + ' ';
            if ((x - i) == 3) str += 'hundred '; sk = 1;
        }
        if ((x - i) % 2 == 0 && (x - i) > 2) {
            if (sk) str += th[(x - i) / 2 - 1] + ' '; sk = 0;
        }
    }
    if (s == "0")
        str = dg[0];
    if (x != s.length) {
        var y = s.length; str += 'point ';
        for (var i = x + 1; i < y; i++) str += dg[n[i]] + ' ';
    } return str.replace(/\s+/g, ' ');
}
var alphabets = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
function Num2Alpha(num) {
    num = num.toString(); num = num.replace(/[\, ]/g, '');
    if (num != parseInt(num)) return 'not a Integer';
    return alphabets[(num - 1) % 26];
}

function Alpha2Num(alpha) {
    alpha = alpha.toUpperCase();
    var conv;
    conv = alpha.charCodeAt(0) - 64;
    return conv;
}

function rotate(id, r) {
    $("#" + id).css("transform", "rotate(" + r + "deg)");
    $("#" + id).css("-sand-transform", "rotate(" + r + "deg)");
    $("#" + id).css("-moz-transform", "rotate(" + r + "deg)");
    $("#" + id).css("-webkit-transform", "rotate(" + r + "deg)");
    $("#" + id).css("-o-transform", "rotate(" + r + "deg)");
}
