jQuery(document).ready(function()
{
	/* SUPERFISH MENU */
	if ( navigator.appName != "Opera") {
		jQuery('ul.superfish').supersubs({
			minWidth: 8,
			maxWidth: 20,
			extraWidth: 0
		});
	}
	jQuery('ul.superfish').superfish({
		autoArrows: false,
		delay: 0
	});

	function test (){
		var mode=document.compatMode,m;
		if(mode){
			if(mode=='BackCompat')m='Quirks';
			else if(mode=='CSS1Compat')m='Standards Compliance';
			else m='Almost Standards Compliance';
			alert('The document is being rendered in '+m+' Mode.');
		}
	};
 	//test();
	
	/* Cool Input fields */
	initInputField( "nav-search-text", "Ihr Suchbegriff...", "void" );
	initInputField( "login-form-username", "Benutzername", "void" );
	initInputField( "login-form-password", "Passwort", "void", "text" );
	
	/* indexed search */
	initIndexedSearch();
	
	/* glossar tooltips */
	/*
	jQuery(".tx-contagged-tooltip-content").hide();
	jQuery(".tx-contagged-tooltip").hover( function()
	{
		jQuery(".tx-contagged-tooltip-content", this).fadeIn("fast");
	}, function()
	{
		jQuery(".tx-contagged-tooltip-content", this).fadeOut("fast");
	});*/
});

var inputElementTypes = new Object();
function initInputField( elementId, voidValue, voidClass, voidType )
{
	var inputElement = jQuery("#"+elementId);
	
	if ( typeof(inputElementTypes[elementId]) == "undefined" ) {
		inputElementTypes[elementId] = inputElement.attr("type");
	}
	
	inputElement.focus(function() {
		if ( jQuery(this).val() == voidValue ) {
			inputElement.val("");
			inputElement.removeClass(voidClass);
		}
	})
	inputElement.blur(function() {
		if ( jQuery(this).val() == "" ) {
			jQuery(this).val(voidValue);
			jQuery(this).addClass(voidClass);
		}
	});
	
	inputElement.blur();
}

function changeInputType( id, newType ) {
	var oldField = document.getElementById(id);
	var attrs = oldField.attributes;
	var newField = "<input ";
	
	for(var i = 0; i < attrs.length; i++) {
	    if ( attrs[i].nodeName == "value" ) {
	      newField += "value=\""+jQuery(oldField).val()+"\" "; // Don't trust value attribute from the DOM
	    } else if ( attrs[i].nodeName != "type" ) {
	      newField += attrs[i].nodeName+"=\""+attrs[i].nodeValue+"\" ";
	    }
	  }
	
	newField += "type=\""+newType+"\" />"
	
	// Modify DOM
	jQuery(oldField).before(jQuery(newField));
	jQuery(oldField).remove();
}

/* indexed search */
function initIndexedSearch() {
	jQuery(".tx-indexedsearch .searchhint").hide();
}

function toggleSearchHints() {
	jQuery(".tx-indexedsearch .searchhint").toggle("fast");
}
