$(function(){
	/*
	 * Custom jQuery Functions
	 */
	// jQuery logging
	jQuery.fn.log = function (msg) {

		console.log("%s: %o", msg, this);
		return this;

	};
	// Superfish Navigation
	$('div#nav ul.sf-menu').superfish();

	/*
	 * Panel
	 */
	$('#slider #greeting,#slider .toggle').click(function(){
		if((!$('#reg_form').length && $(this).attr('id')!='greeting') || $(this).attr('id')=='login'){
			$.validationEngine.closePrompt(".formError",true);
			if($('#panel_color').css('display')=='none'){
				$('#panel_color').slideDown("slow");
			} else {
				$('#panel_color').slideUp("slow");
			}
			if(!$('#mailEmail').length){
				$('#panel_color').css({height:'70px'});
			}
			$('#slider .toggle').toggle();
			$('#slider #close_reg').hide();
			$('#slider #reg').show();
			if((!$('#user').length && !$('#password').length && !$('#mailEmail').length) || ($('#mailEmail').length && $(this).attr('id')=='login')){
				/* login */
				$('#panel_color').addClass('loadingpanel').animate({height:'70px'});
				$('#panel_content').hide();
				$('#panel_content').load($('#login').attr('rel'),function(){
					$(".login form").validationEngine({
						promptPosition: "bottomRight",
						ajaxSubmit: true,
						ajaxSubmitFile: $('.login form').attr('action'),
						ajaxSubmitMessage: "Login Successful!",
						ajaxSubmitExtraData: "submit=true",
						reload: true,
						success :  true,
						failure : function() {}
					});
					$('#panel_content').fadeIn('slow');
					$('#panel_color').removeClass('loadingpanel');
				});
			}
		}
	});
	/* show user menu after login */
	if($('#panel_color').hasClass('justLoggedIn')){
		$('#panel_content').load($('#slider_user #menu').attr('rel'));
		$('#panel_color').css({height:'320px'});
		$('#panel_color').slideDown("slow");
		$('#slider_user .toggle_menu').toggle();
	}

	$('#slider .toggle_reg').click(function(){
		if($('#panel_color').css('display')=='none'){
			$('#panel_color').slideDown("slow");
		} else {
			$.validationEngine.closePrompt(".formError",true);
			$('#panel_color').slideUp("slow");
		}
		$('#slider .toggle_reg').toggle();
		$('#slider #close').hide();
		$('#slider #login').show();
		/* register */
		if(!$('#reg_form').length){
			$('#panel_color').addClass('loadingpanel').animate({height:'250px'});
			$('#panel_content').hide();
			$('#panel_content').load($(this).attr('rel'),function(){
				$("#reg_form").validationEngine({
					promptPosition: "bottomRight",
					ajaxSubmit: true,
					ajaxSubmitFile: $('#reg_form').attr('action'),
					ajaxSubmitMessage: "Thank you, we received your inscription!",
					ajaxSubmitExtraData: "userSend="+$('userSend').val(),
					reload: true,
					success :  true,
					failure : function() {}
				});
				$('#panel_content').fadeIn('slow');
				$('#panel_color').removeClass('loadingpanel');
			});
		}
	});

	$('#slider_user .toggle_menu').click(function(){
		if($('#panel_color').css('display')=='none'){
			$('#panel_color').css({height:'320px'});
			$('#panel_color').slideDown("slow");
		} else {
			$.validationEngine.closePrompt(".formError",true);
			$('#panel_color').slideUp("slow");
		}
		$('#slider_user .toggle_menu').toggle();
		$('#panel_content').load($(this).attr('rel'));

	});
	$('#slider_user #greeting').click(function(){
		if($('#panel_color').css('display')=='none'){
			$('#panel_color').css({height:'320px'});
			$('#panel_color').slideDown("slow");
		} else {
			$.validationEngine.closePrompt(".formError",true);
			$('#panel_color').slideUp("slow");
		}
		$('#slider_user .toggle_menu').toggle();
		$('#panel_content').load($(this).attr('rel'));
	});

	$('a[rel=register]').live('click',function(){
		$('#panel_color').addClass('loadingpanel');
		$('#slider #close').hide();
		$('#slider #login').show();
		$('#slider #close_reg').show();
		$('#slider #reg').hide();
		$('#panel_color').animate({height:'250px'});
		$('#panel_content').hide();
		$('#panel_content').load($(this).attr('href'),function(){
			$("#reg_form").validationEngine({
				promptPosition: "bottomRight",
				ajaxSubmit: true,
				ajaxSubmitFile: $('#panel_content form').attr('action'),
				ajaxSubmitMessage: "Thank you, we received your inscription!",
				ajaxSubmitExtraData: "userSend="+$('userSend').val(),
				reload: true,
				success :  false,
				failure : function() {}
			});
			$('#panel_content').fadeIn('slow');
			$('#panel_color').removeClass('loadingpanel');
		});
		return false;
	});

	$('a[rel=sendpw]').live('click',function(){
		$('#panel_color').addClass('loadingpanel').animate({height:'100px'});
		$('#panel_content').hide();
		$('#panel_content').load($(this).attr('href'),function(){
			$(".passwordforgotten form").validationEngine({
				promptPosition: "bottomRight",
				ajaxSubmit: true,
				ajaxSubmitFile: $('.passwordforgotten form').attr('action'),
				ajaxSubmitMessage: "Password re-send!",
				ajaxSubmitExtraData: "passSend="+$('.passwordforgotten #submit').val(),
				success :  false,
				failure : function() {}
			});
			$('#panel_content').fadeIn('slow');
			$('#panel_color').removeClass('loadingpanel');
		});
		return false;
	});


	/* Plant Profile */
	$(".plant_image a").overlay({
		target: '#plant_image',
        effect: 'apple',
        oneInstance: true,
        closeOnClick: true
	});

	// avatar position fix
	$('.profile_avatar span.whitebg_shadow img').hide();
	if($('.profile_avatar span.whitebg_shadow img').length){
		$('.profile_avatar span.whitebg_shadow').css('background','url(' + $('.profile_avatar span.whitebg_shadow img').attr('src') + ') no-repeat 50% 50%');
	} else {
		$('.profile_avatar span.whitebg_shadow').css('background','url(/img/icons/user_64.png) no-repeat 50% 50%');
	}
	if(('.tabs').length){
		$('ul.tabs li a').each(function(index){
			var button = this;
			$(this).click(function(){
				$('div.plant_parts div.tab').each(function(tindex){
					if(index == tindex){
						$('div.tab:eq(' + tindex + ')').show();
					} else {
						$('div.tab:eq(' + tindex + ')').hide();
					}
				});
				$('ul.tabs li a:not('+ $(this) + '.inactive' +')' ).addClass('inactive');
				$(this).removeClass('inactive');
				return false;
			});
			$('div.plant_parts div.tab').each(function(index){
				if(index == 0){
					$('div.tab:eq(' + index + ')').show();
				} else {
					$('div.tab:eq(' + index + ')').hide();
				}
			});
		});

		$('ul.ctabs li a').each(function(index){
			var button = this;
			$(this).click(function(){
				$('div.plant_charts div.ctab').each(function(tindex){
					if(index == tindex){
						$('div.ctab:eq(' + tindex + ')').show();
					} else {
						$('div.ctab:eq(' + tindex + ')').hide();
					}
				});
				$('ul.ctabs li a:not('+ $(this) + '.inactive' +')' ).addClass('inactive');
				$(this).removeClass('inactive');
				return false;
			});
			$('div.plant_charts div.ctab').each(function(index){
				if(index == 0){
					$('div.ctab:eq(' + index + ')').show();
				} else {
					$('div.ctab:eq(' + index + ')').hide();
				}
			});
		});
	}

	/*
	 * Language Menu
	 */
	$('#languages select').selectmenu({
			style:'dropdown',
			icons: [
				{find: '.de'},
				{find: '.en'},
				{find: '.es'},
				{find: '.be'},
				{find: '.fr'},
				{find: '.nl'},
				{find: '.pl'},
				{find: '.gr'},
				{find: '.it'},
				{find: '.cz'},
				{find: '.pt'},
				{find: '.jp'},
				{find: '.ru'},
				{find: '.ro'}
			]}).change(function(){
				window.location.href = $(this).val();
			});
	if($('.home').length && $.browser.msie){
		$('.ui-selectmenu-item-icon').css('left','-35px');
	}

	/*
	 * Home - Welcome Text Columns
	 */
	$('#welcome_text div').columnize({columns:2});

	/*
	 * Plants view all (Tooltip)
	 */
	$("#view_all a").tooltip({
		bodyHandler: function() {
			return $($(this).attr("href")).html();
		},
		showURL: false
	});

	/*
	 * Plant details (Tooltip)
	 */
	$(".plant_parts a").tooltip({
		bodyHandler: function() {
			return $($(this).attr("href")).html();
		},
		showURL: false
	});

	/*
	 * Plants Map
	 */
	if($('.plant #map').length){
		if(!$('#my_stat').length){
			starte(8);
			$('#maplinks').click(function(){ return false; });
		}
	}

	/*
	 * Country Comparison
	 */
	if($('table.compare').length){
		$.tablesorter.defaults.widgets = ['zebra'];
		$('table.compare').tablesorter();

		$('#compare_dd select[name=year]').change(function(){
			var newhref = $('#compare_dd').attr('action');
			newhref = newhref.split('?');
			newhref = newhref[0] + '?year=' + $(this).val();
			if($('input[name=country]').length){
				newhref = newhref + '&country=' + $('input[name=country]').val();
			}
			window.location.href=newhref;
		});

		$('#compare_bl select[name=year]').change(function(){
			var newhref = $('#compare_bl').attr('action');
			newhref = newhref.split('?');
			newhref = newhref[0] + '?year=' + $(this).val();
			if($('input[name=bl]').length){
				newhref = newhref + '&bl=' + $('input[name=bl]').val();
			}
			if($('input[name=bz]').length){
				newhref = newhref + '&bz=' + $('input[name=bz]').val();
			}
			if($('input[name=lk]').length){
				newhref = newhref + '&lk=' + $('input[name=lk]').val();
			}
			window.location.href=newhref;
		});
	}

	if ($("#pp_incomplete").length > 0 ) {
		$("#pp_incomplete").overlay({
			target: '#content_overlay',
        	effect: 'apple',
        	oneInstance: true,
        	closeOnClick: false,
        	load: true,
        	onBeforeLoad: function() {
				var wrap = this.getOverlay().find(".contentWrap");
				wrap.load('/ajax/plant/insertelements/info');
			}
		});
	}

	/* iframe info popup */
	$('#menu_plants a[rel=overlay]').live('mousedown',function(){
		var thisurl = $(this).attr('href');
		$(this).overlay({
			target: '#content_overlay',
        	effect: 'apple',
        	oneInstance: true,
        	closeOnClick: false,
        	load: true,
        	onBeforeLoad: function() {
				var wrap = this.getOverlay().find(".contentWrap");
				wrap.load(thisurl);
			}
		});
		return false;
	});

});
