
var DGCookie = {
  set: function(name, value, daysToExpire) {
    var expire = '';
    if (daysToExpire != undefined) {
      var d = new Date();
      d.setTime(d.getTime() + (86400000 * parseFloat(daysToExpire)));
      expire = '; expires=' + d.toGMTString();
    }
    return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
  },
  get: function(name) {
//	alert(document.cookie.inspect());
    var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
    return (cookie ? unescape(cookie[2]) : null);
  },
  erase: function(name) {
    var cookie = Cookie.get(name) || true;
    DGCookie.set(name, '', -1);
    return cookie;
  },
  accept: function() {
    if (typeof navigator.cookieEnabled == 'boolean') {
      return navigator.cookieEnabled;
    }
    DGCookie.set('_test', '1');
    return (DGCookie.erase('_test') === '1');
  }
};



function searchpopup(id) {
	setupLabels();
	$(id).toggle();
}


function addClose() {
	if ($('closeP')) {
		$('closeP').remove();
	}
	
	closeEl = new Element('p',{'id' : "closeP",'class': 'close'});
	closeEl.insert(new Element('a',{
		'id' : 'navClose'
	}).update('Close Filter'));


	$('filterTab').insert(closeEl,{position: 'top'});
	

	$('navClose').observe('mouseover',function(e) {
		e.element().setStyle({
			'cursor' : 'pointer'});
	});
	$('navClose').observe('click',hideFilters);	
	
	
}

function delClose() {
	$('closeP').remove();
}


function addShow() {
	if (!$('showP')) {
	
	showEl = new Element('p',{'id' : 'showP','class': 'show'});
	showEl.insert(new Element('a',{
		'id' : 'navShow'
	}).update('Filter Content'));

		
	$('filterTab').insert(showEl);
//	$('navShow').hide();
	$('navShow').observe('mouseover',function(e) {
		e.element().setStyle({
			'cursor' : 'pointer'});
	});
	$('navShow').observe('click',showFilters);
}

}

function delShow() {
	$('showP').remove();
}

function setupFilters(el) {
	
	addClose();
	addShow();
	filtStat = DGCookie.get('filtStat');
	if (filtStat) {
		filtStat == 'on'? showFilters(true) : hideFilters(true);
	} else {
		hideFilters(true);
	}
	
}

function hideFilters(noEffect) {
	DGCookie.set('filtStat','off');
	
	if (!noEffect) {
		$('navFilter').hide();		
	} else {
		
	/*		if ($('navFilter').visible()) {
				Effect.BlindUp('navFilter',{duration: 0.5});		
			} else { */
				$('navFilter').hide();
				
			// }
	}
	delClose();
	addShow();
}

function showFilters(noEffect) {
	DGCookie.set('filtStat','on');
	if (!noEffect) {
		$('navFilter').show();
	} else {
		if (!$('navFilter').visible()) {
			Effect.BlindDown('navFilter',{duration: 0.5});				
		}
	}
	delShow();
	addClose();
}

function setupLabels() {
		var navBox = $('navFilter');
		if (navBox) {
			setupFilters(navBox);
		}
		var form = $('navFilterOpt');
		if (form) {
			
			form.getInputs('checkbox').each(function(el){
				$log("Checking input "+el.id);
				toggleLabel(el);
				el.observe('click',catchClick);
			});			
		}
}

function catchClick(e) {
	toggleLabel(Event.element(e));
}

function toggleLabel(element) {
	$log(element.inspect());
    myLabel=element.next('label');
	if (element.hasClassName('anyBox')) {
		if (element.checked) {
			myLabel.className = 'selected';
			element.up('li').nextSiblings().each(function(el){
				if (el.down('input')) {
					el.down('input').checked = false;
					toggleLabel(el.down('input'));
				}
			});			
		} else {
			myLabel.className = 'deselected';
			element.up('li').nextSiblings().each(function(el){
				toggleLabel(el.down('input'));
			});						
		}
	} else {
		if (element.checked) {
			any = element.up('ul').down('li');
			$log("label is "+any.down('label').inspect());
			any.down('input').checked = false;
			any.down('label').className = 'deselected';
			if (myLabel) {
				myLabel.className = 'selected';
			} else {
				$log("couldn't find my label");
			}
		} else {
			if (myLabel) {
					myLabel.className = 'deselected';				
			}
		}		
	}
}

document.observe('dom:loaded',setupLabels);