﻿/// <reference path="../Javascript/jquery-1.2.3-intellisense.js" />
/// <reference path="../Javascript/jquery.timers.js" />

var domainTools =
{
    CheckDomain: function(domainName, __callback, __errorcallback)
    {
        jQuery.ajax(
           {
               type: "POST",
               url: "/web/domain-names.html/CheckDomain",
               data: { "domainName": domainName },
               dataType: "json",
               success: function(result) { if (__callback && !result.error) __callback(result.value); else if (result.error && __errorcallback) __errorcallback(result.error); },
               error: function(xhr, errMsg, ex) { if (__errorcallback) __errorcallback(errMsg); }
           });
    },
    CheckName: function()
    {
        var resultBox = $("#domainCheckTarget");

        var successBox = $("#domainCheckTarget #domainSuccess");
        var unavailableBox = $("#domainCheckTarget #domainUnavailable");
        var failedBox = $("#domainCheckTarget #domainFailed");
        var loadingBox = $("#domainCheckTarget #domainLoading");
        successBox.css("display", "none");
        unavailableBox.css("display", "none");
        failedBox.css("display", "none");

        resultBox.removeAttr("class");
        resultBox.addClass("notice");
        resultBox.css("display", "");
        loadingBox.css("display", "");
        loadingBox.html("<img src=\"/images/layout/loading.gif\" alt=\"Loading...\" /> Please wait, checking domain name availability...");

        var domain = $("#domainName").val();
        domainTools.CheckDomain(domain, function(result)
        {
            loadingBox.css("display", "none");
            resultBox.removeClass("notice");
            if (result == true)
            {
                resultBox.addClass("success");
                successBox.css("display", "");
                successBox.html("Domain available! <a href=\"/web/domain-names/register.html?domain=" + domain + "\">click here to register it</a>");
                window.location.href = "/web/domain-names/register.html?domain=" + domain;
                //resultBox.html("Domain available! <a href=\"/web/domain-names/register.html\">click here to register it</a>");
            }
            else
            {
                resultBox.addClass("error");
                unavailableBox.css("display", "");
                unavailableBox.html("It appears that '" + domain + "' is unavailable. Please try a different domain name.");
            }
        },
        function(errMsg)
        {
            loadingBox.css("display", "none");
            resultBox.removeClass("notice");
            resultBox.addClass("error");
            failedBox.css("display", "");
            if (errMsg.search(/Domain Name invalid/g) != -1)
            {
                failedBox.html("An error has occured while checking the domain name availablity: Invalid domain name");
            }
            else
            {
                failedBox.html("An error has occured while checking the domain name availablity.");
            }
        });
    }
}
