/* 
* BGI Frame plugin
* Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
* Version 2.1.2
*/
(function(a) { a.fn.bgiframe = (a.browser.msie && /msie 6\.0/i.test(navigator.userAgent) ? function(d) { d = a.extend({ top: "auto", left: "auto", width: "auto", height: "auto", opacity: true, src: "javascript:false;" }, d); var c = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="' + d.src + '"style="display:block;position:absolute;z-index:-1;' + (d.opacity !== false ? "filter:Alpha(Opacity='0');" : "") + "top:" + (d.top == "auto" ? "expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')" : b(d.top)) + ";left:" + (d.left == "auto" ? "expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')" : b(d.left)) + ";width:" + (d.width == "auto" ? "expression(this.parentNode.offsetWidth+'px')" : b(d.width)) + ";height:" + (d.height == "auto" ? "expression(this.parentNode.offsetHeight+'px')" : b(d.height)) + ';"/>'; return this.each(function() { if (a(this).children("iframe.bgiframe").length === 0) { this.insertBefore(document.createElement(c), this.firstChild) } }) } : function() { return this }); a.fn.bgIframe = a.fn.bgiframe; function b(c) { return c && c.constructor === Number ? c + "px" : c } })(jQuery);


/*Begin common functions*/
var searchFormEntered = false;

$(document).ready(function() {

    $('#topNavSearch').click(function() {
        showSearchForm(false);
    });

    var searchFormField = $('input[id$="txtSearchListingsForm"]');
    var defaultSearchText = "Enter an Address, City, Zip Code or MLS #";

    if ($(searchFormField).val() != null) {
        if ($(searchFormField).val().length > 0 && $(searchFormField).val() != defaultSearchText) {
            searchFormEntered = true;
            $(searchFormField).removeClass('inputWatermark');
            $(searchFormField).addClass('input');
        } else {
            $(searchFormField).val(defaultSearchText);
        }
    }

    $(searchFormField).focus(function() {
        if (searchFormEntered == false) {
            $(this).val("");
            $(this).removeClass('inputWatermark');
            $(this).addClass('input');
        }
    });


    $(searchFormField).blur(function() {
        if ($(searchFormField).val() == '' || searchFormEntered == false) {
            $(searchFormField).addClass('inputWatermark');
            $(searchFormField).removeClass('input');
            $(searchFormField).val(defaultSearchText);
            searchFormEntered = false;
        }
    });

    $(searchFormField).keypress(function() {
        searchFormEntered = true;
        $('#searchListingsWarning').fadeOut(1000);
    });
    
    $(searchFormField).bind('paste', function() {
        searchFormEntered = true;
        $('#searchListingsWarning').fadeOut(1000);
    })

    //handle 'Enter' button
    $('#navSearchFormContent input').keypress(function(event) {
        if (event.keyCode == '13') {
            submitSearch();
            return false;
        }
    });    


});

function showSearchForm(forceShowForm) {
    $('#navSearchForm').css('left', getNavSearchFormPos());

    $('#navSearchForm').bgiframe();
    
    if (forceShowForm) {
        $('#navSearchForm').show();
    } else {
        $('#navSearchForm').toggle();
    }
    $('#topNavSearch').toggleClass('searchSelected');

}

function getNavSearchFormPos(){
  var position = $('#topNavSearch').offset();
  return position.left-102;
}

function submitSearch() {

    var isValid = true;

    var searchText = $('#navSearchFormContent input[id$="_txtSearchListingsForm"]').val();
    var cbxPropertyType = $('#navSearchFormContent input[id$="_cblPropertyType_"]:checked');
    var cbxForSale = $('#navSearchFormContent input[id$="_cbxForSale"]');
    var cbxForLease = $('#navSearchFormContent input[id$="_cbxForLease"]');
    var cbxShorewood = $('#navSearchFormContent input[id$="_cbxShorewood"]');
    var cbxNewListings = $('#navSearchFormContent input[id$="_cbxNewListings"]');
    var cbxOpenHouse = $('#navSearchFormContent input[id$="_cbxOpenHouse"]');
    var cbxVirtualTour = $('#navSearchFormContent input[id$="_cbxVirtualTour"]');
    var cbxAgentSearch = $('#navSearchFormContent input[id$="_cbxAgentSearch"]');
    var cbxHUD = $('#navSearchFormContent input[id$="_cbxHUD"]');
    var cbxSold = $('#navSearchFormContent input[id$="_cbxSold"]');
    var ddlSold = $('#navSearchFormContent input[id$="_ddlSold"]');
    var agentID = $('#navSearchFormContent input[id$="_hfAgentSearch"]').val();

    if (!searchFormEntered && !$(cbxAgentSearch).is(':checked')) {
        isValid = false;
    }

    if (!searchFormEntered && ($(cbxNewListings).is(':checked') || $(cbxOpenHouse).is(':checked') || $(cbxHUD).is(':checked'))) {
        isValid = true;
    }

    if (isValid) {
        var searchUrl = '/search/?q='
        if (searchFormEntered) {
            searchUrl = searchUrl + searchText;
        }
        searchUrl = searchUrl + '&pricemin=' + $('select[id$="_ddlPriceMin"]').val();
        searchUrl = searchUrl + '&pricemax=' + $('select[id$="_ddlPriceMax"]').val();
        searchUrl = searchUrl + '&beds=' + $('select[id$="_ddlBeds"]').val();
        searchUrl = searchUrl + '&baths=' + $('select[id$="_ddlBaths"]').val();
        searchUrl = searchUrl + '&sqftmin=' + $('select[id$="_ddlSqFtMin"]').val();
        searchUrl = searchUrl + '&sqftmax=' + $('select[id$="_ddlSqFtMax"]').val();

        /**/
        var propertyTypes = [];
        $(cbxPropertyType).each(function() {
            propertyTypes.push(formatPropertyTypeIDValue(this.id));
        });

        if (propertyTypes.length > 0) {
            searchUrl = searchUrl + '&types=' + propertyTypes.join(",");
        }
        
        if ($(cbxForSale).is(':checked')) {
            searchUrl = searchUrl + '&sale=1';
        }
        if ($(cbxForLease).is(':checked')) {
            searchUrl = searchUrl + '&lease=1';
        }
        if ($(cbxShorewood).is(':checked')) {
            searchUrl = searchUrl + '&swd=1';
        }      
        if ($(cbxNewListings).is(':checked')) {
            searchUrl = searchUrl + '&new=1';
        }
        if ($(cbxOpenHouse).is(':checked')) {
            searchUrl = searchUrl + '&openhouse=1';
        }
        if ($(cbxVirtualTour).is(':checked')) {
            searchUrl = searchUrl + '&virtualtour=1';
        }
        if ($(cbxHUD).is(':checked')) {
            searchUrl = searchUrl + '&hud=1';
        }
        if ($(cbxSold).is(':checked')) {
            searchUrl = searchUrl + '&sold=1';
            searchUrl = searchUrl + '&soldmonths=' + $('select[id$="_ddlSold"]').val();   
        }        
     
        if ($(cbxAgentSearch).is(':checked') && agentID > 0) {
            searchUrl = searchUrl + '&agent=' + agentID;
        }

        window.location = searchUrl;

    } else {
        if (agentID > 0) {
            $('#searchListingsWarning').html('Please enter a search phrase, or click the checkbox to filter listings by Shorewood Agent');
        } else {
            $('#searchListingsWarning').html('Please enter a search phrase');
        }
        $('#searchListingsWarning').fadeIn(1000);
    }
    return false;
}

function formatPropertyTypeIDValue(strCBXId) {
    var cbxValue = parseFloat(strCBXId.charAt(strCBXId.length - 1)) + 1;
    return cbxValue;
}

function openFacebook(url) {
    window.open('http://www.facebook.com/sharer.php?u=' + url, 'facebook', 'width=760,height=450,scrollbars');
}
