Ryland = {};
var postbackElement;
var dataSource;
var _uacct = "UA-212043-1";
var debug = false;

$(document).ready(function() {
    Ryland.rylandMenu("#menu>ul>li");
    Ryland.rylandMenu(".subMenu>li");
    $("div").each(function() {
        switch (this.id) {
            case "contentFlashHolder":
                if (typeof (contentFlashParams) === "undefined") return;
                if (DetectFlashVer(8, 0)) {
                    //                    if( $.browser.safari ) {
                    //                        $.flash(eval(contentFlashParams), $("#contentFlashHolder"));
                    //                    }
                    //                    else {
                    var params = new Array();
                    var regEx = /('*)/g
                    contentFlashParams = contentFlashParams.replace(regEx, "");
                    var flashParams = contentFlashParams.split(" ");
                    for (i = 0; i < flashParams.length; i++) {
                        params.push(flashParams[i]);
                    }
                    $.flash(params, $("#contentFlashHolder"));
                    //                    }
                }
                break;
            case "searchResults":
                $.getScript("/scripts/jquery.ryland.division.js", function() {
                    if ($.browser.safari) {
                        setTimeout(function() {
                            $.division();
                        }, 3);
                    }
                    else {
                        $.division();
                    }
                });
                break;
            case "headerFlashHolder":
                if (typeof (headerFlashParams) === "undefined") return;
                if (DetectFlashVer(8, 0)) {
                    //                    if( $.browser.safari ) {
                    //                        $.flash(eval(headerFlashParams), $("#headerFlashHolder"));
                    //                    }
                    //                    else {
                    var params = new Array();
                    var regEx = /('*)/g
                    headerFlashParams = headerFlashParams.replace(regEx, "");
                    var flashParams = headerFlashParams.split(" ");
                    for (i = 0; i < flashParams.length; i++) {
                        params.push(flashParams[i]);
                    }
                    $.flash(params, $("#headerFlashHolder"));
                    //                    }
                }
                break;

            case "requiredFields":
                if ($(this).children("input[@id$=MissingRequiredFields]").val().toLowerCase() == "true") {
                    $(this).prev("div").hide();
                    $(this).show();
                }
                break;

            //	        case "formArea":           
            //                $.getScript("/scripts/jquery.ryland.register.js",function() {           
            //                    $.register();           
            //                });           
            //                break;	                   
            case "natMarketMap":
                if (DetectFlashVer(8, 0)) {
                    if (typeof (mapUS) !== "undefined") {
                        if ($.browser.safari) {
                            setTimeout(function() {
                                $.getScript("/scripts/fmASAPI.js", function() {
                                    $.getScript("/scripts/fmASInitVars.js", function() {
                                    });
                                });
                            }, 1);
                        }
                        else {
                            $.getScript("/scripts/fmASAPI.js", function() {
                                //$.getScript("/scripts/fmASInitVars.js", function(){
                                $.getScript("/scripts/fmActivate.js", function() {
                                });
                            });
                        }
                        var params = new Array();
                        var regEx = /('*)/g
                        mapUS = mapUS.replace(regEx, "");
                        var flashParams = mapUS.split(" ");
                        //var flashParams = fmEngine.split(" ");
                        for (i = 0; i < flashParams.length; i++) {
                            params.push(flashParams[i]);
                        }
                        $.flash(params, $("#natMarketMap"));
                    }
                }
                else {
                    $("#noFlashMiniMap").show();
                }
                break;
        }
        if (this.id.indexOf("controlsContainer") > 0) {
            Ryland.editor();
        }
    });
    $("#container").next().hide().next().next().hide();
    $("p>a.calc").bind("click", function() {
        pageTracker._link($(this)[0].href);
        return false;
    });
    $("p>a.prequal").bind("click", function() {
        pageTracker._link($(this)[0].href);
        return false;
    });
});

Ryland.rylandMenu = function(menu) {
    $(menu).hover(function() {
        $(this).children("ul").css("display", "block");
        $(this).children("a").addClass(" menuOn");
        if ($.browser.msie && window.navigator.appVersion.indexOf("MSIE 7.0") < 0) {
            $("select").addClass("hideSelect");
        }
    }, function() {
        $(this).children("ul").css("display", "none");
        $(this).children("a").removeClass("menuOn");
        if ($.browser.msie && window.navigator.appVersion.indexOf("MSIE 7.0") < 0) {
            $("select").removeAttr("class");
        }
    });
}

jQuery.closeErrorPanel = function() {
    var modalPopupBehavior = $find('programmaticModalPopupBehavior');
    if (typeof (modalPopupBehavior) !== "undefined" && modalPopupBehavior != null) {
        modalPopupBehavior.hide();
    }
};

Ryland.editor = function() {
    $("#container").addClass("cmsWrapper");
    $("#container").css("width", "996px");
    if ($("div[@class=cmsControlsContainer]").css("display") == "block") {
        $("#container").css("margin", "0");
    }
    else {
        $("#container").css("margin", "0 auto");
    }
    $("div[@class=cmsControlsContainer]").prev().bind("click", function() {
        if ($("div[@class=cmsControlsContainer]").css("display") == "none") {
            $("#container").css("margin", "0");
        }
        else {
            $("#container").css("margin", "0 auto");
        }

    });
};

Ryland.sectionHighlightList = function() {
    $("h4").next("p").each(function() {
        var regEx = /[\s]*/
        var pText = $(this).text().replace(regEx, "");
        var nextPText = $(this).next("p").text().replace(regEx, "");
        if (pText.length == 0 && nextPText.length == 0) {
            $(this).addClass("hide");
            $(this).next("p").addClass("hide");
        }
    })
};

/* -- Begin Global functions -- */
jQuery.configureValidator = function(validator, enableValidator) {
    //Enable the validator
    if (enableValidator) {
        //Check to see if the validator is already enabled
        if (typeof (validator) !== "undefined" && validator != null && !validator[0].enabled) {
            ValidatorEnable(validator[0], enableValidator);
        }
    }
    else {  //disable the validator
        //Check to see if the validator is already disabled
        if (typeof (validator) !== "undefined" && validator != null && validator[0].enabled) {
            ValidatorEnable(validator[0], enableValidator);
        }
    }
};
jQuery.getUrlParams = function(param) {
    var search = window.location.search;
    var params = search.indexOf("?") == 0 ? search.substr(search.indexOf("?") + 1).toLowerCase() : "";
    var urlParam;
    if (params.indexOf("&") > 0) {
        var urlParams = params.split("&");
        for (i = 0; i < urlParams.length; i++) {
            if (urlParams[i].toLowerCase().indexOf(param.toLowerCase()) == 0) {
                urlParam = urlParams[i].substr(urlParams[i].indexOf("=") + 1);
                break;
            }
        }
    }
    else {
        urlParam = params.substr(params.indexOf("=") + 1);
    }
    return urlParam;
};

jQuery.openInNewWindow = function(URL) {
    myRef = window.open(URL);
};

function ensureUploadScriptIsLoaded(scriptId, scriptSource) {
    if (eval(self.scriptId)) { // Already exists
        return;
    }
    var head = document.getElementsByTagName("head")[0];
    script = document.createElement('script');
    script.id = scriptId;
    script.type = 'text/javascript';
    script.src = scriptSource;
    head.appendChild(script)
};
jQuery.tableSort = function(table, isBlueRow) {
    table.each(function() {
        var $table = $(this);
        var sortDir = "desc";
        var sortCol = "NAME";
        $("th", $table).each(function() {
            $(this).click(function() {
                var alternateRowClass = $table.find("tbody tr:odd:first").attr("class");
                var headers = $table.find("th").get();
                var column = 0;
                for (i = 0; i < headers.length; i++) {
                    if (headers[i].innerHTML == $(this)[0].innerHTML) {
                        column = i;
                        break;
                    }
                }
                var rows = $table.find("tbody > tr").get();
                if (!$(this)[0].innerHTML.endsWith(sortCol)) {
                    sortDir = "asc";
                    sortCol = $(this)[0].innerHTML;
                }
                if (sortDir == "asc") {
                    rows.sort(function(a, b) {
                        var keyA = $(a).children("td").eq(column).text().toUpperCase();
                        var keyB = $(b).children("td").eq(column).text().toUpperCase();

                        if (keyA < keyB) return -1;
                        if (keyA > keyB) return 1;
                        return 0;
                    });
                    sortDir = "desc";
                }
                else {
                    rows.sort(function(b, a) {
                        var keyA = $(a).children("td").eq(column).text().toUpperCase();
                        var keyB = $(b).children("td").eq(column).text().toUpperCase();

                        if (keyA < keyB) return -1;
                        if (keyA > keyB) return 1;
                        return 0;
                    });
                    sortDir = "asc";
                }
                $.each(rows, function(index, row) {
                    $table.children("tbody").append(row);
                });

                //Re-apply correct css classes to sorted rows
                $table.find("tbody tr:odd").addClass(alternateRowClass);
                $table.find("tbody tr:even").removeAttr("class");

                //Rebind the hover events to sorted rows
                if (isBlueRow) {
                    $table.find("tbody > tr:odd").hover(function() {
                        $(this).removeClass("communityListRowAlt");
                        $(this).addClass("blueRow");
                    }, function() {
                        $(this).removeClass("blueRow");
                        $(this).addClass("communityListRowAlt");
                    });
                    $table.find("tbody > tr:even").hover(function() {
                        $(this).addClass("blueRow");
                    }, function() {
                        $(this).removeAttr("class");
                    });
                }
                else {
                    $table.find("tbody > tr:odd").hover(function() {
                        $(this).removeClass("communityListRowAlt");
                        $(this).addClass("orangeRow");
                    }, function() {
                        $(this).removeClass("orangeRow");
                        $(this).addClass("communityListRowAlt");
                    });
                    $table.find("tbody > tr:even").hover(function() {
                        $(this).addClass("orangeRow");
                    }, function() {
                        $(this).removeAttr("class");
                    });
                }
            });
        });
    });
};
jQuery.navigateToMarket = function(location) {
    window.location.href = '/' + location + '/';
}

jQuery.openNewWindow = function(url) {
    window.open(url, "", "status=1,toolbar=1,resizable=1,scrollbars=1,menubar=1,height=800,width=1000");
};
jQuery.openDisclaimerWindow = function(url) {
    window.open(url, "", "status=1,toolbar=1,resizable=1,scrollbars=1,menubar=1,height=600,width=500");
};
jQuery.viewPrintablePage = function(url) {
    window.open(url, "PrinterFriendly", "alwaysRaised,dependent,scrollbars", false);
};
/* -- End Global Functions -- */
