﻿/// <reference path="Sys.js" />
//объект работы с Guid
// System.Guid.empty - пустой guid
// System.Guid.newGuid() - создает новый guid (получается не true guid, не желательно передовать на сервер)
(function () {

    var empty = "00000000-0000-0000-0000-000000000000";


    function newGuid() {
        ///<summary>Формирует новый Guid</summary>
        ///<returns type="String">Guid</returns>
        return (_s4() + _s4() + "-" + _s4() + "-" + _s4() + "-" + _s4() + "-" + _s4() + _s4() + _s4()).toUpperCase();
    }

    function _s4() {
        now = new Date();
        seed = now.getSeconds();
        return ((1 + Math.random(seed)) * parseInt('10000', 16)).toString(16).substring(1, 5);
    }


    System.Guid = function () {
        this.empty = "00000000-0000-0000-0000-000000000000";
        this.newGuid = function () {
            ///<summary>Формирует новый Guid</summary>
            ///<returns type="String">Guid</returns>
            //return (_s4() + _s4() + "-" + _s4() + "-" + _s4() + "-" + _s4() + "-" + _s4() + _s4() + _s4()).toUpperCase();

            return System.Guid.newGuid();
        }
    }

    System.Guid.empty = "00000000-0000-0000-0000-000000000000";

    System.Guid.newGuid = function () {
        return newGuid();
    }

})();



