var popwin;

// PopUps aufrufen
function PopUp(src,w,h)
{
	oversize = 0;
	if(popwin) popwin.close();

	if(w > screen.width-100)
	{
		oversize = 1;
		// h = Math.round((screen.width-100)/w*h); // Verhältnis
		h = parseInt(h)+20; // Scrollbars
		w = (screen.width-100);
	}
	if(h > screen.height-150)
	{
		oversize = 1;
	    // w = Math.round((screen.height-150)/h*w); // Verhältnis
	    w = parseInt(w)+20; // Scrollbars
		h = (screen.height-150);
	}

	breite = Math.round((screen.width - w) / 2);
	hoehe = Math.round((screen.height - h) / 2);

	if(oversize == 1)
		popwin = window.open(src,"popwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+w+",height="+h+",top="+hoehe+",left="+breite);
	else
		popwin = window.open(src,"popwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width="+w+",height="+h+",top="+hoehe+",left="+breite);
}

// Formulare leeren
function ClearForm(Formular)
{
	document.forms[Formular].reset(); // Zuerst reset!
	var x = 0;
	while(document.forms[Formular].elements[x])
	{
		if(document.forms[Formular].elements[x].type == "checkbox" || document.forms[Formular].elements[x].type == "radio")
		{
			// Checkboxen + Radiobuttons werden nicht angehakt
			document.forms[Formular].elements[x].checked = false;
		}
		else if(document.forms[Formular].elements[x].type != "hidden" && document.forms[Formular].elements[x].type != "submit" && document.forms[Formular].elements[x].type != "reset" && document.forms[Formular].elements[x].type != "button")
		{
			// Alle, ausser versteckte Felder, dürfen geleert werden
			document.forms[Formular].elements[x].value = "";
		}
		x++;
	}
}

// Liefert ein Object anhand ID oder Name
function gObj(id)
{
	if(typeof document.getElementById(id) == 'object' && document.getElementById(id) != null)
	{
		return document.getElementById(id);
	}
	else if(document.getElementsByName)
	{
		var namedObjects = document.getElementsByName(id);
		if(typeof namedObjects != 'undefined' && namedObjects.length)
		{
		    return namedObjects[0];
		}
	}
}

// Transparenz-Filter bei PNG-Bilder für IE 5.5 und IE 6 anwenden
// Aufruf bei $(document).ready() oder mit JS-Code vor </body>:
// <script type="text/javascript">
// fixPng();
// </script>
function fixPng()
{
    if($.browser.msie == true && $.browser.version > 5.5 && $.browser.version < 7.0 && document.body.filters)
    {
        $('img').each(function(){
			if(this.src.match(/\.png$/) != null){
				$(this)
					.css({
						filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+$(this).attr('src')+'\', sizingMethod=\'image\')',
						width: $(this).width()+'px',
						height: $(this).height()+'px'
					})
					.attr('src','images/t3_blank.gif');
			}
        });
	}
}


// Inhalte wechseln mit Fade-Effekt
var toggleContent_lastNum = 0;
function toggleContent(num)
{
	max = $('#toggle_content > div').length-1;
    if(typeof num == 'string'){
		if(num.charAt(0) == '-') num = toggleContent_lastNum - parseInt(num.charAt(1));
		else if(num.charAt(0) == '+') num = toggleContent_lastNum + parseInt(num.charAt(1));
	}
	if(num > max) num = 0;
	if(num < 0) num = max;

	if(num != toggleContent_lastNum){
	    dir = toggleContent_lastNum > num ? 'left' : 'right';
	    $('#toggle_content').height($('#toggle_content').height()); // Hüpfen verhindern
	    $('#toggle_content > div:visible')
			.css({
		        'position': 'absolute',
				'z-index': '1'
			})
			.fadeOut();
			//.hide();
			//.hide('slide',{easing: 'easeOutQuad', direction: (dir == 'left' ? 'right' : 'left')}); // benötigt jquery-ui.js

		$('#toggle_content').height($('#toggle_content > div:eq('+num+')').height()); // Hüpfen verhindern
        $('#toggle_content > div:eq('+num+')')
			.css({
		        'position': 'static',
				'z-index': '2'
			})
			.fadeIn();
			//.show('slide',{direction: dir}); // benötigt jquery-ui.js

		$('#bulletmenu > a').removeClass('on');
		$('#bulletmenu > a:eq('+num+')').addClass('on');

		toggleContent_lastNum = num;
	}
}

// Inhalte wechseln per Ajax mit Fade-Effekt
var toggleSubContent_lastLink = '';
function toggleSubContent(link)
{
	if(toggleSubContent_lastLink != $(link).attr('href'))
	{
	    toggleSubContent_lastLink = $(link).attr('href');
		$('#toggle_content').height($('#toggle_content').height()); // Hüpfen verhindern
		$.ajax({
			url: "tpl/inc_3_subcontent.php",
			type: "post",
			data: {
				toggle_ajax: toggleSubContent_lastLink
			},
			success: function(data){
				$('#toggle_content').append(data);

			    $('#toggle_content > div:visible')
					.css({
				        'position': 'absolute',
						'z-index': '1'
					})
					.hide();
					//.hide('slide',{direction:'left'},600); // benötigt jquery-ui.js
					//.fadeOut();

				$('#toggle_content > div:eq(1)')
					.css({
				        'position': 'static',
						'z-index': '2'
					})
					.show();
// 					.show('slide',{direction:'left'},400,function(){ // benötigt jquery-ui.js
// 						$('#toggle_content > div:eq(0)').hide().remove();
// 					});
					//.fadeIn();
		        $('#toggle_content').height($('#toggle_content > div:eq(1)').height()); // Hüpfen verhindern
	            $('#toggle_content > div:eq(0)').remove();

				$(link).parent().children('a').removeClass('on');
				$(link).addClass('on');

				autoShadow();
				$('.zoombox').zoombox();
				fixPng();
				initToolTip();
				adjustRows();
			}
		});
	}
}


function initToolTip()
{
	$('.imageTable img[title!=\'\']').mouseover(function(e) {

		if($(this).attr('title') == null) return;
		var tiptext = $(this).attr('title');
		$(this).attr('title','');

		// Tooltip erstellen und in body einsetzen
		tooltip_html = 	'<div id="tooltip" style="display:none;">' +
							'<div class="tooltip-left">' +
						        '<div class="tooltip-inner">' + tiptext + '</div>' +
							'</div>' +
							'<div class="tooltip-bottom"></div>' +
						'</div>';
        $('body').append(tooltip_html);

		// Koordinaten für Ausrichtung setzen
		$('#tooltip').css('left', e.pageX + 20 );
		$('#tooltip').css('top', e.pageY + 10 );
		
		if($(window).width() - 460 < e.pageX){
		    $('#tooltip .tooltip-left').removeClass('tooltip-left').addClass('tooltip-right');
			$('#tooltip').css('margin-left','-460px');
		} else {
		    $('#tooltip .tooltip-right').removeClass('tooltip-right').addClass('tooltip-left');
			$('#tooltip').css('margin-left','0px');
		}

		// ToolTip anzeigen
		//$('#tooltip').fadeIn('500');
		$('#tooltip').show();

	}).mousemove(function(e) {

		// Koordinaten für Ausrichtung setzen
		$('#tooltip').css('left', e.pageX + 20 );
		$('#tooltip').css('top', e.pageY + 10 );

		if($(window).width() - 460 < e.pageX){
		    $('#tooltip .tooltip-left').removeClass('tooltip-left').addClass('tooltip-right');
			$('#tooltip').css('margin-left','-460px');
		} else {
		    $('#tooltip .tooltip-right').removeClass('tooltip-right').addClass('tooltip-left');
			$('#tooltip').css('margin-left','0px');
		}

	}).mouseout(function() {

		// Wert von title-Attribut wieder einsetzen
		$(this).attr('title',$('.tooltip-inner').html());
		$('#tooltip').remove();

	});
}

// Skaliert das Hintergrundbild beim Laden der Seite und Ändern der Fenstergröße
function checkBackground()
{
	if(document.body.offsetHeight > $('#bg_img').height()){
		$('#bg_img').height('100%');
		$('#bg_img').width('auto');
	}
	if(document.body.offsetWidth > $('#bg_img').width()){
		$('#bg_img').height('auto');
		$('#bg_img').width('100%');
	}
}


function autoShadow()
{
    $('.bodyText img.autoshadow').each(function(){
        image = $(this).parents('.imageDiv');
		add_html =  '<div class="picbox-tl"></div>' +
				    '<div class="picbox-t"></div>' +
				    '<div class="picbox-tr"></div>' +
			        '<div class="picbox-l"></div>' +
			        '<div class="picbox-r"></div>' +
				    '<div class="picbox-bl"></div>' +
				    '<div class="picbox-b"></div>' +
				    '<div class="picbox-br"></div>';
		add_wrap = 	'<div class="picbox"></div>';
		//$(this).parents('td').html(add_wrap);
		$(image).wrap(add_wrap);
		$(image).before(add_html);
		$(this).removeClass('autoshadow');
		// Bei IE < 7 Breite und Höhe einsetzen
		if($.browser.msie == true && $.browser.version < 7.0)
		{
			$(image).parent('.picbox').width($(image).width());
			$(image).parent('.picbox').height($(image).height());
		}
		$(image).parents('.imageTable').find('.imageSpace').hide();
		//alert($(image).parents('td').html());
    });
}


function slideBox()
{
	var self = this;
	var box = $('#slidebox');
	var menus = $('#menu a, #logo a');
	var is_active = false;
	var last_link = location.href;
	var duration = 400;

	this.init = function(){

		$(menus).click(function(){
		    if(is_active == false && $(this).attr('href') != last_link){
			    is_active = true;
			    last_link = $(this).attr('href');
				self.load();
				$(menus).removeClass('on');
				// GGf. Menüpunkt aktivieren
				if($(this).parents('#menu').length>0) $(this).addClass('on');
			}
			return false;
		});
	};
	
	this.load = function(){

		$.ajax({
			url: "index.php",
			type: "post",
			data: {
				ajaxpage: last_link
			},
			success: function(data){
				self.hide(data);
			}
		});

	};

	this.show = function(){

		$(box).css({
			    width: '775px',
				position: 'absolute',
				top: $(window).height()+'px'
			});

		$(box).animate({
			top: '215px'
			}, duration, function(){
				$(box).css({
				    width: '775px',
					position: 'static',
					top: '0px'
				});
				adjustRows(); // Zur Sicherheit hier zuletzt nochmal ausführen!
                is_active = false;

				/* Wallpaper wechseln */
				// Fading als Hintergrund am Schluss
// 				var wallpaper = $(box).find('input[name=wallpaper]').val();
// 				var preload_image = new Image();
// 				preload_image.onload = function(){
// 				    $('#bg').eq(0).fadeOut(600, function(){ $(this).remove(); });
// 				    $('body').prepend('<div id="bg" style="background:#ffffff url('+wallpaper+') fixed no-repeat top center;"></div>');
// 				    $('#bg').eq(0).fadeIn(600);
// 				}
// 				preload_image.src = wallpaper;

			});

	};

	this.hide = function(data){

		//$('#layout').css({height:$('#layout').height()+'px'});
		$(box).css({
				position: 'absolute',
				top: '215px',
				zIndex: '-1'
			});
		$(box).animate({
				top: '-'+$(box).height()+'px'
			}, duration, function(){
				$(box).html(data);

                /* Hintergrund wechseln */
                // Wechsel als Hintergrund
                var background = $(box).find('input[name=background]').val();
                var background_color = $(box).find('input[name=background_color]').val();
                var preload_image = new Image();
                preload_image.onload = function(){
					$('body').css('background',(background_color!=''?'#'+background_color+' ':'')+'url('+background+') fixed no-repeat top center');
				}
				preload_image.src = background;

                /* Wallpaper wechseln */
                // Wechsel als Image
				//$('#bg_img').attr('src',$(box).find('input[name=wallpaper]').val());

                /* Wallpaper wechseln */
                // Fading als Image
// 				var wallpaper = $(box).find('input[name=wallpaper]').val();
// 				var preload_image = new Image();
// 				preload_image.onload = function(){
// 				    $('#bg').eq(0).fadeOut(600, function(){ $(this).remove(); });
// 				    $('body').prepend('<div id="bg"><img id="bg_img" src="'+wallpaper+'" alt="" width="100%" onclick="this.blur();" />');
// 				    $('#bg').eq(0).fadeIn(600);
// 				}
// 				preload_image.src = wallpaper;

				autoShadow();
				$('.zoombox').zoombox();
				fixPng();
				initToolTip();
				adjustRows();
				self.show();

				//$(box).hide();
                //location.href = last_link;

				// Anker setzen
// 				if(last_link.length) location.hash = '#/'+last_link;
// 				else location.hash = ''; // Anker entfernen
			});

	};
	
	self.init();
	//self.show();

}


function adjustRows()
{
	// Spaltenhöhen angleichen
	if($('#layoutContent .same-height1').length == 1 && $('#layoutContent .same-height2').length == 1){
	    osh1 = $('#layoutContent .same-height1');
	    osh2 = $('#layoutContent .same-height2');
	    sh1 = $(osh1).height();
	    sh2 = $(osh2).height();
	    if(sh1 > sh2){
	        if($.browser.msie == true && $.browser.version < 7.0)
				$(osh2).css({'height':sh1+'px'});
			else
                $(osh2).css({'min-height':sh1+'px'});
		}
	    if(sh2 > sh1){
	        if($.browser.msie == true && $.browser.version < 7.0)
				$(osh1).css({'height':sh2+'px'});
			else
                $(osh1).css({'min-height':sh2+'px'});
		}
	}

	// Spaltenhöhen angleichen (wobei auf in einer Spalte zwei DIVs gezählt werden)
	/*
	if($('#layoutContent .same-height1a').length == 1 && $('#layoutContent .same-height2a').length == 1){
	    osh1 = $('#layoutContent .same-height1a');
	    osh2 = $('#layoutContent .same-height2a');
	    osh3 = $('#layoutContent .same-height3a');
	    sh1 = $(osh1).height()-($(osh3).height() > 0 ? 25 : 40);
	    sh2 = $(osh2).height();
	    if(sh1 > sh2){
	        if($.browser.msie == true && $.browser.version < 7.0)
				$(osh2).css({'height':sh1+'px'});
			else
                $(osh2).css({'min-height':sh1+'px'});
		}
	    if(sh2 > sh1){
	        if($.browser.msie == true && $.browser.version < 7.0)
				$(osh1).css({'height':sh2+'px'});
			else
                $(osh1).css({'min-height':sh2+'px'});
		}
	}
	*/
}


$(document).ready(function(){
	autoShadow();
	$('.zoombox').zoombox();
	fixPng();
	initToolTip();
});

$(window).load(function(){
	//checkBackground();
	new slideBox();
	adjustRows();
});

//window.onresize = checkBackground;




