﻿var Pandora2 = {};

$(function ()
{
    var tmpcookie = new Date();
    chkcookie = (tmpcookie.getTime() + '');
    document.cookie = "chkcookie=" + chkcookie + "; path=/";

    var cookiesAreNotSupported = document.cookie.indexOf(chkcookie, 0) < 0;

    if (cookiesAreNotSupported)
    {
//        var warning = $("<div class='wrapper noCookiesWarning'>Pandora website requires cookies to fully support customer needs. You can see how to enable cookies <a href='/EnableCookies'>here</a>.</div>");
//        warning.insertAfter("div.topbar");
    }
});

Pandora2.ServiceProxy = function (serviceUrl)
{
    var _self = this;
    this.serviceUrl = serviceUrl;

    this.invoke = function (method, data, callback, error, bare)
    {
        var json = JSON.stringify(data);
        var url = _self.serviceUrl + method;
        $.ajax(
        {
            url: url,
            data: json,
            type: "POST",
            processData: false,
            contentType: "application/json",
            timeout: 10000,
            dataType: "text",
            success: function (res)
            {
                if (!callback) return;
                var result = JSON.parse(res);

                if (bare)
                {
                    callback(result);
                    return;
                }
                for (var property in result)
                {
                    callback(result[property]);
                    break;
                }
            },
            error: function (xhr)
            {
                if (!error) return;
                if (xhr.responseText)
                {
                    var err = JSON.parse(xhr.responseText);
                    if (err)
                    {
                        error(err);
                    }
                    else
                    {
                        error({ Message: "Unknown server error." });
                    }
                }
                return;
            }

        });
    }
};
Pandora2.namespace = function (name, separator, container)
{
    var ns = name.split(separator || '.'),
    o = container || window,
    i,
    len;
    for (i = 0, len = ns.length; i < len; i++)
    {
        o = o[ns[i]] = o[ns[i]] || {};
    }
    return o;
};
Pandora2.ns = Pandora2.namespace;

