jQuery.fn.displetform.global_config.options = {
	'targetUrl': 'http://dev.displet.com', // no trailing slash
	'searchnow_selector': '#searchnow',
	
	// Area select
	'area_label': 'Area',
	
	// Price Select
	'priceMin': 100000,
	'priceMax': 2000000,
	'priceIncrement': 25000,
	'priceMin_select': 'Min',
	'priceMax_select': 'Max',
	
  // Beds
	'bedsMin': 1,
	'bedsMax': 6,
	
	'bathsMin': 1,
	'bathsMax': 6,
	
	'storiesMin': 1,
	'storiesMax': 4
};

jQuery.fn.displetform.global_config.areas = {
    'Downtown': '27',
    'Central': '28',
    'Westlake': '29',
    'Cedar Park': '30',
    'Round Rock': '31',
    'Georgetown': '32',
    'East Austin': '33',
    'West Austin': '34',
    'North Austin': '35',
    'South Austin': '36',
    'NW Austin': '37',
    'SW Austin': '38',
    'N Lake Travis': '39',
    'S Lake Travis': '40',
    'Lakeway': '41',
    'Dripping Springs': '42'
};

jQuery.fn.displetform.global_config.property_types = {
	'House': 'HOUSE',
	'Condo': 'CONAT%2CCONDE%2CCON',
	'Townhouse': 'TOWNHOUSE'
};

jQuery.fn.displetform.global_config.districts = [
  'Academy ISD',
  'Austin ISD',
  'Bartlett ISD',
  'Bastrop ISD',
  'Belton ISD'
];

jQuery.fn.displetform.global_config.minsq = {
  '500+': '500',
  '750+': '750',
  '1000+': '1000',
  '1250+': '1250',
  '1500+': '1500',
  '2000+': '2000',
  '2500+': '2500',
  '3000+': '3000',
  '4000+': '4000',
  '5000+': '5000'
};

jQuery.fn.displetform.global_config.maxage = {
  '1+': '1',
  '2+': '2',
  '3+': '3',
  '4+': '4',
  '5+': '5'
};

jQuery.fn.displetform.global_config.zip = {
  '78701': '78701',
  '78702': '78702',
  '78703': '78703',
  '78704': '78704',
  '78705': '78705',
  '78722': '78722',
  '78723': '78723',
  '78731': '78731',
  '78751': '78751',
  '78752': '78752',
  '78756': '78756',
  '78757': '78757'
};

