function initAjaxSearch() {
	var _slideSpeed = 300;
	var _openClass = 'ajax-collapse';
	var _activeClass = 'ajax-active';

	$('form.search, form.search2').each(function(){
		var _form = $(this);
		var _opener = _form.find('.ajax-opener');
		var _ajaxHolder = _form.find('.ajax-holder').hide().empty();
		var _checkbox = _opener.find('input').attr('checked','');

		var _closer = _form.find('.ajax-closer');
		var _checkboxCloser = _closer.find('input').attr('checked','checked');

		// checkbox opener
		_checkbox.click(function(){
			var _target = _checkbox.val();
			if(!_checkbox.hasClass(_activeClass)) {
				_checkbox.addClass(_activeClass);
				_opener.addClass(_openClass);
				if(_ajaxHolder.children().length) {
					_ajaxHolder.slideDown(_slideSpeed);
				} else {
					$.ajax({
						type: "GET",
						url: _target,
						success: function(msg){
							var _item = $(msg);
							initAjaxJS(_item);
							_ajaxHolder.append(_item);
							_ajaxHolder.slideDown(_slideSpeed);
						},
						error: function(msg){
							alert('AJAX Error');
						}
					});
				}
			} else {
				_checkbox.removeClass(_activeClass);
				_ajaxHolder.slideUp(_slideSpeed);
				_opener.removeClass(_openClass);
			}

			_checkbox.attr('checked','checked');
		});

		_checkboxCloser.click(function(){
			_ajaxHolder.slideUp(_slideSpeed);
			_checkboxCloser.attr('checked','checked');
			var _searchDrop = _form.find('.search-drop');
			_searchDrop.find('input').attr('checked','');
		});

		// link opener
		var _lnkClass = 'active';
		var _lnkHolder = _form.find('.lnk-holder');
		var _lnk = _lnkHolder.find('a.drop');

		if(_lnk.length) {
			_lnk.click(function(){
				var _target = _lnk.attr('href');
				if(_lnkHolder.hasClass(_lnkClass)) {
					_lnkHolder.removeClass(_lnkClass);
					_ajaxHolder.slideUp(_slideSpeed);
				} else {
					if(_ajaxHolder.children().length) {
						_ajaxHolder.slideDown(_slideSpeed);
						_lnkHolder.addClass(_lnkClass);
					} else {
						$.ajax({
							type: "GET",
							url: _target,
							success: function(msg){
								var _item = $(msg).css({display:'block'});
								_ajaxHolder.append(_item);
								initAjaxJS(_item);

								_ajaxHolder.slideDown(_slideSpeed);
								_lnkHolder.addClass(_lnkClass);
							},
							error: function(msg){
								alert('AJAX Error');
							}
						});
					}
				}
				return false;
			});

			// hide drop if clicked elsewhere
			$('body').click(function(e){
				if(!e) e = window.event;
				var _target = (e.target || e.srcElement);
				if (!$(_target).parents('.ajax-holder').length) {
					_lnkHolder.removeClass(_lnkClass);
					_ajaxHolder.slideUp(_slideSpeed);
				}
			});
		}

	});

	function initAjaxJS(_obj) {
		//select deselect all
		var _btnSelectAll = _obj.find('.lnk-select-all');
		var _btnDeselectAll = _obj.find('.lnk-deselect-all');
		if(_btnSelectAll.length && _btnDeselectAll.length) {
			var _checks = _obj.find('input[type="checkbox"]');
			_btnSelectAll.click(function(){
				_checks.attr('checked','checked');
				return false;
			});
			_btnDeselectAll.click(function(){
				_checks.attr('checked','');
				return false;
			});
		}

		// append hidden frame if needed
		// hover for IE
		if ($.browser.msie && $.browser.version < 7) {
			var _frame = $('<iframe src="javascript:false" frameborder="0" scrolling="no"></iframe>');
			var _ajaxHolder = _obj.parent();
			_ajaxHolder.show();
			_frame.css({
				position: 'absolute',
				width: _obj.outerWidth(true),
				height: _obj.outerHeight(true),
				opacity: 0.5,
				zIndex:0,
				top: 0,
				left: 0
			});
			_obj.css({
				position:'relative',
				top: 0,
				left: 0,
				zIndex:1
			})
			_ajaxHolder.hide();
			_frame.appendTo(_ajaxHolder);
		}

	}
}

function initAjaxCategory() {

}

$(function() {
	initAjaxSearch();
	initAjaxCategory();
});
