﻿var _error;

$(document).ready(function() {
    $(document).keypress(function(e) { if (e.which == 27) $.modal.close(); });
});

function GetQueryStringArray() {
    var qa = window.location.search.replace('?', '').split('&');
    var _o = { a: '1' };
    for (var i = 0; i < qa.length; i++) {
        _o[qa[i].split('=')[0]] = qa[i].split('=')[1];
    }
    return _o;
}

function GetSerializeVal(e) {
    var result = '';
    $(e).children().each(function() { if (RegExp("CHECKED", 'ig').test($(this).html())) result += $(this).val() + ','; });
    return result;
}

function GetSerializeText(e) {
    var result = '';
    $(e).children().each(function() { if (RegExp("CHECKED", 'ig').test($(this).html())) result += $(this).text() + ','; });
    return result;
}

function UpdateSortingImage(e, _sortOrder) {
    $(e).find("IMG").attr("class", _sortOrder);
}


function requiredFiledValidation(e, val, err) {
    if (val.trim().length <= 0) {
        $(e).css("backgroundColor", "pink");
        return err;
    }
    else {
        $(e).css("backgroundColor", "white")
        return '';
    }
}

function inputvalidation(e, type, len) {
    switch (type) {
        case 'int':
            _error = null;
            if (!$(e).val().match(/^([0-9\-\+])+$/)) _error = '* Invalid Integer';
            break;
        case 'int+':
            _error = null;
            if (!$(e).val().match(/^([0-9])+$/)) _error = '* Invalid Integer';
            break;
        case 'decimal':
            _error = null;
            if (!$(e).val().match(/^([0-9\.\-])+$/)) _error = '* Invalid Decimal';
            break;
        case 'upcase':
            $(e).val($(e).val().toUpperCase());
            break;
        case 'string':
            _error = null;
            if ($(e).val().length >= len) {
                $(e).val($(e).val().substring(0, len - 1));
                _error = '* ' + len + ' characters limit';
            }
            break;
    }
    if (_error) {
        $(e).css("backgroundColor", "pink");
        MessageUpdating(_error);
    }
    else {
        $(e).css("backgroundColor", "white");
        MessageUpdating();
    }
}

function MessageUpdating(m, option) {
    if (m) {
        $('#page_message').show();
        $('#page_message').html(m);
        if (option == 'fade') $('#page_message').fadeOut(3000);
    }
    else {
        $('#page_message').empty();
        //        if (option == 'fade') $('#messagesContainer').fadeOut('slow');
    }
}


function RegValidation(_val, _reg) {
    var re;
    var rt = false;
    if (_val.trim().length > 0) {
        re = new RegExp(_reg.trim());
        rt = re.test(_val.trim());
    }
    return rt;
}

jQuery.createXMLDocument = function(string) {
    var browserName = navigator.appName;
    var doc;
    if (browserName == 'Microsoft Internet Explorer') {
        doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.async = 'false'
        doc.loadXML(string);
    } else {
        doc = (new DOMParser()).parseFromString(string, 'text/xml');
    }
    return doc;
}

jQuery.fn.xml = function(all) {
    var s = ""; if (this.length)
        (((typeof all != 'undefined') && all) ? this : jQuery(this[0]).contents()).each(function() { s += window.ActiveXObject ? this.xml : (new XMLSerializer()).serializeToString(this); }); return s;
};
