// locale
xls_locale.en = {
	Login_successful_welcome_back : 'Login successful, welcome back ',
	Authentication_please_wait : 'Authentication... please wait',
	Welcome : 'Welcome',
	Refresh_page_please_wait : 'Refresh page, please wait...',
	Notification_of_account_activation : 'Notification of account activation will be sent by email.',
	Login_failed : 'Login failed, wrong username or password.<br>Please retry.',
	Email_verification : 'Email verification... please wait',
	Password_sent : 'Password sent. Check your email',
	A_connection_error_occurred : 'A connection error occurred, please retry',
	Changes_saved_successfully : 'Changes saved successfully.',
	Saving_please_wait : 'Saving... please wait',
	Registration_failed : 'Registration failed.<br>Reason',
	Registration_complete : 'Registration complete.<br>Your account will be activated immediately, and you have been sent an e-mail with your account details.',
	Sending_registration : 'Sending registration... please wait',
	Saving_changes_failed : 'Saving changes failed.<br>Reason'
};

xls_locale.it = {
	Login_successful_welcome_back : 'Login eseguito con successo, bentornato/a ',
	Authentication_please_wait : 'Autenticazione... attendere per favore',
	Welcome : 'Bentornato',
	Refresh_page_please_wait : 'Caricamento della pagina, attendere per favore...',
	Notification_of_account_activation : 'La notifica di attivazione dell\'account è stata inviata alla tua email.',
	Login_failed : 'Login fallito, username o password non corretti.<br>Si prega di riprovare.',
	Email_verification : 'Verifica email... attendere per favore',
	Password_sent : 'Password inviata. Contralla la tua email',
	A_connection_error_occurred : 'Si è verificato un errore di connessione, si prega di riprovare',
	Changes_saved_successfully : 'Le modifiche sono state salvate.',
	Saving_please_wait : 'Salvo le modifiche... attendere per favore',
	Registration_failed : 'Registrazione fallita.<br>Motivo',
	Registration_complete : 'Registrazione completata.<br>Il tuo account è attivo, ti è stata inviata una e-mail con i dati del tuo account.',
	Sending_registration : 'Invio della registrazione... attendere per favore',
	Saving_changes_failed : 'Modifiche non salvate.<br>Motivo'
};

