
var hasJustLogged = false;
var forceReload = false;

//función de inicializacion de comportamientos de login
jQuery(document).ready(function() {
	attachEventsToRegisterLinks();
	attachEventsToNeedsRegisterLinks();
	attachEventsToLoginLinks();
	attachEventsToCloseLinks();
});


function attachEventsToCloseLinks(){ 
	jQuery('[rel=closeLoginSpace]').each(
		function(){
			jQuery(this).click(
				function(){
					jQuery(this).parent().parent().parent().hide();
					return false;
				}
			);
		}
	);
}


function attachEventsToLoginLinks(){
	jQuery('[rel=loginLink]').click(function(){
		jQuery("#loginSpaceKo").hide();
		jQuery("#loginSpaceForm").show();
		return false;
	});
}

function attachEventsToRegisterLinks(){
	jQuery('[rel=registerLink]').colorbox({width:"730px", height:"745px", iframe:true});
	jQuery('[rel=registerLink2]').colorbox({width:"730px", height:"745px", iframe:true});
	jQuery('[rel=registerLink3]').colorbox({width:"730px", height:"745px", iframe:true});
}

function attachEventsToNeedsRegisterLinks(){
	jQuery('[rel=loginRequired nofollow]').each(
		function(){
			jQuery(this).click(
				function(){
					return isNotLogged();
				}
			);
		}
	);
	
	jQuery('[rel=loginRequiredReload nofollow]').each(
			function(){
				jQuery(this).click(
					function(){
						forceReload = true;
						return isNotLogged();
					}
				);
			}
	);
}

function isNotLogged(){
	if(hasJustLogged){
		return true;
	}
	jQuery("#loginSpaceOk").hide();
	jQuery("#loginSpaceKo").show();
	jQuery('html, body').animate({scrollTop:0}, 'fast');
	return false;
}

function isLogged(){
	return true;
}



function userLoggedReload(){
	hasJustLogged = true;
	var paramsGET = "?func=getTopLoginInfo";
	var urlServlet = '/common/project/resources/servlet.php';
	callAjax(userLoggedReloadCallback, paramsGET, urlServlet);	
}

function userLoggedReloadCallback(xmlhttp){
	xml = xmlhttp.responseXML;
	var login = xml.getElementsByTagName("login")[0];
	
	
	if(!forceReload && jQuery('#formComment').length > 0){
		//si tenemos un formulario de comentarios no podemos recargar toda la pagina
		//o nos cargariamos el comentario que pueda tener escrito el usuario
		
		//foceReload tiene preferencia sobre que la pagina tenga o no formulario
		//por lo tanto si forceReload es true nunca entraremos en esta parte
		
		var register = xml.getElementsByTagName("register")[0];
		var userId = xml.getElementsByTagName("userId")[0];
		
		jQuery('.topLogin').each(
			function(){
				jQuery(this).html(getNodeContent(login));
			}
		)
		
		jQuery('.topRegister').each(
			function(){
				jQuery(this).html(getNodeContent(register));
			}
		)
		
		jQuery("#loginSpaceForm").hide();
		
		//seteamos el user id en caso de existir hidden para ello
		if(jQuery("#userId")){
			jQuery("#userId").attr('value',getNodeContent(userId));
		}
		
		//si tenemos loggedOut los ocultamos todos. Si tenemos LoggedIn los mostramos todos
		jQuery('.loggedInBlitton').each(function(){jQuery(this).show()});
		jQuery('.loggedOutBlitton').each(function(){jQuery(this).hide()});
	}
	else {
		//si recargamos la pagina ya no estamos forzados a volverla a recargar
		forceReload = false;
		location.reload(true);
	}
}

function isUserLoggedCallFunction(loggedFunction,notLoggedFunction){
	var paramsGET = "?func=isUserLoggedCallFunction&loggedFunction="+loggedFunction+"&notLoggedFunction="+notLoggedFunction;
	var urlServlet = '/common/project/resources/servlet.php';
	callAjax(isUserLoggedCallback, paramsGET, urlServlet);	
}

function isUserLoggedCallback(xmlhttp){
	xml = xmlhttp.responseXML;
	var logged = getNodeContent(xml.getElementsByTagName("logged")[0]);
	var loggedFunction = getNodeContent(xml.getElementsByTagName("loggedFunction")[0]);
	var notLoggedFunction = getNodeContent(xml.getElementsByTagName("notLoggedFunction")[0]);
	
	if(logged){
		if(loggedFunction){
			eval(loggedFunction);
		}
	}
	else {
		if(notLoggedFunction){
			eval(notLoggedFunction);
		}
	}
}

function showOkMsg(msg,action){
	if(action){
		jQuery('#modalText').html(msg);
		jQuery('#modalSpace').show();
		jQuery('#modalYes A').click(
				function(){
					eval(action);
					return false;
				}
			);
		
		
		jQuery('html, body').animate({scrollTop:0}, 'fast');
	}
	else{
		jQuery('#loginSpaceOk').hide();
		jQuery('#loginSpaceOk .textHolder').html(msg);
		jQuery('html, body').animate({scrollTop:0}, 'fast');
		var myTimer = {};
		myTimer = jQuery.timer(200,function(){
			jQuery('#loginSpaceOk').show();
		});
	}
}

function showKoMsg(msg){
	jQuery('#loginSpaceKo').hide();
	jQuery('#loginSpaceKo .textHolder').html(msg);
	jQuery('html, body').animate({scrollTop:0}, 'fast');
	var myTimer = {};
	myTimer = jQuery.timer(200,function(){
		jQuery('#loginSpaceKo').show();
	});
	
}

