var MRDynamicPage = {
	current:null,
	loaded:true
};

var currentHREF = window.location.href.split('http://').pop().split('/');
if (currentHREF.length>1 && currentHREF[1].length>0 && currentHREF[1].indexOf('#') != 0) {
	var hashPart = window.location.href.split('http://').pop().split('/').slice(1).join('/');
	if (hashPart.indexOf('anmeldung') != 0 && hashPart.indexOf('newsletteranmeldung') != 0 && hashPart.indexOf('wp-content') != 0) { 
		if (hashPart.length) hashPart = '#/'+hashPart;
		window.location.href = 'http://'+window.location.href.split('http://').pop().split('/').shift()+hashPart;
	}
}

$j = jQuery.noConflict();
$j(document).ready(function() {
	MRDynamicPage.convertLinks()
	
	var waitForNewContent = MRDynamicPage.checkHash();		
	MRDynamicPage.checkHashInterval = setTimeout(MRDynamicPage.checkHash, 20);
	
	setupPage();
	
	createAccordions();
});

var setupPage = function() {
	if(isSingle) $j('#menu ul li')[0].setAttribute('class', 'current_page_item');
	try{initMarker()}catch(e){};
	mainMenu = domID("menu");

	$j('#menu ul li').mouseover(MRmenuOver);
	$j('#menu ul li').mouseout(MRmenuOutWait);
	
	if (isMobile) {
		window.scrollTo(mainCont.newX,0);
	}
}

MRDynamicPage.convertLinks = function() {
	$j('a[href]').each(function(i) {
		if ($j(this).attr('href') == '#__current') return;
		if ($j(this).attr('href').indexOf('wp-admin') != -1) return;
		if ($j(this).hasClass('.external')) return;
		if ($j(this.parentNode.parentNode).attr('id') == 'prevNextNavigation') return;
		
		if (!$j(this).attr('href')) return;
		if ($j(this).attr('href').indexOf('nextlevel-conference.org') == -1) return;
		if ($j(this).attr('href').indexOf('nextlevel-conference.org/anmeldung') != -1) return;
		if ($j(this).attr('href').indexOf('nextlevel-conference.org/newsletteranmeldung') != -1) return;
		if ($j(this).attr('href').indexOf('nextlevel-conference.org/wp-content') != -1) return;
		this.linkTarget = $j(this).attr('href').split('http://').pop().split('/').slice(1).join('/');
		var linkName = this.linkTarget.split('#/').pop().split('#').pop();
		while (linkName.indexOf('/') == 0) {linkName = linkName.slice(1)};
		$j(this).attr('href', 'http://www.nextlevel-conference.org/#/'+linkName);
		$j(this).click(function() {
			//$j('div[rel="currentPost"]').removeAttr('rel');
			//$j(this.parentNode.parentNode.parentNode).attr('rel', 'currentPost');
			setupScrolling();
			MRDynamicPage.checkHash();
		});
	});
	
	$j('a[href="#__current"]').each(function(i) {
		$j(this).attr('href', $j($j('ul li a', this.parentNode)[0]).attr('href'));
	});
}

MRDynamicPage.checkHash = function() {
	var waitForNewContent = MRDynamicPage.current === null && window.location.hash != '';
	if (MRDynamicPage.current != window.location.hash && (MRDynamicPage.current !== null || window.location.hash != '') ) {
		MRDynamicPage.loadPage(window.location.hash.split('#').slice(1).join(''));
		MRDynamicPage.current = window.location.hash;
	}
	if (MRDynamicPage.current === null) MRDynamicPage.current = '';
	clearTimeout(MRDynamicPage.checkHashInterval);
	MRDynamicPage.checkHashInterval = setTimeout(MRDynamicPage.checkHash, 20);
	//return waitForNewContent;
}