$(document).ready(function(){
	
	// var for IE6 fix
	var topOffset = '-394px';
	if ($.browser.msie && $.browser.version < 7) {
		topOffset = '-457px';
	}
	
	// signup / login panel show
	$('a#header_signup,a#header_login,a#header_myaccount').click(function(){
		// switch
		$('#login_panel_content').hide();
		$('#close_panel_content').fadeIn();
		if( $(this).attr('id')=='header_signup' || $(this).attr('id')=='header_myaccount' ) {
			$('div#profile_login_panel,div#profile_recover_panel').hide();
			$('div#profile_signup_panel').show();
		}else{
			$('div#profile_login_panel').fadeIn();
			$('div#profile_signup_panel,div#profile_recover_panel').hide();
		}
		// open
		$('div#hidden_login').animate({
			top: '0px'
		}, 500, function(){});
		return false;
	});
	
	// signup / login panel hide
	$('a#header_close').click(function(){
		// switch
		$('#login_panel_content').fadeIn();
		$('#close_panel_content').hide();
		// close
		$('div#hidden_login').animate({
			top: topOffset
		}, 500, function(){
			$('div#profile_login_panel,div#profile_recover_panel').hide();
			$('div#profile_signup_panel').show();
		});
		// revert if myaccount active
		$('#cancel_button').trigger('click');
		return false;
	});
	
	// switch to signup
	$('a#goto_signup').click(function(){
		$('div#profile_login_panel').hide();
		$('div#profile_signup_panel').fadeIn();
		return false;
	});
	// switch to login
	$('a#goto_login').click(function(){
		$('div#profile_recover_panel,div#profile_signup_panel').hide();
		$('div#profile_login_panel').fadeIn();
		return false;
	});
	// switch to recover password
	$('a#goto_recover').click(function(){
		$('div#profile_login_panel,div#profile_signup_panel').hide();
		$('div#profile_recover_panel').fadeIn();
		return false;
	});
	
	// login submit trigger
	$('#login_button').click(function(){
		$('#hidden_login_form').submit();
		return false;
	});
	// recover submit trigger
	$('#retrieval_button').click(function(){
		$('#hidden_recover_form').submit();
		return false;
	});
	// signup submit trigger
	$('#signup_button').click(function(){
		$('#hidden_signup_form').submit();
		return false;
	});
	// myaccount submit trigger
	$('#save_button').click(function(){
		$('#hidden_myaccount_form').submit();
		return false;
	});
	
	// modify & update data account
	$('#modify_button').click(function(){
		$('#hidden_myaccount_form p.account_data').hide();
		$('#hidden_myaccount_form input[name="username"]').css('color','#666');
		$('#hidden_myaccount_form input.hidden').fadeIn();
		$('#modify_button').addClass('hidden');
		$('#save_button, #cancel_button').removeClass('hidden');
		return false;
	});
	
	//cancel button
	$('#cancel_button').click(function(){
		$('#hidden_myaccount_form p.account_data').fadeIn();
		$('#hidden_myaccount_form input.hidden').hide();
		$('#modify_button').removeClass('hidden');
		$('#save_button, #cancel_button').addClass('hidden');
		return false;
	});
	
	
	// validate setup
	//$.validator.messages.required = "";
	//$.validator.messages.email = "";
	
	// login validation
	$('#hidden_login_form').validate({
		submitHandler: function() {
			var login_data = "";
			login_data += '&username='+$('#hidden_login_form input[name=username]').val();
			login_data += '&password='+$('#hidden_login_form input[name=password]').val();
			if ($('#hidden_login_form input[name=autologin]').attr('checked')) {
				login_data += '&autologin='+$('#hidden_login_form input[name=autologin]').val();
			}
			$('#hidden_login_form').find('p,fieldset,a,span.remember_me').hide();
			$('#hidden_login_form').prepend('<p class="message loading">'+xls_locale[xls_lang].Authentication_please_wait+'</p>');
			$.ajax({
				type: 'POST',
				url: $('#hidden_login_form').attr('action') + '?action=login',
				cache: false,
				data: login_data,
				success: function(html){
					if ( $.trim(html).indexOf('OK:')==0 ) {
						$('#hidden_login_form p.message').removeClass('loading').addClass('accept').html( xls_locale[xls_lang].Login_successful_welcome_back +$.trim(html).replace('OK:', '')+'!');
						$('#login_panel_content').find('span,a').remove()
						$('#login_panel_content').prepend('<span class="welcome">'+ xls_locale[xls_lang].Welcome + ' ' + $.trim(html).replace('OK:', '')+'</span><span> | </span><a href="'+$('#hidden_login_form').attr('action')+'?action=logout"  id="header_logout">Logout</a>');
						setTimeout(function(){
							$('#hidden_login_form p.message').removeClass('accept').addClass('loading').html(xls_locale[xls_lang].Refresh_page_please_wait);
							window.location = window.location;
						},2000);
					}else if ($.trim(html)=='Account not enabled.') {
						$('#hidden_login_form p.message').removeClass('loading').addClass('warning').html($.trim(html) + '<br>' + xls_locale[xls_lang].Notification_of_account_activation);
						setTimeout(function(){
							$('#hidden_login_form p.message').remove();
							$('#hidden_login_form').find('p,fieldset,a,span.remember_me').fadeIn();
						},3000);
					}else{
						$('#hidden_login_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].Login_failed);
						setTimeout(function(){
							$('#hidden_login_form p.message').remove();
							$('#hidden_login_form').find('p,fieldset,a,span.remember_me').fadeIn();
						},3000);
					}
				},
				error: function(html){
					$('#profile_login_panel p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].A_connection_error_occurred);
						setTimeout(function(){
							$('#profile_login_panel p.message').remove();
							$('#profile_login_panel').find('p,fieldset,a,span.remember_me').fadeIn();
						},3000);
				}
			});
		}
	}); // end: login validation
	
	// recover validation
	$('#hidden_recover_form').validate({
		submitHandler: function() {
			var recover_data = "";
			recover_data += '&username='+$('#hidden_recover_form input[name=username]').val();
			$('#hidden_recover_form').find('p,fieldset,a').hide();
			$('#hidden_recover_form').prepend('<p class="message loading">'+xls_locale[xls_lang].Email_verification+'</p>');
			$.ajax({
				type: 'POST',
				url: $('#hidden_recover_form').attr('action'),
				cache: false,
				data: recover_data,
				success: function(html){
					if ( $.trim(html)=='OK' ) {
						$('#hidden_recover_form p.message').removeClass('loading').addClass('accept').html(xls_locale[xls_lang].Password_sent);
						setTimeout(function(){
							$('#hidden_recover_form p.message').remove();
							$('#hidden_recover_form').find('p,fieldset,a').fadeIn();
						},10000);
					}else{
						$('#hidden_recover_form p.message').removeClass('loading').addClass('warning').html(html);
						setTimeout(function(){
							$('#hidden_recover_form p.message').remove();
							$('#hidden_recover_form').find('p,fieldset,a').fadeIn();
						},6000);
					}
				},
				error: function(html){
					$('#hidden_recover_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].A_connection_error_occurred);
						setTimeout(function(){
							$('#hidden_recover_form p.message').remove();
							$('#hidden_recover_form').find('p,fieldset,a').fadeIn();
						},3000);
				}
			});
		}
	}); // end: recover validation
	
	
	
	
	// signup validation
	$('#hidden_signup_form').validate({
		rules: {
			password: {
				minlength: 5
			},
			confirm_password: {
				equalTo: '#hidden_signup_form input[name=password]'
			}
		},
		submitHandler: function() {
			var signup_data = "";
			signup_data += '&first_name='+$('#hidden_signup_form input[name="first_name"]').val();
			signup_data += '&last_name='+$('#hidden_signup_form input[name=last_name]').val();
			signup_data += '&company='+$('#hidden_signup_form input[name=company]').val();
			signup_data += '&country='+$('#hidden_signup_form input[name=country]').val();
			signup_data += '&email='+$('#hidden_signup_form input[name=username]').val();
			signup_data += '&username='+$('#hidden_signup_form input[name=username]').val();
			signup_data += '&password='+$('#hidden_signup_form input[name=password]').val();
			if ( $('#hidden_signup_form input[name=mailing_list]').is(':checked') ) {
				signup_data += '&mailing_list=1';
			}else{
				signup_data += '&mailing_list=0';
			}
			$('#hidden_signup_form').find('p,fieldset,a').hide();
			$('#hidden_signup_form').find('div.sx').append('<p class="message loading">'+xls_locale[xls_lang].Sending_registration+'</p>');
			$.ajax({
				type: 'POST',
				url: $('#hidden_signup_form').attr('action'),
				cache: false,
				data: signup_data,
				success: function(html){
					if ( $.trim(html)=='OK' ) {
						$('#hidden_signup_form p.message').removeClass('loading').addClass('accept').html(xls_locale[xls_lang].Registration_complete);
						setTimeout(function(){
							$('#hidden_signup_form p.message').remove();
							$('#hidden_signup_form').find('p,fieldset,a').fadeIn('normal',function(){
								$('#header_close').trigger('click');
							});
						},10000);
					}else{
						$('#hidden_signup_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].Registration_failed+':<br>'+$.trim(html));
						setTimeout(function(){
							$('#hidden_signup_form p.message').remove();
							$('#hidden_signup_form').find('p,fieldset,a').fadeIn();
						},10000);
					}
				},
				error: function(html){
					$('#hidden_signup_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].A_connection_error_occurred);
						setTimeout(function(){
							$('#hidden_signup_form p.message').remove();
							$('#hidden_signup_form').find('p,fieldset,a').fadeIn();
						},3000);
				}
			});
		}
	}); // end: signup validation
	
	
	// myaccount validation
	$('#hidden_myaccount_form').validate({
		rules: {
			password: {
				minlength: 5
			},
			confirm_password: {
				equalTo: '#hidden_myaccount_form input[name=password]'
			}
		},
		submitHandler: function() {
			var signup_data = "";
			signup_data += '&first_name='+$('#hidden_myaccount_form input[name="first_name"]').val();
			signup_data += '&last_name='+$('#hidden_myaccount_form input[name=last_name]').val();
			signup_data += '&company='+$('#hidden_myaccount_form input[name=company]').val();
			signup_data += '&country='+$('#hidden_myaccount_form input[name=country]').val();
			signup_data += '&email='+$('#hidden_myaccount_form input[name=username]').val();
			signup_data += '&username='+$('#hidden_myaccount_form input[name=username]').val();
			signup_data += '&password='+$('#hidden_myaccount_form input[name=password]').val();
			if ( $('#hidden_myaccount_form input[name=mailing_list]').is(':checked') ) {
				signup_data += '&mailing_list=1';
			}else{
				signup_data += '&mailing_list=0';
			}
			$('#hidden_myaccount_form').find('p,fieldset').hide();
			$('#save_button, #cancel_button').addClass('hidden');
			$('#hidden_myaccount_form').find('div.sx').append('<p class="message loading">'+xls_locale[xls_lang].Saving_please_wait+'</p>');
			$.ajax({
				type: 'POST',
				url: $('#hidden_myaccount_form').attr('action'),
				cache: false,
				data: signup_data,
				success: function(html){
					if ( $.trim(html)=='OK' ) {
						$('#hidden_myaccount_form p.message').removeClass('loading').addClass('accept').html(xls_locale[xls_lang].Changes_saved_successfully);
						setTimeout(function(){
							// update <p> values
							$('#hidden_myaccount_form p[rel="first_name"]').html( $('#hidden_myaccount_form input[name="first_name"]').val() );
							$('#hidden_myaccount_form p[rel="last_name"]').html( $('#hidden_myaccount_form input[name="last_name"]').val() );
							$('#hidden_myaccount_form p[rel="company"]').html( $('#hidden_myaccount_form input[name="company"]').val() );
							$('#hidden_myaccount_form p[rel="country"]').html( $('#hidden_myaccount_form input[name="country"]').val() );
							
							// restore elem
							$('#hidden_myaccount_form p.message').remove();
							$('#hidden_myaccount_form p.account_data').show();
							$('#hidden_myaccount_form input.hidden').hide();
							$('#modify_button').removeClass('hidden');
							$('#save_button, #cancel_button').addClass('hidden');
							$('#hidden_myaccount_form').find('p,fieldset').fadeIn('normal');
						},3000);
					}else{
						$('#hidden_myaccount_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].Saving_changes_failed + ':<br>'+$.trim(html));
						setTimeout(function(){
							// restore elem
							$('#hidden_myaccount_form p.message').remove();
							$('#hidden_myaccount_form p.account_data').show();
							$('#hidden_myaccount_form input.hidden').hide();
							$('#modify_button').removeClass('hidden');
							$('#save_button, #cancel_button').addClass('hidden');
							$('#hidden_myaccount_form').find('p,fieldset').fadeIn('normal');
						},3000);
					}
				},
				error: function(html){
					$('#hidden_myaccount_form p.message').removeClass('loading').addClass('warning').html(xls_locale[xls_lang].A_connection_error_occurred);
						setTimeout(function(){
							// restore elem
							$('#hidden_myaccount_form p.message').remove();
							$('#hidden_myaccount_form p.account_data').show();
							$('#hidden_myaccount_form input.hidden').hide();
							$('#modify_button').removeClass('hidden');
							$('#save_button, #cancel_button').addClass('hidden');
							$('#hidden_myaccount_form').find('p,fieldset').fadeIn('normal');
						},3000);
				}
			});
		}
	}); // end: myaccount validation
	
	
	
	/* apply style to ol */
	if ( !$.browser.msie ) {
		$('#content ol li').css('color','#10A2FF');
		$('#content ol li').wrapInner('<span><span>');
		$('#content ol li span').css('color','#666');
		
		$('#content_wrapper ol li').css('color','#10A2FF');
		$('#content_wrapper ol li').wrapInner('<span><span>');
		$('#content_wrapper ol li span').css('color','#666');
	}
	
	/* accordion collapser */
	//$('div.accordion_content div').each (function() {
		//$(this).css("height", $(this).height());       // disabilitato per problemi nei 
	//});
	
	$('div.accordion_content').find('div').hide();
	
	$('a.accordion_switch').toggle(
		function () {
			$(this).next().slideDown('slow');
			$(this).parent().removeClass('accordion_closed').addClass('accordion_open');
			return false;
		},
		function () {
			$(this).next().slideUp('slow');
			$(this).parent().removeClass('accordion_open').addClass('accordion_closed');
		return false;
		}
	);
	
	
	
	/* rollover su menu principale */

	// set up
	$('div#header ul.main > li > ul').find('li:first').before('<li class="first"><span></span></li>');
	$('div#header ul.main > li > ul').find('li:last').after('<li class="last"><span></span></li>');
	$('div#header ul.main > li > ul').find('li a').after('<span></span>');
	$('div#header ul.main > li').each(function(){
		var maxWidth = 1;
		var liWidth = $(this).width();
		$target = $(this).find('ul');
		$target.find('li').each(function() {
			maxWidth = ( maxWidth > $(this).width()+10) ? maxWidth : $(this).width()+10;
		});
		if(maxWidth <= liWidth){
			maxWidth = liWidth;
			$target.find('li').css('width', maxWidth + 'px')
		}else{
			maxWidth = maxWidth;
			//inserisce un nuovo <li> in seconda posizione per fare l'angolo della sporgenza (quando serve)
			$target.find('li:first').after('<li class="submenu_top" ><span></span></li>');
			// assegno larghezza del <li> aggiungendo un px per bug su firefox
			$target.find('li').css('width',maxWidth + 1 + 'px')
		};
		
		$target.width(maxWidth);
		//alert( $target.text() + ': ' + maxWidth +'-'+ liWidth + '=' + (maxWidth - liWidth) );
		if ( (maxWidth - liWidth) < 50 ) $target.find('li').width( maxWidth + (50 - (maxWidth - liWidth) ) );
		$target.find('li:first').width(liWidth);
		$target.find('li:not(.first):not(.submenu_top)').height(20).find('span').height(20);
		
	});
	
	// change style submenu
	$('div#header ul.main li ul').css('visibility','visible').css('display','block').hide();
	
	// rollover
	$('div#header ul.main > li').hover(
		function() {
			$(this).find('ul').show();
		},
		function() {
			$(this).find('ul').hide();
		}
	);
	
	// breadcrumb setup
	var breadcrumb_w = 0;
	$('#breadcrumb_nav ul li').each(function(){
		breadcrumb_w += $(this).outerWidth();
		$(this).attr('rel',$(this).width());
	});
	// > 500
	if ( breadcrumb_w > 500 ) {
		$('#breadcrumb_nav ul li:not(:first):not(:last)').width(25).addClass('collapse').append('<span class="overlay"></span>');
	}
	// breadcrumb mouseover
	$('#breadcrumb_nav ul li.collapse').hover(
		function () {
			$(this).animate({'width':$(this).attr('rel')},200).find('span.overlay').hide();
		},
		function () {
			$(this).animate({'width':'25px'},100).find('span.overlay').show();
		}
	);
	
});



/* widget collapser */
/*
$(document).ready(function(){
	// Scrive le altezze di tutti i div da animare
	$('#widget_accordion div div').each (function() {
		$(this).css("height", $(this).height());
	});
	$('#widget_accordion div h4').click(function(event){
		// Applica display solo ai div da animare
		$(this).parent().find('div:first').slideToggle('slow', function() {
			if($(this).parent().hasClass('closed') || $(this).parent().hasClass('lclosed')){
				if ($(this).parent().html() == $('#widget_accordion > div:last').html() ){
						$('#widget_accordion > div:last').removeClass('lclosed');
				}else{
					$(this).parent().removeClass("closed");
				}
			}else{
				if ($(this).parent().html() == $('#widget_accordion > div:last').html() ){
					$('#widget_accordion > div:last').addClass('lclosed');
				}else{
					$(this).parent().addClass("closed");
				}
			}
  		});
	});
 });
*/

