﻿// JScript File
var liteweb = {
    vroot: "",
    _pageInit: [],
    _pageLoad: [],
    _SearchMsg: "Search Site...",
    _Newsletter: "Type your E-mail",
    _StatusMsg: "Share your status...",
    _ShareFriend: "Type your Friend E-mail",
    AppendInit: function (obj) {
        liteweb._pageInit.push(obj);
    },
    AppendLoad: function (obj) {
        liteweb._pageLoad.push(obj);
    },
    load: function ($) {
        for (var i = 0; i < liteweb._pageLoad.length; i++)
            if ("function" == typeof liteweb._pageLoad[i])
                liteweb._pageLoad[i]();
    },
    init: function (vroot, $) {
        liteweb.vroot = vroot;
        liteweb._init($);
        try {
            liteweb._initSiteSearch();
            liteweb._initNewsletter();
            liteweb._initShareFriend();
        } catch (e) { }
    },
    _init: function () {
        for (var i = 0; i < liteweb._pageInit.length; i++)
            if ("function" == typeof liteweb._pageInit[i])
                liteweb._pageInit[i]();
    },
    CheckSiteSearch: function (f, ac) {
        if ("focus" == ac && f.value.Trim() == liteweb._SearchMsg) {
            f.value = '';
            f.style.color = f.oldColor;
        }
        if ("blur" == ac && f.value.Trim() == '') {
            f.oldColor = f.style.color;
            f.value = liteweb._SearchMsg;
            f.style.color = "#fff";
        }
    },
    CheckNewsletter: function (f, ac) {
        if ("focus" == ac && f.value.Trim() == liteweb._Newsletter) {
            f.value = '';
            f.style.color = f.oldColor;
        }
        if ("blur" == ac && f.value.Trim() == '') {
            f.oldColor = f.style.color;
            f.value = liteweb._Newsletter;
            f.style.color = "#a0a0a0";
        }
    },
    CheckStatus: function (f, ac) {
        if ("focus" == ac && f.value.Trim() == liteweb._StatusMsg) {
            f.value = '';
            f.style.color = f.oldColor;
        }
        if ("blur" == ac && f.value.Trim() == '') {
            f.oldColor = f.style.color;
            f.value = liteweb._StatusMsg;
            f.style.color = "#f1f1f1";
        }
    },
    CheckShareFriend: function (f, ac) {
        if ("focus" == ac && f.value.Trim() == liteweb._ShareFriend) {
            f.value = '';
            f.style.color = f.oldColor;
        }
        if ("blur" == ac && f.value.Trim() == '') {
            f.oldColor = f.style.color;
            f.value = liteweb._ShareFriend;
            f.style.color = "#a0a0a0";
        }
    },
    _initSiteSearch: function () {
        var sq = $("input[name=q]");
        sq.bind("focus", function () {
            liteweb.CheckSiteSearch(this, 'focus');
        });
        sq.bind("blur", function () {
            liteweb.CheckSiteSearch(this, 'blur');
        });
        sq[0].value = "";
        liteweb.CheckSiteSearch(sq[0], 'blur');
        var sf = document.forms["SearchForm"];
        sf.onsubmit = function () {
            var err = sq[0].value.Trim() == liteweb._SearchMsg ||
				sq[0].value.Trim() == "";
            if (err) {
                alert("Please enter your search query!");
                sq[0].focus();
                return false;
            }

        }
    },
    _initNewsletter: function () {
        var sq = $("input[name=newsletter-email]");
        if (sq.length == 0)
            return;
        sq.bind("focus", function () {
            liteweb.CheckNewsletter(this, 'focus');
        });
        sq.bind("blur", function () {
            liteweb.CheckNewsletter(this, 'blur');
        });
        sq.bind("keyup", function (e) {
            if (e.keyCode === 13)
                liteweb.SubmitNewsletter();
        });
        liteweb.CheckNewsletter(sq[0], 'blur');
        $("#newsletter-button").click(liteweb.SubmitNewsletter);
    },
    _initStatus: function () {
        var sq = $("input[name=status]");
        if ($("input[name=status]")[0].value == "") {
            sq.bind("focus", function () {
                liteweb.CheckStatus(this, 'focus');
            });
            sq.bind("blur", function () {
                liteweb.CheckStatus(this, 'blur');
            });
            sq[0].value = "";
            liteweb.CheckStatus(sq[0], 'blur');
        }
    },
    _initShareFriend: function () {
        var sq = $("input[name=share-email]");
        if (sq.length == 0)
            return;
        sq.bind("focus", function () {
            liteweb.CheckShareFriend(this, 'focus');
        });
        sq.bind("blur", function () {
            liteweb.CheckShareFriend(this, 'blur');
        });
        sq.bind("keyup", function (e) {
            if (e.keyCode === 13)
                liteweb.SubmitShareFriend();
        });
        liteweb.CheckShareFriend(sq[0], 'blur');
        $("#share-button").click(liteweb.SubmitShareFriend);
    },
    SubmitShareFriend: function () {
        var sq = $("input[name=share-email]");
        var err = sq[0].value.Trim() == liteweb._Newsletter ||
			sq[0].value.Trim() == "";
        if (err) {
            alert("Please enter your friend email.");
            sq[0].focus();
            return false;
        }
        err = liteweb_Val.ValEmail(sq[0].value);
        if (!err) {
            alert("Please enter your friend correct email address.");
            sq[0].focus();
            return false;
        }
        return true;
    },
    SubmitNewsletter: function () {
        var sq = $("input[name=newsletter-email]");
        var err = sq[0].value.Trim() == liteweb._Newsletter ||
			sq[0].value.Trim() == "";
        if (err) {
            alert("Please enter your email.");
            sq[0].focus();
            return false;
        }
        err = liteweb_Val.ValEmail(sq[0].value);
        if (!err) {
            alert("Please enter your correct email address.");
            sq[0].focus();
            return false;
        }
        var url = liteweb.vroot + "/newsletter/newsletter.axd";
        var data = {
            action: "create",
            "email": sq[0].value.Trim()
        };
        $.ajax({
            url: url,
            data: data,
            type: "GET",
            sucess: function (d) {
                if (d.responseText == "success") {
                    alert("Your email was successfully registered!");
                    sq[0].value = "";
                    return;
                }
                alert(d.responseText);
            },
            error: function (d) {
                alert(d.responseText);
            },
            complete: function (d) {
                if (d.responseText == "success") {
                    alert("Your email was successfully registered!");
                    sq[0].value = "";
                    return;
                }
                alert(d.responseText);
            }
        });
    }
};
