jQuery.noConflict();

jQuery(function(){
	
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: true,
		addClassFocus: "focus",
		filterClass: "default"
	});

	jQuery('ul.accordion').accordion({
		active: ".selected",
		autoHeight: false,
		header: ".opener",
		collapsible: true,
		event: "click"
	});

	initTabs();

	// new directory tabs
	jQuery(".ntab").live('click', function() {
		jQuery(jQuery(".nactive").attr('href')).hide();
		jQuery(".nactive").removeClass("nactive");
		jQuery(this).addClass("nactive");
		jQuery(jQuery(this).attr('href')).show();
		return false;
	}); //End click 

	// new directory legend
	jQuery(".d-legend").live('click', function() {
		var dl_color = jQuery(this).children().attr("src").replace("-G.png", "-C.png"); 
		var dl_grey = jQuery(this).children().attr("src").replace("-C.png", "-G.png"); 
		if( original_dl_color === dl_color ) {
			jQuery(jQuery(this).attr('href')).hide();
			jQuery(this).children().attr("src", dl_grey); 
			original_dl_color = dl_grey;
		} else {
			jQuery(this).children().attr("src", dl_color); 
			jQuery(jQuery(this).attr('href')).show();
			original_dl_color = dl_color;
		}

		var all_set = 1;
		var hide_src = jQuery(".d-legend-all").children().attr("src").replace("Show-All", "Hide-All"); 
		var show_src = jQuery(".d-legend-all").children().attr("src").replace("Hide-All", "Show-All"); 
		jQuery(".d-legend").each(function(){
			var dl_grey = jQuery(this).children().attr("src").replace("-C.png", "-G.png"); 
			if( jQuery(this).children().attr("src") === dl_grey ) {	all_set = 0; }
		});
		if ( all_set === 1 ) {
			jQuery(".d-legend-all").children().attr("src", hide_src);
		} else {
			jQuery(".d-legend-all").children().attr("src", show_src);
		}
		return false;
	}); //End click
	
	// new directory legend - show all
	jQuery(".d-legend-all").live('click', function() {
		var hide_src = jQuery(this).children().attr("src").replace("Show-All", "Hide-All"); 
		var show_src = jQuery(this).children().attr("src").replace("Hide-All", "Show-All"); 
		if( jQuery(this).children().attr("src") === show_src ) {
			jQuery(".d-legend").each(function(){
				var src = jQuery(this).children().attr("src").replace("-G.png", "-C.png"); 
				jQuery(this).children().attr("src", src); 
				jQuery(jQuery(this).attr('href')).show();
			});
			jQuery(this).children().attr("src", hide_src); 
		} else {
			jQuery(".d-legend").each(function(){
				var src = jQuery(this).children().attr("src").replace("-C.png", "-G.png"); 
				jQuery(this).children().attr("src", src); 
				jQuery(jQuery(this).attr('href')).hide();
			});
			jQuery(this).children().attr("src", show_src); 
		}
		return false;
	}); //End click

	// new directory legend hover states
	var original_dl_color = '';
	jQuery(".d-legend").hover(function() { 
		original_dl_color = jQuery(this).children().attr("src"); 
		var dl_color = jQuery(this).children().attr("src").replace("-G.png", "-C.png"); 
		var dl_grey = jQuery(this).children().attr("src").replace("-C.png", "-G.png"); 
		if( original_dl_color === dl_grey ) {
			jQuery(this).children().attr("src", dl_color); 
		}
		jQuery(".dl-text").css( 'marginLeft', jQuery(this).attr("rel")+'px' );
		jQuery(".dl-text").text( jQuery(this).children().attr("alt") );
	}, function() { 
		var dl_color = jQuery(this).children().attr("src").replace("-G.png", "-C.png"); 
		var dl_grey = jQuery(this).children().attr("src").replace("-C.png", "-G.png"); 
		if( original_dl_color === dl_grey ) {
			jQuery(this).children().attr("src", dl_grey); 
		}
		jQuery(".dl-text").text('');
	}); 
});

function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");

			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";
					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								var tab = document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1));
								if (tab)
								{
									tab.style.display = "none";
								}
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}

function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filter) o.filter = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass)) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}

	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass)) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}

	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}
