// JavaScript Document

var _moviendoBarraDirectorioGeneros	=	true;


function registrarUsuario(){


	if(document.getElementById('ventanaInicioSesion')){
		document.body.removeChild(document.getElementById('ventanaInicioSesion'));
	}
	
	ventanita					=	new radioAlternativaModal();
	ventanita.nombre			=	'ventanaRegistro';
	ventanita.crearVentana();
	
	ventanita.contenido			=	mensajeCargando('Espera...');
	ventanita.llenarVentana();
	
	conexion					=	new __invokeGuruAjax();
	conexion.url				=	_siteRoot + 'etc/ajax/m_registro.do';
	conexion.onComplete			=	function(){
		ventanita.contenido		=	conexion.fResponse[1];
		ventanita.llenarVentana();
		document.getElementById('signupForm').getElementsByTagName('input')[0].focus();
	}
	conexion.callRequest();
	
}


function iniciarSesion(){
	

	if(document.getElementById('ventanaRegistro')){
		document.body.removeChild(document.getElementById('ventanaRegistro'));
	}
	
	ventanita					=	new radioAlternativaModal();
	ventanita.nombre			=	'ventanaInicioSesion';
	ventanita.crearVentana();
	
	ventanita.contenido			=	mensajeCargando('Espera...');
	ventanita.llenarVentana();
	
	conexion					=	new __invokeGuruAjax();
	conexion.url				=	_siteRoot + 'etc/ajax/m_iniciarSesion.do';
	conexion.onComplete			=	function(){
		ventanita.contenido		=	conexion.fResponse[1];
		ventanita.llenarVentana();
		document.getElementById('loginForm').getElementsByTagName('input')[0].focus();
	}
	conexion.callRequest();

}



function recuperarContrasena(){
	

	if(document.getElementById('ventanaRegistro')){
		document.body.removeChild(document.getElementById('ventanaRegistro'));
	}
	
	ventanita					=	new radioAlternativaModal();
	ventanita.nombre			=	'ventanaInicioSesion';
	ventanita.crearVentana();
	
	ventanita.contenido			=	mensajeCargando('Espera...');
	ventanita.llenarVentana();
	
	conexion					=	new __invokeGuruAjax();
	conexion.url				=	_siteRoot + 'etc/ajax/m_recuperarPass.do';
	conexion.onComplete			=	function(){
		ventanita.contenido		=	conexion.fResponse[1];
		ventanita.llenarVentana();
	}
	conexion.callRequest();

}




function checkGivenUri(entradita){

	valorEntrada			=	entradita.value;
	ultimoCaracter			=	valorEntrada.substr(valorEntrada.length-1,1);
	if(ultimoCaracter.match(/[a-z0-9_\.]/)){
		if(entradita.value.length > 32){
			nuevoValor		=	valorEntrada.substr(0,32);
			entradita.value	=	nuevoValor;
		} else {
			nuevoValor		=	valorEntrada;
		}
	} else {
		nuevoValor			=	valorEntrada.substr(0,valorEntrada.length-1);
		entradita.value		=	nuevoValor;
	}
	
	document.getElementById('generatedUrl').innerHTML	= nuevoValor;
		

}