MRDynamicPage.loadPage = function(URL) {
	if (!MRDynamicPage.loaded) return;
	$j('#container').fadeTo(500, 0);
	MRDynamicPage.loaded = false;
	$j('div[rel="currentPost"]').removeAttr('rel');
	$j('#loader').load(URL+' .loadable', function() {
		var newWidth = $j('#loader .siteWidth').text();
		console.log(newWidth);
		
		$j('#mainContainer #menu').replaceWith($j('#loader #menu'));
		$j('#container #main').replaceWith($j('#loader #main'));
		$j('#header #bilderbox').replaceWith($j('#loader #bilderbox'));
		
		$j('#scrollingContent').css('width', newWidth+"px");
		
		var postID = $j('#main div.post').attr('id');
		$j('#bilderbox #'+postID).attr('rel', 'currentPost');
		$j('#container').fadeTo(500, 1);
		MRDynamicPage.loaded = true;
		MRDynamicPage.convertLinks();
		createAccordions();
		setupPage();
		setupScrolling();
		
		$j('.audioEmbed').each(function() {
			var params = $j(this).attr('rel').split(';');
			var playerID = params[0];
			var options = unescape(params[1]);
			AudioPlayer.embed(playerID, {soundFile:options});
		});
	});
}

var createAccordions = function() {
	var myAccordion = new Accordion($('accordion'), '.toggler', '.element', {
		opacity: false,
		alwaysHide: true,
		display: 0,
		onActive: function(toggler, element) {
			$j('p:last, div:last', element).css('marginBottom', '20px');
			$j('div:last p:last', element).css('marginBottom', '0px');
			//toggler.setStyle('color', '#000');
			//toggler.setStyle('background', '#fff url(/wp-content/themes/sandbox/Bilder/pfeil_up.gif) no-repeat center right');
		},
		onBackground: function(toggler, element) {
			element.style.height = element.offsetHeight+'px';
			//toggler.setStyle('color', '#000');
			//toggler.setStyle('background', '#fff url(/wp-content/themes/sandbox/Bilder/pfeil_runter.gif) no-repeat center right');
		}
	});
	
	var mySubAccordion = new Accordion($('accordion'), '.subToggler', '.subElement', {
		opacity: false,
		alwaysHide: true,
		display: 0,
		onActive: function(toggler, element) {
			element.parentNode.style.height = 'auto';
			//toggler.setStyle('color', '#000');
			//toggler.setStyle('background', '#fff url(/wp-content/themes/sandbox/Bilder/pfeil_up.gif) no-repeat center right');
		},
		onBackground: function(toggler, element){
			//toggler.setStyle('color', '#000');
			//toggler.setStyle('background', '#fff url(/wp-content/themes/sandbox/Bilder/pfeil_runter.gif) no-repeat center right');
		}
	});
}


function animateProperty(e, p, u, v, n, c, i, s, f, q) { // element, property, unit, value, newValue, isCss, interval, speed, additionalFunction, quitFunction
	if(!s) s=.15;
	e[v] += (e[n]-e[v])*s;
	if (Math.abs(e[n]-e[v])<.5) {
		e[v] = e[n];
		if(q) q();
		clearInterval(e[i]);
	}
	if(c){
		e.style[p]=e[v]+u;
	} else {
		e[p]=e[v]+u
	}
	if(f) f();
}

function startFade(e, n) {
	String(e.alpha) == 'undefined' ? e.alpha = 0 : null;
	e.fi ? clearInterval(e.fi) : null;
	e.fi = setInterval(function() {fadeAlpha(e, n, 'fi')}, 20);
}

function fadeAlpha(e, n, i) { // element, newAlpha, interval
	var s=.3;
	e.alpha += (n-e.alpha)*s;
	if (Math.abs(n-e.alpha)<.5){
		e.alpha = n;
		clearInterval(e[i]);
	}
	setAlpha(e, e.alpha);
}

function setAlpha(e, a) {
	e.alpha = a;
	if (e.runtimeStyle) {
		e.runtimeStyle.filter=a<100 ? "alpha(opacity="+a+")" : '';
	} else {
		e.style.opacity=a/100;
	}
	e.style.visibility=a>0 ? 'visible' : 'hidden';
}

function setRelativeElements(){
	var a=domID('menuHolder');
	var f=domID('footerContents');
	a.style.left=postContainer.x+"px";
	f.style.left=postContainer.x+"px";
	if (isMobile) {
		var sp = getCurrentScroll();
		window.scrollTo(mainCont.newX, sp[1]);
	}
}


