function initDefaultTexts(formid, defaultValues, onColor, offColor) {
	var onColor = onColor;
	var offColor = offColor;
	
	if(!onColor) var onColor = '#000'; 
	if(!offColor) var offColor = '#777'
	defaultValues.each(function(val,key) {
		var el = $(key);
		if (el.value=='') {
			el.value = val;
			el.setStyle('color', offColor);
			if(el.type=='password') {
				//do something else in ie...
				if (document.all&&document.getElementById) {
					// var label = document.createElement('small');
					// 					label.style.display = 'block';
					// 					label.innerHTML = val;
					// 					el.parentNode.insertBefore(label);
				} else {
					el.type = 'text';
					el.addClass('was-password');
				}
				
			}
				
		}
		$(el).addEvent('focus', function(e) {
			if ($(el).value==defaultValues.get($(el).id)) {
				el.setStyle('color', onColor);
				$(el).value = '';
				if(el.hasClass('was-password')) {
					if (document.all&&document.getElementById) {
						//don't do anything else if we're ie...
					} else {
						el.type = 'password';
						el.removeClass('was-password');
					}
				}
			}
		});
		$(el).addEvent('blur', function(e) {
			if ($(el).value=='') { 
				el.setStyle('color', offColor);
				$(el).value = defaultValues.get($(el).id);
				if(el.type=='password') {
					if (document.all&&document.getElementById) {
						//don't do anything else if we're ie...	
					} else {
						el.type = 'text';
						el.addClass('was-password');
					}
				}
			}
		});
	});
	$(formid).addEvent('submit', function(e){
		defaultValues.each(function(val,key) {
			var el = $(key);
			if ($(el).value==val) $(el).value = '';
		});
	});
}

function hide_results() {
	if (typeof resultsSlider == 'undefined') return false;
	resultsSlider.slideOut();
	window.setTimeout(function(){
		$('results').style.visibility='hidden';
		$('slide-results').style.zIndex='0';
	}, 550);
	clearhere();
}

function clearhere(){
	$$('ul#categories li').each(function(el){
		$(el).removeClass('here');
	});
	$$('ul#alpha li').each(function(el){
		$(el).removeClass('here');
	});
	// $$('ul#navigation li').each(function(el){
	// 	$(el).removeClass('here');
	// });
}



document.addEvent('click', function(e){
	if ($('ack-box')) $('ack-box').removeClass('show-urls');
	if ($('cat-box')) $('cat-box').removeClass('show-urls');
});

