/**
 * File: http://demo.facilitywarehouse.com/assets/templates/gallery/js/scripts.js
 */

var tree = new Hash.Cookie('facilitytree', {path: '/'});

function toggleList(evt, trigger) {
	if (this.getStyle('display') == 'block') {
		this.setStyle('display', 'none');
		trigger.removeClass('open');
		tree.remove(this.getProperty('id'));
	} else {
		this.setStyle('display', 'block');
		trigger.addClass('open');
		tree.set(this.getProperty('id'), trigger.getProperty('id'));
	}
}

function addNewCollection()
{
	var el = $E('#newcollection');
	if ($defined(el)) {
		if (!el.getFirst().hasClass('off'))
			el.submit();
	}
}

function filterProducts() {
	console.log($('filter').getProperty('value'));
}

window.addEvent('domready', function()
{
	$$('ul.tree span').each(function(span) {
		span.addEvent('click', toggleList.bindWithEvent(span.getParent().getLast(), span));
	});
	
	$$('ul.tree a.on').each(function(a) {
		a.getParent().getParent().setStyle('display', 'block');
		
		try {a.getParent().getParent().getPrevious().getPrevious().addClass('open');}
		catch (e) {/*do nothing*/}
	});

	if ($E('h5.collectionshead'))
	{
		$E('h5.collectionshead').addEvent('click', function(){
			if ($('mycollections'))
			{
				if ($('mycollections').getStyle('display') == 'block')
				{
					$('mycollections').setStyle('display', 'none');
					this.getElement('span').removeClass('open');
					tree.remove('mycollections');
				} else {
					$('mycollections').setStyle('display', 'block');
					this.getElement('span').addClass('open');
					tree.set('mycollections', this.getElement('span').getProperty('id'));
				}
			}
		});
	}
	
	tree.each(function(trigger, list) {
		if ($(list))
			$(list).setStyle('display', 'block');
		if ($(trigger))
			$(trigger).addClass('open');
	});
	
	
	var el = $E('#newcollection input');
	if ($defined(el)) {
		el.addEvent('focus', function(evt) {
			if (this.hasClass('off')) {
				this.removeClass('off');
				this.value = '';
			}
		});
		el.addEvent('blur', function(evt) {
			if (this.value.clean().length == 0) {
				this.addClass('off');
				this.value = 'New Gallery';
			} else {
				this.value = this.value.clean();
			}
		});
	}
	
	$$('select.filter').each(function(el1) {
		el1.addEvent('change', function(evt) {
			var q = '';
			var i = 0;
			$$('select.filter').each(function(el2) {
				if (el2.getProperty('value') !== '') {
					if (i++)
						q += '|';
					q += el2.getProperty('name') + ':' + el2.getProperty('value');
				}
			});
			window.location = '/filter/?q=' + q + '&r=' + $('redirect').getProperty('value');
		});
	});
});
