// blur links
// this gets ride of that nasty dotted line surrounding links in focus on windows machines.

function blurLinks() {
	if((navigator.platform == "Win32") && document.getElementsByTagName) {
		var lnks = document.getElementsByTagName('a');
	    for (var i = 0; i < lnks.length; i++)
	    {
      	  lnks[i].onfocus = new Function("if(this.blur)this.blur()");
    	}
	}
}

function toggleList(event, tagName) {
	var obj = Event.element(event);
	while (obj.parentNode) {
		if (obj.nodeName.toLowerCase() == "div") break;
		obj = obj.parentNode;
	}
	for(var i = 0; i < obj.childNodes.length; i++) {
		var child = obj.childNodes[i];
		if (child.nodeName.toLowerCase() == tagName) Element.toggle(child);
	} 
	return false;
}

function setEvents(obj, pTag, cTag, hover) {
	var headers = obj.getElementsByTagName(pTag);
	for (var i = 0; i < headers.length; i++) {
		// for all Parent Elements
		var h = headers[i];
		// change the class onmouseover (could be called with :hover if it weren't for IE 6)
		// Event.observe(h, "mouseover", function(event) { Event.element(event).className = hover });
		// change the class onmousout (could be called with :hover if it weren't for IE 6)
		// Event.observe(h, "mouseout", function(event) { Event.element(event).className = null });
		// call the function to toggle the child Element
		Event.observe(h, "click", function(event) { toggleList(event, cTag); });
	}
}

function showHide(obj, pObj, cTag, sText, hText) {
	var pObj = $(pObj);
	if(obj.innerHTML == sText) obj.innerHTML = hText;
	else {
		obj.innerHTML = sText;
		var s = true;
	}
	toggleAll(pObj, cTag, s);
}

function toggleAll(obj, cTag, state) {
	var elms = obj.getElementsByTagName(cTag);
	for (var i = 0; i < elms.length; i++) {
		var el = elms[i];
		if (el.nodeName.toLowerCase() != "div") state ? Element.hide(el) : Element.show(el);
		else if (el.className == "answer") state ? Element.hide(el) : Element.show(el);
	}
}

function swapIntro() {
		Element.toggle($("overview_full"));
		Element.toggle($("overview"));
}

window.onload = function() { 
	// blurLinks();
	// var businesses = $("businesses");
	// var faqs = $("faqs");
	var businesses = document.getElementById("businesses");
	var faqs = document.getElementById("faqs");

	// inside of div#businesses, all H3 tags, all UL tags, H3 Highlighting ClassName
	if(businesses) setEvents(businesses, "h2", "ul", "hover");

	// inside of div#faqs, all H3 tags, all DIV tags, H3 Highlighting ClassName
	// if(faqs) setEvents(faqs, "h2", "div", "hover");
};

//	-------------------------------------
//	browse_delay() executes the browse
//	function but with a delay so that
//	users can enter a few characters
//	before the event actually executes.
//	-------------------------------------

var t;

function browse_delay( field, div, weblog_id )
{	
	clearTimeout(t);
	t = setTimeout( "browse('licensing-keywords', 'ajax_content', '24')", 700 );
}

//	End browse delay

//	-------------------------------------
//	browse() takes a string and tries
//	to find matching categories in the DB
//	-------------------------------------
function browse( field, div, weblog_id )
{
	var source	= $( field );
	var target	= $( div );
	var url		= '/licensing/browse';
	var pars	= 'field=' + source.value + '&weblog_id=' + weblog_id;
	var opts	= { method: 'post', postBody: pars, onSuccess: browse_parse, onFailure: fail };

	target.innerHTML	= '<p><img src="/images/ajax/spinner.gif" width="12" height="12" border="0" /> Loading...</p>';

	var aj		= new Ajax.Request( url, opts );

	function fail()
	{
		alert('Unable to complete your request.');
	}
}

//	-------------------------------------
//	browse_parse() parses the results
//	of browse
//	-------------------------------------
function browse_parse(t)
{
	var temp	= t.responseText;
	var target	= $( 'ajax_content' );
	target.innerHTML	= temp;
}

//	-------------------------------------
//	swap() 
//	-------------------------------------
function swap( div, url )
{
	var target	= $( div );
	var pars	= 'url=' + url;
	var opts	= { method: 'post', postBody: pars, onSuccess: browse_parse, onFailure: fail };
	
	target.innerHTML	= '<p><img src="/images/ajax/spinner.gif" width="12" height="12" border="0" /> Loading...</p>';
	
	var aj		= new Ajax.Request( url, opts );
	
	function fail()
	{
		alert('Unable to complete your request.');
	}
}