/*-----------------------------------------

 copyright 2009 by mmc

 Version: 1.0

 Author: Georg Paul

 Author URI: http://www.mmc-agentur.at

 -------------------------------------------*/

$(document).ready(function() {

	$('#main_content').css('opacity', '0.8').css('background-color', '#FFFFFF');

	// Sprachauswahl
	$('#current_language').bind('click', function(event) {
		event.preventDefault();

		$(this).toggleClass('active');

		var languageUL = $('#sub_nav .language_selection ul');

		if($(this).hasClass('active')) {
			languageUL.slideDown('fast');
		} else {
			languageUL.slideUp('fast');
		}
	});
	// Scrollbar initialisieren
	initScroll();

	// Hauptnavigation bei hover aufklappen

	$('#main_nav li').hover(function() {
		$(this).find('ul').each(function() {
			$(this).css("display", "block");
		})
	}, function() {
		$(this).find('ul').each(function() {
			$(this).css("display", "none");
		})
	})
	// Hauptnavigation bei Focus aufklappen
	$('#main_nav li a').bind('focus', function() {
		$('#main_nav li').removeClass('active');
		$(this).parents('li').addClass('active');

		$('#main_nav li ul').css("display", "none");

		$(this).parents('li').find('ul').each(function() {
			$(this).css("display", "block");
		})
	})
	// zuklappen
	$('#main_nav li a:last').bind('blur', function() {
		$('#main_nav li').removeClass('active');
	})
	// Sprachnavigation bei Focus aufklappen
	$('.language_selection a').bind('focus', function() {

		$(this).parents('li').find('ul').each(function() {
			$(this).css("display", "block");
		})
	})
	// zuklappen
	$('.language_selection a:last').bind('blur', function() {
		$('.language_selection ul').css("display", "none");
	})
	// 2. Navigationsebene nach oben verschieben
	var listHeight = null;

	$('#main_nav li').find('ul').each(function() {
		listHeight = $(this).height();
		$(this).css("top", listHeight * (-1) + 7);
	})

	window.onbeforeprint = removeAbsolutePos;

	// alle Browser außer der IE6 bekommen AJAX Action
	if(!($.browser.msie && $.browser.version == "6.0")) {

		// ALTE NAV
		//ajaxLinks();

		// HASHTAG NAV

		getHashContent();
		doAjaxLinks();

		jQuery(window).hashchange(function() {
			getHashContent();
		});
		var href = (location.href[location.href.length - 1] != '/') ? location.href + '/' : location.href;
		changeImages(href);

	}

});
function removeAbsolutePos() {
	$("#page").css("display", "none");
}

// AJAX-Links nur nach Startseite
function ajaxLinks() {

	if(window.location.hash) {
		//refreshContent();
	}

	$('.layout_2 a.ajax').bind('click', function() {

		// (PHB) GAAAANZ SCHIRCHER WORKAROUND FUER DEN HOME BUTTON
		// (SAS) DER NICHT IN ALLEN SPRACHEN FUNKTIONIERT..
		// (PHB) ...HAT, JETZT SCHON
		var href = $(this).attr("href");
		if(href == '/' || href == 'en/' || href == 'hr/' || href == 'ru/') {
			$.cookie('thisLinkHTML', null);
			location.href = "/";
			return false;
		}

		// ausfaden des content
		fadeContent('out');
		$('#portrait').fadeOut();

		// GEP location hash
		window.location.hash = $(this).attr("href");

		// Das aktuelle ingefadete Bild als BG-IMG verwenden
		$('#img_container').find('li').each(function() {
			if($(this).css('display') != 'none') {
				$('.inner').css('background', 'transparent url(' + $(this).find('img').attr('src') + ') no-repeat scroll left 26px');
			}
		})
		var thisLink = $(this);

		// GEP location hash
		$.cookie('thisLinkHTML', $(this).html());

		$('#main_content').load(thisLink.attr('href') + ' #main_content>*', function() {

			// scrollbar initiieren
			initScroll();

			// Navigation anpassen
			$('a.ajax').parents('li').removeClass('active');
			thisLink.parents('li').addClass('active');

			// Content rein und rausfahren
			fadeContent('in');

			changeImages(thisLink.attr('href'));

		});
		return false;
	})
}