function checarFormaRegistro(){
	
	forma		=	document.getElementById('signupForm');
	estado		=	document.getElementById('estadoRegistro');
	entradas	=	forma.getElementsByTagName('input');
	completado	=	true;
	
	for(i=0;i<entradas.length;i++){
		cEntrada	= entradas[i];
		if(cEntrada.value.length < 3){
			completado	= false;
		}
	}
	
	
	if(completado){
		
		for(i=0;i<entradas.length;i++){
			cEntrada			=	entradas[i];
			cEntrada.disabled	=	true;
		}
		
		estado.innerHTML			=	'<center>Verificando...<br /><img src="' + _siteRoot +'media/generico/wait.gif" width="24" height="24" alt="" /></center>';
		
		conexion					=	new __invokeGuruAjax();
		conexion.url				=	_siteRoot + 'etc/ajax/registro-procesar.do';
		conexion.method				=	'POST';
		conexion.postData			=	'&ra_nickname='		+ entradas[0].value +
										'&ra_url='			+ entradas[1].value +
										'&ra_pass1='		+ entradas[2].value +
										'&ra_pass2='		+ entradas[3].value +
										'&ra_email='		+ entradas[4].value;
										
		conexion.onComplete			=	function(){
			if(conexion.fResponse[0]){
				estado.innerHTML			=	'';
				switch(conexion.fResponse[1]){
					case 'empty':		
						mensaje				=	crearEspacioMensaje('error','No se rellenaron todos los campos adecaudamente, por favor intenta nuevamente.');						
					break;
					case 'bad_url':
						mensaje				=	crearEspacioMensaje('warning','La URL indicada no es correcta. Recuerda que sólo se pueden usar letras de la "a" a la "z" en minúsculas, puntos y guiones bajos.');						
					break;
					case 'bad_email':
						mensaje				=	crearEspacioMensaje('warning','La dirección de correo electrónico no es válida.');						
					break;
					case 'used_url':
						mensaje				=	crearEspacioMensaje('warning','La URL que indicaste ya está en uso.');					
					break;
					case 'used_mail':
						mensaje				=	crearEspacioMensaje('warning','El correo electrónico que indicaste no puede ser usado.');						
					break;
					case 'bad_pass':
						mensaje				=	crearEspacioMensaje('warning','Las contraseñas que indicaste no coinciden.');					
					break;					
					case 'ok':
						mensaje				=	crearEspacioMensaje('ok','<strong>¡Gracias!</strong> - Tu cuenta en RadioAlternativa ha sido creada. Ahora puedes <a href="javascript:;" onclick="document.body.removeChild(document.getElementById(\'ventanaRegistro\'));iniciarSesion()">iniciar sesión</a>.');
						document.getElementById('ventanaRegistro_Contenido').innerHTML = '<span style="font-size:16px;font-family:Tahoma, Geneva, sans-serif;">Regístrate en la Comunidad <span style="color:#F60">RadioAlternativa</span></span><br /><br />';
						document.getElementById('ventanaRegistro_Contenido').appendChild(mensaje);
					break;
					default:
						mensaje				=	crearEspacioMensaje('error','Error desconocido al intentar registrar tu cuenta, por favor intenta nuevamente.<br />' + conexion.fResponse[1]);						
					break;
				}
				if(document.getElementById('signupForm')){
					estado.appendChild(mensaje);
				}
			} else {
				estado.innerHTML	=	'';
				mensaje				=	crearEspacioMensaje('error','No puedo continuar con el registro: ' + conexion.fResponse[1]);
				estado.appendChild(mensaje);
			}
			for(i=0;i<entradas.length;i++){
				cEntrada			=	entradas[i];
				cEntrada.disabled	=	false;
			}			
		}
		conexion.callRequest();		
		
		
	} else {
		alert('No has llenado correctamente todos los campos, por favor intenta nuevamente');
	}
	
	
	
	return false;
}














