(function($) {
var interval = null;
var checklist = [];
jQuery.elementReady = function(id, fn) {
	checklist.push({id: id, fn: fn});
	if (!interval) {
		interval = setInterval(check, jQuery.elementReady.interval_ms);
	}
	return this;
};

// Plugin settings
jQuery.elementReady.interval_ms = 23; // polling interval in ms

// Private function
function check() {
	var docReady = jQuery.isReady; // check doc ready first; thus ensure that check is made at least once _after_ doc is ready
	for (var i = checklist.length - 1; 0 <= i; --i) {
		var el = document.getElementById(checklist[i].id);
		if ( (el && (el.nextSibling || el.parentNode.nextSibling))|| docReady) {

			var fn = checklist[i].fn; // first remove from checklist, then call function
			checklist[i] = checklist[checklist.length - 1];
			checklist.pop();
			fn.apply(el, [$]);
		}
	}
	if (docReady) {
		clearInterval(interval);
		interval = null;
	}
};

})(jQuery);


// Remove IE6 image flickering
try {document.execCommand('BackgroundImageCache', false, true);}
catch(error) {}

jQuery.fn.extend({
	setSearch: function(options){
		var $form = jQuery(this),
			frmId = $form.attr('id'),
			frmClass = $form.attr('class'),
			$searchList = $form.find('ul'),
			$searchBox = $form.find('input[type=text]'), 
			$searchWrap = $form.parent(), 
			$searchDefault = $form.find('input[type=radio]:first'), 
			options = options || {},
			dTxt = options.defaultText || "Enter search terms...",
			dSrch = options.defaultSearch || "http://www.momlogic.com/search/index.php",
			$searchFilter = $form.find("input[name='search']"),
			$searchPerPage = $form.find("input[name='per_page']"),
			srchStr;
		if(!$searchList[0] || $searchList[0] == undefined) return;
		function setDropDown(){
			if(!qW){
				var inputs = document.getElementById(frmId).getElementsByTagName('input');
				for(i=0;i<inputs.length;i++){
					var s = inputs[i];
					if (s.type == 'text') {
						var qW = s.clientWidth ? s.clientWidth : s.innerWidth;
					}
				}
			}
			$searchList.css('width', qW);
			$searchBox.bind("click", function(){
				if ($searchBox.val() == dTxt) { $searchBox.val(""); }
	//			$searchList.slideDown({height: "show", opacity: "show"}, "fast");
				$searchList.toggle();
			});
/*			$searchWrap.bind("mouseleave", function(){
	//			$searchList.slideUp({opacity:1.0},500).slideUp(375);
				$searchList.toggle();
			});*/
		}
		function setForm(){
			$form.attr('action', dSrch);
			$searchFilter.val("all");
			$searchPerPage.val("10");
			$searchDefault.click();
			$searchBox.val(dTxt);
			$form.bind("submit", function(){
				srchStr = $searchBox.val();
				if (srchStr == dTxt) {$searchBox.val("");} 
				return true;
			});
			setDropDown();
		}
		function setFilter(el){
			switch( el.attr("value") ) {
				case "photos" :
				case "videos" :
					$searchPerPage.val("30");
					break;
				case "all" :
				case "articles" :
				default:
					$searchPerPage.val("10");
					break;
			}
			$searchFilter.val(el.attr("value"));
		}
		function setBinding(){
			var $rdBtns = $searchList.find('input');
			$rdBtns.each(function(){
				var $rd = jQuery(this);
				$rd.bind('click', function(){
					setFilter($rd);
				});
			});
		}
		function init(){
			setForm();
			setBinding();
		}
		init();
	}
 });

function initSearch(searchoptions){
	jQuery.elementReady('frmSearch', function(){
		jQuery(this).setSearch(searchoptions);
	});
}


