	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}

	function readCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return '';
	}

	function eraseCookie(name) {
		createCookie(name,"",-1);
	}

window.addEvent('domready', function(){
	var i;
	$('divFilter').setStyle('display','block');
	$('lblFilter').setStyle('display', 'block');
	var t = new TextboxList('search', {
		unique: true,
		startEditableBit: false,
		inBetweenEditableBits: false,
		bitsOptions: {
			editable: {addOnBlur: true}
		}
	});
	//$('divFilter').setStyle('width','500px');
	//var mySlide = new Fx.Slide('divFilter').hide();  //starts the panel in closed state  
	var mySlide = new Fx.Slide('divFilter', {mode: 'horizontal'}).hide();  //starts the panel in closed state 
	$('toggleFilter').addEvent('click', function(e){
		e = new Event(e);
		//$('filterText').setStyle('display', 'none');
		mySlide.toggle();
		e.stop();
	});

	$('closeFilter').addEvent('click', function(e){
		e = new Event(e);
		mySlide.slideOut();
		e.stop();
	});
	$('frmFilter').addEvent('submit', function(e) {
		//Prevents the default submit event from loading a new page.
		e.stop();
		//Empty the log and show the spinning indicator.
		var log = $('ajaxContent').empty().addClass('ajax-loading');
		//Set the options of the form's Request handler. 
		//("this" refers to the $('myForm') element).
		this.set('send', {onComplete: function(response) { 
			log.removeClass('ajax-loading');
			log.set('html', response);
			var options = $('frmFilter').getElements('input:checked');
			var options_string = '';
			for(i=0;i<options.length;i++) {
				options_string = options_string+options[i].get('id')+',';
			}
			createCookie('wos-term', $('search').value, '1');
			createCookie('wos-options', options_string, '1');
		}});
		//Send the form.
		this.send();
	});
	
	var term = readCookie('wos-term');
	var options = readCookie('wos-options');
	var valid = false;
	if(term.length>0 || options.length>0) {
		$('frmFilter').getElements('input:checked').removeProperty('checked');
		if(term.length>0){
			var term_array = term.split(',');
			for (i=0;i<term_array.length;i++) {
				t.add(term_array[i]);
			}
		}
		if(options.length>0) {
			var options_array = options.split(',');
			for (i=0;i<options_array.length;i++) {
				if(options_array[i]!='' && $chk($(options_array[i]))){
					$(options_array[i]).setProperty('checked', 'checked');
					valid = true;
				}
			}
		}
		if(valid){
			mySlide.toggle();
			var log = $('ajaxContent').empty().addClass('ajax-loading');
			//Set the options of the form's Request handler. 
			//("this" refers to the $('myForm') element).
			$('frmFilter').set('send', {onComplete: function(response) { 
				log.removeClass('ajax-loading');
				log.set('html', response);
			}});
			//Send the form.
			$('frmFilter').send();
		}
	}
	if($chk($('optionListContainer'))) {
		$('optionListContainer').getElements('input[type=checkbox]').setStyle('display', 'none');
		$('optionListContainer').getElements('input:checked').each(function(el){
			var parent = el.getParent();
			parent.addClass('checked');
		});
		$('optionListContainer').getElements('label').addEvent('click', function() {
			var id = this.getProperty('for');
			if($(id).getProperty('checked')) {
				$(id).removeProperty('checked');
				this.removeClass('checked');
			} else {
				$(id).setProperty('checked', 'checked');
				this.addClass('checked');
			}
		});
	}
});
