var __WPAS={FORM:"#wp-advanced-search.wpas-ajax-enabled",CONTAINER:"#wpas-results",INNER:"#wpas-results-inner",DEBUG_CONTAINER:"#wpas-debug",PAGE_FIELD:"#wpas-paged",FORM_ID:"",KEY_PREFIX:"wpasInstance_",HASH:"",STORAGE_KEY:function(){return this.KEY_PREFIX+this.FORM_ID;}};jQuery(document).ready(function($){__WPAS.FORM_ID=$('#wpas-id').val();__WPAS.HASH=$(__WPAS.FORM).data('ajax-url-hash');var CURRENT_PAGE=1;$('form.wpas-autosubmit :input').change(function(){$(this).submit();});$('button.wpas-clear').click(function(e){e.preventDefault();$(this).parents('form').find(':input').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');$(this).parents('form.wpas-autosubmit').each(function(){$(this).submit();return false;});});$('input.wpas-reset').click(function(e){e.preventDefault();$(this).parents('form')[0].reset();$(this).parents('form.wpas-autosubmit').each(function(){$(this).submit();return false;});});if($(__WPAS.FORM).length==0){log("No AJAX-enabled WPAS search form detected on page.");return;}
if($(__WPAS.CONTAINER).length==0){log("No container with ID #wpas-results found on page. Results cannot be shown");return;}
var DEBUG_ON=($(__WPAS.FORM).hasClass('wpas-debug-enabled'))?true:false;var SHOW_DEFAULT=($(__WPAS.FORM).data('ajax-show-default'))?true:false;var T=(DEBUG_ON)?500:0;if(DEBUG_ON&&$(__WPAS.DEBUG_CONTAINER).length==0){log("WPAS_DEBUG is enabled but no container with ID #wpas-debug was found "+
"on this page. Debug information cannot be shown.");return;}
var ajaxLoader={container:"wpas-load",load_btn:"wpas-load-btn",load_btn_text:"",load_img:"wpas-loading-img",load_img_url:"",init:function(form){this.load_btn_text=$(form).data('ajax-button');this.load_img_url=$(form).data('ajax-loading');$(__WPAS.CONTAINER).append(this.create());},create:function(){var html="
";html+="";html+="";html+="
";return html;},showButton:function(){$('#'+this.load_btn).addClass('active').show();},hideButton:function(){$('#'+this.load_btn).removeClass('active').hide();},showImage:function(){$('#'+this.load_img).show();},hideImage:function(){$('#'+this.load_img).hide();}};$(__WPAS.CONTAINER).append("");ajaxLoader.init(__WPAS.FORM);var storage=null;if(window.location.hash.slice(1)==__WPAS.HASH){storage=JSON.parse(localStorage.getItem("wpasInstance_"+__WPAS.FORM_ID));}
if(storage!=null){log("localStorage found");loadInstance();}else{setPage(1);setRequest($(__WPAS.FORM).serialize());}
if($(__WPAS.CONTAINER).length!=0){if(storage!=null){$(__WPAS.CONTAINER).html(storage.results);}else if(SHOW_DEFAULT){sendRequest($(__WPAS.FORM).serialize(),CURRENT_PAGE);}}
function submitForm(form){setPage(1);var form_data=$(form).serialize();setRequest(form_data);$(__WPAS.INNER).empty();sendRequest(form_data,CURRENT_PAGE);}
function sendRequest(data,page){ajaxLoader.hideButton();ajaxLoader.showImage();jQuery.ajax({type:'POST',url:WPAS_Ajax.ajaxurl,data:{action:'wpas_ajax_load',page:page,form_data:data},success:function(data,textStatus,XMLHttpRequest){response=JSON.parse(data);setTimeout(function(){appendHTML(__WPAS.INNER,response.results);ajaxLoader.hideImage();updateHTML(__WPAS.DEBUG_CONTAINER,response.debug);CURRENT_PAGE=response.current_page;var max_page=response.max_page;log("Current Page: "+CURRENT_PAGE+", Max Page: "+max_page);if(max_page==0||CURRENT_PAGE==max_page){ajaxLoader.hideButton();}else{ajaxLoader.showButton();}
window.location.hash=__WPAS.HASH;storeInstance();unlockForm();},T);},error:function(MLHttpRequest,textStatus,errorThrown){console.log(errorThrown);}});}
function storeInstance(){var instance={request:REQUEST_DATA,form:getFormValues(),results:getResults(),page:CURRENT_PAGE};instance=JSON.stringify(instance);localStorage.setItem(__WPAS.STORAGE_KEY(),instance);}
function addArrayValues(values,input){var name=$(input).attr('name');var value=$(input).val();if(typeof values[name]=='undefined'){values[name]=[];}
if($(input).is(":checked"))values[name].push(value);return values;}
function getFormValues(){var values={};$(__WPAS.FORM).find(':input').not(':button, :submit, :reset').each(function(){if($(this).attr('type')=='checkbox'){values=addArrayValues(values,this)}else{values[$(this).attr('name')]=$(this).val();}});return values;}
function getResults(){return $(__WPAS.CONTAINER).html();}
function loadInstance(){var instance=localStorage.getItem(__WPAS.STORAGE_KEY());instance=JSON.parse(instance);if(instance==null)return;if(instance.form)loadForm(instance.form);if(instance.results)loadResults(instance.results);if(instance.page)setPage(instance.page);if(instance.request)setRequest(instance.request);}
function loadForm(form_values){$(__WPAS.FORM).find(':input').not(':button, :submit, :reset').each(function(){var value=form_values[$(this).attr('name')];if($(this).attr('type')=='checkbox'){if(value.indexOf($(this).val())>=0){$(this).prop('checked',true);}else{$(this).prop('checked',false);}}else{$(this).val(value);}});}
function loadResults(results){$(__WPAS.CONTAINER).html(results);}
function lockForm(){$(__WPAS.FORM).addClass('wpas-locked');$(__WPAS.FORM).find('input:submit').attr('disabled','disabled');}
function formLocked(){return $(__WPAS.FORM).hasClass('wpas-locked');}
function unlockForm(){$(__WPAS.FORM).removeClass('wpas-locked');$(__WPAS.FORM).find('input:submit').removeAttr('disabled');}
function appendHTML(el,content){$(el).append(content);}
function updateHTML(el,content){$(el).html(content);}
function setPage(pagenum){CURRENT_PAGE=pagenum;$(__WPAS.PAGE_FIELD).val(pagenum);}
function setRequest(request){REQUEST_DATA=request;}
function log(msg){if(DEBUG_ON)console.log("WPAS: "+msg);}
$(__WPAS.FORM).submit(function(e){e.preventDefault();if(formLocked())return;lockForm();submitForm(this);});$(document).on('click','#'+ajaxLoader.load_btn+'.active',function(e){setPage(parseInt(CURRENT_PAGE)+1)
sendRequest(REQUEST_DATA,CURRENT_PAGE);});});