// GLOBALS
var overlay = new Object();
var event_info_open = false;
var mh = 0;

jQuery.jQueryRandom=0;jQuery.extend(jQuery.expr[":"],{random:function(a,i,m,r){if(i==0){jQuery.jQueryRandom=Math.floor(Math.random()*r.length)};return i==jQuery.jQueryRandom}});
/* ==========================================================
 * MobilySlider
 * date: 20.1.2010
 * author: Marcin Dziewulski
 * last update: 02.02.2011
 * web: http://www.mobily.pl or http://playground.mobily.pl
 * email: hello@mobily.pl
 * Free to use under the MIT license.
 * ========================================================== */
(function($){$.fn.mobilyslider=function(options){var defaults={content:".sliderContent",children:"div",transition:"horizontal",animationSpeed:300,autoplay:false,autoplaySpeed:3000,pauseOnHover:false,bullets:true,arrows:true,arrowsHide:true,prev:"prev",next:"next",animationStart:function(){},animationComplete:function(){}};var sets=$.extend({},defaults,options);return this.each(function(){var $t=$(this),item=$t.children(sets.content).children(sets.children),l=item.length-1,w=item.width(),h=item.height(),step=0,play,bullets,arrows,z,active,bullet;var slider={init:function(){slider.data();if(sets.bullets){slider.bullets.create()}if(sets.arrows){slider.arrows.create()}if(sets.autoplay){slider.autoplay()}slider.triggers()},data:function(){item.each(function(i){$(this).css("z-index",-(i-l))});if(sets.transition=="fade"){item.hide().eq(0).show()}},zindex:{prev:function(){step==l?item.eq(0).css("z-index",l+3):item.css("z-index",l+1);item.eq(step).css("z-index",l+4).next(item).css("z-index",l+2)},next:function(){item.css("z-index",l+1).eq(step).css("z-index",l+3).prev(item).css("z-index",l+2)},bullets:function(){item.css("z-index",l+1).eq(active).css("z-index",l+2);item.eq(step).css("z-index",l+3)},trigger:function(){if(z==1){slider.zindex.next()}else{if(z==-1){slider.zindex.prev()}else{if(z==0){slider.zindex.bullets()}}}}},slide:{left:function(sign){sets.animationStart.call(this);item.eq(step).animate({left:sign+"="+w},sets.animationSpeed,function(){slider.zindex.trigger()}).animate({left:0},sets.animationSpeed+200,function(){sets.animationComplete.call(this)})},top:function(sign){sets.animationStart.call(this);item.eq(step).animate({top:sign+"="+h},sets.animationSpeed,function(){slider.zindex.trigger()}).animate({top:0},sets.animationSpeed+200,function(){sets.animationComplete.call(this)})},fade:function(){sets.animationStart.call(this);item.fadeOut(sets.animationSpeed).eq(step).fadeIn(sets.animationSpeed,function(){sets.animationComplete.call(this)})}},animation:{previous:function(){step==0?step=l:step--;z=-1;switch(sets.transition){case"horizontal":slider.slide.left("-");break;case"vertical":slider.slide.top("+");break;case"fade":slider.slide.fade();break}},next:function(){step==l?step=0:step++;z=1;switch(sets.transition){case"horizontal":slider.slide.left("+");break;case"vertical":slider.slide.top("-");break;case"fade":slider.slide.fade();break}}},autoplay:function(){play=setInterval(function(){slider.animation.next();if(sets.bullets){setTimeout(function(){slider.bullets.update()},sets.animationSpeed+300)}},sets.autoplaySpeed)},pause:function(){clearInterval(play)},bullets:{create:function(){$t.append($("<div />").addClass("sliderBullets"));bullets=$t.find(".sliderBullets");for(i=0;i<=l;i++){bullets.append($("<a />").attr({href:"#",rel:i}).text(i))}},trigger:function(){bullet=bullets.find("a");bullet.eq(0).addClass("active");bullet.click(function(){var b=$(this),rel=b.attr("rel");active=bullet.filter(".active").attr("rel");step=rel;sign=rel>active?"+":"-";z=0;if(!b.hasClass("active")){switch(sets.transition){case"horizontal":slider.slide.left(sign);break;case"vertical":slider.slide.top(sign);break;case"fade":slider.slide.fade();break}}bullet.removeClass("active");b.addClass("active");return false})},update:function(){bullet.removeClass("active").eq(step).addClass("active")}},arrows:{create:function(){$t.append($("<div />").addClass("sliderArrows"));arrows=$t.find(".sliderArrows");arrows.append($("<a />").attr("href","#").addClass(sets.prev).text("Previous"));arrows.append($("<a />").attr("href","#").addClass(sets.next).text("Next"))},trigger:function(){arrows.find("."+sets.prev).click(function(){slider.animation.previous();if(sets.bullets){slider.bullets.update()}return false});arrows.find("."+sets.next).click(function(){slider.animation.next();if(sets.bullets){slider.bullets.update()}return false});if(sets.arrowsHide){arrows.hide();$t.hover(function(){arrows.show()},function(){arrows.hide()})}}},triggers:function(){if(sets.arrows){slider.arrows.trigger()}if(sets.bullets){slider.bullets.trigger()}if(sets.pauseOnHover){$t.hover(function(){slider.pause()},function(){slider.autoplay()})}}};slider.init()})}}(jQuery));
$(function(){
	$.historyInit(loadContent, "index.php");

	$('#search_input').focus(function(){
		if( $(this).val() == 'Volltextsuche' || $(this).val() == 'Ricerca a tutto testo' || $(this).val() == 'Recherche' ){
			$(this).val('');
		}
	});
	$('#search_input').blur(function(){
		if( $(this).val() == '' ){
			//$(this).val('Volltextsuche');
		}
	});

	$('#newsletter_mail_addr').focus(function(){
		if( $(this).val() == 'Ihre E-Mail Adresse' ){
			$(this).val('');
		}
	});
	$('#newsletter_mail_addr').blur(function(){
		if( $(this).val() == '' ){
			$(this).val('Ihre E-Mail Adresse');
		}
	});

	//$('#main_menu a, #sidebar a[href*=.php], #content a[href*=.php]').click(loadContent);
	prepareLinks($('#main_menu a[href!=index.php], #sidebar a[href*=.php], #content a[href*=.php]'));
	$('#main_menu a[href!=index.php], #sidebar a[href*=.php], #content a[href*=.php]').live( 'click', function(){
		//console.log('asdasd');
		var hash = this.href;
		hash = hash.replace(/^.*#/, '');
		$.historyLoad(hash);
		return false;
	});
	$('#main_menu a[href!=index.php], #sidebar a[href*=.php]').click(function(){
		var obj;
		switch($(this).attr('href')){
			case '#news':
			case '#jobs':
			case '#events':
			case '#index/s/Ambiente':
			case '#index/s/PreiseOffnungszeiten':
				obj = $('div.header div img:nth(1)');
				break;
			case '#girls':
				obj = $('div.header div img:nth(2)');
				break;
			case '#gallery':
				obj = $('div.header div img:nth(3)');
				break;
			case '#services':
				obj = $('div.header div img:nth(4)');
				break;
			case '#index/s/Kontaktdaten':
			case '#index/s/Dati%20di%20contatto':
			case '#contact':
			case '#directions':
			case '#guestbook':
			case '#index/s/Impressum':
				obj = $('div.header div img:nth(5)');
				break;
			case '#girls_info':
				obj = $('div.header div img:nth(6)');
				break;
			case '#links':
				obj = $('div.header div img:nth(7)');
				break;
			case '#press':
				obj = $('div.header div img:nth(8)');
				break;
		}
		if(!obj.is(':visible')){
			$('div.header img:visible:not(.header_border)').fadeOut(function(){
				$('div.header div').show();
			});
			obj.fadeIn();
		}
	});


	// pass options to ajaxForm
	$('#register_newsletter').ajaxForm({
		dataType: 'json',
		beforeSubmit: function(){
			var mail_addr = $('#newsletter_mail_addr').val();
			if( !valid.isEmail(mail_addr) ){
				$.jGrowl('Bitte tragen Sie eine gültige E-Mail Adresse ein', {
					header: 'Fehler',
					theme: 'red'
				});
				$('#newsletter_mail_addr').val('')[0].focus();
			} else {
				var toBlock = $('#register_newsletter').parents('.content_box');
				toBlock.block({message: 'Bitte warten'});
			}
			return valid.isEmail(mail_addr);
		},
		success: function(response) {
			var msg = response.success || response.error;
			$.jGrowl(msg, {
				header: response.title,
				theme: 'green'
			});
			var toBlock = $('#register_newsletter').parents('.content_box');
			toBlock.unblock();
		}
	});

    scroller = $("div.news.news_scroller .scrollable").scrollable({
		size: 1,
		globalNav: true,
		clickable:false,
		api: true,
		nextPage:'.nextPage',
		prevPage:'.prevPage',
		onSeek: function(){
			var left = this.getItemWrap().find('li:first-child').width() * this.getIndex();
			this.getItemWrap().animate({left: '-' + left});
		}
	});
    scroller_1 = $("div.news.themes_scroller .scrollable").scrollable({
		size: 1,
		globalNav: true,
		clickable:false,
		api: true,
		nextPage:'.nextPage_1',
		prevPage:'.prevPage_1',
		onSeek: function(){
			var left = this.getItemWrap().find('li:first-child').width() * this.getIndex();
			$('.themes_scroller .header_wrapper ul.items').animate({left: '-' + left});
		}
	});
	var today = $('.today').text();
	$('.day').each(function(i){
		if($(this).text() == today) scroller_1.move(i);
	});

	setTimeout(function(){
		$('.content_wrapper .scrollable').height($('.content_wrapper .scrollable ul').height() + 20);
		$('.content_wrapper #archiv_link').css('top', $('.content_wrapper .scrollable ul').height() + 13);
	}, 100);

	$('#expand_event_info').toggle(function(){
		var eh = $('.event .more').height();
		$('.event .more').slideDown();
		mh = parseInt($('#content .left .content').css('max-height'));
		if( mh > 0 ){
			$('#content .left .content').animate({'max-height': eh + mh + 18});
		}
		event_info_open = true;
	}, function(){
		$('.event .more').slideUp();
		event_info_open = false;

		$('#content .left .content').animate({'max-height': mh});
	});
	$('.event .more').hide();


	initSearch();


	$('a.girls_more').live('click', function(){
		$(this).next('div').toggle('slow');
	});


	/*LANGUAGE NAVIGATION*/
	$('#lang-menu').hover(function(){
		$('#langs').toggle();
	},
	function(){
		$('#langs').toggle();
	});
	resizeContent();
});
function resizeContent(){
	$('.container_12 .grid_9 .content_box .content_wrapper div.content').css({
		maxHeight:$('#sidebar').height() - 82
	})
}
function loadContent(hash){
	if(hash == '' || hash == 'index'){
		window.location.href='index.php';
	} else {
		var parts = hash.split('/');
		if( typeof parts[0] == 'undefined' ){
			parts[0] = '';
		}
		if( typeof parts[1] == 'undefined' ){
			parts[1] = '';
		}
		if( typeof parts[2] == 'undefined' ){
			parts[2] = '';
		}
		var href = ( parts[0] != '' ? parts[0] + '.php' + (parts[1] != '' ? '?' + parts[1] + (parts[2] != '' ? '=' + parts[2] : '') : '') : '' );
		$('#content').block({message: 'Bitte warten'});
		$('#content').load(href, function(response, status, xhr){
			if( status == 'error' ){
				$('#content').unblock();
				$.jGrowl('Es ist ein Fehler aufgetreten.<br />Bitte versuchen Sie es in K&uuml;rze noch einmal...', {
					header: 'Fehler',
					theme: 'red'
				});
			} else {
				if( typeof pageTracker != 'undefined' ){
					pageTracker._trackPageview(href);
				}
				resizeContent();
				prepareLinks($('#content a[href*=.php]'));
				$('#content').unblock();
				var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
				var dsoctop = document.all ? iebody.scrollTop : pageYOffset;
				if( dsoctop > $('.header').height() ){
					$.scrollTo( $('#main_menu'), 800 );
				}
				//Shadowbox.setup("a[href$='.mp4']");
			}

		})
	}
	return false;
}

function prepareLinks(links){
	var url_hash_pattern = /([a-zA-Z_]+).php(\?([a-z{1}]+)=([a-zA-Z0-9\%\+]+))*/;
	var parts = [];
	var hash = '';
	var load = '';
	var p = '';
	var hashstring = '';
	links.each(function(){
		parts = url_hash_pattern.exec(this.href);
		//console.log(this, parts);

		if( parts != null ){
			hash = parts[1];
			load = parts[3];
			p = parts[4];

			hashstring = '#' + hash + (typeof load == 'undefined' || load == '' ? '' : '/' + load ) + (typeof p == 'undefined' || p == '' ? '' : '/' + p );
			this.href = hashstring;
		}
	});
}

function initSearch(){
	var len 		= 800; 		// Length of the timeout
	var min_len		= 2;		// minimum amount of letters the user has to enter
	$('#search_input').blur(function(){
		$('#search_results').fadeOut();
	});
	$('#search_input').keyup(function(){
		var value = $(this).val();
		if( value.length < min_len && value.length != 0 ){
			$('#search_results').fadeOut();
		}

		if( typeof time != 'undefined' ){
			window.clearTimeout(time);
			delete time;
		}

		time = window.setTimeout( function(){
			$('#search_indicator').fadeIn();
			if( value.length >= min_len || value.length == 0 ){
				if( value.length != 0 ){
					$('#search_results').load('search.php', {
						req: value
					}, function(){
						if( value.length >= min_len || value.length == 0 ){
							$('#search_results').fadeIn();
							$('#search_indicator').fadeOut();
						}
					});
				} else {
					$('#search_results').fadeOut();
				}
			}
		}, len);
	})
}

function changeLanguage(lang){
	window.location.href = 'index.php?lang=' + lang;
}
