$(document).ready(function() { 

	/** INSCRIPTION **/

	$('.form#inscription input[name=login]').blur(function() {
	
		$.post('/ajax/inscription/available.php',{login:$(this).attr('value')},function(html) {

			$('.form#inscription input[name=login]').removeClass('ok').removeClass('ko');
			$('.champ#clogin .tip').remove();
			if (html == '1') {
				$('.form#inscription input[name=login]').addClass('ok');
			} else {
				$('.form#inscription input[name=login]').addClass('ko');
				if (html == '0') {
					$('.champ#clogin').append('<div class="tip">Ce compte existe déjà sur BetaSeries.</div>');
				} else {
					$('.champ#clogin').append('<div class="tip">Votre nom contient des caractères non autorisés.</div>');
				}
			}
			
			testForm()
		
		});
	
	});
	
	$('.form#inscription input[name=mail]').blur(function() {
	
		$.post('/ajax/inscription/mail.php',{mail:$(this).attr('value')},function(html) {

			$('.form#inscription input[name=mail]').removeClass('ok').removeClass('ko');
			$('.champ#cmail .tip').remove();
			if (html == '1') {
				$('.form#inscription input[name=mail]').addClass('ok');
			} else {
				$('.form#inscription input[name=mail]').addClass('ko');
				$('.champ#cmail').append('<div class="tip">Votre adresse e-mail n\'est pas valide.</div>');
			}
			
			testForm()
		
		});
	
	});
	
	$('.form#inscription input[name=pass]').blur(function() {
	
	});

	$('.form#inscription input[name=passc]').blur(function() {

		$('.form#inscription input[name=pass]').removeClass('ok').removeClass('ko');
		$('.form#inscription input[name=passc]').removeClass('ok').removeClass('ko');
		$('.champ#cpassc .tip').remove();
		if ($('.form#inscription input[name=pass]').attr('value') == '' || $('.form#inscription input[name=pass]').attr('value') != $('.form#inscription input[name=passc]').attr('value')) {

			$('.form#inscription input[name=pass]').addClass('ko');
			$('.form#inscription input[name=passc]').addClass('ko');
			$('.champ#cpassc').append('<div class="tip">Vos mots de passe ne correspondent pas.</div>');

		} else {
		
			$('.form#inscription input[name=pass]').addClass('ok');
			$('.form#inscription input[name=passc]').addClass('ok');
		
		}
		
		testForm()
	
	});
	
	/** SERIES **/
	
	$('.form#series input[name=show]').keyup(function(e) {
	
		var search;
		search = $('.form#series input[name=show]').val();
	
		if (search.length > 0 && e.keyCode != 40 && e.keyCode != 38) {
	
			$.get("/ajax/inscription/show_search.php",{"q":search},function(xml) {
			
				$('#search_results .title').remove();
				$('#search_results .item').remove();
			
				$('item',xml).each(function() {
					found = false;
					titre = $('titre',this).text();
					$('.form#series ul#shows li span:first').each(function() {
						if ($(this).html() == titre) found = true;
					});
					if (found == false) {
						$('#search_results').append('<div class="item '+$('type',this).text()+'"><p><a href="javascript:;">'+titre+'</a></p></div>');
					}
				});
				
				$('.form#series input[name=show]').unbind('keydown');
				$('.form#series input[name=show]').bind('keydown',function(e) {
				
					/* Flèche du bas */
				
					if (e.keyCode == 40) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length == 0) {
							$('#search_results .item:first').addClass('hl');
						} else {
							next_item = $('#search_results .item.hl').next('div');
							if (next_item.attr('class') == 'title') {
								next_item = next_item.next('div');
							}
							console.log(next_item);
							current_item.removeClass('hl');
							next_item.addClass('hl');
						}
						
						return false;
					
					}
					
					/* Flèche du haut */
				
					if (e.keyCode == 38) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length != 0) {
							prev_item = $('#search_results .item.hl').prev('div');
							if (prev_item.attr('class') == 'title') {
								prev_item = prev_item.prev('div');
							}
							current_item.removeClass('hl');
							prev_item.addClass('hl');
						}
						
						return false;
					
					}
					
					/* Entrée */
					
					if (e.keyCode == 13) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length != 0) {
						
							titre = current_item.find('a').html();
							$('.form#series ul#shows').append('<li><span>'+titre+'</span> <a href="javascript:;" onclick="setEpisode(this);">S00E00</a></li>');
							$('#search_results .item').remove();
							$('#search_results .title').remove();
							$('.form#series ul#shows li:last a').click();
							
						}
					
						return false;
					
					}
					
					/* Echap */
					
					if (e.keyCode == 27) {
					
						$('#search_results .item').remove();
						$('#search_results .title').remove();
						$('.form#series input[name=show]').attr('value','').blur();
					
						return false;
					
					}
				
				});
			
			});
		
		} else if (e.keyCode != 40 && e.keyCode != 38) {
		
			$('#search_results .item').remove();
			$('#search_results .title').remove();
			$('.form#series input[name=show]').unbind('keydown');
		
		}
	
	});
	
	$('.form#series').submit(function() {
	
		titres = [];
		numeros = [];
		
		$('.form#series ul#shows li').each(function() {
		
			titres.push($('span:first',this).html());
			numeros.push($('a',this).html());
		
		});
		
		$(this).css('opacity',0.5);
		$('input',this).attr('disabled',true);
		$('input.submit',this).attr('value','Ajout des séries en cours...');
		
		$.post('/ajax/inscription/series.php',{'titres[]':titres,'numeros[]':numeros},function() {
		
			document.location = '/inscription/sous-titres';
		
		});
	
		return false;
	
	});
	
	/** AMIS **/
	
	$('.form#amis input[name=friend]').keyup(function(e) {
	
		var search;
		search = $('.form#amis input[name=friend]').val();
	
		if (search.length > 0 && e.keyCode != 40 && e.keyCode != 38) {
	
			$.get("/ajax/inscription/friends_search.php",{"q":search},function(xml) {
			
				$('#search_results .title').remove();
				$('#search_results .item').remove();
			
				$('item',xml).each(function() {
					found = false;
					titre = $('titre',this).text();
					$('.form#amis ul#friends li span:first').each(function() {
						if ($(this).html() == titre) found = true;
					});
					if (found == false) {
						$('#search_results').append('<div class="item '+$('type',this).text()+'"><p><a href="javascript:;">'+titre+'</a></p></div>');
					}
				});
				
				$('.form#amis input[name=friend]').unbind('keydown');
				$('.form#amis input[name=friend]').bind('keydown',function(e) {
				
					/* Flèche du bas */
				
					if (e.keyCode == 40) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length == 0) {
							$('#search_results .item:first').addClass('hl');
						} else {
							next_item = $('#search_results .item.hl').next('div');
							if (next_item.attr('class') == 'title') {
								next_item = next_item.next('div');
							}
							console.log(next_item);
							current_item.removeClass('hl');
							next_item.addClass('hl');
						}
						
						return false;
					
					}
					
					/* Flèche du haut */
				
					if (e.keyCode == 38) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length != 0) {
							prev_item = $('#search_results .item.hl').prev('div');
							if (prev_item.attr('class') == 'title') {
								prev_item = prev_item.prev('div');
							}
							current_item.removeClass('hl');
							prev_item.addClass('hl');
						}
						
						return false;
					
					}
					
					/* Entrée */
					
					if (e.keyCode == 13) {
					
						current_item = $('#search_results .item.hl');
						if (current_item.length != 0) {
						
							titre = current_item.find('a').html();
							$('.form#amis ul#friends').append('<li><span>'+titre+'</span> <a href="javascript:;" onclick="deleteFriend(this);">Supprimer</a></li>');
							$('#search_results .item').remove();
							$('#search_results .title').remove();
							$('.form#amis input[name=friend]').attr('value','').focus();
							
						}
					
						return false;
					
					}
					
					/* Echap */
					
					if (e.keyCode == 27) {
					
						$('#search_results .item').remove();
						$('#search_results .title').remove();
						$('.form#amis input[name=friend]').attr('value','').blur();
					
						return false;
					
					}
				
				});
			
			});
		
		} else if (e.keyCode != 40 && e.keyCode != 38) {
		
			$('#search_results .item').remove();
			$('#search_results .title').remove();
			$('.form#amis input[name=friend]').unbind('keydown');
		
		}
	
	});
	
	$('.form#amis').submit(function() {
	
		amis = [];
		
		$('.form#amis ul#friends li').each(function() {
		
			amis.push($('span:first',this).html());
		
		});
		
		$(this).css('opacity',0.5);
		$('input',this).attr('disabled',true);
		$('input.submit',this).attr('value','Ajout des amis en cours...');
		
		$.post('/ajax/inscription/amis.php',{'amis[]':amis},function() {
		
			document.location = '/inscription/fin';
		
		});
	
		return false;
	
	});

});

