﻿    var ddlRegions;
    var ddlDistricts;
    var ddlSuburbs;
    var loadingRegions = 0;
    var address = location.href.split("/");
    var region = address[4];
    var district = address[5];
    var suburb = address[6];
    var propertyType = address[3];
    var ddlPropertyType;
    var ddlPropertyStyle;


    function pageLoad() {

            ddlRegions = $get("Regions");
            ddlDistricts = $get("Districts");
            ddlPropertyType = $get("PropertyType");
            ddlSuburbs = $get("Suburbs");
            ddlPropertyStyle = $get("PropertyStyle");
            $addHandler(ddlDistricts, "change", bindOptions1);
            $addHandler(ddlRegions, "change", bindOptions);
            $addHandler(ddlPropertyType, "change", bindStyles);

            var re = new RegExp("editproperty")
                       
            if (location.href.match(re) == null || loadingRegions != 0) {
            bindOptions1();
            bindOptions();
            bindStyles();

            if (loadingRegions == 0) {
                if (propertyType != undefined) {
                    propertyType = propertyType.replace(/\?.*/g, "");
                    propertyType = propertyType.replace(/_/g, " ");
                    $('#PropertyType > option').each(function() {
                        if ($(this).text() == propertyType) {
                            ($(this).attr("selected", "selected"));
                            bindOptions();

                        }
                    });
                }


                if (region != undefined) {
                    region = region.replace(/\?.*/g, "");
                    region = region.replace(/_/g, " ");
                    $('#Regions > option').each(function() {
                        if ($(this).text() == region) {
                            ($(this).attr("selected", "selected"));
                            bindOptions();

                        }
                    });
                }

                setTimeout("bindExistingDistricts()", 500);
                setTimeout("bindExistingSuburbs()", 750);


                loadingRegions = 1;



            }

        }
    }

    function bindExistingDistricts() {
              if (district != undefined) {
            district = district.replace(/\?.*/g, "");
            district = district.replace(/_/g, " ");
            //alert($('#Districts > option').length);
            $('#Districts > option').each(function() {
                if ($(this).text() == district) {
                    ($(this).attr("selected", "selected"));
                    bindOptions1();
                }
            });
        }
    }

    function bindExistingSuburbs() {
        if (suburb != undefined) {
            suburb = suburb.replace(/\?.*/g, "");
            suburb = suburb.replace(/_/g, " ");
            //alert($('#Suburbs > option').length);
            $('#Suburbs > option').each(function() {
                if ($(this).text() == suburb) {
                    ($(this).attr("selected", "selected"));
                }
            });
        }
    }

    function bindOptions() {
        ddlDistricts.options.length = 0;
        var newOption
        newOption = new Option("--Select District--", "");
        ddlDistricts.options.add(newOption);

        ddlSuburbs.options.length = 0;
        var newOptionSuburbs
        newOptionSuburbs = new Option("--Select Suburb--", "");
        ddlSuburbs.options.add(newOptionSuburbs);
        
        var CityID = ddlRegions.value;
        if (CityID) {
            Sys.Net.WebServiceProxy.invoke
            (
                "/Services/LocationService.asmx",
                "Districts",
                false,
                { CityID: CityID },
                bindOptionResults,
                test
            );
        }
    }

    function bindStyles() {

        ddlPropertyStyle.options.length = 0;
        var newOption
        newOption = new Option("--Select Property Style--", "");
        ddlPropertyStyle.options.add(newOption);

        var PropertyTypeID = ddlPropertyType.value;
        if (PropertyTypeID) {
            Sys.Net.WebServiceProxy.invoke
            (
                "/Services/LocationService.asmx",
                "Styles",
                false,
                { PropertyTypeID: PropertyTypeID },
                bindStylesResults,
                test
            );
        }
        
    }

    function test(data) {
        pu(data);
    }

    function pu(inobj) {
        op = window.open();
        op.document.open('text/plain');
        for (objprop in inobj) {
            op.document.write(objprop + ' => ' + inobj[objprop] + '\n');
        }
        op.document.close();
    }


    function bindOptionResults(data) {
        var newOption;
        for (var k = 0; k < data.length; k++) {
            newOption = new Option(data[k].district_name, data[k].district_Id);
            ddlDistricts.options.add(newOption);
        }
    }

    function bindOptions1() {
        ddlSuburbs.options.length = 0;
        var newOption
        newOption = new Option("--Select Suburb--", "");
        ddlSuburbs.options.add(newOption);
        //alert(ddlDistricts.value);         
        var DistrictID = ddlDistricts.value;
        if (DistrictID) {
            Sys.Net.WebServiceProxy.invoke
            (
                "/Services/LocationService.asmx",
                "Suburbs",
                false,
                { DistrictID: DistrictID },
                bindOptionResults1,
                test
            );
        }
    }

    function bindOptionResults1(data) {
        var newOption;
            for (var k = 0; k < data.length; k++) {
            newOption = new Option(data[k].Suburb, data[k].suburbID);
            ddlSuburbs.options.add(newOption);
        }
    }

    function bindStylesResults(data) {
        var newOption;
        for (var k = 0; k < data.length; k++) {
            newOption = new Option(data[k].description, data[k].style_id);
            ddlPropertyStyle.options.add(newOption);
        }
    }
