Wednesday, 13 March 2013

Common Javascript Functions

 function IsEmail(email) {
            var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            return regex.test(email)
}

//Space Validation
function isSpaceKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if ((charCode == 32)) {
        return false;
    }
    return true;
}
function onlyAplhaNumericSpecial(evt) {
    var keyCode = (evt.which) ? evt.which : event.keyCode

    if (keyCode == 32 || (keyCode > 47 && keyCode < 58) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode >= 33 && keyCode <= 47) || (keyCode >= 123 && keyCode <= 126) || keyCode == 61 || keyCode != 22)
        return true;
    else
        return false;
}

function onlyAlphaNumeric(evt) {
    var keyCode = (evt.which) ? evt.which : event.keyCode

    if (keyCode == 32 || (keyCode > 47 && keyCode < 58) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
        return true;
    else
        return false;
}
function onlyDigit(evt) {
    var keyCode = (evt.which) ? evt.which : event.keyCode

    if (keyCode == 32 || (keyCode > 47 && keyCode < 58))
        return true;
    else
        return false;
}
function onlyAlphabets(evt) {
    var keyCode = (evt.which) ? evt.which : event.keyCode

    if (keyCode == 32 || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
        return true;
    else
        return false;
}


function FocusChange(evnt, objCntrl) {
    var key = (evnt.which || evnt.keyCode || evnt.charCode);
    if (key == 13) {
        if (document.getElementById(objCntrl) != null) {
            document.getElementById(objCntrl).focus();
            return false;
        }
    }
}
function SetFocus(objCntrl) {
    if (document.getElementById(objCntrl) != null) {
        document.getElementById(objCntrl).focus();
    }
}
function ValidateForm(objCntrl) {
    if (document.getElementById(objCntrl) != null) {
        if (isDate(document.getElementById(objCntrl).value) == false) {
            document.getElementById(objCntrl).focus()
            return false;
        }
        return true;
    }
    return false;
}
/********************* Select All checkbox  ***************************/
function SelectAllCheckbox() {
    var ckhid;
    var allckhid;
    var selectcnt = 0;
    var chkBoxes;
    if (document.getElementsByName("chkSelect") != null) {
        chkBoxes = document.getElementsByName("chkSelect");
    }
    var chkleng = chkBoxes.length;
    if (document.getElementsByName('selectall') != null) {
        if (document.getElementsByName('selectall')[0].checked == true) {
            for (var i = 0; i < chkleng; i++) {
                chkBoxes[i].checked = true;
                ckhid = chkBoxes[i].id;
                selectcnt += 1;

                if (allckhid != undefined) {
                    allckhid = ckhid + '|' + allckhid
                }
                else {
                    allckhid = ckhid;
                }
            }
        }
        else {
            for (var j = 0; j < chkleng; j++) {
                chkBoxes[j].checked = false;
                selectcnt = 0;
                allckhid = undefined;
            }
        }
    }
    if (allckhid != undefined) {
        var URL = "/Common/SetAction/";
        $.post(URL, {
            strArchiveAll: allckhid
        });
    }
}
/********************* Select All checkbox  ***************************/
/********************* Check All checkbox is checked or not ***************************/
function isallchecked() {  
    var ckhid;
    var allckhid;
    var selectcnt = 0;
    var chkBoxes;
    if (document.getElementsByName("chkSelect") != null) {
        chkBoxes = document.getElementsByName("chkSelect");
    }
    var chkleng = chkBoxes.length;
    for (var i = 0; i < chkleng; i++) {
        if (chkBoxes[i].checked == true) {
            selectcnt += 1;
            ckhid = chkBoxes[i].id;
            if (allckhid != undefined) {
                allckhid = ckhid + '|' + allckhid
            }
            else {
                allckhid = ckhid;
            }
        }
        if (selectcnt == chkleng) {
            document.getElementsByName('selectall').checked = true;
        }
        else {
            document.getElementsByName('selectall').checked = false;
        }
    }

    if (allckhid != undefined) {
        var URL = "/Common/SetAction/";
        $.post(URL, {
            strArchiveAll: allckhid
        });
    }
}
/********************* Check All checkbox is checked or not ***************************/
var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;

function isInteger(s) {
    var i;
    for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary(year) {
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
}
function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31
        if (i == 4 || i == 6 || i == 9 || i == 11) { this[i] = 30 }
        if (i == 2) { this[i] = 29 }
    }
    return this
}

function isDate(objOwnCntrl, objCntrl) {
    var dtStr;
    if (document.getElementById(objOwnCntrl) != null) {
        dtStr = document.getElementById(objOwnCntrl).value;
    }
    var daysInMonth = DaysArray(12)
    var pos1 = dtStr.indexOf(dtCh)
    var pos2 = dtStr.indexOf(dtCh, pos1 + 1)
    var strDay = dtStr.substring(0, pos1)
    var strMonth = dtStr.substring(pos1 + 1, pos2)
    var strYear = dtStr.substring(pos2 + 1)
    strYr = strYear
    if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
    if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1)
    }
    month = parseInt(strMonth)
    day = parseInt(strDay)
    year = parseInt(strYr)
    if (pos1 == -1 || pos2 == -1) {
        alert("The date format should be : dd/mm/yyyy")
        if (document.getElementById(objOwnCntrl) != null) {
            document.getElementById(objOwnCntrl).focus();
        }
        return false
    }
    if (strMonth.length < 1 || month < 1 || month > 12) {
        alert("Please enter a valid month")
        if (document.getElementById(objOwnCntrl) != null) {
            document.getElementById(objOwnCntrl).focus();
        }
        return false
    }
    if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
        alert("Please enter a valid day")
        if (document.getElementById(objOwnCntrl) != null) {
            document.getElementById(objOwnCntrl).focus();
        }
        return false
    }
    if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
        alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
        if (document.getElementById(objOwnCntrl) != null) {
            document.getElementById(objOwnCntrl).focus();
        }
        return false
    }
    if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
        alert("Please enter a valid date")
        if (document.getElementById(objOwnCntrl) != null) {
            document.getElementById(objOwnCntrl).focus();
        }
        return false
    }
    if (document.getElementById(objCntrl) != null) {
        document.getElementById(objCntrl).focus();
    }
    return true
}
--------------------------------------------------------------------------


