﻿function OnChangeSelection(obj) {
        var Title = $(obj).attr("title");
        var TitleClass = Title.replace(/\s+/g, "");
        
        var IsPrice = $(obj).hasClass("price");
        var IsFootage = $(obj).hasClass("footage");
              
        var IsText = $(obj).hasClass("OnSelectionText") ? true : $(obj).hasClass("OnSelectionKeyUp");
        var Value = "";
        if (!IsText) {
            $(obj).children("option:selected").each(function() {
                if (Value != "") Value += ",";
                Value += unescape($(this).html());
            })
        } else {
            Value = unescape($(obj).val().toString());
        }

        if ($(obj).val() == null ||
            $.trim($(obj).val().toString()) == "" ||
            $.trim($(obj).val().toString()) == "-1" ||
            $.trim($(obj).val().toString()) == $(obj).attr("title").toString() 
            ) {
            $("#MySearchOuter" + TitleClass).remove();
        } else if ($("#MySearch").html().indexOf("MySearch" + TitleClass) == -1) {
            if (IsPrice || IsFootage) {
                $("#MySearch").append("<div class='clearfix MySearchTitle' id='MySearchOuter" + TitleClass + "'><strong>" + Title + "</strong><br/><div class='MySearchDetail MySearch" + TitleClass + "'>" + Value + "</div></div>");
            } else {
                $("#MySearch").append("<div class='clearfix MySearchTitle' id='MySearchOuter" + TitleClass + "'><strong>" + Title + "</strong><br/><div class='MySearchDetail MySearch" + TitleClass + "'>" + Value.replace(/,/g, "<br/>") + "</div></div>");
            }
        } else {
            if (IsPrice || IsFootage) {
                $(".MySearch" + TitleClass).html(Value);
            } 
            else {
                $(".MySearch" + TitleClass).html(Value.replace(/,/g, "<br/>"));
            }
        }
}

function OnChangeCheckbox(obj) {
    var Title = $(obj).attr("title");
    var TitleClass = Title.replace(/\s+/g, "");
    var IsYesNoField = $(obj).hasClass("YesNoField");
    $("input", $(obj)).bind("click", function() {
        var Value = $(this).siblings("label").html();
        Value = (IsYesNoField) ? "Yes" : Value;
        if ($(this).attr("checked")) {
            if ($("#MySearch").html().indexOf("MySearch" + TitleClass) == -1) {
                $("#MySearch").append("<div class='clearfix MySearchTitle' id='MySearchOuter" + TitleClass + "'><strong>" + Title + "</strong><br/><div class='MySearchDetail MySearch" + TitleClass + "'>" + Value + "<br/></div></div>");
            } else {
                $(".MySearch" + TitleClass).append(Value + "<br/>");
            }
        } else {
            var string_to_remove = new RegExp(Value + '<br>', 'i');
            // For IE
            $(".MySearch" + TitleClass).html($(".MySearch" + TitleClass).html().replace(string_to_remove, ""));
            // DOES NOT WORK IN IE8 For FF
            $(".MySearch" + TitleClass).html($(".MySearch" + TitleClass).html().replace(Value + "<br>", ""));
            $(".MySearch" + TitleClass).html($(".MySearch" + TitleClass).html().replace(Value + "<BR>", ""));
        }
        if ($.trim($(".MySearch" + TitleClass).html()) == "") {
            $("#MySearchOuter" + TitleClass).remove();
        }
    })
}

function RestoreCheckbox(obj) {
    var Title = $(obj).attr("title");
    var TitleClass = Title.replace(/\s+/g, "");
    var IsYesNoField = $(obj).hasClass("YesNoField");

    $("input:checked", $(obj)).each(function() {
        var Value = $(this).siblings("label").html();
        Value = (IsYesNoField) ? "Yes" : Value;
        if ($(this).is(":checked")) {
            if ($("#MySearch").html().indexOf("MySearch" + TitleClass) == -1) {
                $("#MySearch").append("<div class='clearfix MySearchTitle' id='MySearchOuter" + TitleClass + "'><strong>" + Title + "</strong><br/><div class='MySearchDetail MySearch" + TitleClass + "'>" + Value + "<br/></div></div>");
            } else {
                $(".MySearch" + TitleClass).append(Value + "<br/>");
            }
        } else {
            $(".MySearch" + TitleClass).html($(".MySearch" + TitleClass).html().replace(Value + "<br>", ""));
        }
        if ($.trim($(".MySearch" + TitleClass).html()) == "") {
            $("#MySearchOuter" + TitleClass).remove();
        }
    })
}
$(document).ready(function() {
    // Attach the event to the elements
    $(".OnSelection, .OnSelectionText").change(function() {
        OnChangeSelection(this);
    })

    $(".OnSelectionKeyUp").bind("focus keyup", function() {
        OnChangeSelection(this);
    })

    $(".OnSelectionCheckbox").each(function() {
        OnChangeCheckbox(this);
    })
     // Loop thru the value
    $(".OnSelection:has(:selected)").each(function() {
        OnChangeSelection(this);
    })

    $(".OnSelectionKeyUp[value!='']").each(function() {
        OnChangeSelection(this);
    })

    $("input:checked").parents("table").each(function() {
        RestoreCheckbox(this);
    })
    onChangeParkAreaCity();
})
var CityEnum = {"Flds":[
                {"Old Town":"1","Park Meadows":"9","Aerie":"7","Prospector":"8","Thaynes Canyon":"2"},
                { "Deer Crest": "4", "Empire Pass": "6", "Upper Deer Valley Resort": "5", "Lower Deer Valley Resort": "3" },
                {"The Canyons":"10","The Colony":"The Colony","Sun Peak":"Sun Peak"},
                { "Jeremy Ranch": "17", "Kimball": "14", "Old Ranch Road": "13", "Summit Park": "16", "Promontory Area": "21", "Trailside Park Area": "19", "Pinebrook": "15", "Silver Springs Area": "12", "Glenwild / Silver Creek": "18" },
                {"Quinns Junction":"Quinns Junction"},
                {"Deer Mountain":"Deer Mountain","Hideout":"Hideout","Tuhaye":"Tuhaye","Victory Ranch":"Victory Ranch","Marina Area":"Marina Area","Other":"Other"},
                {"Heber City":"26","Midway/Charleston":"24","Timberlakes":"27","Other Wasatch County":"28"},
                {"Kamas/Marion":"30","Woodland/Francis":"29","Oakley/Weber Canyon":"31","Peoa/Browns":"32"},
                {"Wanship":"Wanship","Hoytsville":"Hoytsville","Coalville":"Coalville","Echo":"Echo","Henefers":"Henefers"},
                {"Huntsville":"Huntsville","Snowbasin":"Snowbasin","Eden":"Eden","Morgan":"Morgan"}]
              };
