﻿function ajaxError(xhr, status, exc) {
    $("#divNoItems").hide();
    $("#divLoading").hide();
    $("#divError").show();

    // Comment out for production.
    // var msg = "An unexpected error occurred.  Please retry your operation.";
    //var response = $.parseJSON(xhr.responseText);
    //msg += "\n\nMesage: " + response.Message;
    //alert(msg);
};

// Set Defaults for calling ajax directly and getting json back from WebMethods on the current page.
$.ajaxSetup({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{ }",
    error: ajaxError
});

function isDisabled(selector) {
    return $(selector).prop("disabled");
};

function stringProperty(data) {
    if (data == null)
        return "null";
    else
        return $.quoteString(data);
};

function hideItemDivs(loading) {
    $("#divNoItems").hide();
    $("#divError").hide();
    if(!loading)
        $("#divLoading").hide();
};

function showNoItemsDiv(length) {
    if(length == 0) $("#divNoItems").show();
};

function gup(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return null;
    else
        return results[1];
};

function setCookie(name, value, path, expireDays) {
    var expires;
    if (expireDays != null) {
        expires = new Date();
        expires.setDate(expires.getDate() + expireDays);
    };
    var cookie_string = name + "=" + escape(value) +
        ((expires) ? ";expires=" + expires.toGMTString() : "") +
        ((path) ? ";path=" + path : "");
    document.cookie = cookie_string;
};

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
};


function saveSessionData(sessionData) {
    var str = JSON.stringify(sessionData);
    $.cookie('sd', str);
};

function getSessionData() {
    var cookieVal = $.cookie("sd");
    if (!cookieVal || cookieVal == "") {
        return false;
    }
    else {
        var x = unescape(cookieVal);
        return JSON.parse(x);
    }
};
