﻿jQuery(function($) {
    var timer, slidePos = 1, slideRepeat = true, maxSlidePos = 5;

    function slideBtn_click(e) {
        clearTimeout(timer);
        slideRepeat = false;
        slidePos = e.data.pos;
        slide_anim();
    }

    function slide_anim() {
        $(".slide").fadeOut(100);
        $("#f" + slidePos).fadeIn(400);

        $("ul.btns li").removeClass("active");
        $("#btn" + slidePos).addClass("active");
        if (slideRepeat) {
            slidePos++;
            if (slidePos > maxSlidePos)
                slidePos = 1;
            clearTimeout(timer);
            timer = setTimeout(eval("slide_anim"), "9000");
        }
    }

    function OnLoad(event) {
        slide_anim();
    }

    $('#btn1').bind('click', { pos: 1 }, slideBtn_click);
    $('#btn2').bind('click', { pos: 2 }, slideBtn_click);
    $('#btn3').bind('click', { pos: 3 }, slideBtn_click);
    $('#btn4').bind('click', { pos: 4 }, slideBtn_click);
    $('#btn5').bind('click', { pos: 5 }, slideBtn_click);

    OnLoad();

});

var _tmplCache = {}
this.parseTemplate = function(str, data) {
    /// <summary>
    /// Client side template parser that uses &lt;#= #&gt; and &lt;# code #&gt; expressions.
    /// and # # code blocks for template expansion.
    /// NOTE: chokes on single quotes in the document in some situations
    ///       use &amp;rsquo; for literals in text and avoid any single quote
    ///       attribute delimiters.
    /// </summary>    
    /// <param name="str" type="string">The text of the template to expand</param>    
    /// <param name="data" type="var">
    /// Any data that is to be merged. Pass an object and
    /// that object's properties are visible as variables.
    /// </param>    
    /// <returns type="string" />  
    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, " ")
            //                  .split("<#").join("\t")
            //                  .replace(/((^|#>)[^\t]*)'/g, "$1\r")
            //                  .replace(/\t=(.*?)#>/g, "',$1,'")
            //                  .split("\t").join("');")
            //                  .split("#>").join("p.push('")
            //                  .split("\r").join("\\'") + "');}return p.join('');";

            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.htmlEncode() + " # >";
}