function checarFormaPassword(){
	
	forma		=	document.getElementById('passwordForm');
	estado		=	document.getElementById('estadoContrasena');
	entradas	=	forma.getElementsByTagName('input');
	completado	=	true;
	
	for(i=0;i<entradas.length;i++){
		cEntrada	= entradas[i];
		if(cEntrada.value.length < 3){
			completado	= false;
		}
	}
	
	
	if(completado){
		
		for(i=0;i<entradas.length;i++){
			cEntrada			=	entradas[i];
			cEntrada.disabled	=	true;
		}
		
		estado.innerHTML			=	'<center>Verificando...<br /><img src="' + _siteRoot +'media/generico/wait.gif" width="24" height="24" alt="" /></center>';
		
		conexion					=	new __invokeGuruAjax();
		conexion.url				=	_siteRoot + 'etc/ajax/password-recuperar.do';
		conexion.method				=	'POST';
		conexion.postData			=	'&ra_email='		+ entradas[0].value;
										
		conexion.onComplete			=	function(){
			if(conexion.fResponse[0]){
				estado.innerHTML	=	'';
					switch(conexion.fResponse[1]){
						case 'ok':
							mensaje	=	crearEspacioMensaje('ok','Una nueva contraseña ha sido generada y enviada a tu correo. Después de que lo revises, <a href="javascript:;" onclick="iniciarSesion()">inicia sesión</a>.');
							
						break;
						case 'no_such_user':
							mensaje	=	crearEspacioMensaje('warning','No se ha encontrado el correo electrónico que especificaste.');	
						break;
						default:
							mensaje	=	crearEspacioMensaje('error','Error desconocido al intentar generar la contraseña.<br />' + conexion.fResponse[1]);	
						break;
					}
				if(forma){
					estado.appendChild(mensaje);
				}
			} else {
				estado.innerHTML	=	'';
				mensaje				=	crearEspacioMensaje('error','No puedo continuar con el registro: ' + conexion.fResponse[1]);
				estado.appendChild(mensaje);
			}
			for(i=0;i<entradas.length;i++){
				cEntrada			=	entradas[i];
				cEntrada.disabled	=	false;
			}			
		}
		conexion.callRequest();		
		
		
	} else {
		alert('No has llenado correctamente todos los campos, por favor intenta nuevamente');
	}
	
	
	
	return false;
}







function checarFormaLogin(){
	
	
	frases		= 	new Array();
	frases[0]	=	'Iniciando Sesión...';
	frases[1]	=	'Pariendo Chayotes...';
	frases[2]	=	'Verificando ADN...';
	frases[3]	=	'Escaneando tu retina...';
	frases[4]	=	'Esperando a que el gallo cante...';
	frases[5]	=	'Cortando la corriente eléctrica...';
	frases[6]	=	'Gritando en el desierto...';
	
	AleatMax	=	frases.length-1;
	Aleat		=	Math.random() * AleatMax;
	Aleat		=	Math.round(Aleat);
	Aleat		=	parseInt(0) + Aleat;
	
	
	
	forma		=	document.getElementById('loginForm');
	estado		=	document.getElementById('estadoSesion');
	entradas	=	forma.getElementsByTagName('input');
	completado	=	true;
	
	for(i=0;i<entradas.length;i++){
		cEntrada	= entradas[i];
		if(cEntrada.value.length < 3){
			completado	= false;
		}
	}
	
	
	if(completado){
		
		for(i=0;i<entradas.length;i++){
			cEntrada			=	entradas[i];
			cEntrada.disabled	=	true;
		}
		
		estado.innerHTML			=	mensajeCargando(frases[Aleat]);
		
		conexion					=	new __invokeGuruAjax();
		conexion.url				=	_siteRoot + 'etc/ajax/sesion-iniciar.do';
		conexion.method				=	'POST';
		conexion.postData			=	'&ra_email='		+ entradas[0].value +
										'&ra_pass='			+ entradas[1].value +
										'&ra_ps='			+ entradas[2].checked;
										
		conexion.onComplete			=	function(){
			if(conexion.fResponse[0]){
				estado.innerHTML	=	'';
					switch(conexion.fResponse[1]){
						case 'ok':
							mensaje	=	crearEspacioMensaje('ok','¡Muy bien! Esta ventana se actualizará automáticamente en unos segundos. Si no se actualiza, haz <a href="javascript:;" onclick="window.location.reload()">click aquí</a>.');
							setTimeout("window.location.reload()",3000);
						break;
						case 'bad_info':
							mensaje	=	crearEspacioMensaje('warning','Correo electrónico o contraseña incorrectos.');	
						break;
						default:
							mensaje	=	crearEspacioMensaje('error','Error desconocido al intentar iniciar sesión.<br />' + conexion.fResponse[1]);	
						break;
					}
				if(forma){
					estado.appendChild(mensaje);
				}
			} else {
				estado.innerHTML	=	'';
				mensaje				=	crearEspacioMensaje('error','No puedo continuar con el registro: ' + conexion.fResponse[1]);
				estado.appendChild(mensaje);
			}
			for(i=0;i<entradas.length;i++){
				cEntrada			=	entradas[i];
				cEntrada.disabled	=	false;
			}			
		}
		conexion.callRequest();		
		
		
	} else {
		estado.innerHTML	=	'';
		mensaje				=	crearEspacioMensaje('warning','No has llenado correctamente todos los campos, por favor intenta nuevamente');
		estado.appendChild(mensaje);
	}
	
	
	
	return false;
}