var load_method = (window.ie ? 'load' : 'domready');
window.addEvent(load_method, function(){
	$$('ul#cat-box li.categories a').each(function(el){
		el.addEvent('click', function(e){
			new Event(e).stop();
			$('cat-box').toggleClass('show-urls');
		});
	});

	$$('ul#ack-box li.categories a').each(function(el){
		el.addEvent('click', function(e){
			new Event(e).stop();
			$('ack-box').toggleClass('show-urls');
		});
	});

	var links = $$('ul.sites li h3 a');
	links.each(function(el){
		var content = $(el).getParent().getParent().getElements('p')[0];
		if (typeof content != 'undefined')
			$(el).title += ' :: '+$(content).getElements('a')[0].innerHTML;
	});
	if (links && links.length>0) {
		new Tips(links, {
			maxTitleChars: 200,
			fixed: true
		});
	}
	
	if ($('search-form')) {
		initDefaultTexts(
			'search-form',
			$H({'key-words' : ''}),
			'#666', '#666'
		);
		$('search-form').addEvent('submit', function(e){
			new Event(e).stop();
			clearhere();
			if ($('key-words').value!='' && $('key-words').value!='enter keyword, then press enter') {
				if ($('activity-indicator'))
					$('activity-indicator').setStyle('display', 'block');
				// do ajax call (show $('results') on complete)
				new Event(e).stop();
				var myAjax = new Ajax('/results/', {
					method: 'get',
					data: {
						keywords: $('key-words').value
					},
					update: 'results',
					onComplete: function(){
						if ($('divider')) {
							$('divider').removeClass('discover-divider');
							$('divider').addClass('search-divider');
						}
						if ($('lead')) {
							$('lead').addClass('collapse');
						}
						$('results').removeClass('discover-results');
						$('results').addClass('search-results');
						if ($('results').getStyle('visibility')=='hidden') {
							$('results').setStyle('visibility', 'visible');
							$('slide-results').setStyle('display', 'block');
							$('slide-results').style.zIndex='115';
							resultsSlider.slideIn();
						}
						else {
							$('results').setStyle('display', 'block');
							if ($('activity-indicator')) {
								$('activity-indicator').setStyle('display', 'none');
							}
						}
						if ($('all').innerHTML.match(/^\s*$/)) {
							$('all').innerHTML = '<li>No topics found.</li>';
						}
					}
				}).request();
			}
			else {
				if ($('divider')) {
					$('divider').removeClass('discover-divider');
					$('divider').removeClass('search-divider');
				}
				$('results').removeClass('discover-results');
				$('results').removeClass('search-results');
				resultsSlider.hide();
				$('results').setStyle('visibility', 'visible');
				$('slide-results').setStyle('display', 'block');
				$('slide-results').style.zIndex='115';
				resultsSlider.slideIn();
			}
		});
	}
	
	$$('ul#categories li').each(function(el){
		$(el).addEvent('click', function(e){
			new Event(e).stop();
			if ($('activity-indicator'))
				$('activity-indicator').setStyle('display', 'block');
			clearhere();
			var myAjax = new Ajax('/results/', {
				method: 'get',
				data: {
					topic: $(el).getElement('a').rel
				},
				update: 'results',
				onComplete: function(){
					$(el).addClass('here');
					if ($('divider')) {
						$('divider').removeClass('search-divider');
						$('divider').addClass('discover-divider');
					}
					if ($('lead')) {
						$('lead').addClass('collapse');
					}
					$('results').removeClass('search-results');
					$('results').addClass('discover-results');
					resultsSlider.hide();
					$('results').setStyle('visibility', 'visible');
					$('slide-results').setStyle('display', 'block');
					$('slide-results').style.zIndex='115';
					resultsSlider.slideIn();
				}
			}).request();
		});
	});

	$$('ul#alpha li').each(function(el){
		$(el).addEvent('click', function(e){
			new Event(e).stop();
			if ($('activity-indicator'))
				$('activity-indicator').setStyle('display', 'block');
			clearhere();
	    	var myAjax = new Ajax('/results/', {
				method: 'get',
				data: {
					alpha: $(el).getElement('a').rel
				},
				update: 'results',
				onComplete: function(){
					$(el).addClass('here');
					if ($('divider')) {
						$('divider').removeClass('search-divider');
						$('divider').addClass('discover-divider');
					}
					if ($('lead')) {
						$('lead').addClass('collapse');
					}
					$('results').removeClass('search-results');
					$('results').addClass('discover-results');
					resultsSlider.hide();
					$('results').setStyle('visibility', 'visible');
					$('slide-results').setStyle('display', 'block');
					$('slide-results').style.zIndex='115';
					resultsSlider.slideIn();
				}
			}).request();
		});
	});

	if (typeof skip_nav == 'undefined' || !skip_nav) {
		$$('div#search ul#navigation li').each(function(el){
			$(el).addEvent('click', function(e){
				var a = $(el).getElement('a');
				var opts_data = {};
				if ($(a).hasClass('new-topics')) {
					opts_data = {
						'new_topics': 'true'
					}
				}
				else if ($(a).hasClass('my-recent-topics')) {
					opts_data = {
						'recent_topics': 'true'
					}
				}
				else return true;
				new Event(e).stop();
				if ($('activity-indicator'))
					$('activity-indicator').setStyle('display', 'block');
				clearhere();
		    	var myAjax = new Ajax('/results/', {
					method: 'get',
					data: opts_data,
					update: 'headlines',
					onComplete: function(){
						$(el).addClass('here');
						if ($('divider')) {
							$('divider').removeClass('search-divider');
							$('divider').addClass('discover-divider');
						}
						if ($('lead')) {
							$('lead').addClass('collapse');
						}
						$('headlines').removeClass('search-results');
						$('headlines').addClass('discover-results');
						$('headlines').setStyle('display', 'block');
						if ($('activity-indicator')) {
							$('activity-indicator').setStyle('display', 'none');
						}
						if ($('results')) {
							$('results').setStyle('display', 'none');
						}
					}
				}).request();
			});
		});
	}
});
