
$(function() {

	$.localScroll.hash({
		duration:1500
	});
	
	$.localScroll({
		duration:250
	});
	
	$("div#func_quicklinks_hover").appendTo("span#quicklinks_holder");
	$("div#func_overview_hover").appendTo("span#overview_holder");
	$("div#func_lookup_hover").appendTo("span#lookup_holder");
        
	$('#toplinks #quicklinks').click(function() {
	
		if ($('#func_quicklinks_hover').css('display')=='none') {
		
			if ($('#func_overview_hover').css('display')=='block') {
				$('#toplinks #overview').click();
			}
			
			if ($('#func_lookup_hover').css('display')=='block') {
				$('#toplinks #searchlink').click();
			}
			
			$('#func_quicklinks_hover').css('display', 'block');
			//$(this).addClass('searchlink_act');
			return false;
               } else {
                    	$('#func_quicklinks_hover').css('display', 'none');
			//$(this).removeClass('searchlink_act');
			return false;
               }
	
	});
	
	$('#toplinks #overview').click(function() {
	
		if ($('#func_overview_hover').css('display')=='none') {
		
			if ($('#func_quicklinks_hover').css('display')=='block') {
				$('#toplinks #quicklinks').click();
			}
			
			if ($('#func_lookup_hover').css('display')=='block') {
				$('#toplinks #searchlink').click();
			}
			
			$('#func_overview_hover').css('display', 'block');
			//$(this).addClass('searchlink_act');
			return false;
               } else {
                    	$('#func_overview_hover').css('display', 'none');
			//$(this).removeClass('searchlink_act');
			return false;
               }

	});
	
	$('#toplinks #lookup_holder').click(function() {
	
	
		if ($('#func_lookup_hover').css('display')=='none') {
			
			if ($('#func_quicklinks_hover').css('display')=='block') {
				$('#toplinks #quicklinks').click();
			}
			
			if ($('#func_overview_hover').css('display')=='block') {
				$('#toplinks #overview').click();
			}
			
			$('#search #topsearch').focus();
			$('#func_lookup_hover').css('display', 'block');
			//$(this).addClass('searchlink_act');
			return false;
               } else {
                    	$('#func_lookup_hover').css('display', 'none');
			//$(this).removeClass('searchlink_act');
			return false;
               }
               
	});
	
	/* 
	* Patch IE's :hover & :focus problems with tags other than <a> */
	
        /*$('#topnav').children('li').hover(
        	function() { 
			
			$(this).addClass('sfhover');
			$(this).find('ul').css('visibility','visible');
			$(this).find('select').css('visibility','hidden');
		}, 
        	function() {
			//alert('mouseout');
			$(this).removeClass('sfhover');
			$(this).find('ul').css('visibility','hidden');
			$(this).find('select').css('visibility','visible');
		}
	);*/
	
	/*	
	$('table.contenttable tr:has(td)').hover(
		function(){ 
			$(this).addClass('highlighthover');
			$(this).find('td.highlight_grey').addClass('highlighthover_grey');
			$(this).find('td.highlight_grey_flex').addClass('highlighthover_grey');
			$(this).find('td.highlight').addClass('highlighthover_red');
		}, 
		function() {
			$(this).removeClass('highlighthover');
			$(this).find('td.highlight_grey').removeClass('highlighthover_grey');
			$(this).find('td.highlight_grey_flex').removeClass('highlighthover_grey');
			$(this).find('td.highlight').removeClass('highlighthover_red');
		}
	);
	*/
	
	
	var classSuffix = '';
		
	var setClasses = function(){
		if (($(this).hasClass('highlight_grey')) || ($(this).hasClass('highlight_grey_flex'))) {
			$(this).toggleClass('highlighthover_grey'+classSuffix);
		}
		else if ($(this).hasClass('highlight')) {
			$(this).toggleClass('highlighthover_red'+classSuffix);
		}
		else {
			$(this).toggleClass('highlighthover'+classSuffix);
		}
	};
		
	var highlightFields = function(event){
		var actObj = $(this);

		if ($(this).attr('tagName') == "A") {
			 actObj = $(this).parent();
		}

		
		var spans = false;
		var table = actObj.parents('table');
				
		spanFields = table.find('th[colspan],th[rowspan]');
		
		if (table.hasClass('rot')) classSuffix = "_table_rot";
		else {
			classSuffix = "";
			if (table.hasClass('border_top_red')) return;
		}
		
		var colSpanVal = 0;
		var rowSpanVal = 0;
		
		spanFields.each(function() {
			colSpanVal = actObj.attr('colspan')
			rowSpanVal = actObj.attr('rowspan')
			
			if ((colSpanVal>1) || (rowSpanVal>1)) {
				spans = true;
				return false;
			}
		});
					
		if (!spans) var fields = actObj.prevAll('td,th');
		else var fields = actObj.prevAll('td');
			
		var i = fields.length + 1;
		
		var list = actObj.parents('table').find('td:nth-child(' + (i) + ')');
		list.each(setClasses);
		
		if (!spans) {
			list = actObj.parents('table').find('th:nth-child(' + (i) + ')');
			list.each(setClasses);
		}
		
		if ((actObj.hasClass('highlight_grey')) || (actObj.hasClass('highlight_grey_flex')) || (actObj.hasClass('highlight'))) {
			actObj.toggleClass('highlighthover_actual_dark'+classSuffix);
		}
		else {
			actObj.toggleClass('highlighthover_actual'+classSuffix);
		}
		
		var row = actObj.parent().find('td');
	 	row.each(setClasses);
	};
	
	$('table.contenttable').delegate('td,a','mouseover mouseleave', highlightFields);
	
	
	$('div.tx-fileindex-pi1 table tr:has(td)').hover(
		function(){ 
			$(this).addClass('highlighthover');
		}, 
		function() {
			$(this).removeClass('highlighthover');
		}
	);
	

}); 
    
 

/*

var transparentImage = "/fileadmin/templates/js/blank.gif";

function fixTrans()
{
	if (typeof document.body.style.maxHeight == 'undefined') {

	var imgs = document.getElementsByTagName("img");
	
	for (i = 0; i < imgs.length; i++)
	{	
		if (imgs[i].src.indexOf(transparentImage) != -1)
		{
			return;
		}

		if (imgs[i].src.indexOf(".png") != -1)
			{
				var src = imgs[i].src;
				imgs[i].src = transparentImage;
				imgs[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='none')";
			}
		}	
	}
}
if (document.all && !window.opera)
	attachEvent("onload", fixTrans);
*/