function detenerBarraGeneros(){
	
	clearTimeout(_moviendoBarraDirectorioGeneros);

}


function moverBarraGeneros(direccion){

	if(document.getElementById('directorio_ListaGeneros')){
		if(_moviendoBarraDirectorioGeneros){
			contenedor	=	document.getElementById('directorio_ListaGeneros').childNodes[1];
			switch(direccion){
				case 'dch':
					if(contenedor.scrollLeft < (contenedor.scrollWidth-510)){
						contenedor.scrollLeft	= contenedor.scrollLeft + 2;
						
						_moviendoBarraDirectorioGeneros	= setTimeout("moverBarraGeneros('dch')",10);
					} else {
						contenedor.scrollLeft	= 0;
					}
				break;
				case 'izq':
					if(contenedor.scrollLeft > 0){
						contenedor.scrollLeft	= contenedor.scrollLeft - 2;
						
						_moviendoBarraDirectorioGeneros	= setTimeout("moverBarraGeneros('izq')",10);
					} else {
						contenedor.scrollLeft	= contenedor.scrollWidth-510;
					}
				break;
			}
		}
	}
}


function actualizarSeleccionBarra(texto){
	found		=	false;
	objetivo	=	document.getElementById('directorio_ListaGeneros').childNodes[1].getElementsByTagName('a');
	buscar		=	'bgm_' + texto;
	for(i=0;i<objetivo.length;i++){
		
		if(objetivo[i].id == buscar){
		
			objetivo[i].style.fontWeight	=	'bold';
			objetivo[i].style.color			=	'#f60';
			found							=	true;
			diferencia						=	objetivo[i].offsetLeft + objetivo[i].parentNode.offsetLeft;
			diferencia						=	diferencia - (250 - (objetivo[i].scrollWidth/2))
			document.getElementById('directorio_ListaGeneros').childNodes[1].scrollLeft = diferencia;
			break;
			

		
		}
		
		
	}
	
	if(!found){
		objetivo[0].style.fontWeight	=	'bold';
		objetivo[0].style.color			=	'#f60';
	}
	
}



function __chArtPag(pag){
	
	if(document.getElementById('psArticulos') && pag.match(/[\d]{1,255}/)){
		
		contenedor	=	document.getElementById('psArticulos');
		
		contenedor.innerHTML		=	mensajeCargando('Cargando página '+pag+'...');

		conexion					=	new __invokeGuruAjax();
		conexion.url				=	_siteRoot + 'etc/ajax/gArtPage.do?u=' + __urd + '&p=' + pag;
		conexion.onComplete			=	function(){
			if(conexion.fResponse[0]){
				
				contenedor.innerHTML	=	conexion.fResponse[1];				
				
			} else {
				mensaje					=	crearEspacioMensaje('error','Lo sentimos, error desconocido al intentar cargar la página');
				contenedor.innerHTML	=	'';
				contenedor.appendChild(mensaje);
			}
			
			window.location.hash	=	'articulos';
			
		}
		conexion.callRequest();
		window.location.hash	=	'articulos';
		
	}
	
}
