/* Minification failed. Returning unminified contents.
(1,1): run-time error CSS1019: Unexpected token, found '$'
(1,2): run-time error CSS1019: Unexpected token, found '('
(1,11): run-time error CSS1031: Expected selector, found ')'
(1,11): run-time error CSS1025: Expected comma or open brace, found ')'
(24,2): run-time error CSS1019: Unexpected token, found ')'
(27,10): run-time error CSS1031: Expected selector, found 'submitWithCheck('
(27,10): run-time error CSS1025: Expected comma or open brace, found 'submitWithCheck('
(38,10): run-time error CSS1031: Expected selector, found 'dataClear('
(38,10): run-time error CSS1025: Expected comma or open brace, found 'dataClear('
(49,10): run-time error CSS1031: Expected selector, found 'loading('
(49,10): run-time error CSS1025: Expected comma or open brace, found 'loading('
(62,10): run-time error CSS1031: Expected selector, found 'checkDropDownListState('
(62,10): run-time error CSS1025: Expected comma or open brace, found 'checkDropDownListState('
(85,10): run-time error CSS1031: Expected selector, found 'onRegionChange('
(85,10): run-time error CSS1025: Expected comma or open brace, found 'onRegionChange('
(128,10): run-time error CSS1031: Expected selector, found 'onProvinceChange('
(128,10): run-time error CSS1025: Expected comma or open brace, found 'onProvinceChange('
 */
$(document).ready(function () {
    $("#ProvinceId option[selected]").attr("cur", true);

    if ($("#RegionId").length > 0)
    {
        $("#RegionId option[selected]").attr("cur", true);
        if ($("#RegionId option").length == 1)
            $("#RegionId").attr("disabled", "");
    }
       
    if ($("#ResturantId").length > 0)
        {
        $("#ResturantId option[selected]").attr("cur", true);
        if ($("#ResturantId option").length == 1)
            $("#ResturantId").attr("disabled", "");
    }

    if ($("#TownId").length > 0) {
        $("#TownId option[selected]").attr("cur", true);
        if ($("#TownId option").length == 1)
            $("#TownId").attr("disabled", "");
    }

});


function submitWithCheck(element)
{
    if (!checkDropDownListState(element))
        return;
    else {
        var form = $(element).parents('form:first');
        form.submit();
    }
}


function dataClear(dropDown, dropDown4child, loadingStr, loadingDot) {
    $("tr#datarow").each(function (i, tr) {
        $(tr).remove();
    });

    $(dropDown).html("<option value=\"\">" + loadingStr + "</option>");
    $(dropDown4child).html("<option value=\"\">" + loadingStr + "</option>");

    return setInterval(loading, 500, new Array(new Array(dropDown, dropDown4child), loadingStr, loadingDot, 1));
}

function loading(args) {
    var dots = "";
    if (args[3] > 5)
        args[3] = 1;
    for (i = 0; i < args[3]; i++)
        dots += args[2];
    args[3]++;
    for (i = 0; args[0].length;i++)
        $(args[0][i]).html("<option>" + args[1] + dots + "</option>");
}



function checkDropDownListState(element,subElement,grandSubElement) {
    var value = $(element).val();
    if (value == "") {
        $(subElement).attr("disabled", "disabled");
        $(grandSubElement).attr("disabled", "disabled");
        return false;
    }
    else if ($(element + " option[cur=true]").attr("value") == value)
    {
        if ($(subElement + " option").length > 1)
            $(subElement).removeAttr("disabled");
        if ($(subElement).val() != "" && $(grandSubElement + " option").length>1)
            $(grandSubElement).removeAttr("disabled");
        return false;
    }
    else {
        $(element + " option").attr("cur", false);
        $(element + " option[value='" + value + "']").attr("cur", true);
        $(subElement).attr("disabled", "disabled");
        return true;
    }
}

function onRegionChange(loadingStr, loadingDot,lang,subDropDownList) {
    var regionId = $("#RegionId").val();

    if (!checkDropDownListState("#RegionId", subDropDownList))
        return;

    var interval = dataClear(subDropDownList,null, loadingStr, loadingDot);

    var url;
    if (subDropDownList == "#ResturantId")
        url = "/" + lang + "/Data/GetResturantList";
    else if (subDropDownList == "#TownId")
        url = "/" + lang + "/Data/GetTownList";
    else
        return;

    $.ajax(
        {
            url: url,
            data: { id: regionId },
            cache: false,
            type: "POST",
            dataType: 'json',
            success: function (data) {
                clearInterval(interval);
                $(subDropDownList).html("");
                var innerHtml = "";
                var i = 0;
                for (; i < data.length; i++)
                    innerHtml += "<option value=" + data[i].Value + ">" + data[i].Text + "</option>";
                $(subDropDownList).html(innerHtml);
                if (i > 1)
                    $(subDropDownList).removeAttr("disabled");
            },
            error: function (reponse) {
                clearInterval(interval);
                $(subDropDownList).html("");
                alert("error : " + reponse);
            }
        });
}


function onProvinceChange(loadingStr, loadingDot,lang,dropDown4GrandChild) {
    var provinceId = $("#ProvinceId").val();

    if (!checkDropDownListState("#ProvinceId", "#RegionId", dropDown4GrandChild))
        return;

    var interval = dataClear("#RegionId", dropDown4GrandChild, loadingStr, loadingDot);

    $.ajax(
        {
            url: "/"+lang+"/Data/GetRegionList",
            data: { id: provinceId },
            cache: false,
            type: "POST",
            dataType: 'json',
            success: function (data) {
                clearInterval(interval);
                $("#RegionId").html();
                $(dropDown4GrandChild).html("<option value=" + data[0].Value + ">" + data[0].Text + "</option>");

                var innerHtml = "";
                var i = 0;
                for (; i < data.length; i++)
                    innerHtml += "<option value=" + data[i].Value + ">" + data[i].Text + "</option>";
                $("#RegionId").html(innerHtml);
                if (i > 1)
                    $("#RegionId").removeAttr("disabled");
            },
            error: function (reponse) {
                clearInterval(interval);
                $("#RegionId").html();
                alert("error : " + reponse);
            }
        });
}
