﻿function initPaletteControls(){
    // initiate the price slider  
    var minSpan = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_pMin');
    var maxSpan = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_pMax');
    
    var startMin = minSpan.innerHTML.replace(/,/g,"");
    var startMax = maxSpan.innerHTML.replace(/,/g,"");        
        
    minSpan.innerHTML = formatNumber(startMin);
    maxSpan.innerHTML = formatNumber(startMax);

    $('#slider1').slider({
        step: 50000,
        min: 100000, 
        max: 1500000,
        handle: '.ui-slider-handle',
        slide: function(e, ui) {
	        var lowerValue = formatNumber(ui.values[0]); 
	        var upperValue = formatNumber(ui.values[1]);
	        minSpan.innerHTML = lowerValue;
	        maxSpan.innerHTML = upperValue;
        },
        handles: [
	        {start: 0}
        ],
        range: true,
        values:[startMin, startMax]
    });
    
    //open panels if corresponding checkboxes are checked for Master Suite, Stories and Garages
    var msl1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_msl1').checked;   
    var msl2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_msl2').checked;    
    if(msl1  | msl2) { $("#expand8").addClass("expandOpened");}
    
    var st1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st1').checked;   
    var st2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st2').checked;
    var st3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st3').checked;    
    if(st1 | st2 | st3) {$("#expand7").addClass("expandOpened"); }
    
    var tf1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g1').checked;   
    var tf2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g2').checked;
    var tf3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g3').checked;
    if(tf1  | tf2 | tf3) { $("#expand9").addClass("expandOpened"); } 
    
    // pre-populate the zipcode field
    if (gup("zip")) {document.getElementById("zipInput").value=gup("zip");}
    
    // if text is default in zip input, clear it on click
    $('#zipInput').focus(function(){
        if(this.value == "Enter ZIP") {
            this.value="";
        }
    });
    
    // This is the edge case where the user has no region or state defined but has managed to find the FYH page.
    if(document.getElementById("fyhNoRegion")) {
        $("#ctl00_ContentPlaceHolder1_SearchPalettes_changeSearchPalette").addClass("expandOpened");
    }
    
}

// initiate the submit functions for buttons and tabs
function initSearchButtonsAndTabs() {   

    if(document.getElementById("noFyhCommunityResults")) {
        $("body").addClass("noFyhCommunityResults");
        $(".updateBtn").addClass("disabledBtn");
        $("#ctl00_ContentPlaceHolder1_searchTabsHolder").addClass("homesDisabled");
    }
     
    $('li#communitiesTab a').click(function(e) { 
        var locationParams = getLocationParams();
        rewriteFhyUrl(locationParams, "communities");
        e.preventDefault();
    });
    
    $("#regionSearchBtn a").click(function(e){
        searchByRegionSubmit();
        e.preventDefault();
    });
    
    $("#zipSearchBtn a").click(function(e){
        searchByZipSubmit();
        e.preventDefault();
    });    
    
    $('li#homesTab a, #refineSearchPalette .btn a').click(function(e) {         
        if(document.getElementById("ctl00_ContentPlaceHolder1_searchTabsHolder").className != "homesDisabled") {
            searchByHomeFeaturesSubmit("homes");
        }
        e.preventDefault();
    });
    
    $("#zipInput").keypress(function(e) {
        if(e.which == 13) {
            searchByZipSubmit();
        }
    });
}


function submitEnter(e, link, element){
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;
    if (keycode == 13 || keycode == 3) {
        siteSearch(link, element);
        return false;
    }
    else {
     return true;
 }
}

// rewrite the url with the home features and location parameters and the view state
function rewriteFhyUrl(newParams, viewState) {
    var theUrl = window.location.toString(); 
    if(theUrl.indexOf("?") > -1){
        theUrl = theUrl.slice(0, theUrl.indexOf("?"));
    }  
    theUrl = theUrl + "?view=" + viewState + newParams;       
    window.location = theUrl;
}

function searchByRegionSubmit() { 
    var newParams;   
    if(regionSelectorState != "" && regionSelectorRegion != "") { 
        retValue = Consumer.portfolioWebservice.SetProfileStateAndRegion(regionSelectorState, regionSelectorRegion, onSetProfileStateAndRegionFYHSuccess, onWSFailure);
        return (retValue);        
    }
    else if (regionSelectorState != "" && regionSelectorRegion == "") {
        newParams = "&state=" + regionSelectorState;
        rewriteFhyUrl(newParams, "communities");
    }
    else { alert("Please select a state and region."); }
}

function onSetProfileStateAndRegionFYHSuccess(args) {
    newParams = "&state=" + regionSelectorState + "&region=" + regionSelectorRegion;
    rewriteFhyUrl(newParams, "communities");
}


function searchByZipSubmit() {
    regionSelectorZip = document.getElementById("zipInput").value;
    var newParams;
    if (validateZIP(regionSelectorZip)) {

        newParams = "&zip=" + regionSelectorZip + "&radius=" + regionSelectorRadius;
        rewriteFhyUrl(newParams, "communities");
    } 
}

