function fadeOutIn(outSelector, inSelector) {
	$(outSelector).fadeOut('normal', function() {
		$(inSelector).fadeIn();
	});
}

function showLoginLoader() {
	fadeOutIn('#login_feedback span', '#login_feedback img');
}

function showLoginError() {
	fadeOutIn('#login_feedback img', '#login_feedback span');
}

function showUserBox(content) {
	$('#mypanelcontent').slideUp('normal', function() {
		$('#login').fadeOut('normal', function() {
			$('#login').remove();
			$('#logged_content').css('display', 'none').html(content).slideDown();
		});
	});
}

function showNewQSLoader() {
	$('#escribir_qs_feedback').fadeIn();
}

function hideNewQSLoader() {
	$('#escribir_qs_feedback').fadeOut();
}
function disableSetRut() {
	$('#rut-psu').val($('#rut').val()).attr('readonly', true);
	$('#digito-psu').val($('#digito').val()).attr('readonly', true);
}


function addVote(votar_qs) {
	var numvotosSpan = votar_qs.prev().prev();
	numvotosSpan.html(Number(numvotosSpan.html()) + 1);
}

function disableVote(votar_qs) {
	votar_qs.css('color', '#4F7D9F');
	votar_qs.addClass('disabled');
}

function rotateQSR() {
	$.ajax({
		type: 'POST',
		dataType: 'html',
		url: baseURL + 'aforms/qs_recien/',
		success: function(resp) {
			/*$('#qsr-rotate').html(resp);*/

			$('#qsr-rotate').fadeOut('normal', function() {
				$('#qsr-rotate').html(resp).fadeIn('slow');
			});

		}
	});
	return false;
}

function updateProfessions() {
	$.ajax({
		type: 'POST',
		dataType: 'html',
		url: baseURL + 'aforms/denom_carreras/',
		success: function(resp) {
			$('#seleccion-escribir-qs').html(resp);
		}
	});
	return false;
}

function openModal(modalURL, iframe, width, height) {
	var options = {
		'zoomSpeedIn'       : 500,
		'zoomSpeedOut'      : 500,
		'overlayOpacity'    : 0.9,
		'overlayColor'      : '#051725',
		'hideOnContentClick': false
	};
	if(iframe) {
		options.frameWidth = !width ? 620 : width;
		options.frameHeight = !height ? 415 : height;
		$('<a class="iframe" href="' + baseURL + 'modal/' + modalURL + '" />').fancybox(options).click();
	} else {
		options.frameWidth = !width ? 720 : width;
		options.frameHeight = !height ? 500 : height;
		$('<a href="' + baseURL + 'modal/' + modalURL + '" />').fancybox(options).click();
	}
}

function dispatch() {
	if(window.location.hash != '') {
		var disp = window.location.hash.substr(1).split('/');
		if(disp.length == 1) {
			openModal('vota_x_mi/r:' + disp.pop() + '/', true);
		} else {
			var type = disp.pop();
			var qr = disp[0];
			var dir = disp.join('/');
			if(type == 'i') {
				if(qr == 'qr_login') {
					openModal(dir, true, false, 390);
				} else {
					openModal(dir, true);
				}
			} else if(type == 'a') {
				openModal(dir, false);
			}
		}
	}
}

function enableLoginSubmit() {
	$('#entrar').attr('disabled', false);
}

function disableLoginSubmit() {
	$('#entrar').attr('disabled', true);
}

function enableQsSubmit() {
	$('#entrar-psu').attr('disabled', false);
}

function disableQsSubmit() {
	$('#entrar-psu').attr('disabled', true);
	setInterval(enableQsSubmit, 8 * 1000);
}

function openStudentModal(id, name) {
	openModal('vota_x_mi/e:' + id + '/', true);
}

