﻿
var $fs = function(src, args) //Format String
{
    var result = src;
    for (var i = 1; i < arguments.length; i++)
    {
        var reg = new RegExp("\\{[" + (i - 1) + "]\\}", "g");
        result = result.replace(reg, arguments[i]);
    }
    return result;
};

var $trim = function(sText)
{
    return sText.replace(/\s*$/, '');
}


function ShowEvents(dateString)
{
    var dt = new Date(dateString);
    var targetLink = "Events.aspx?dt=" + (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();
    window.location = targetLink;
//    var targetLink = "Contents/Events/" + dt.getFullYear() + "-" + (dt.getMonth() + 1) + ".htm#" + dt.getDate();
//    var frm = document.getElementById("ifrm_ctl00_cphMain_cbxEvents");
//    frm.src = targetLink;
    return false;
}
var $g = function(id) //Get Element
{
    return document.getElementById(id);
}

function UIDialog(id)
{
    this.ID = id;

    ///////////////////////////////////////////////////////////////////////
    this.Show = function(contentHTML)
    {
        var w = $g('div_ModalWin');
        if (w == null)
        {
            w = document.createElement("div");
            w.id = 'div_ModalWin';
            w.className = 'modalWin';
            document.body.appendChild(w);
        }
        w.style.display = "block";
        var wc = $g('div_ModalWinContent');
        if (wc == null)
        {
            wc = document.createElement("div");
            wc.id = 'div_ModalWinContent';
            wc.className = 'modalWinContent';
            document.body.appendChild(wc);
        }
        wc.style.display = "block";
        wc.innerHTML = "<table align='center'><tr><td><br/><br/><br/>" + contentHTML + "</td></tr></table>";
    }
    /////////////////////////////////////////////////
    this.ShowEditor = function(contentElemId,title)
    {
        var w = $g('div_ModalWin');
        if (w == null)
        {
            w = document.createElement("div");
            w.id = 'div_ModalWin';
            w.className = 'modalWin';
            document.body.appendChild(w);
        }
        w.style.display = "block";
        var wc = $g('div_ModalWinContent');
        if (wc == null)
        {
            wc = document.createElement("div");
            wc.id = 'div_ModalWinContent';
            wc.className = 'modalWinContent';
            document.body.appendChild(wc);
        }
        wc.style.display = "block";
        var contentElem = $g(contentElemId);
        wc.innerHTML = "<table align='center'><tr><td><br/><br/><br/>" + editor.Render(contentElem.innerHTML, title) + "</td></tr></table>";
    }
    ///////////////////////////////////////////////////////////////////////
    this.Hide = function()
    {
        var w = $g('div_ModalWin');
        if (w) w.style.display = "none";

        var wc = $g('div_ModalWinContent');
        if (wc)
        {
            wc.style.display = "none";
            wc.innerHTML = "";
        }
        return false;
    }
}

var $dlg = new UIDialog("global");

function SortJSONArray(arrJson, sortProperty, sortOrder, sortType, defaultSortFields)
{
    if (arrJson == null) return arrJson;
    if (!sortOrder) sortOrder = "ASC";
    var tempStore;
    var defaultSortFieldArr = null;
    if (defaultSortFields != null)
        defaultSortFieldArr = defaultSortFields.split(",");

    var swapRows = false;
    for (var i = 0; i < arrJson.length - 1; i++)
    {
        for (var j = i; j < arrJson.length; j++)
        {
            swapRows = false;
            var val1 = eval("arrJson[i]." + sortProperty);
            var val2 = eval("arrJson[j]." + sortProperty);

            if (sortType == "Date")
            {
                val1 = new Date(val1);
                val2 = new Date(val2);
                if (isNaN(val1)) val1 = 0;
                if (isNaN(val2)) val2 = 0;
            }

            if (sortOrder == "ASC")
            {
                if (val1 > val2) swapRows = true;
            }
            else
            {
                if (val1 < val2) swapRows = true;
            }

            if (!swapRows)
            {
                if ((val1 == val2) && defaultSortFieldArr != null)
                {
                    for (var k = 0; k < defaultSortFieldArr.length; k++)
                    {
                        if (eval("arrJson[i]." + defaultSortFieldArr[k] + ">arrJson[j]." + defaultSortFieldArr[k]))
                        {
                            swapRows = true;
                        }
                    }
                }
            }

            if (swapRows)
            {
                tempStore = arrJson[i];
                arrJson[i] = arrJson[j];
                arrJson[j] = tempStore;
            }
        }
    }
    return arrJson;
}