function searchByHomeFeaturesSubmit(viewTab) {
    var locationParams = getLocationParams();
    var homeFeaturesParams = "";    
    var priceMin = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_pMin').innerHTML.replace(/,/g,"");
    var priceMax = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_pMax').innerHTML.replace(/,/g,"");
    if(priceMin != 100000 | priceMax != 800000) {
        homeFeaturesParams += "&pMin=" + priceMin + "&pMax=" + priceMax;
    }
        // Add Garages params
    var tf1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_tf1').checked;   
    var tf2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_tf2').checked;
    var tf3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_tf3').checked;
    var tf4 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_tf4').checked;    
    if(tf1 | tf2 | tf3 | tf4) {
        homeFeaturesParams+= "&tf1=" + tf1;
        homeFeaturesParams+= "&tf2=" + tf2;
        homeFeaturesParams+= "&tf3=" + tf3;
        homeFeaturesParams+= "&tf4=" + tf4;
    }    
    
    // Add Square Footage params
    var sf1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf1').checked;   
    var sf2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf2').checked; 
    var sf3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf3').checked;
    var sf4 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf4').checked;
    var sf5 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf5').checked;   
    var sf6 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_sf6').checked;   
    if(sf1 | sf2 | sf3 | sf4 | sf5 | sf6) {
        homeFeaturesParams+= "&sf1=" + sf1;
        homeFeaturesParams+= "&sf2=" + sf2;
        homeFeaturesParams+= "&sf3=" + sf3;
        homeFeaturesParams+= "&sf4=" + sf4;
        homeFeaturesParams+= "&sf5=" + sf5;
        homeFeaturesParams+= "&sf6=" + sf6;
    }
    
    // Add Bedrooms params
    var be1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_be1').checked;   
    var be2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_be2').checked; 
    var be3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_be3').checked;
    var be4 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_be4').checked;
    var be5 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_be5').checked;   
    if(be1 | be2 | be3 | be4 | be5) {
        homeFeaturesParams+= "&be1=" + be1;
        homeFeaturesParams+= "&be2=" + be2;
        homeFeaturesParams+= "&be3=" + be3;
        homeFeaturesParams+= "&be4=" + be4;
        homeFeaturesParams+= "&be5=" + be5;
    }
    
    // Add Bathrooms params
    var ba1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_ba1').checked;   
    var ba2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_ba2').checked; 
    var ba3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_ba3').checked;    
    if(ba1 | ba2 | ba3) {
        homeFeaturesParams+= "&ba1=" + ba1;
        homeFeaturesParams+= "&ba2=" + ba2;
        homeFeaturesParams+= "&ba3=" + ba3;
    }
    
    // Add Master Suite Location params
    var msl1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_msl1').checked;   
    var msl2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_msl2').checked;    
    if(msl1  | msl2) {
        homeFeaturesParams+= "&msl1=" + msl1;
        homeFeaturesParams+= "&msl2=" + msl2;
    }
    
    // Add Stories params
    var st1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st1').checked;   
    var st2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st2').checked;
    var st3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_st3').checked;    
    if(st1 | st2 | st3) {
        homeFeaturesParams+= "&st1=" + st1;
        homeFeaturesParams+= "&st2=" + st2;
        homeFeaturesParams+= "&st3=" + st3;
    }
    
    // Add Garages params
    var g1 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g1').checked;   
    var g2 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g2').checked;
    var g3 = document.getElementById('ctl00_ContentPlaceHolder1_SearchPalettes_g3').checked;    
    if(g1 | g2 | g3) {
        homeFeaturesParams+= "&g1=" + g1;
        homeFeaturesParams+= "&g2=" + g2;
        homeFeaturesParams+= "&g3=" + g3;
    }
    
    // set cookie and redirect to appropriate page
    setCookie("rahHomeFeaturesParams", homeFeaturesParams); 
    rewriteFhyUrl(homeFeaturesParams + locationParams, viewTab);           
}

function getLocationParams() {
    // get the user's location from the url parameters    
    var params = "";
    if(altState){
         params += "&state=" + altState;
    }    
    else if(gup("state")) {
        params += ("&state=" + gup("state"));
        if (gup("region")) {
            params += ("&region=" + gup("region"));
        }
    }    
    else if(gup("zip") && gup("radius")) {
        params = ("&zip=" + gup("zip")) + ("&radius=" + gup("radius"));
    }
    return params;
}

$(document).ready(function() {                    
    if (gup("view") != "homes") mapInitialize();     
    initPaletteControls();
    initSearchButtonsAndTabs();
    if (gup("view") == "homes") {
        $(".d1").hide();
        $(".d2").show();
    }
    else {
        $(".d1").show();
        $(".d2").hide();
    }
    $(".mapLink").mouseover(function(e) {
        var theNumber = this.id.replace("index", "");
        var theIndexNumber = theNumber - 1;
        var point = gmarkers[theIndexNumber].getPoint();
        gmarkers[theIndexNumber].remove();
        createMarker(point, theIndexNumber, "../siteImages/maps/numberedIcons/" + theNumber + "_h.png", 0);
    });
    $(".mapLink").mouseout(function(e) {
        var theNumber = this.id.replace("index", "");
        var theIndexNumber = theNumber - 1;
        var point = gmarkers[theIndexNumber].getPoint();
        gmarkers[theIndexNumber].remove();
        createMarker(point, theIndexNumber, "../siteImages/maps/numberedIcons/" + theNumber + ".png", 0);
    });    
});