// bootstrap
(function ($) {
  $(function () {
    delete $.fn.displetform.defaults.render_functions.draw_min_user_fields;
    delete $.fn.displetform.defaults.render_functions.draw_area_select;
    delete $.fn.displetform.defaults.render_functions.draw_prices;
    delete $.fn.displetform.defaults.render_functions.draw_zip_user_fields;
    delete $.fn.displetform.defaults.render_functions.draw_buttons;
    $('#displetform').displetform({
      'render_functions': {
        'draw_container': function() {
  	      this.container = $('<div id="quick_search_banner" class="displetform"></div>').appendTo(this);
  	    },

  	    'draw_form_title': function () {
    			$('<div id="title_quick_search" class="image_replace_anchor" title="Quick Search"><a href="/search-tips">Quick Search</a></div>').appendTo(this.container);
    		},
    		
    		'draw_panels': function () {
					this.quick_search_fields = $('<div id="quick_search_fields"></div>').appendTo(this.container);
					this.form_list = $('<ul class="form_list"></ul>').appendTo(this.quick_search_fields);
					this.quick_search_buttons = $('<div id="quick_search_buttons"></div>').appendTo(this.container);
				},
				
				'draw_property_types': function () {
					var that = this;
					var li = $('<li></li>').appendTo(this.form_list);
                                        var link = $('<div style="float: right; margin-right: 20px;"><a href="/search-tips">Search Tips</a></div>').appendTo(li);
					$('<label>' + this.params.options.property_label + '</label><br />').appendTo(li);
					var select = $('<select class="width_260 displetfield" name="property_style[]"></select>').appendTo(li);

                                        $('<option disabled="disabled" selected="selected" value="none">------</option>').appendTo(select);
					$.each(this.params.property_types, function (k,v) {
						$('<option value="' + v + '">' + k + '</option>')
							.appendTo(select);
					});
				},
				
				'draw_area_select': function () {
				  this.area_li = $('<li></li>').appendTo(this.form_list);
				  var span = $('<span class="pad_right_30"></span>').appendTo(this.area_li);
				  var select = $('<select name="area" id="area" class="width_100 displetfield"></select>').appendTo(span);
					if (this.params.areas != undefined
						&& this.params.areas != null
						&& this.params.areas.length != 0
						&& this.params.areas != '') {

						$('<option disabled="disabled" selected="selected" value="none">'+ this.params.options.area_label + '</option>').appendTo(select);

						$.each(this.params.areas, function (k,v) {
							$('<option value="' + v + '">' + k + '</option>').appendTo(select);
						});
					}
				},
				
				'draw_subdivision': function () {
					$('<input type="text" size="10" id="subdivision" name="subdivision" class="width_130 field displetfield" value="Subdivision" />').appendTo(this.area_li);
				},
				
				'draw_district_select': function () {
				  this.school_li = $('<li></li>').appendTo(this.form_list);
				  var span = $('<span class="pad_right_30"></span>').appendTo(this.school_li);
					var select = $('<select id="school_district" name="school_district" class="width_100 displetfield"></select>').appendTo(span);

					$('<option disabled="disabled" selected="selected" value="none">School District</option>').appendTo(select);
              
					$.each(this.params.districts, function () {
						$('<option value="' + this + '">' + this + '</option>').appendTo(select);
					});
				},
				
				'draw_keywords': function () {
					$('<input type="text" name="zip" class="width_130 field displetfield" id="zip" value="Zip Code" />').appendTo(this.school_li);
				},
				
				'draw_prices': function () {
					var li = $('<li></li>').appendTo(this.form_list);
					var label = $('<label style="padding-right: 5px;">Select Price:</label>&nbsp;').appendTo(li);
					var min_select = $('<select name="minListPrice" id="minListPrice" class="width_60 displetfield"></select>').appendTo(li);
					$('<option disabled="disabled" selected="selected" value="none" class="disabled">'
						+ this.params.options.priceMin_select
						+ '</option>').appendTo(min_select);

					for (var price = this.params.options.priceMin;
						price <= this.params.options.priceMax;
						price += this.params.options.priceIncrement) {
						$('<option value="' + (price / 1000) + '">' + (price / 1000) + ',000</option>').appendTo(min_select);
					}
          
          var img_span = $('<span style="padding: 0 5px;"></span>').appendTo(li);
          
					$('<img src="/wp-content/themes/austina+homes/images/icon_chains.png" width="14" height="7" alt="" />').appendTo(img_span);

					var max_select = $('<select name="maxListPrice" id="maxListPrice" class="width_60 displetfield"></select>').appendTo(li);
					$('<option disabled="disabled" selected="selected" value="none" class="disabled">'
						+ this.params.options.priceMax_select
						+ '</option>').appendTo(max_select);

					for (price = this.params.options.priceMin;
						price <= this.params.options.priceMax;
						price += this.params.options.priceIncrement) {
						$('<option value="' + (price / 1000) + '">' + (price / 1000) + ',000</option>').appendTo(max_select);
					}
				},
				
				'draw_beds': function () {
				  this.beds_li = $('<li></li>').appendTo(this.form_list);
				  var span = $('<span class="width_110 inline_block"></span>').appendTo(this.beds_li);
				  var label = $('<label style="padding-right: 5px;">Beds:</label>').appendTo(span);
					var bed_select = $('<select name="minBedrooms" id="minBedrooms" class="width_60 displetfield"></select>').appendTo(span);
					$('<option disabled="disabled" selected="selected" value="none" class="disabled">Min</option>').appendTo(bed_select);

					for (var beds = this.params.options.bedsMin;
						beds <= this.params.options.bedsMax;
						beds++) {
							$('<option value="' + beds + '">' + beds + '</option>').appendTo(bed_select);
						}
				},
				
				'draw_min_sq_ft': function() {
					var select = $('<select id="minSquareFeet" name="minSquareFeet" class="width_100 displetfield"></select>').appendTo(this.beds_li);

					$('<option disabled="disabled" selected="selected" value="none">Min Sq Ft</option>').appendTo(select);
              
					$.each(this.params.minsq, function () {
						$('<option value="' + this + '">' + this + '</option>').appendTo(select);
					});
				},
				
				'draw_baths': function () {
				  this.baths_li = $('<li></li>').appendTo(this.form_list);
				  var span = $('<span class="width_110 inline_block"></span>').appendTo(this.baths_li);
				  var label = $('<label style="padding-right: 5px;">Bath:</label>').appendTo(span);
					var bath_select = $('<select name="minBathrooms" id="minBathrooms" class="width_60 displetfield"></select>').appendTo(span);
					$('<option disabled="disabled" selected="selected" value="none" class="disabled">Min</option>').appendTo(bath_select);

					for (var baths = this.params.options.bathsMin;
						baths <= this.params.options.bathsMax;
						baths++) {
							$('<option value="' + baths + '">' + baths + '</option>').appendTo(bath_select);
						}
				},
				
				'draw_max_age': function() {
					var select = $('<select id="maxAge" name="maxAge" class="width_100 displetfield"></select>').appendTo(this.baths_li);

					$('<option disabled="disabled" selected="selected" value="none">Max Age</option>').appendTo(select);
              
					$.each(this.params.maxage, function () {
						$('<option value="' + this + '">' + this + '</option>').appendTo(select);
					});
				},
				
				'draw_bottom_row': function() {
				  var li = $('<li></li>').appendTo(this.form_list);
				  var labels = $('<span class="width_110 inline_block"><label>Stories:</label></span><label>Keyword:</label><br />').appendTo(li);
				  var span = $('<span class="width_110 inline_block"></span>').appendTo(li);
				  
				  var select = $('<select id="minStories" name="minStories" class="width_100 displetfield"></select>').appendTo(span);
				  $('<option disabled="disabled" selected="selected" value="none">------</option>').appendTo(select);
              
					$('<option value="1">1</option>').appendTo(select);
					$('<option value="2">2+</option>').appendTo(select);
					
					$('<input type="text" name="keyword" class="width_130 field displetfield" id="keyword" value="" />').appendTo(li);
				},
				
				'draw_buttons': function () {
					var searchbutton = $('<div id="cta_find_homes" class="image_replace" style="cursor: pointer;">Find Homes</div>').appendTo(this.quick_search_buttons);
					var or_text = $('<span style="padding-right: 10px;">or</span>').appendTo(this.quick_search_buttons);
					var linkbutton = $('<a href="http://search.austinaplushomes.com/#area=28/minListPrice=200">Advanced Search</a>').appendTo(this.quick_search_buttons);
					var clear_div = $('<div class="clear"><!-- --></div>').appendTo(this.quick_search_buttons);

					searchbutton.click(this.submitForm);
				}
      },
      'callbacks': {
        'submitForm': function () {
    			var url = (function (url) {
    				if (url.lastIndexOf('/') != url.length) {
    					url += '/';
    				}
    				url += '#';
    				return url;
    			})("http://search.austinaplushomes.com");

    			$.each($('.displetform .displetfield'), function () {
    				if (this.value != 'none' && this.value != '' && this.value != 'Subdivision' && this.value != 'Zip Code') {
    					url += this.name + '=' + this.value + '/';
    				}
    			});

    			window.location = url;
    		}
      }
    });
  });
})(jQuery);
