﻿var delay = 0;
var loading = function() {
    delay = setTimeout(function() { $('div.jqmWindow').jqmShow(); }, 1000);
};
var notLoading = function() {
    clearTimeout(delay);
    $('div.jqmWindow').jqmHide();
};
$(document).ready(function() {
    $('div.jqmWindow').jqm({ modal: true, trigger: false, overlay: 25 });
});

(function() {
    // works for either ?foo=bar&x=y or #foo=bar;x=y
    this.parseQuery = function(qry) {
        var params = {};
        var hash = qry;
        if (!hash) return params;

        if (hash.match(/^[\?#]/)) hash = hash.substring(1);
        var pairs = hash.split("&");
        for (var i in pairs) {
            var keyval = pairs[i].split("=");
            params[keyval[0]] = keyval[1];
        }
        return params;
    };
})();

(function() {
    // see http://www.west-wind.com/Weblog/posts/509108.aspx
    var _tmplCache = {};
    this.parseTemplate = function(str, data) {
        var err = "";
        try {
            var func = _tmplCache[str];
            if (!func) {
                var strFunc =
                    "var p=[],print=function(){p.push.apply(p,arguments);};" +
                                "with(obj){p.push('" +
                    str.replace(/[\r\t\n]/g, " ")
                       .replace(/'(?=[^#]*#>)/g, "\t")
                       .split("'").join("\\'")
                       .split("\t").join("'")
                       .replace(/<#=(.+?)#>/g, "',$1,'")
                       .split("<#").join("');")
                       .split("#>").join("p.push('")
                       + "');}return p.join('');";

                //alert(strFunc);
                func = new Function("obj", strFunc);
                _tmplCache[str] = func;
            }
            return func(data);
        } catch (e) { err = e.message; }
        return "< # ERROR: " + err + " # >";
    }
})();