$(document).ready(function() {

	//urls con #
	dispatch();

	//filtro QS
	lastBlock = $("#a1");
	$("ul li a").hover(function(){
		$(lastBlock).animate({width: "20px"}, { queue:false, duration:400 });
		$(this).animate({width: "220px"}, { queue:false, duration:400});
		lastBlock = this;
	}).hover();
	$("#EstudianteNombreCompleto").autocomplete(
		baseURL+'aforms/estudiantes/',
		'EstudianteId',
		{
			minChars: 3,
			timeout:  1000,
			div:      'filter-e-results',
			onSelect: openStudentModal
		}
	);
	$('#filter-e-button').click(function() {
		var estId = $('#EstudianteId').val();
		var estNombreCompleto = $("#EstudianteNombreCompleto").val();
		if(estId != '' && estNombreCompleto != '') {
			openStudentModal(estId, estNombreCompleto);
		}
		return false;
	});

	//cambiar el quiero ser reciente en portada
	setInterval(rotateQSR, refresh * 0.6);

	//facebook
	FB.init("368b2ca7db17c2ee913d2594f997738f");

	//twitter
	$("#tweet").tweet({
		join_text:              "auto",
		username:               "quiero_ser",
		avatar_size:            0,
		count:                  3,
		auto_join_text_default: "dijimos:",
		auto_join_text_ed:      "we",
		auto_join_text_ing:     "we were",
		auto_join_text_reply:   "contestamos:",
		auto_join_text_url:     "we were checking out",
		loading_text:           "cargando tweets..."
	});

	//animacion login
	$('#mypaneltab').click(function() {
		$('#mypanelcontent').slideToggle('slow');
		return false;
	});

	//login
	$('#login_form').submit(function() {
		showLoginLoader();
		disableLoginSubmit();
		$.ajax({
			type: 'POST',
			dataType: 'html',
			data: $('#login_form').serialize(),
			url: baseURL + 'log/in/',
			success: function(resp) {
				disableSetRut();
				showUserBox(resp);
				updateProfessions();
			},
			error: function(resp) {
				showLoginError();
				enableLoginSubmit();
			}
		});
		return false;
	});

	//enviar a los padres
	$('#enviar_padre_form').live('submit', function() {
		$('#dad-good').css('display', 'none');
		$('#dad-bad').css('display', 'none');
		$('#dad-loading').fadeIn();
		$.ajax({
			type: 'POST',
			dataType: 'json',
			data: $(this).serialize(),
			url: baseURL + 'aforms/enviar_padre/',
			success: function(resp) {
				if(resp.result == 'ok') {
					$('#dad-loading').fadeOut('normal', function() {
						$('#dad-good').fadeIn();
					});
				} else if(resp.result == 'data_error') {
					$('#dad-loading').fadeOut('normal', function() {
						$('#dad-bad').fadeIn();
					});
				}
			},
			error: function() {
				$('#dad-loading').fadeOut('normal', function() {
					$('#dad-bad').fadeIn();
				});
			}
		});
		return false;
	});

	//link resumen participacion
	$('#resumen_participacion').live('click', function() {
		openModal('resumen_participacion/', true);
		return false;
	});

	//link qr code
	$('#banner_mas_qr').click(function() {
		openModal('qr_login/', true, false, 390);
		return false;
	});

	//link ayuda amigos
	$('#banner_mas_amigos').click(function() {
		openModal('pedir_ayuda/', true, false, 390);
		return false;
	});

	//link premios
	$('.mod_premios').click(function() {
		openModal('premios/', true);
		return false;
	});

	//link como participar
	$('#como_participar').click(function() {
		openModal('como_participar/', true);
		return false;
	});

	//link invitar a amigo
	$('#enviar_amigo').click(function() {
		openModal('invitar_amigo/', true);
		return false;
	});

	//link bases legales
	$('#bases').click(function() {
		openModal('bases/', true);
		return false;
	});

	//link ver mas quiero ser del pasado
	$('#verMasQSPasado').click(function() {
		openModal('qs_pasado_lista/', true);
		return false;
	});

	//select visitar carrera
	$('#carrera_visitar').change(function() {
		if (this.value != ""){
			openModal('carrera/c:' + this.value + '/', false);
		}
		return false;
	});

	//select ver por carrera
	$('#CarreraCarreraId').change(function() {
		openModal('algunos_qs/c:' + this.value + '/n:' + $('#CarreraCarreraId :selected').text() + '/', true);
		return false;
	});

	//link detalle profesor
	$('.detalleProfesor').live('click', function() {
		openModal('qs_pasado_' + this.id + '/', true);
		return false;
	});
});