$(document).ready(function(){
	
	/* popup 
	 ********/
	$('a.popup').click(function(){
		var newwindow = window.open($(this).attr('href'),'','height=350,width=550');
		if (window.focus) newwindow.focus();
		return false;
	});
	
	
	/* navigation 
	 *************/
	$('header nav > ul > li').hover(
			function() {
				$(this).toggleClass('hover');
				$(this).children('img.act').show();
				$(this).children('img.inact').hide();
				$(this).children('ul').css('display', 'block');
				if($.browser.msie && $.browser.version < 7)
				{
					$('header nav').height(300);
				}
			},
			function() {
				$(this).toggleClass('hover');
				$(this).children('img.inact').show();
				$(this).children('img.act').hide();
				$(this).children('ul').css('display', 'none');
				if($.browser.msie && $.browser.version < 7)
				{
					$('header nav').height(40);
				}
			}
	);
	
	/* accordion
	 ************/
	$('section.accordion').accordion({
		navigation:true,
		autoHeight:false,
		collapsible:true,
		active:false
	});
	
	
	/* grid links
	 *************/
	$('ul.grid_links li a, ul.faq li a').hover(
		function() {
			$(this).parent().toggleClass('hover');
		},
		function() {
			$(this).parent().toggleClass('hover');
		}
	);
	
	/* login box
	 **************/
	$('section#login input').focus(function(){
		if ($(this).attr('rel') != '' && $(this).val() == $(this).attr('rel')) $(this).val('');
	}).blur(function(){
		if ($(this).attr('rel') != '' && $(this).val() == '') $(this).val($(this).attr('rel'));
	});
	$('section#login_expanded input').focus(function(){
		if ($(this).attr('rel') != '' && $(this).val() == $(this).attr('rel')) $(this).val('');
	}).blur(function(){
		if ($(this).attr('rel') != '' && $(this).val() == '') $(this).val($(this).attr('rel'));
	});

	/* agecheck box
	 **************/
	$('section#agecheck input').focus(function(){
		if ($(this).attr('rel') != '' && $(this).val() == $(this).attr('rel')) $(this).val('');
	}).blur(function(){
		if ($(this).attr('rel') != '' && $(this).val() == '') $(this).val($(this).attr('rel'));
	});
	
	/* table rows
	 *************/
	$('table.data tr:odd').addClass('odd');
	
	
	/* ie all fixes
	 ***************/
	if($.browser.msie && $.browser.version >= 7)
	{
		/* inner span wrap for a.btn and button.btn */
		$('a.btn').wrapInner('<span />');
		$('button.btn').wrapInner('<span />');
	}
	
	/* ie7 fixes
	 ***************/
	if($.browser.msie && $.browser.version <= 7)
	{
		$('header nav > ul > li > ul').each(function() {
			$(this).find('a').width($(this).width());
		});
		$('table td[colspan]').addClass('colspan');
	}
	
	
	/* ie6 fixes
	 ***************/
	if($.browser.msie && $.browser.version < 7)
	{
		$('header nav > ul > li > a > img').each(function(){
			$(this).parent().parent().css('width', $(this).width()+4);
			$(this).parent().parent().css('height', $(this).height());
		});
		
		/* manual click event for positioned teaser links */
		$('ul.teaser li').each(function(){
			$(this).click(function(){
				if ($(this).find('a').attr('href'))
					window.location = $(this).find('a').attr('href');
				else 
					alert('Ihr Browser (Internet Explorer 6)\nunterstützt diese Funktion nicht!');
			});
		});
		/* manual click event for positioned logout button */
		$('section#logged_in .head').click(function(){
			if ($(this).find('a').attr('href'))
				window.location = $(this).find('a').attr('href');
			else 
				alert('Ihr Browser (Internet Explorer 6)\nunterstützt diese Funktion nicht!');
		});
		/* manual click event for links in agecheck_error */
		$('section#agecheck_error').click(function(){
			if ($(this).find('a').attr('href'))
				window.location = $(this).find('a').attr('href');
			else 
				alert('Ihr Browser (Internet Explorer 6)\nunterstützt diese Funktion nicht!');
		});
		/* add colspan class to colspan td-cells */
		$('table td[colspan]').addClass('colspan');
	}


	/* faq overview
	 ***************/
	$('section.faq ol li ol, section.faq ol div').addClass('hide');
	
	$('section.faq ol li h3 a').click(function(){
		$(this).parent().parent().parent().find('h3').removeClass('act');
		$(this).parent().parent().parent().find('div').addClass('hide');
		$(this).parent().parent().parent().find('ol').addClass('hide');
		
		$(this).parent().toggleClass('act');
		$(this).parent().next().toggleClass('hide');
		$(this).parent().next().next().toggleClass('hide');
		return false;
	});
	$('section.faq ol li h3 a').hover(
			function() {
				$(this).parent().addClass('hover');
			},
			function() {
				$(this).parent().removeClass('hover');
			}
	);

	/* question mark icon
	 *********************/
	$('label img.question').hover(
			function() {
				$(this).parent().next().next().fadeIn();
			},
			function() {
				$(this).parent().next().next().fadeOut();
			}
	);

	/* invite friends
	 ***************/
	$('#request_code_btn').click(function () {
		$('#request_code_btn').hide();
		$('#referral_code').fadeIn();
	});


	/* premium - order
	 *********************/
	$('#PremiumId').change(function() {
		var premiumId = $(this).val();

		$('.premium_image').attr('style', 'display:none;');
		$('#premium_image_'+premiumId).show();
	});
	
	/* premium - overview
	 *********************/
	/* list items */
	$('div.prem_level:even').addClass('odd');
	$('div.prem_group:even div.prem_img').addClass('odd');
	$('div.prem_group:even div.prem_text').addClass('odd');

	/* add first child class */
	$('div.prem_group').children('div:nth-child(3)').addClass('first-child');
	
	/* add last child class */
	$('div.prem_group > div:last-child').addClass('last-child');
	
	/* hidden premium group items */
//	$('div.prem_group > div:not(.first-child').addClass('hidden');
		
	$('.next').click(function(){
		var list = $(this).parent('.prem_group');
		var items = $(this).siblings('div');
		var size = items.size();
		
		// hide current premium
		var visible = items.not('.hidden');
		visible.hide(0,function(){
			$(this).addClass('hidden');
		});
		
		// show next or first premium
		if(visible.index()< size+1){
			var next = visible.next();
			next.show(0, function(){
				$(this).removeClass('hidden');
			});
		}else if(visible.index()== size+1){
			var next = visible.siblings('.first-child');
			next.show(0, function(){
				$(this).removeClass('hidden');
			});
		};
		return false;
	});
	
	$('.prev').click(function(){
		var list = $(this).parent('.prem_group');
		var items = $(this).siblings('div');
		var size = items.size();		
		
		// hide current premium
		var visible = items.not('.hidden');
		visible.hide(0,function(){
			$(this).addClass('hidden');
		});
		
		// show previous or last premium
		if(visible.index()> 2){
			var prev = visible.prev();
			prev.show(0, function(){
				$(this).removeClass('hidden');
			});
		}else if(visible.index()== 2){
			var prev = visible.siblings('.last-child');
			prev.show(0, function(){
				$(this).removeClass('hidden');
			});
		}; 
		return false;
	});
	
	$('input.btn').mouseup(function(){
		$(this).before('<p><strong>Wird gespeichert, bitte warten...</strong><br /></p>');
	});
	
	/* image preloader
	*******************/
	(function($) {
  	    var cache = [];
	    // Arguments are image paths relative to the current page.
	    $.preLoadImages = function() {
	    	var args_len = arguments.length;
	    	for (var i = args_len; i--;) {
	    		var cacheImage = document.createElement('img');
	    		cacheImage.src = arguments[i];
	    		cache.push(cacheImage);
	    	}
	    }
	})(jQuery)
});
