﻿function GetAjaxOptions(extraOptions) {
    var options = { error: HandleError, complete: EndProcessing, beforeSend: StartProcessing };
    if(extraOptions != null)
        $.extend(options, extraOptions);
    return options;
}

function GetGridOptions(extraOptions)
{
    var options = {
                    datatype: 'json',
                    rowList: [10, 20, 30, 40, 50, 100],
                    loadError: HandleError,
                    jsonReader: { repeatitems: false, id: "0" },
                    viewrecords: true,
                    imgpath: '/Content/images'
                  };
    $.extend(options, extraOptions)

    if (options.hasOwnProperty("pager"))
    {
        $.extend(options, { loadComplete: function() { options.pager.children("#last,#sp_1").remove(); } });
    }
    
    return options;    
} 

function GetCurrentDateTime() {
    var currentDate = new Date();
    return currentDate.toLocaleString();
}

function GetFormValues(theform) {
    var values = new Object();
    theform.children(':input').each(function() {
        values[this.name] = this.value
    });
    return values;
}

function HasErrors(obj) {
    if (obj == null)
        return false;
    if (obj.Errors == null)
        return false
    if (obj.Errors.length == 0)
        return false

    return true;
}

function IsValidNumber(numberToTest) {
    if (numberToTest == null)
        return false;
    else if (numberToTest == undefined)
        return false;
    else if (numberToTest == '')
        return false;
    else if (isNaN(numberToTest))
        return false;
    else if (parseFloat(numberToTest) == 0)
        return false;

    return true;
}

function IsValidString(stringToTest) {
    var result = new RegExp("\\S", "i");
    return result.test(stringToTest);
}

function StripNonNumeric(text) {
    var numbers = new String(text);
    numbers = numbers.replace(/[^0-9]/g, '');

    return numbers;
}