============Alert Popup Dialoge====================
function alertPopup(msg, focusElement) {
    $("#dialog-message").html(msg);
    $("#dialog-message").dialog({
        modal: true,
        height: 190,
        width: 380,
        zIndex: 12001,
        closeOnEscape: false,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
                if (focusElement != null && focusElement != "") {
                    document.getElementById(focusElement).focus();
                }
            }
        },
        open: function () {
        }
    });
}
function confirmPopup(msg, okFunc, cancelFunc) {
    $("#dialog-message").html(msg);
    $("#dialog-message").dialog({
        modal: true,
        height: 190,
        width: 380,
        zIndex: 12001,
        closeOnEscape: false,
        buttons: {
            Ok: function () {
                $(this).dialog('close');
                if (typeof (okFunc) == 'function') {
                    okFunc();
                    $(this).dialog("close");
                }
                else {
                    okFunc;
                }
            },
            Cancel: function () {
                $(this).dialog("close");
                if (typeof (cancelFunc) == 'function') {
                    cancelFunc();
                    $(this).dialog("close");
                }
            }
        }
    });
}
=====================Set Forgery======================
function setAntiForgeryHeader() {
    $.ajaxPrefilter(function (options, originalOptions) {
        if (options.type.toUpperCase() == "POST") {
            options.headers = {
                '__RequestVerificationToken': $('[name=__RequestVerificationToken]').val()
            }
        }
    });
}
/*============== Start - Set Tooltips==============*/
$(document).ready(function () {
    $(document).tooltip({
        // place tooltip on the right edge
        position: {
            my: "left right",
            at: "right right"
        },

        // a little tweaking of the position
        offset: [-2, 40],

        // use the built-in fadeIn/fadeOut effect
        effect: "fade",

        // custom opacity setting
        opacity: 0.7
    }).off("mouseover mouseout");
});


No comments:

Post a Comment