Support Forums

The forums are closed and will be removed when we launch our new site.

Looking for support? You can access the support system via your account.

Forums Forums Search Search Results for '.val'

Viewing 10 results - 61 through 70 (of 70 total)
  • Author
    Search Results
  • #35220

    In reply to: Get Date Range jQuery


    Ross
    Keymaster

    The val attrtribute always exists, to test if not empty I usualld do

    if($('.some-field').val()=="")
    {
        alert("empty");
    }
    #34952

    In reply to: Get Date Range jQuery


    Ross
    Keymaster

    You can find what the user has selected via PHP:

    http://www.designsandcode.com/documentation/search-filter-pro/accessing-search-data/

    Alternatively you would just do some check on the field itself:

    $('.sf-datepicker').val()

    Notice, this selector .sf-datepicker will match multiple elements so you will likely need to change this code somewhat to account for the different field, or change the selector.

    Anyway, S&F uses the standard .datepicker() from the jQuery UI, so it should work fine if that is what you are trying to use.

    Thanks

    #30322

    Bram Perry
    Participant

    I came up with this little snippet that works quite good for now.

    $( "body" ).on( "change", ".searchandfilter input[type=text]", function() {
       $('.searchandfilter input[type=text]').val( $( this ).val() );
    });

    The ‘change’ event only fires on blur, but fortunately your plugin blurs the search field when submitting the form through ajax so that works well.


    delkhanna
    Participant

    For Full code..its here..
    Add this new function in class-search-filter-generate-input.php file

    public function generate_multiselectcheckbox($dropdata, $name, $defaults, $elem_attr = "",$id="",$all_items_label=null)
    
        {
            $returnvar = "";
    
    //        if($additionalFeature==false){
    //            $returnvar .= '<div style="display:none;" id="div_' . str_replace('/', '', $name) . '">';
    //        }
    //        else{
    //            $returnvar .= '<div style="" id="div_' . str_replace('/', '', $name) . '">';
    //        }
    
            $returnvar .= '<select multiple="multiple" class="postform" name="'.$name.'[]"'.$elem_attr.'id="'.str_replace('/', "", $name).'" slug="'.$all_items_label.'">';
            if(isset($all_items_label))
            {
    
                if($all_items_label=="")
                {//check to see if all items has been registered in field then use this label
                    $returnvar .= '<option selected="selected" class="level-0" value="'.$name.'">'.esc_html($all_items_label).'</option>';
                }
            }
            foreach($dropdata as $dropdown)
            {
                $selected = "";
    
                if(isset($defaults))
                {
                    if(is_array($defaults)) //there should never be more than 1 default in a select, if there are then don't set any, user is obviously searching multiple values, in the case of a select this must be "all"
                    {
                        foreach($defaults as $defaultid)
                        {
                            if($defaultid==$dropdown->term_id)
                            {
                                $selected = ' selected="selected"';
                            }
                        }
                    }
                }
                $returnvar .= '<option class="level-0" value="'.esc_attr($dropdown->term_id).'"'.$selected.'>'.esc_html($dropdown->cat_name).'</option>';
            }
            $returnvar .= "</select>";
    
            $returnvar .= '<script src="/wordpress/wp-content/themes/sydney/js/jquery.min.js"></script>
                           <script src="/wordpress/wp-content/themes/sydney/js/jquery.multiple.select.js"></script>
                            <script>
                            $(function() {
                                $("#'.str_replace('/', "", $name).'").change(function() {
                                console.log($(this).val());
                                }).multipleSelect({
                                width: "100%"
                                });
                            });
                            </script>';
    
            return $returnvar;
        }

    choose from the UI which choice_type u want. for example. I choose multi select so Call this function into
    if ($values['choice_input_type'] == "multiselect") by referring

    $returnvar .= $this->create_input->generate_multiselectcheckbox($countrychildren, $field_name, $defaults, $elem_attr, str_replace('/', '', $field_name), false);

    Don’t forget to add the above javascript files and css file.

    Keep calm and enjoy coding.. 😉
    Cheerssss


    delkhanna
    Participant

    DONE!!!
    // used some java script jquery.min.js and jquery.multiple.select.js and multiple-select.css
    <link rel=”stylesheet” href=”/wordpress/wp-content/themes/sydney/login/multiple-select.css” />
    //After $returnvar .= “</select>”;
    //Add
    $returnvar .= ‘<script src=”/wordpress/wp-content/themes/sydney/js/jquery.min.js”></script>
    <script src=”/wordpress/wp-content/themes/sydney/js/jquery.multiple.select.js”></script>
    <script>

    $(function() {
    $(“#’.str_replace(‘/’, ”, $name).'”).change(function() {
    console.log($(this).val());
    }).multipleSelect({
    width: “100%”
    });
    });
    </script>’;

    #19003

    Zheng Liao
    Participant

    hello Ross,

    just when I use firebug, I cannot see checked=”checked” within the <input> tag?

    I wrote a piece of JQuery code to change the default style as below, but it doesn’t add checked=”checked” to <input> and “checkedbox” class to <span> either as it is supposed to, do you have any idea why?

    my code:
    $(‘input:checkbox’).hide().each(function() {
    $(this).attr(‘data-check-fx’, this.value);
    var label = $(“label[for=” + ‘”‘ + this.id + ‘”‘ + “]”).text();
    $(‘‘+'<span class=”checkbox’ + (this.checked ? ‘ checkbox-checked’ : ”) + ‘”></span>‘).insertAfter(this);
    });

    $(‘sf-field-tag label’).on(‘click’, function(e) {
    e.preventDefault();
    if($(this).find(‘input:checkbox’).is(‘:checked’)) return;
    var unique = $(this).find(‘a.check-fx’).attr(‘data-check-fx’);
    $(“sf-field-tag label a[data-check-fx='”+unique+”‘] span”).attr(‘class’,’checkbox’);
    $(“sf-field-tag label input:checkbox[data-check-fx='”+unique+”‘]”).attr(‘checked’,false);
    $(this).find(‘a.check-fx’).find(‘span’).attr(‘class’,’checkbox-checked’);
    $(this).find(‘input:checkbox’).attr(‘checked’,true);
    }).on(‘keydown’, function(e) {
    if ((e.keyCode ? e.keyCode : e.which) == 32) {
    $(this).trigger(‘click’);
    }
    });

    Thanks!
    Emma

    #18421

    Ross
    Keymaster

    Hi Bob

    Your ticket was on a list of the remaining few 😉

    So to answer your questions:

    1) You would need to change the values on the form itself, so you would do something along the lines of:

    • Create your button
    • When clicked call some JS function
    • This JS function should then update the search form, so you would do something like:
    $(".searchandfilter .sf-field-category select").val("category-name"); //sets a specific category in the dropdown
    $(".searchandfilter").submit(); //submit the form - S&F should handle this after and load via ajax etc if its enabled

    2) I recently answered a similar question which I think should help – https://support.searchandfilter.com/forums/topic/php-code-to-display-search-terms-on-search-results-page/#post-18377

    Thanks!

    #16765

    Nicolas MICHEL
    Participant

    Here is the code:

    (function ( $ ) {
    	"use strict";
    
    	$(function () {
    		/* metabox processing :) */
    		
    		//thickbox mods
    		jQuery.fn.SfPopupMeta = function(options)
    		{
    			var defaults = {
    				startOpened: false
    			};
    			var opts = jQuery.extend(defaults, options);
    			
    			//loop through each item matched
    			$(this).each(function()
    			{
    				var item = $(this);
    				
    				var $widget_ref = $(this).closest('.widget');
    				var $meta_options_list = $widget_ref.find('.meta_options_list');
    				
    				
    				function getMetaKeyValues(meta_key, $target)
    				{
    					
    					var meta_prefs_action_name = "get_meta_values";
    					
    					$.post( ajaxurl, {meta_key: meta_key, action: meta_prefs_action_name}).done(function(data)
    					{//don't do anything
    						
    						if(data)
    						{
    							$target.html(data);
    						}
    					});
    					
    				}
    				
    				function getMetaKey($this)
    				{
    					/* ***************** */
    					var $the_field = $this.closest(".widget");
    					var $meta_key_manual_toggle  = $the_field.find(".meta_key_manual_toggle");
    					var $meta_key_manual  = $the_field.find(".meta_key_manual");
    					var $meta_key = $the_field.find(".meta_key");
    					
    					var meta_key_value = $meta_key.val();
    					
    					if($meta_key_manual_toggle.is(":checked"))
    					{
    						meta_key_value = $meta_key_manual.val();
    					}
    					
    					if(meta_key_value!="")
    					{
    						return meta_key_value;
    					}
    					else 
    					{
    						return "";
    					}
    				}
    				
    				item.click(function()
    				{
    					//add overlay
    					var $overlay = jQuery('<div/>', {
    						id: 'foo',
    						'class': 'sf-thickbox-overlay',
    					}).appendTo('body');
    					
    					//add popup div
    					var $popup = jQuery('<div/>', {
    						'class': 'sf-thickbox',
    					}).appendTo('body');
    					
    					var popup_hd_str = "";
    					popup_hd_str += '<div class="sf-thickbox-title">';
    					popup_hd_str += '<div class=".sf-ajax-window-title"></div>';
    					popup_hd_str += '<div class="sf-thickbox-title-inner">Add Options</div>';
    					popup_hd_str += '<div class="sf-close-ajax-window">';
    					popup_hd_str += '<a href="#"></a>';
    					popup_hd_str += '<div class="sf-close-icon"></div>';
    					popup_hd_str += '</div>';
    					popup_hd_str += '</div>';
    					
    					/* init content */
    					var meta_key = getMetaKey($(this));
    					
    					var popup_content_str = "";
    					popup_content_str += '<div class="sf-ajax-content">';
    					popup_content_str += '<p>Found the following values in use for meta key <code><strong>&#039;+meta_key+&#039;</strong></code></p>';
    					popup_content_str += '<p class="sf-thickbox-content">';
    					popup_content_str += '<span class="spinner" style="display: block; float:left; text-align:left;"></span>';
    					popup_content_str += '</p>';
    					popup_content_str += '</div>';
    					
    					var popup_ft_str = "";
    					popup_ft_str += '<div class="sf-thickbox-frame-toolbar">';
    					popup_ft_str += '<div class="sf-thickbox-toolbar">';
    					popup_ft_str += '<p><a href="#">Select None</a> <a href="#">Select All</a> <a href="#">Add Options</a> <label class="replace-meta-options-label">Replace current options? &nbsp;<input type="checkbox" class="replace-options-checkbox" /></label></p>';
    					popup_ft_str += '</div>';
    					popup_ft_str += '</div>';
    					
    					var $popup_header = $(popup_hd_str);
    					var $popup_content = $(popup_content_str);
    					var $popup_footer = $(popup_ft_str);
    					
    					$popup.append($popup_header);
    					$popup.append($popup_content);
    					$popup.append($popup_footer);
    					
    					var $close_button = $popup_header.find(".sf-close-ajax-window");
    					$close_button.click(function()
    					{
    						$('.sf-thickbox-overlay').remove();
    						$popup.remove();
    						
    					});
    					
    					var $select_none_button = $popup_footer.find(".sf-meta-select-none");
    					$select_none_button.click(function()
    					{
    						$popup_content.find(".sf-thickbox-content input[type=checkbox]").each(function(){
    						
    							this.checked = false;							
    						});
    						
    						return false;
    						
    					});
    					
    					var $select_all_button = $popup_footer.find(".sf-meta-select-all");
    					$select_all_button.click(function()
    					{
    						$popup_content.find(".sf-thickbox-content input[type=checkbox]").each(function(){
    						
    							this.checked = true;							
    						});
    						
    						return false;
    						
    					});
    					
    					var $add_options_button = $popup_footer.find(".sf-meta-add-options");
    					$add_options_button.click(function()
    					{
    						var $no_sort_label = $widget_ref.find(".no_sort_label");
    						var $replace_options_checkbox = $popup_footer.find('.replace-options-checkbox');
    						var $checked_options = $popup_content.find(".sf-thickbox-content input[type=checkbox]:checked");
    						
    						if($checked_options.length>0)
    						{
    							if($replace_options_checkbox.prop('checked'))
    							{
    								var $meta_options = $meta_options_list.find("li:not(.meta-option-template)");
    								
    								$meta_options.each(function(){
    									
    									var $meta_option = $(this);
    									
    									$meta_option.slideUp("fast",function(){
    										$meta_option.remove();
    										
    										if($meta_options_list.find("li:not(.meta-option-template)").length==0)
    										{
    											$no_sort_label.show();
    										}
    									});
    								});
    							}
    							
    							
    							$checked_options.each(function(){
    								
    								var optionsId = $meta_options_list.find("li:not(.meta-option-template)").length;
    								
    								var $meta_option = $meta_options_list.find("li.meta-option-template").clone();
    								$meta_option.removeClass("meta-option-template");
    								
    								setOptionVars($meta_option, $widget_ref.attr('data-widget-id'), optionsId);
    								$meta_options_list.append($meta_option);
    								$meta_option.slideDown("fast");
    								
    								$meta_option.find("input[type=text]").val($(this).val());
    								
    								initMetaOptionControls($meta_option, $meta_options_list, $no_sort_label);
    								
    								$no_sort_label.hide();
    								
    								
    								this.checked = true;					
    							});
    						}
    						
    						//hide popup
    						$('.sf-thickbox-overlay').remove();
    						$popup.remove();
    						
    						return false;
    						
    					});
    					
    					getMetaKeyValues(meta_key, $popup_content.find(".sf-thickbox-content"));
    					
    					
    					return false;
    					
    					
    				});
    				
    			});
    		}
    		
    		jQuery.fn.SfPopupTax = function(options)
    		{
    			var defaults = {
    				startOpened: false
    			};
    			var opts = jQuery.extend(defaults, options);
    			
    			//loop through each item matched
    			$(this).each(function()
    			{
    				function getTaxonomyTerms(taxonomy_name, taxonomy_ids, $target)
    				{
    					var action_name = "get_taxonomy_terms";
    					
    					$.get( ajaxurl+"?action="+action_name+"&taxonomy_name="+taxonomy_name+"&taxonomy_ids="+taxonomy_ids ).done(function(data)
    					{//don't do anything
    						
    						if(data)
    						{
    							$target.html(data);
    						}
    					});
    				}
    				
    				var item = $(this);
    				
    				if(item.attr("data-init-popup") != 1)
    				{
    					item.attr("data-init-popup", 1);
    										
    					item.click(function()
    					{
    						if(!item.hasClass("disabled"))
    						{
    							//add overlay
    							var $overlay = jQuery('<div/>', {
    								id: 'foo',
    								'class': 'sf-thickbox-overlay',
    							}).appendTo('body');
    							
    							//add popup div
    							var $popup = jQuery('<div/>', {
    								'class': 'sf-thickbox',
    							}).appendTo('body');
    							
    							var popup_hd_str = "";
    							popup_hd_str += '<div class="sf-thickbox-title">';
    							popup_hd_str += '<div class=".sf-ajax-window-title"></div>';
    							popup_hd_str += '<div class="sf-thickbox-title-inner">Update Terms</div>';
    							popup_hd_str += '<div class="sf-close-ajax-window">';
    							popup_hd_str += '<a href="#"></a>';
    							popup_hd_str += '<div class="sf-close-icon"></div>';
    							popup_hd_str += '</div>';
    							popup_hd_str += '</div>';
    							
    							/* init content */
    							var taxonomy_name = $(this).attr("data-taxonomy-name");
    							var taxonomy_label = $(this).attr("data-taxonomy-label");
    							var taxonomy_ids = $(this).parent().find(".settings_exclude_ids").val();
    							var $this = $(this);
    							
    							var popup_content_str = "";
    							popup_content_str += '<div class="sf-ajax-content">';
    							popup_content_str += '<p>Choose the terms to include/exclude for <code><strong>&#039;+taxonomy_label+&#039;</strong></code></p>';
    							popup_content_str += '<p class="sf-thickbox-content">';
    							popup_content_str += '<span class="spinner" style="display: block; float:left; text-align:left;"></span>';
    							popup_content_str += '</p>';
    							popup_content_str += '</div>';
    							
    							var popup_ft_str = "";
    							popup_ft_str += '<div class="sf-thickbox-frame-toolbar">';
    							popup_ft_str += '<div class="sf-thickbox-toolbar">';
    							popup_ft_str += '<p><a href="#">Select None</a> <a href="#">Select All</a> <a href="#">Update</a></p>';
    							popup_ft_str += '</div>';
    							popup_ft_str += '</div>';
    							
    							var $popup_header = $(popup_hd_str);
    							var $popup_content = $(popup_content_str);
    							var $popup_footer = $(popup_ft_str);
    							
    							$popup.append($popup_header);
    							$popup.append($popup_content);
    							$popup.append($popup_footer);
    							
    							var $close_button = $popup_header.find(".sf-close-ajax-window");
    							$close_button.click(function()
    							{
    								$('.sf-thickbox-overlay').remove();
    								$popup.remove();
    								
    							});
    							
    							var $select_none_button = $popup_footer.find(".sf-meta-select-none");
    							$select_none_button.click(function()
    							{
    								$popup_content.find(".sf-thickbox-content input[type=checkbox]").each(function(){
    								
    									this.checked = false;							
    								});
    								
    								return false;
    								
    							});
    							
    							var $select_all_button = $popup_footer.find(".sf-meta-select-all");
    							$select_all_button.click(function()
    							{
    								$popup_content.find(".sf-thickbox-content input[type=checkbox]").each(function(){
    								
    									this.checked = true;							
    								});
    								
    								return false;
    								
    							});
    							
    							var $update_button = $popup_footer.find(".sf-update-button");
    							
    							$update_button.click(function()
    							{
    								var $replace_options_checkbox = $popup_footer.find('.replace-options-checkbox');
    								var $checked_options = $popup_content.find(".sf-thickbox-content input[type=checkbox]:checked");
    								
    								var checkedIds = [];
    														
    								if($checked_options.length>0)
    								{
    									$checked_options.each(function(){
    										
    										checkedIds.push($(this).val());
    									});
    								}
    								
    								var checkedStr = "";
    								
    								if(checkedIds.length>0)
    								{
    									checkedStr = checkedIds.join(',');
    								}
    								
    								$this.parent().find(".settings_exclude_ids").val(checkedStr);
    								
    								//hide popup
    								$('.sf-thickbox-overlay').remove();
    								$popup.remove();
    								
    								return false;
    								
    							});
    							
    							getTaxonomyTerms(taxonomy_name, taxonomy_ids, $popup_content.find(".sf-thickbox-content"));
    							
    						}
    						
    						return false;
    						
    						
    					});
    				}
    			});
    		}
    		
    		String.prototype.parseArray = function (arr) {
    			return this.replace(/\{([0-9]+)\}/g, function (_, index) { return arr[index]; });
    		};
    		
    		String.prototype.parse = function (a, b, c) {
    			return this.parseArray([a, b, c]);
    		};
    		$.fn.hasAttr = function(name) {  
    		   return this.attr(name) !== undefined;
    		};
    		
    		var $search_tax_button = $('#search-filter-settings-box .search-tax-button');
    		$search_tax_button.SfPopupTax();
    		
    		
    		$("#search-filter-search-form").addClass("widgets-search-filter-sortables").addClass("ui-search-filter-sortable");
    		
    		//create all default handlers, open/close/delete/save
    		jQuery.fn.makeWidget = function(options)
    		{
    			var defaults = {
    				startOpened: false
    			};
    			var opts = jQuery.extend(defaults, options);
    			
    			//loop through each item matched
    			this.each(function()
    			{
    				var item = $(this);
    				item.addClass("widget-enabled");
    				var field_type = item.attr("data-field-type");
    				
    				var itemInside = item.find('.widget-inside');
    				
    				if(opts.startOpened==true)
    				{
    					itemInside.show();
    				}
    				var container = item.parent();
    			
    				item.find('.widget-top').click(function(e){
    					
    					e.stopPropagation();
    					e.preventDefault();
    					
    					var allowExpand = container.attr("data-allow-expand");
    					if(typeof(allowExpand)=="undefined")
    					{//init data-dragging if its not on already
    						container.attr("data-allow-expand", "1");
    						allowExpand = "1";
    					}
    					
    					if(allowExpand==1)
    					{					
    						var dataDragging = item.attr("data-dragging");
    						if(typeof(dataDragging)=="undefined")
    						{//init data-dragging if its not on already
    							item.attr("data-dragging", "0");
    							dataDragging = "0";
    						}
    						
    						if(dataDragging=="0") 
    						{
    							itemInside.slideToggle("fast");
    						}
    					}
    					
    					return false;
    				});
    				
    				item.find('.widget-control-remove').click(function(e){				
    					
    					item.slideUp("fast", function(){
    						
    						item.remove();
    						if(item.length==1)
    						{
    							//$emptyPlaceholder.show();
    						}
    						
    					});
    					
    					return false;
    				});
    				
    				item.find('.widget-control-advanced').click(function(e){
    				
    					$(this).parent().find(".advanced-settings").slideToggle("fast");
    					$(this).toggleClass("active");
    					
    					return false;
    				});
    				
    				item.find('.widget-control-close').click(function(e){
    				
    					itemInside.slideUp("fast");
    					
    					return false;
    				
    				});
    				
    				//widget specific JS
    				//categories
    				if((field_type=="category")||(field_type=="tag")||(field_type=="taxonomy")||(field_type=="post_type"))
    				{
    					
    					var $input_type_field = item.find('.sf_input_type select');
    					
    					// start off by showing/hiding correct fields
    					showHideFields($input_type_field.val());
    					
    					//grab the input type
    					$input_type_field.change(function(e)
    					{
    						var input_type = $(this).val();
    						showHideFields(input_type);
    						
    					});
    					
    					var $combobox = item.find(".sf_make_combobox input");
    					
    					$combobox.change(function()
    					{
    						var tinput_type = $(this).parent().parent().find('.sf_input_type select').val();
    						
    						if(tinput_type=="multiselect")
    						{
    							if($(this).prop("checked"))
    							{
    								item.find(".sf_all_items_label").show();
    							}
    							else
    							{
    								item.find(".sf_all_items_label").hide();
    							}
    						}
    					});
    					
    					var $tax_button = null;
    					
    					if(field_type!="post_type")
    					{
    						var $sync_include_exclude = item.find(".sync_include_exclude");
    						
    						$sync_include_exclude.on("change", function(){
    							
    							init_sync_checkbox($(this));
    							
    						});
    						
    						init_sync_checkbox($sync_include_exclude);
    						
    						$tax_button = item.find(".search-tax-button");
    						
    						if(field_type!="post_tag")
    						{
    							//include children
    							var $operator_select = item.find(".sf_operator select");
    							var $children_checkbox = item.find(".sf_include_children input");
    							
    							$operator_select.on("change", function(){
    								
    								if($(this).val()=="and")
    								{
    									$children_checkbox.prop("checked", false);
    								}
    								
    							});
    							
    							$children_checkbox.on("change", function(){
    								
    								if($(this).prop("checked")==true)
    								{
    									$operator_select.val("or");
    								}
    								
    							});
    						}
    					}
    					
    					if(field_type=="taxonomy")
    					{
    						
    						var $tsel = item.find('.sf_taxonomy_name select');
    						var current_tax_name = $tsel.find("option[value='"+$tsel.val()+"']").html();
    						
    						
    						$tax_button.attr('data-taxonomy-name', $tsel.val());
    						$tax_button.attr('data-taxonomy-label', current_tax_name);
    					}
    					
    					if(field_type!="post_type")
    					{
    						$tax_button.SfPopupTax();
    					}
    					
    				}
    				
    				function init_sync_checkbox($this)
    				{
    					if($this.is(":checked"))
    					{
    						item.find(".exclude_ids").attr("disabled", "disabled");
    						item.find(".exclude_ids_hidden").removeAttr("disabled");
    						item.find(".exclude_ids_hidden").val(item.find(".exclude_ids").val());
    						item.find(".search-tax-button").addClass("disabled");
    						
    					}
    					else
    					{
    						item.find(".exclude_ids").removeAttr("disabled");
    						item.find(".exclude_ids_hidden").attr("disabled", "disabled");
    						item.find(".search-tax-button").removeClass("disabled");
    					}
    				}
    				
    				if(field_type=="author")
    				{
    					
    					var $input_type_field = item.find('.sf_input_type select');
    					
    					// start off by showing/hiding correct fields
    					showHideFieldsAuthor($input_type_field.val());
    					
    					var $combobox = item.find(".sf_make_combobox input");
    					
    					$combobox.change(function()
    					{
    						var tinput_type = $(this).parent().parent().find('.sf_input_type select').val();
    						
    						if(tinput_type=="multiselect")
    						{
    							if($(this).prop("checked"))
    							{
    								item.find(".sf_all_items_label").show();
    							}
    							else
    							{
    								item.find(".sf_all_items_label").hide();
    							}
    						}
    					});
    					
    					
    					//grab the input type
    					$input_type_field.change(function(e)
    					{
    						var input_type = $(this).val();
    						showHideFieldsAuthor(input_type);						
    					});
    				}
    				
    				if(field_type=="taxonomy")
    				{
    					var $taxonomy_select = item.find('.sf_taxonomy_name select');
    					
    					$taxonomy_select.on("change",function()
    					{
    						var current_tax_name = $taxonomy_select.find("option[value='"+$taxonomy_select.val()+"']").html();
    						item.find('.in-widget-title').html(": "+current_tax_name);
    						
    						var $tax_button = item.find(".search-tax-button");
    						$tax_button.attr('data-taxonomy-name', $(this).val());
    						$tax_button.attr('data-taxonomy-label', current_tax_name);
    					});
    					
    					var current_tax_name = $taxonomy_select.find("option[value='"+$taxonomy_select.val()+"']").html();
    					item.find('.in-widget-title').html(": "+current_tax_name);
    					
    				}
    				
    				if(field_type=="sort_order")
    				{
    					setPostMetaManualFields();
    					
    					var $meta_key_manual_toggle = item.find('.meta_key_manual_toggle');
    					
    					var $input_type_field = item.find('.sf_input_type select');
    					
    					// start off by showing/hiding correct fields
    					showHideFields($input_type_field.val());
    					
    					$input_type_field.change(function(e)
    					{
    						var input_type = $(this).val();
    						showHideFields(input_type);
    					});
    					
    					
    					//grab the input type
    					$meta_key_manual_toggle.change(function(e)
    					{
    						setPostMetaManualFields();
    					});
    				}
    				
    				if(field_type=="post_meta")
    				{
    					setPostMetaManualFields();
    					
    					var $meta_key_manual_toggle = item.find('.meta_key_manual_toggle');
    					
    					var $input_type_field = item.find('.sf_input_type select');
    					
    					// start off by showing/hiding correct fields
    					showHideFields($input_type_field.val());
    					
    					$input_type_field.change(function(e)
    					{
    						var input_type = $(this).val();
    						showHideFields(input_type);
    					});
    					
    					
    					var $combobox = item.find(".sf_make_combobox input");
    					
    					$combobox.change(function()
    					{
    						var tinput_type = $(this).parent().parent().find('.sf_input_type select').val();
    						
    						if(tinput_type=="multiselect")
    						{
    							if($(this).prop("checked"))
    							{
    								item.find(".sf_all_items_label").show();
    							}
    							else
    							{
    								item.find(".sf_all_items_label").hide();
    							}
    						}
    					});
    					
    					//grab the input type
    					$meta_key_manual_toggle.change(function(e)
    					{
    						setPostMetaManualFields();
    					});
    				}
    				
    				if(field_type=="sort_order")
    				{
    					var $add_sort_button = item.find(".add-sort-button");
    					var $clear_option_button = item.find(".clear-option-button");
    					var $sort_options_list = item.find(".sort_options_list");
    					var $no_sort_label = item.find(".no_sort_label");
    					
    					var $current_sort_options = $sort_options_list.find("li:not(.sort-option-template)");
    					$current_sort_options.show();
    					
    					if($current_sort_options.length>0)
    					{
    
    						 $no_sort_label.hide();
    					}
    					
    					$current_sort_options.each(function(){
    						
    						initSortOptionControls($(this), $sort_options_list, $no_sort_label);
    						
    					});					
    					
    					$sort_options_list.sortable({
    						opacity: 0.6,
    						//revert: 200,
    						revert: false,
    						cursor: 'move',
    						handle: '.slimmove',
    						//cancel: '.widget-title-action,h3,.sidebar-description',
    						items: 'li:not(.sort-option-template)',
    						placeholder: 'sort-option-placeholder',
    						'start': function (event, ui) {
    							ui.placeholder.show();
    						},
    						stop: function(e,ui) {
    							
    							var optionsCount = 0;
    							var $sort_options_list = ui.item.find(".sort_options_list");
    							var widgetCount = ui.item.attr("data-widget-id");
    							
    							$sort_options_list.find("li:not(.sort-option-template)").each(function()
    							{
    								
    								setOptionVars($(this), widgetCount, optionsCount);
    								optionsCount++;
    							
    							});
    						}
    					});
    					
    					$clear_option_button.click(function(){
    					
    						
    						var $sort_options = $sort_options_list.find("li:not(.sort-option-template)");
    								
    						$sort_options.each(function(){
    							
    							var $sort_option = $(this);
    							
    							$sort_option.slideUp("fast",function(){
    								$sort_option.remove();
    								
    								if($sort_options_list.find("li:not(.sort-option-template)").length==0)
    								{
    									$no_sort_label.show();
    								}
    							});
    						});
    						
    						return false;
    					
    					});
    					
    					$add_sort_button.click(function(){
    					
    						
    						var $meta_key_manual_toggle  = item.find(".meta_key_manual_toggle");
    						var $meta_key_manual  = item.find(".meta_key_manual");
    						var $meta_key = item.find(".meta_key");
    						
    						var meta_key_value = $meta_key.val();
    						
    						if($meta_key_manual_toggle.is(":checked"))
    						{
    							meta_key_value = $meta_key_manual.val();
    						}
    						
    						if(meta_key_value!="")
    						{
    							//reset meta fields
    							$meta_key.removeAttr("selected");
    							$meta_key[0].selectedIndex = 0;
    							$meta_key_manual.val("");
    							$meta_key_manual_toggle.prop("checked", false);
    							$meta_key.removeAttr("disabled");
    							$meta_key_manual.attr("disabled", "disabled");
    							
    							
    							var optionsId = $sort_options_list.find("li:not(.sort-option-template)").length;
    							
    							var option_html = "";
    							
    							var $sort_option = $sort_options_list.find("li.sort-option-template").clone();
    							$sort_option.removeClass("sort-option-template");
    							$sort_option.hide();
    							$sort_option.find(".meta_key_val, .meta_disabled, .name").val(meta_key_value);
    							
    							setOptionVars($sort_option, item.attr('data-widget-id'), optionsId);
    							
    							var $sort_by_option = $sort_option.find(".sort_by_option");
    							
    							if($sort_by_option.val()=="meta_value")
    							{
    								$sort_option.find('.sort-options-advanced').show();
    							}
    							else
    							{
    								$sort_option.find('.sort-options-advanced').hide();
    							}
    							
    							$sort_options_list.append($sort_option);
    							$sort_option.slideDown("fast");
    							
    							initSortOptionControls($sort_option, $sort_options_list, $no_sort_label);
    							
    							$no_sort_label.hide();
    							
    						}
    						return false;
    					
    					});
    				}
    				
    				if(field_type=="post_meta")
    				{
    					/* init meta type radios */
    					/* set up meta type radios */
    					var $meta_type_radio = item.find('.sf_meta_type input[type=radio]');
    					var $meta_type_labels = item.find('.sf_meta_type label');
    					var $checked_radio = item.find(".sf_meta_type input[data-radio-checked='1']");
    					
    					$meta_type_radio.each(function(){
    						this.checked = false;
    						$(this).attr("data-radio-checked", 0);
    					});
    					
    					
    					if($checked_radio.length==0)
    					{
    						$checked_radio = item.find(".sf_meta_type label:first-child input");
    						
    					}
    					
    					$checked_radio.attr("data-radio-checked", 1);
    					$checked_radio.prop('checked',true);
    					var meta_type_val = $checked_radio.val();
    					
    					metaTypeChange($checked_radio);
    					
    					$meta_type_radio.change(function()
    					{
    						$meta_type_radio.attr("data-radio-checked", 0);
    						$(this).attr("data-radio-checked", 1);
    						metaTypeChange($(this));
    						
    					});
    					
    					
    					/* ****************************************************** */
    					
    					
    					var $add_option_button = item.find(".add-option-button");
    					var $detect_option_button = item.find(".detect-option-button");
    					var $clear_option_button = item.find(".clear-option-button");
    					var $meta_options_list = item.find(".meta_options_list");
    					var $no_sort_label = item.find(".no_sort_label");
    					
    					var $current_meta_options = $meta_options_list.find("li:not(.meta-option-template)");
    					
    					$meta_options_list.sortable({
    						opacity: 0.6,
    						//revert: 200,
    						revert: false,
    						cursor: 'move',
    						handle: '.slimmove',
    						//cancel: '.widget-title-action,h3,.sidebar-description',
    						items: 'li:not(.meta-option-template)',
    						placeholder: 'meta-option-placeholder',
    						'start': function (event, ui) {
    							ui.placeholder.show();
    						},
    						stop: function(e,ui) {
    							
    							var optionsCount = 0;
    							var $meta_options_list = ui.item.find(".meta_options_list");
    							var widgetCount = ui.item.attr("data-widget-id");
    							
    							$meta_options_list.find("li:not(.meta-option-template)").each(function()
    							{
    								
    								setOptionVars($(this), widgetCount, optionsCount);
    								optionsCount++;
    							
    							});
    							
    						}
    					});
    					
    					$current_meta_options.show();
    					
    					if($current_meta_options.length>0)
    					{
    						 $no_sort_label.hide();
    					}
    					
    					$current_meta_options.each(function(){
    						
    						initMetaOptionControls($(this), $meta_options_list, $no_sort_label);
    						
    					});
    					
    					$add_option_button.click(function(){
    					
    						
    						var $meta_key_manual_toggle  = item.find(".meta_key_manual_toggle");
    						
    						var optionsId = $meta_options_list.find("li:not(.meta-option-template)").length;
    						
    						var option_html = "";
    						
    						var $meta_option = $meta_options_list.find("li.meta-option-template").clone();
    						$meta_option.removeClass("meta-option-template");
    						
    						//$meta_option.find(".meta_key_val, .meta_disabled, .name").val(meta_key_value);
    						
    						setOptionVars($meta_option, item.attr('data-widget-id'), optionsId);
    						$meta_options_list.append($meta_option);
    						$meta_option.slideDown("fast");
    						
    						initMetaOptionControls($meta_option, $meta_options_list, $no_sort_label);
    						
    						$no_sort_label.hide();
    						
    						
    						return false;
    					
    					});
    					
    					
    					$detect_option_button.SfPopupMeta();
    					
    					$clear_option_button.click(function(){
    					
    						
    						var $meta_options = $meta_options_list.find("li:not(.meta-option-template)");
    								
    						$meta_options.each(function(){
    							
    							var $meta_option = $(this);
    							
    							$meta_option.slideUp("fast",function(){
    								$meta_option.remove();
    								
    								if($meta_options_list.find("li:not(.meta-option-template)").length==0)
    								{
    									$no_sort_label.show();
    								}
    							});
    						});
    						
    						return false;
    					
    					});
    				}
    				
    				function initSortOptionControls($sort_option, $sort_options_list, $no_sort_label)
    				{
    					var $sort_by_option = $sort_option.find(".sort_by_option");
    					
    					if($sort_by_option.val()=="meta_value")
    					{
    						$sort_option.find('.sort-options-advanced').show();
    					}
    					else
    					{
    						$sort_option.find('.sort-options-advanced').hide();
    					}
    					
    					$sort_by_option.change(function()
    					{
    						if($(this).val()=="meta_value")
    						{
    							$sort_option.find('.sort-options-advanced').slideDown("fast");
    						}
    						else
    						{
    							$sort_option.find('.sort-options-advanced').slideUp("fast");
    						}
    					});
    					
    					$sort_option.find(".widget-control-option-remove").click(function(){
    								
    						$sort_option.slideUp("fast",function(){
    							$sort_option.remove();
    							
    							if($sort_options_list.find("li:not(.sort-option-template)").length==0)
    							{
    								$no_sort_label.show();
    							}
    						});
    						
    						return false;
    						
    					});
    					
    					/*$advanced_button.click(function(){
    						
    						$(this).toggleClass("active");
    						$sort_option.find('.sort-options-advanced').slideToggle("fast");
    						return false;
    						
    					});*/
    					
    				}
    				
    				
    				
    				function setPostMetaManualFields()
    				{
    					var $meta_key_manual = item.find(".meta_key_manual");
    					var $meta_key_manual_hidden = item.find(".meta_key_manual_hidden");
    					var $meta_key = item.find(".meta_key");
    					var $meta_key_hidden = item.find(".meta_key_hidden");
    					var $meta_key_manual_toggle = item.find(".meta_key_manual_toggle");
    					
    					if($meta_key_manual_toggle.is(":checked"))
    					{
    						$meta_key_manual.removeAttr("disabled");
    						$meta_key_manual_hidden.attr("disabled", "disabled");
    						
    						$meta_key_hidden.removeAttr("disabled");
    						$meta_key_hidden.val($meta_key.val());
    						$meta_key.attr("disabled", "disabled");
    						
    						$meta_key_manual.focus();
    					}
    					else
    					{
    						$meta_key_manual_hidden.removeAttr("disabled");
    						$meta_key_manual_hidden.val($meta_key_manual.val());
    						$meta_key_manual.attr("disabled", "disabled");
    						
    						$meta_key.removeAttr("disabled");
    						$meta_key_hidden.attr("disabled", "disabled");
    					}
    
    				}
    				
    				function showHideFields(input_type)
    				{
    					if(input_type=="select")
    					{
    						item.find(".sf_operator").hide();
    						item.find(".sf_drill_down").show();
    						item.find(".sf_all_items_label").show();
    						item.find(".sf_make_combobox").show();
    					}
    					else if(input_type=="checkbox")
    					{
    						item.find(".sf_operator").show();
    						item.find(".sf_drill_down").hide();
    						item.find(".sf_all_items_label").hide();
    						item.find(".sf_make_combobox").hide();
    					}
    					else if(input_type=="radio")
    					{
    						item.find(".sf_operator").hide();
    						item.find(".sf_drill_down").hide();
    						item.find(".sf_make_combobox").hide();
    						item.find(".sf_all_items_label").show();
    					}
    					else if(input_type=="multiselect")
    					{
    						item.find(".sf_operator").show();
    						item.find(".sf_drill_down").hide();
    						item.find(".sf_all_items_label").hide();
    						item.find(".sf_make_combobox").show();
    						
    						if(item.find(".sf_make_combobox input").prop("checked"))
    						{
    							item.find(".sf_all_items_label").show();
    						}
    					}
    					else if(input_type=="range-slider")
    					{
    
    					}
    					else if(input_type=="range-number")
    					{
    
    					}
    					else if(input_type=="range-radio")
    					{
    
    					}
    					else if(input_type=="range-checkbox")
    					{
    
    					}
    					
    				}
    				function showHideFieldsAuthor(input_type)
    				{
    					if(input_type=="select")
    					{
    						//item.find(".sf_operator").hide();
    						item.find(".sf_all_items_label").show();
    						item.find(".sf_make_combobox").show();
    					}
    					else if(input_type=="checkbox")
    					{
    						//item.find(".sf_operator").show();
    						item.find(".sf_all_items_label").hide();
    						item.find(".sf_make_combobox").hide();
    					}
    					else if(input_type=="radio")
    					{
    						//item.find(".sf_operator").hide();
    						item.find(".sf_all_items_label").show();
    						item.find(".sf_make_combobox").hide();
    					}
    					else if(input_type=="multiselect")
    					{
    						//item.find(".sf_operator").show();
    						item.find(".sf_all_items_label").hide();
    						item.find(".sf_make_combobox").show();
    						
    						if(item.find(".sf_make_combobox input").prop("checked"))
    						{
    							item.find(".sf_all_items_label").show();
    						}
    					}
    					
    				}
    			})
    			
    			return this;
    		};
    		
    		jQuery.fn.makeSortables = function(options)
    		{
    			/*
    			//initialise options
    			var opts = jQuery.extend(defaults, options);
    			*/
    			
    			setWidgetFormIds();
    			
    			//loop through each item matched
    			this.each(function()
    			{
    				
    				var container = $(this);
    				var allowExpand = true;
    				
    				var allowExpand = container.attr("data-allow-expand");
    				if(typeof(allowExpand)=="undefined")
    				{//init data-dragging if its not on already
    					container.attr("data-allow-expand", "1");
    					allowExpand = "1";
    				}
    				//var $emptyPlaceholder = $(this).find("#empty-placeholder");
    				var received = false;
    				
    				container.sortable({
    					opacity: 0.6,
    					//revert: container.hasClass("closed") ? false : 200,
    					revert: false,
    					cursor: 'move',
    					handle: '.widget-top',
    					cancel: '.widget-title-action,h3,.sidebar-description',
    					items: '.inside #search-form > .widget:not(.sidebar-name,.sidebar-disabled)',
    					placeholder: 'widget-placeholder',
    					connectWith: '.ui-search-filter-sortable',
    					stop: function(e,ui){
    						
    						setWidgetFormIds();
    						
    						ui.item.attr("data-dragging", "0");
    						var field_type = ui.item.attr("data-field-type");
    						
    						//check to see if the context (the source item) has the class "widget enabled", if it doesn't then it was from the available fields list, if it doesn't then we were moving the item already in the Search Form
    						if(!$(ui.item.context).hasClass("widget-enabled"))
    						{
    							//if we are moving the item from teh Available fields, automatically slide open
    							ui.item.find('.widget-inside').slideDown("fast");
    						}
    						
    						
    						if(field_type=="post_meta")
    						{
    							/* set up meta type radios */
    							var $meta_type_radio = ui.item.find('.sf_meta_type input[type=radio]');
    							var $meta_type_labels = ui.item.find('.sf_meta_type label');
    							var $checked_radio = ui.item.find(".sf_meta_type input[data-radio-checked='1']");
    							
    							$meta_type_radio.each(function(){
    								this.checked = false;
    								$(this).attr("data-radio-checked", 0);
    							});
    							
    							
    							if($checked_radio.length==0)
    							{
    								$checked_radio = ui.item.find(".sf_meta_type label:first-child input");
    								$checked_radio.prop('checked',true);
    							}
    							
    							$checked_radio.attr("data-radio-checked", 1);
    							$checked_radio.prop('checked',true);
    							var meta_type_val = $checked_radio.val();
    							
    							metaTypeChange($checked_radio);
    							
    							$meta_type_radio.change(function()
    							{
    								$meta_type_radio.attr("data-radio-checked", 0);
    								$(this).attr("data-radio-checked", 1);
    								metaTypeChange($(this));
    								
    							});
    							
    							
    						}
    						
    						
    						
    						var $date_format_hidden = ui.item.find('.date_format_hidden');
    						if($date_format_hidden.length==1)
    						{
    							var selected_radio = $date_format_hidden.val();
    							//find any radios
    							var $date_radio_inputs = ui.item.find("input.date_format_radio");
    							if($date_radio_inputs.length>0)
    							{
    								//make sure default is selected
    								if($($date_radio_inputs.get(selected_radio)).length>0)
    								{
    									$($date_radio_inputs.get(selected_radio)).prop('checked', true);
    								}
    							}
    						}
    												
    						
    					},
    					over: function(){	
    						
    						//$emptyPlaceholder.hide();
    						
    					},
    					out: function(){
    						if(!received)
    						{
    							//$emptyPlaceholder.show();
    						}
    					},
    					start: function(e,ui){
    						ui.item.attr("data-dragging", "1");
    						ui.item.find('.widget-inside').stop(true,true).hide();
    						//if(!ui.placeholder.parent().hasClass("inside"))
    						//{//if it is getting appended to the wrong place, then force it in to the right container :)
    							ui.placeholder.appendTo(ui.placeholder.parent().find(".inside #search-form"));
    						//alert("start");
    					},
    					receive: function(ev, ui)
    					{
    						received = true;
    						//$emptyPlaceholder.hide();
    						//alert("receive");
    					},
    					change: function(e,ui){
    						//alert("change");
    					}
    					
    				});
    				
    				container.click(function()
    				{//prevent animation when the container is closed - no need to animate the helper to an invisible DIV.....
    					/*if(container.hasClass("closed"))
    					{
    						
    						container.sortable( "option", "revert", false );
    					}
    					else
    					{
    						container.sortable( "option", "revert", 200 );
    					}*/
    				});
    				
    					
    				var items = container.find(".widget");
    				items.makeWidget();
    				
    			});
    			
    			return this;
    		};
    		
    		$("#search-filter-search-form").makeSortables();
    		
    		
    		$(".widgets-search-filter-draggables .widget").draggable({
                connectToSortable: ".ui-search-filter-sortable",
    			helper: 'clone',
    			start: startDrag,
    			stop: enableNewWidgets
            });
    		
    		function startDrag(event, ui)
    		{
    			//@TODO: add and remove hover effect class
    			$("#search-filter-search-form").addClass("post-box-hover");
    			/*$("#search-filter-search-form").css("border", "1px solid #f00");
    			$("#search-filter-search-form").css("width", "100%");
    			$("#search-filter-search-form").css("height", "auto");*/
    		}
    		
    		
    		function enableNewWidgets(event, ui)
    		{
    			//@TODO: add and remove hover effect class
    			$("#search-filter-search-form").removeClass("post-box-hover");
    			
    			var $droppedWidget = $('.widgets-search-filter-sortables .widget:not(.widget-enabled)');
    			$droppedWidget.makeWidget();
    			$droppedWidget.css("width", "");
    			$droppedWidget.css("height", "");
    			
    
    		}
    		
    		function setWidgetFormIds()
    		{
    			var widgetCount = 0;
    			
    			var $active_widgets = $("#search-filter-search-form").find(".widget");
    			
    			/*var $widgets_radio = $active_widgets.find("input[type=radio]");
    			$widgets_radio.each(function(){
    			
    				$(this).attr("data-radio-val", $(this).prop("checked"));
    				
    			});*/
    			
    			$active_widgets.each(function()
    			{
    				
    				
    				setFormVars($(this), widgetCount);
    				
    				//if type is sort_order then loop through the option
    				if($(this).attr("data-field-type")=="sort_order")
    				{
    					
    					var optionsCount = 0;
    					var $sort_options_list = $(this).find(".sort_options_list");
    					$sort_options_list.find("li:not(.sort-option-template)").each(function()
    					{
    						
    						setOptionVars($(this), widgetCount, optionsCount);
    						optionsCount++;
    					
    					});
    				}
    				
    				if($(this).attr("data-field-type")=="post_meta")
    				{
    					
    					var optionsCount = 0;
    					var $meta_options_list = $(this).find(".meta_options_list");
    					$meta_options_list.find("li:not(.meta-option-template)").each(function()
    					{
    						
    						setOptionVars($(this), widgetCount, optionsCount);
    						optionsCount++;
    					
    					});
    				}
    
    				widgetCount++;
    			});
    			
    			var $widgets_radio = $active_widgets.find("input[type=radio]");
    			
    			$widgets_radio.each(function()
    			{
    				if($(this).attr("data-radio-checked")==1)
    				{
    					$(this).prop("checked", true);
    					
    					
    					
    				}
    				
    			});
    			
    		}
    	
    		function setFormVars($droppedWidget, widgetId)
    		{
    			$droppedWidget.attr("data-widget-id", widgetId);
    			var $inputFields = $droppedWidget.find("input, select").not(".ignore-template-init input, .ignore-template-init select");
    			var $inputLabels = $droppedWidget.find("label").not(".ignore-template-init label");
    			
    			$inputFields.each(function()
    			{
    				//copy structure
    				if(!$(this).hasAttr("data-field-template-id"))
    				{
    					$(this).attr("data-field-template-id", $(this).attr("id"))
    				}
    				
    				if(!$(this).hasAttr("data-field-template-name"))
    				{
    					$(this).attr("data-field-template-name", $(this).attr("name"))
    				}
    				
    				//rename
    				$(this).attr("id",$(this).attr("data-field-template-id").parse("widget-field", widgetId));
    				$(this).attr("name",$(this).attr("data-field-template-name").parse("widget-field", widgetId));
    				
    			});
    			
    			$inputLabels.each(function()
    			{
    				//copy structure
    				if(!$(this).hasAttr("data-field-template-for"))
    				{
    					$(this).attr("data-field-template-for", $(this).attr("for"))
    				}
    				
    				$(this).attr("for",$(this).attr("data-field-template-for").parse("widget-field", widgetId));
    				
    			});
    		}
    		function setOptionVars($sortOption, widgetId, optionId)
    		{
    			var $inputFields = $sortOption.find("input, select");
    			var $inputLabels = $sortOption.find("label");
    			
    			$inputFields.each(function()
    			{
    				//copy structure
    				if(!$(this).hasAttr("data-field-template-id"))
    				{
    					$(this).attr("data-field-template-id", $(this).attr("id"))
    				}
    				
    				if(!$(this).hasAttr("data-field-template-name"))
    				{
    					$(this).attr("data-field-template-name", $(this).attr("name"))
    				}
    				
    				//rename
    				$(this).attr("id",$(this).attr("data-field-template-id").parse("widget-field", widgetId, optionId));
    				$(this).attr("name",$(this).attr("data-field-template-name").parse("widget-field", widgetId, optionId));
    				
    			});
    			
    			$inputLabels.each(function()
    			{
    				//copy structure
    				if(!$(this).hasAttr("data-field-template-for"))
    				{
    					$(this).attr("data-field-template-for", $(this).attr("for"))
    				}
    				
    				$(this).attr("for",$(this).attr("data-field-template-for").parse("widget-field", widgetId, optionId));
    				
    			});
    		}
    		
    		function initMetaOptionControls($meta_option, $meta_options_list, $no_sort_label)
    		{
    			$meta_option.find(".widget-control-option-remove").click(function(){
    						
    				$meta_option.slideUp("fast",function(){
    					$meta_option.remove();
    					
    					if($meta_options_list.find("li:not(.meta-option-template)").length==0)
    					{
    						$no_sort_label.show();
    					}
    				});
    				
    				return false;
    				
    			});
    			
    			$meta_option.find(".widget-control-option-advanced").click(function(){
    				
    				$(this).toggleClass("active");
    				$meta_option.find('.meta-options-advanced').slideToggle("fast");
    				return false;
    				
    			});
    		}
    		
    		function metaTypeChange($radio_field)
    		{
    			
    			var $meta_type_labels = $radio_field.parent().parent().find("label");
    			var item = $radio_field.closest(".widget");
    			
    			$meta_type_labels.removeClass("active");
    			var $meta_type_label = $radio_field.closest("label");
    			$meta_type_label.addClass("active");
    			
    			var radio_val = $radio_field.val();
    			
    			item.find(".sf_input_type_meta input[data-radio-checked='1']").prop('checked',true);
    			
    			item.find(".sf_input_type_meta").hide();
    			item.find(".sf_field_data").hide();
    			
    			item.find(".sf_input_type_meta.sf_"+radio_val).show();
    			item.find(".sf_field_data.sf_"+radio_val).show();
    		}
    	
    		function initSetupField()
    		{
    			/* display results - shortcode/archive */
    			var $results_toggle = $(".setup .settings_display_results");
    			var $template_table = $('.setup .sf_tab_content_template .template_options_table');
    			
    			var $use_ajax_toggle = $('.setup .sf_tab_content_template .use_ajax_toggle');
    			var $selectors_results_div = $('#shortcode-info .results-shortcode');
    			
    			var $active_results_display = $(".setup .settings_display_results:checked");
    			
    			var $alabels = $active_results_display.parent().parent().parent().find("label");
    			$alabels.removeClass("active");
    			$active_results_display.parent().addClass("active");
    			
    			if($active_results_display.val()=="shortcode")
    			{
    				$template_table.removeClass("template_archive_options");
    				$template_table.addClass("template_shortcode_options");
    				$selectors_results_div.show();
    			}
    			else if($active_results_display.val()=="archive")
    			{
    				$template_table.removeClass("template_shortcode_options");
    				$template_table.addClass("template_archive_options");
    				$selectors_results_div.hide();
    			}
    			
    			/* ajax toggle */
    			$results_toggle.on("change", function(e){
    				
    				var $self = $(this);
    				var val = $self.val();
    				
    				var $labels = $self.parent().parent().parent().find("label");
    				$labels.removeClass("active");
    				$self.parent().addClass("active");
    				
    				if(val=="shortcode")
    				{
    					$template_table.removeClass("template_archive_options");
    					$template_table.addClass("template_shortcode_options");
    					$selectors_results_div.show();
    				}
    				else if(val=="archive")
    				{
    					$template_table.removeClass("template_shortcode_options");
    					$template_table.addClass("template_archive_options");
    					$selectors_results_div.hide();
    				}
    				
    			});
    			
    			ajaxToggle($use_ajax_toggle);
    			$use_ajax_toggle.on("change",function(){
    				ajaxToggle($(this));
    				updateScrollToPos($scroll_to_pos);
    			});
    			
    			/* scroll to pos */
    			var $scroll_to_pos = $(".setup .scroll_to_pos");
    			
    			
    			updateScrollToPos($scroll_to_pos);
    			$scroll_to_pos.on("change", function(e){
    				updateScrollToPos($(this));
    				
    			});
    			//end scroll_to_pos
    			
    			/* sort by */
    			var $default_sort_by = $('.setup .default_sort_by');
    			var $sort_by_meta_container = $('.setup .sort_by_meta_container');
    			$default_sort_by.change(function(e)
    			{
    				handleDefaultSortBy($(this), $sort_by_meta_container);
    			});
    			
    			handleDefaultSortBy($default_sort_by, $sort_by_meta_container);
    			
    				
    		}
    		function updateScrollToPos($scrollToObject)
    		{
    			if($scrollToObject.prop("disabled")==false)
    			{
    				var $custom_scroll_to = $(".setup .custom_scroll_to");
    				var $scroll_on_action = $(".setup .scroll_on_action");
    				
    				if($scrollToObject.val()=="custom")
    				{
    					$custom_scroll_to.show();
    				}
    				else
    				{
    					$custom_scroll_to.hide();
    				}
    				
    				
    				if($scrollToObject.val()=="0")
    				{
    					disableInput($scroll_on_action); 
    				}
    				else
    				{
    					enableInput($scroll_on_action);
    				}
    			}
    			
    			
    		}
    		function ajaxToggle($self)
    		{
    			var $inputs = $(".tpl_use_ajax_rows input, .tpl_use_ajax_rows select");
    			
    			if($self.is(":checked"))
    			{
    				//enable all fields
    				$inputs.each(function(){
    				
    					var $input = $(this);
    					enableInput($input);
    					
    				});
    			}
    			else
    			{
    				//disable all fields
    				$inputs.each(function(){
    				
    					var $input = $(this);
    					disableInput($input);
    				});
    				
    			}
    			
    		}
    		function disableInput($input)
    		{
    			//create a hidden version of the field, that is not disabled - so we can retain even disabled values in the DB
    			var $inputClone = $('<input/>', {
    				'type'						: 'hidden',
    				'name'						: $input.attr("name"),
    				'class'						: 'clone',
    				'data-field-template-id'	: $input.attr("data-field-template-id"),
    				'data-field-template-name'	: $input.attr("data-field-template-name"),
    				'value'						: ''
    			});
    			
    			if($input.get(0).tagName=="INPUT")
    			{
    				if(($input.attr("type")=="checkbox")||($input.attr("type")=="radio"))
    				{
    					$inputClone.val($input.prop("checked") ? 1 : "");
    				}
    				else if($input.attr("type")=="text")
    				{
    					$inputClone.val($input.val());
    				}
    				else
    				{
    					$inputClone.val($input.val());
    				}
    			}
    			else if($input.get(0).tagName=="SELECT")
    			{
    				$inputClone.val($input.val());
    			}
    			else
    			{
    				$inputClone.val($input.val());
    			}
    			
    			$input.after($inputClone);
    			$input.attr("disabled","disabled");
    		}
    		
    		function enableInput($input)
    		{
    			$input.removeAttr("disabled");
    			
    			var $inputClone = $input.parent().find(".clone");
    			
    			if($inputClone.length>0)
    			{
    				if($input.get(0).tagName=="INPUT")
    				{
    					if(($input.attr("type")=="checkbox")||($input.attr("type")=="radio"))
    					{
    						if($inputClone.val()==1)
    						{
    							$input.prop("checked", true);
    						}
    						else
    						{
    							$input.prop("checked", false);
    						}
    					}
    					else if($input.attr("type")=="text")
    					{
    						$input.val($inputClone.val());
    					}
    					else
    					{
    						$input.val($inputClone.val());
    					}
    				}
    				else if($input.get(0).tagName=="SELECT")
    				{
    					$input.val($inputClone.val());
    				}
    			
    				$inputClone.remove();
    			}
    		}
    		
    		function handleDefaultSortBy($this, $sort_by_meta_container)
    		{
    			if($this.val()=="meta_value")
    			{
    				$sort_by_meta_container.show();
    			}
    			else
    			{
    				$sort_by_meta_container.hide();
    			}
    			
    			
    		}
    		
    		
    		initSetupField();
    		
    		//load tooltips
    		$('[data-hint]').live('mouseover', function() {
    			
    			$(this).qtip({
    				overwrite: false, // Make sure another tooltip can't overwrite this one without it being explicitly destroyed
    				content: {
    					attr: 'data-hint' // Tell qTip2 to look inside this attr for its content
    				},
    				style: { classes: 'sf-tootlip' },
    				position: {
    					my: 'bottom left',
    					at: 'top center',
    					viewport: $(window),
    					adjust: {
    						method: 'shift none'
    					}
    				},
    				show: {
    				ready: true // Needed to make it show on first mouseover event
    				}
    			});
    		});
    		
    		
    		function setMetaSettingsFields($list)
    		{
    			var itemId = 0;
    			$list.each(function(){
    			
    				if($(this).attr("data-remove")!=1)
    				{
    					
    					var $self = $(this);
    					var $inputFields = $self.find("input, select");
    					var $inputLabels = $self.find("label");
    					
    					
    					$inputFields.each(function()
    					{
    						//copy structure
    						if(!$(this).hasAttr("data-field-template-id"))
    						{
    							$(this).attr("data-field-template-id", $(this).attr("id"))
    						}
    						
    						if(!$(this).hasAttr("data-field-template-name"))
    						{
    							$(this).attr("data-field-template-name", $(this).attr("name"))
    						}
    						
    						//rename
    						$(this).attr("id",$(this).attr("data-field-template-id").parse(itemId));
    						$(this).attr("name",$(this).attr("data-field-template-name").parse(itemId));
    						
    						
    					});
    					
    					$inputLabels.each(function()
    					{
    						//copy structure
    						if(!$(this).hasAttr("data-field-template-for"))
    						{
    							$(this).attr("data-field-template-for", $(this).attr("for"))
    						}
    						
    						$(this).attr("for",$(this).attr("data-field-template-for").parse(itemId));
    						
    						
    					});
    					
    					itemId++;
    				}
    			});
    		}
    		function removeMetaOption(e){
    		
    			e.preventDefault();
    			
    			$(this).closest("li").attr("data-remove","1");
    			$(this).closest("li").slideUp("fast", function(){
    				$(this).remove();
    			});
    			
    			setMetaSettingsFields($("#search-filter-settings-box .sf_tab_content_post_meta ul.meta_list li:not(.template)"));
    					
    			return false;
    		}
    		function initSettingsMetabox()
    		{
    			/* init meta type radios */
    			/* set up meta type radios */
    			var $settings_tab_radio = $('#search-filter-settings-box .sf_settings_tabs input[type=radio]');
    			var $settings_tab_label = $('#search-filter-settings-box .sf_settings_tabs label');
    			var $checked_radio = $("#search-filter-settings-box .sf_settings_tabs input[data-radio-checked='1']");
    			
    			$settings_tab_radio.each(function(){
    				this.checked = false;
    				$(this).attr("data-radio-checked", 0);
    			});
    			
    			
    			$settings_tab_radio.change(function()
    			{
    				$settings_tab_radio.attr("data-radio-checked", 0);
    				$(this).attr("data-radio-checked", 1);
    				tabChange($(this));
    				
    			});
    			
    			
    			var $meta_list = $("#search-filter-settings-box .sf_tab_content_post_meta ul.meta_list");
    			var $meta_list_template = $meta_list.find(".template");
    			var $add_condition_button = $("#search-filter-settings-box .sf_tab_content_post_meta .add-option-button");
    			
    			$meta_list.find(".option-remove").click(removeMetaOption);
    			
    			$meta_list.find(".meta_date_value_current_date").each(function(){
    				metaSettingsCurrentDateChange($(this));
    			});
    			$meta_list.find(".meta_date_value_current_date").on("change", function(){
    				metaSettingsCurrentDateChange($(this));
    			});
    			
    			$meta_list.find(".meta_date_value_current_timestamp").each(function(){
    				metaSettingsCurrentTimestampChange($(this));
    			});
    			$meta_list.find(".meta_date_value_current_timestamp").on("change", function(){
    				metaSettingsCurrentTimestampChange($(this));
    			});
    			
    			$meta_list.find(".meta_type").on("change", function(){
    				metaSettingsFieldTypeChange($(this));
    			});
    			$meta_list.find(".meta_type").each(function(){
    				metaSettingsFieldTypeChange($(this));
    			});
    			
    			setMetaSettingsFields($("#search-filter-settings-box .sf_tab_content_post_meta ul.meta_list li:not(.template)"));
    			
    			$add_condition_button.click(function(){
    			
    				
    				var $meta_option = $meta_list_template.clone();
    				$meta_option.hide();
    				$meta_option.removeClass("template");
    				
    				$meta_list.append($meta_option);
    				
    				$meta_option.find(".option-remove").click(removeMetaOption);
    				
    				$meta_option.find(".meta_type").on("change", function(){
    					metaSettingsFieldTypeChange($(this));
    				});
    				
    				$meta_option.find(".meta_date_value_current_date").on("change", function(){
    					metaSettingsCurrentDateChange($(this));
    				});				
    				
    				$meta_option.find(".meta_date_value_current_timestamp").on("change", function(){
    					metaSettingsCurrentTimestampChange($(this));
    				});
    				
    				setMetaSettingsFields($("#search-filter-settings-box .sf_tab_content_post_meta ul.meta_list li:not(.template)"));
    				
    				$meta_option.slideDown("fast");
    				
    				return false;
    			
    			});
    		}
    		function metaSettingsCurrentDateChange($field){
    						
    			var $datefields = $field.parent().parent().find("input[type='text']");
    			
    			if($field.is(":checked"))
    			{
    				$datefields.each(function(){
    			
    					var $input = $(this);
    					disableInput($input);
    				});
    			}
    			else
    			{
    				$datefields.each(function(){
    			
    				var $input = $(this);
    					enableInput($input);
    				});
    				
    			}
    			
    		}
    		function metaSettingsCurrentTimestampChange($field){
    						
    			var $datefields = $field.parent().parent().find("input[type='text']");
    			
    			if($field.is(":checked"))
    			{
    				$datefields.each(function(){
    			
    					var $input = $(this);
    					disableInput($input);
    				});
    			}
    			else
    			{
    				$datefields.each(function(){
    			
    				var $input = $(this);
    					enableInput($input);
    				});
    				
    			}
    			
    		}
    		function metaSettingsFieldTypeChange($field)
    		{
    			var val = $field.val();
    			var $meta_value_c = $field.parent().parent().parent().find(".meta_value_c");
    			var $meta_value_date_c = $field.parent().parent().parent().find(".meta_value_date_c");
    			var $meta_value_timestamp_c = $field.parent().parent().parent().find(".meta_value_timestamp_c");
    			var $meta_compare_field = $field.parent().parent().parent().find(".meta_compare");			
    			
    			
    			if(val=="DATE")
    			{
    				$meta_value_c.hide();
    				$meta_value_timestamp_c.hide();
    				$meta_value_date_c.show();
    				$meta_compare_field.find("option:not(.date-format-supported)").hide();
    				
    				var meta_compare_val = $meta_compare_field.val();
    				var $meta_compare_option = $meta_compare_field.find(":selected");	
    				if(!$meta_compare_option.hasClass('date-format-supported'))
    				{
    					$meta_compare_field.val("e");
    				}
    			}
    			else if(val=="TIMESTAMP")
    			{
    				$meta_value_c.hide();
    				$meta_value_date_c.hide();
    				$meta_value_timestamp_c.show();
    				$meta_compare_field.find("option:not(.date-format-supported)").hide();
    				
    				var meta_compare_val = $meta_compare_field.val();
    				var $meta_compare_option = $meta_compare_field.find(":selected");	
    				if(!$meta_compare_option.hasClass('date-format-supported'))
    				{
    					$meta_compare_field.val("e");
    				}
    			}
    			else
    			{
    				if(($meta_value_date_c.is(":visible"))||($meta_value_timestamp_c.is(":visible")))
    				{
    					$meta_value_c.show();
    					//$meta_compare_field.val("e");
    					$meta_value_date_c.hide();
    					$meta_value_timestamp_c.hide();
    					$meta_compare_field.find("option").show();
    				}
    			}
    		}
    		
    		
    		function tabChange($radio_field)
    		{
    			
    			var $tab_labels = $radio_field.parent().parent().find("label");
    			var item = $radio_field.closest(".tabs-container");
    			
    			$tab_labels.removeClass("active");
    			var $meta_type_label = $radio_field.closest("label");
    			$meta_type_label.addClass("active");
    			
    			var radio_val = $radio_field.val();
    			
    			item.find(".sf_field_data").hide();
    			
    			item.find(".sf_field_data.sf_tab_content_"+radio_val).show();
    		}
    		initSettingsMetabox();
    		
    	});
    	
    	
    
    }(jQuery));
    #10039

    Ross
    Keymaster
    This reply has been marked as private.
    #1195

    Piotr Pierscionek
    Participant

    i have got only last question – promise:

    this is my search form code-changed as you suggested:

    <div id=”search”>
    <?php include (TEMPLATEPATH . “/searchform.php”); ?>
    </div>

    <form class=”search” action=”http://maneuver.nazwa.pl/WWW/nstyle/?sfid=55&#8243; method=”get”>
    <input name=”s” type=”text” id=”search” size=”30″ onfocus=”if(this.value == ‘<?php _e(‘Szukaj produktu’, THEME_LANGUAGE_DOMAIN) ?>…’) { this.value = ”; }” onblur=”if(this.value == ”) { this.value = ‘<?php _e(‘Szukaj produktu’, THEME_LANGUAGE_DOMAIN) ?>…’; }” value=”<?php _e(‘Szukaj produktu’, THEME_LANGUAGE_DOMAIN) ?>…” >
    <input type=”submit” value=”Search” id=”searchsubmit” class=”hidden” />
    </form>

    what should i change to display the list correctly (with the template you made)?

Viewing 10 results - 61 through 70 (of 70 total)