var firstLoad = true;
function onChangeParkAreaCity() {
    var URL = window.location.href;
    var SubdivisionQS = unescape(getQuerystring("1170_exc",""));
    var arrSubdivisionQS = (SubdivisionQS != "") ? SubdivisionQS.split(",") : "";
    var AreaQS = unescape(getQuerystring("0020",""));
    var customarea="";
    var arrAreaQS = (AreaQS != "") ? AreaQS.split(",") : "";
    var SelectedCity = $("#ctl00_mainContent_drpCustomArea,#ctl00_AgentSiteQuickSearch_drpCustomArea, #ctl00_QuickSearchID_drpCustomArea, #ctl00_mainContent_QuickSearchID_drpCustomArea").val();   
    if (SelectedCity != null && SelectedCity != "") {
        SelectedCity += "";
        var arrSelect = SelectedCity.split(",");
        $("#ctl00_mainContent_drpCityAreaList,#ctl00_AgentSiteQuickSearch_drpCityAreaList, #ctl00_QuickSearchID_drpCityAreaList, #ctl00_mainContent_QuickSearchID_drpCityAreaList").children().remove()
        for (var i = 0; i < CityEnum.Flds.length; i++) {
            if (jQuery.inArray("" + (i + 1), arrSelect) >= 0) {
                var optval = "";
                $.each(CityEnum.Flds[i], function(key, value) {
                    optval += '<option value="' + value + '"';
                    if (firstLoad) {
                        if (SubdivisionQS != "") {
                            $.each(arrSubdivisionQS, function(p, s) {
                                if (s == value) {
                                    optval += ' selected="selected"';
                                }
                            })
                        }
                        if (AreaQS != "") {
                            var arrAreaQS = AreaQS.split(",");
                            $.each(arrAreaQS, function(p, s) {
                                if (s == value) {
                                    optval += ' selected="selected"';
                                }
                            })
                        }
                        if (SubdivisionQS == "" && AreaQS == "") {
                            optval += '';
                            // optval += ' selected="selected"';
                        }
                    } else {
                        optval += ' ';


                        //optval += ' selected="selected"';
                    }
                    optval += '>' + key + '</option>';
                    customarea = key+','+customarea ;
                });
                if (SelectedCity == 3) {
                    customarea = customarea + ',Olympic Park';
                }
                $("#ctl00_mainContent_txtArea").val(customarea);
                $("#ctl00_AgentSiteQuickSearch_txtArea").val(customarea);
                $("#ctl00_QuickSearchID_txtArea").val(customarea);
                $("#ctl00_mainContent_drpCityAreaList,#ctl00_AgentSiteQuickSearch_drpCityAreaList, #ctl00_QuickSearchID_drpCityAreaList, #ctl00_mainContent_QuickSearchID_drpCityAreaList").append(optval);
            }
        }
        firstLoad = false;
    }
    onChangeParkCity();
}
function onChangeParkCity() {

    if ($("#ctl00_mainContent_drpCityAreaList,#ctl00_AgentSiteQuickSearch_drpCityAreaList, #ctl00_QuickSearchID_drpCityAreaList, #ctl00_mainContent_QuickSearchID_drpCityAreaList").val() != null && $("#ctl00_mainContent_drpCityAreaList,#ctl00_AgentSiteQuickSearch_drpCityAreaList,#ctl00_QuickSearchID_drpCityAreaList,#ctl00_mainContent_QuickSearchID_drpCityAreaList").val() != "") {
       
        var arrValue = $("#ctl00_mainContent_drpCityAreaList,#ctl00_AgentSiteQuickSearch_drpCityAreaList, #ctl00_QuickSearchID_drpCityAreaList, #ctl00_mainContent_QuickSearchID_drpCityAreaList").val();
        var SubdivisionValue = "";
        var AreaValue = "";
        $.each(arrValue, function(key, value) {
            if (isInteger(value)) {
                if (AreaValue != "") AreaValue += ",";
                AreaValue += value;
            } else {
                if (SubdivisionValue != "") SubdivisionValue += ",";
                SubdivisionValue += value;
            }

        });
       
        $("#ctl00_mainContent_txtSubdivision, #ctl00_QuickSearchID_txtSubdivision,#ctl00_AgentSiteQuickSearch_txtSubdivision").val(SubdivisionValue);
        $("#ctl00_mainContent_txtArea, #ctl00_QuickSearchID_txtArea,#ctl00_AgentSiteQuickSearch_txtArea").val(AreaValue);
    }
}