function changeImages(href) {
	// IMG-Fade-Container removen und wieder adden (reset)
	$('div.inner #img_container').remove()
	$('div.inner').prepend('<div id="img_container"></div>');

	// Bilder laden
	var link = '?type=9';	// &no_cache=1
	var Datum = new Date();
	var Stunden = Datum.getHours();
	
	// Tag / Nacht Schaltung
	if(Stunden >= 20 || Stunden < 6)
		link = '?type=10'; //&no_cache=1
	
	$('#img_container').load(href + link, function() {

		var bildAnzahl = $('#img_container li').length;

		if(bildAnzahl > 1) {
			// Fade Plug-In initialisieren
			$('#img_container ul').innerfade({
				animationtype : 'fade',
				speed : 1200,
				timeout : 5000,
				type : 'random'
			});
		} else {
			$('#img_container ul').hide();
			$('#img_container ul').fadeIn('slow', function() {
				$('.inner').css('background', 'transparent url(' + $('#img_container img').attr('src') + ') no-repeat scroll left 26px');
			});
		}

		// Portrait nachladen
		$('#portrait_wrapper').load(href + ' #portrait', function() {
			$('#portrait').hide();
			$('#portrait').fadeIn();
		});
	});
}

function doAjaxLinks() {
	$('.layout_2 a.ajax').unbind('click');
	$('.layout_2 a.ajax').bind('click', function() {
		setHashTag($(this).attr('href'));
		//ajaxContent($(this));

		return false;
	});

	$('#sub_nav li.first a').unbind('click');
}

function getHashContent() {
	if(window.location.hash.length != 0) {
		locationHash = window.location.hash.substr(1);
		//alert(locationHash);
		linkElement = $('a[href=' + locationHash + ']');
		ajaxContent(linkElement);
	}
}

function setHashTag(href) {
	//alert(href);
	window.location.hash = href;
}

function ajaxContent(linkElement) {
	href = linkElement.attr('href');
	// CONTENT UND PORTRAIT AUSBLENDEN
	fadeContent('out');
	$('#portrait').fadeOut();

	// Das aktuelle ingefadete Bild als BG-IMG verwenden
	setBgImage();

	$('#main_content').load(href + ' #main_content>*', function() {
		initScroll();
		setNavigation(linkElement);
		fadeContent('in');
		resetImgContainer();
		loadBgImages(href);
		tb_init('a.thickbox, area.thickbox, input.thickbox');
		//pass where to apply thickbox
		imgLoader = new Image();
		// preload image
		imgLoader.src = tb_pathToImage;
	});
}

function loadBgImages(href) {
	$('#img_container').load(href + '?type=9', function() {

// &no_cache=1 

		var bildAnzahl = $('#img_container li').length;

		if(bildAnzahl > 1) {
			// Fade Plug-In initialisieren
			$('#img_container ul').innerfade({
				animationtype : 'fade',
				speed : 1200,
				timeout : 5000,
				type : 'random'
			});
		} else {
			$('#img_container ul').hide();
			$('#img_container ul').fadeIn('slow', function() {
				$('.inner').css('background', 'transparent url(' + $('#img_container img').attr('src') + ') no-repeat scroll left 26px');
			});
		}

		loadPortrait(href);

	});
}

function loadPortrait(href) {
	$('#portrait_wrapper').load(href + ' #portrait', function() {
		$('#portrait').hide();
		$('#portrait').fadeIn();
	});
}

function resetImgContainer() {
	$('div.inner #img_container').remove()
	$('div.inner').prepend('<div id="img_container"></div>');
}

function setNavigation(linkElement) {
	// Navigation anpassen
	$('a.ajax').parents('li').removeClass('active');
	linkElement.parents('li').addClass('active');
}

function setBgImage() {
	$('#img_container').find('li').each(function() {
		if($(this).css('display') != 'none') {
			$('.inner').css('background', 'transparent url(' + $(this).find('img').attr('src') + ') no-repeat scroll left 26px');
		}
	})
}

function fadeContent(type) {

	$('#main').css('overflow', 'hidden');

	var windowWidth = $(window).width();
	if(type == 'out') {
		$('#main_content').animate({
			right : '-' + (windowWidth / 2 + 25) + 'px'
		}, 'slow');
	} else {
		$('#main_content').animate({
			right : '0px'
		}, 'slow');
	}

}

function refreshContent() {

	var baseURL = $('base').attr('href');
	var toLoad = baseURL + window.location.hash.substr(1) + ' #main_content>*';
	var thisLink = $.cookie('thisLinkHTML');

	$('#main_content').load(toLoad, function() {
		initScroll();

		$('#portrait').remove();

		$('#main_nav li').removeClass('active');

		$('#main_nav li').find('a.ajax').each(function() {
			if(($(this).html()) == thisLink) {
				$(this).parents('li:first').addClass('active');
			}
		})
	})
}

function initScroll() {
	if($('#core_content').attr('id')) {
		$('.layout_2 #core_content').jScrollPane({
			showArrows : true
		});
	}
}