function testForm() {

	c1 = $('.form#inscription input[name=login]').is('.ok');
	c2 = $('.form#inscription input[name=mail]').is('.ok');
	c3 = $('.form#inscription input[name=pass]').is('.ok');
	c4 = $('.form#inscription input[name=passc]').is('.ok');
	
	if (c1 && c2 && c3 && c4) {
	
		$('.form#inscription input.submit').removeClass('disabled').removeAttr('disabled');
	
	} else {

		$('.form#inscription input.submit').addClass('disabled').attr('disabled',true);

	}

}

function setEpisode(el) {

	$(el).parent().append('<input type="text" class="episode" name="episode" value="'+$(el).html()+'" /><span class="help">&larr; Indiquez le numéro du dernier épisode que vous avez vu, puis tapez sur Entrée. (<a href="javascript:;" onclick="deleteShowLine(this);">Supprimer la série</a>)</span>')
	$(el).remove();
	$('.form#series input.episode').focus();
	
	//$('.form#series input.episode').bind('blur',function() { validateEpisode(this); });
	$('.form#series input.episode').bind('keydown',function(e) { if (e.keyCode == 13) { validateEpisode(this); return false; }});

}

function validateEpisode(el) {

	li = $(el).parent();
	numero = $(el).attr('value');
	serie = li.find('span').html();
	$(el).remove();
	$('.form#series ul#shows li .help').remove();
	
	$.post('/ajax/inscription/show_episode.php',{serie:serie,numero:numero},function(html) {
	
		li.append('<a href="javascript:;" onclick="setEpisode(this);">'+html+'</a>');
		
		$('.form#series input[name=show]').attr('value','').focus();
		
		$('.form#series input.episode').unbind('keydown');
	
	});

}

function deleteShowLine(el) {

	$(el).parent().parent().remove();
	$('.form#series input[name=show]').attr('value','').focus();
	
	$('.form#series input.episode').unbind('keydown');

}

function deleteFriend(el) {

	$(el).parent().remove();

}
