AjaxSolr=function(){};AjaxSolr.Class=function(){};AjaxSolr.Class.extend=function(properties){var klass=this;var subClass=function(options){AjaxSolr.extend(this,new klass(options),properties,options);}
subClass.extend=this.extend;return subClass;};AjaxSolr.size=function(obj){var size=0;for(var key in obj){if(obj.hasOwnProperty(key)){size++;}}
return size;};AjaxSolr.equals=function(foo,bar){if(AjaxSolr.isArray(foo)&&AjaxSolr.isArray(bar)){if(foo.length!==bar.length){return false;}
for(var i=0,l=foo.length;i<l;i++){if(foo[i]!==bar[i]){return false;}}
return true;}
else if(AjaxSolr.isRegExp(foo)&&AjaxSolr.isString(bar)){return bar.match(foo);}
else if(AjaxSolr.isRegExp(bar)&&AjaxSolr.isString(foo)){return foo.match(bar);}
else{return foo===bar;}};AjaxSolr.inArray=function(value,array){if(array){for(var i=0,l=array.length;i<l;i++){if(AjaxSolr.equals(array[i],value)){return i;}}}
return-1;};AjaxSolr.flatten=function(array){var ret=[];for(var i=0,l=array.length;i<l;i++){ret=ret.concat(AjaxSolr.isArray(array[i])?AjaxSolr.flatten(array[i]):array[i]);}
return ret;};AjaxSolr.grep=function(array,callback){var ret=[];for(var i=0,l=array.length;i<l;i++){if(!callback(array[i],i)===false){ret.push(array[i]);}}
return ret;}
AjaxSolr.compact=function(array){return AjaxSolr.grep(array,function(item){return item.toString();});}
AjaxSolr.isArray=function(obj){return obj!=null&&typeof obj=='object'&&'splice'in obj&&'join'in obj;};AjaxSolr.isRegExp=function(obj){return obj!=null&&(typeof obj=='object'||typeof obj=='function')&&'ignoreCase'in obj;};AjaxSolr.isString=function(obj){return obj!=null&&typeof obj=='string';};AjaxSolr.theme=function(func){if(AjaxSolr.theme[func]||AjaxSolr.theme.prototype[func]==undefined){console.log('Theme function "'+func+'" is not defined.');}
else{for(var i=1,args=[];i<arguments.length;i++){args.push(arguments[i]);}
return(AjaxSolr.theme[func]||AjaxSolr.theme.prototype[func]).apply(this,args);}};AjaxSolr.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,options;for(;i<length;i++){if((options=arguments[i])!=null){for(var name in options){var src=target[name],copy=options[name];if(target===copy){continue;}
if(copy&&typeof copy=='object'&&!copy.nodeType){target[name]=AjaxSolr.extend(src||(copy.length!=null?[]:{}),copy);}
else if(copy&&src&&typeof copy=='function'&&typeof src=='function'){target[name]=(function(superfn,fn){return function(){var tmp=this._super,ret;this._super=superfn;ret=fn.apply(this,arguments);this._super=tmp;return ret;};})(src,copy);}
else if(copy!==undefined){target[name]=copy;}}}}
return target;};
