/*
 * Funciones para TRA
 *
 * Copyright (c) 2010 Alkla Estudio de Diseņo
 * http://www.alkla.es
 *
 */
 
$(document).ready(function(){
	
	$("input").attr({ autocomplete: "off" });
	$("#registro-form input.text").attr({ value: "" });
	$("#password-form #password-psw").attr({ value: "" });
	
	$(".jNiceTextareaWrapper textarea").focus(function(){ $("#"+this.id).parent().addClass("jNiceTextareaSelectedWrapper"); });
	$(".jNiceTextareaWrapper textarea").blur(function(){ $("#"+this.id).parent().removeClass("jNiceTextareaSelectedWrapper"); });
	
	// Tipografia
	Cufon.replace(".century");
	Cufon.replace("h2");
	Cufon.replace("h3");
	Cufon.replace("h4");
	Cufon.replace("a.bt");
	
	// Tips
	$(".tip").tipTip();
	
	// Registro
	$("#registro-form").bind('submit', validate_registro);
	$('#registro-nombre').blur(function(){ validate_registro_nombre($('#registro-nombre').val()) });
	$('#registro-nombre').focus(function(){ show_registro_nombre() });
	$('#registro-log').blur(function(){ validate_registro_log($('#registro-log').val()) });
	$('#registro-log').focus(function(){ show_registro_log() });
	$('#registro-email').blur(function(){ validate_registro_email($('#registro-email').val()) });
	$('#registro-email').focus(function(){ show_registro_email() });
	$('#registro-password').keyup(function(){ validate_registro_password($('#registro-password').val()) });
	$('#registro-password').focus(function(){ show_registro_password() });
	
	// Modificar datos personales
	$("#datos_personales-pais").bind('change', actualiza_provincia);
	$("#datos_personales-provincia").bind('change', actualiza_localidad);
	/*$('.date-pick').datePicker(
		{
			clickInput:true,
			startDate: '01/01/1910',
			endDate: (new Date()).asString()
		}
	);*/
	
	// Modificar password
	$("#password-form").bind('submit', validate_password);
	$('#password-psw').keyup(function(){ validate_modificar_password($('#password-psw').val()) });
	
	// Preguntar
	$("#preguntar-tags").keyup(function(){ suggest_tag($('#preguntar-tags').val()) });
	$("#preguntar-form").bind('submit', validate_pregunta);
	$("#preguntar_editar-form").bind('submit', validate_pregunta_edit);
	$("#responder_editar-form").bind('submit', validate_respuesta_edit);
	
	// Listados
	$("#listado_menu_recientes").bind('click', listado_recientes);
	$("#listado_menu_populares").bind('click', listado_populares);
	$("#filtro-abiertas").bind('change', listado_filtro);
	$("#listado_filtro .jNiceCheckbox").bind('click', listado_filtro);
	
	// Ranking
	$("#listado_ranking_menu_preguntas").bind('click', listado_ranking_preguntas);
	$("#listado_ranking_menu_respuestas").bind('click', listado_ranking_respuestas);
	$("#listado_ranking_menu_usuarios_preguntas").bind('click', listado_ranking_usuarios_preguntas);
	$("#listado_ranking_menu_usuarios_respuestas").bind('click', listado_ranking_usuarios_respuestas);
	
	// Perfil
	$("#listado_menu_preguntas").bind('click', listado_preguntas);
	$("#listado_menu_respuestas").bind('click', listado_respuestas);
	
	// Respuestas
	$("#respuesta_menu_corta").bind('click', respuesta_corta);
	$("#respuesta_menu_normal").bind('click', respuesta_normal);
	$("#commentform .textarea_counter").bind('keyup', counter);
	
	// Dudas
	$("#dudas-link").bind('click', open_dudas);
	$("#dudas-form").bind('submit', validate_dudas);
	
	// Top respuestas
	$('#top_banner').cycle({
		fx:     'scrollRight', 
		easing: 'bounceout', 
    	delay:  -2000,
		timeout: 7500,
		next:   '#top_next a',
	    prev:   '#top_prev a'
	});
	$('#top').show();
	
	
	// PNG IE6
	$(".ie").pngFix();
	
});


function counter() {
	var txt = $("#commentform .textarea_counter").val();
	var length = 200 - txt.length;
	if (length>=0){
		$("#commentform #counter span").html(length);
	}else{
		var txt = txt.substring(0,200);
		$("#commentform #comment").val(txt);
		return false;
	}
}

/**********************************************/
/*
/*   DUDAS
/*
/**********************************************/

function open_dudas() {
	$("#dudas-box").slideDown();
	return false;
}

function validate_dudas(){	
	
	var email = $("#dudas-email").val();
	var texto = $("#dudas-mensaje").val();
	var path = $("#dudas-path").val();
	
	if (email == "" || texto == ""){
		$("#dudas-error_msg").addClass("show");
		$("#dudas-error_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Faltan datos por rellenar');		
	}else{
		$("#dudas-error_msg").removeClass("show");
		var param = "email=" + email + "&texto=" + texto;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-dudas.php",
			data:param,
			success:validate_dudas_sc,
			timeout:10000,
			error:null
		});
	}
	return false;
}
function validate_dudas_sc(t)
{
	var path = $("#dudas-path").val();
	$("#dudas-error_msg").removeClass("error");
	$("#dudas-error_msg").addClass("neutro");
	$("#dudas-error_msg").addClass("show");
	$("#dudas-error_msg").html('<img src="' + path + '/images/icons/tick.png" alt="tick" class="icon" /> El mensaje se ha enviado correctamente. Gracias');	
	document.getElementById("dudas-form").reset();
}


/**********************************************/
/*
/*   RANKING
/*
/**********************************************/

function listado_ranking_preguntas()
{
	$("#listado_ranking_menu a").removeClass();
	$("#listado_ranking_menu_preguntas").addClass("active");
	$("#listado_ranking_preguntas").removeClass("hide");	
	$("#listado_ranking_respuestas").addClass("hide");
	$("#listado_ranking_usuarios_preguntas").addClass("hide");
	$("#listado_ranking_usuarios_respuestas").addClass("hide");
	return false;
}
function listado_ranking_respuestas()
{
	$("#listado_ranking_menu a").removeClass();
	$("#listado_ranking_menu_respuestas").addClass("active");
	$("#listado_ranking_preguntas").addClass("hide");	
	$("#listado_ranking_respuestas").removeClass("hide");
	$("#listado_ranking_usuarios_preguntas").addClass("hide");
	$("#listado_ranking_usuarios_respuestas").addClass("hide");
	return false;
}
function listado_ranking_usuarios_preguntas()
{
	$("#listado_ranking_menu a").removeClass();
	$("#listado_ranking_menu_usuarios_preguntas").addClass("active");
	$("#listado_ranking_preguntas").addClass("hide");	
	$("#listado_ranking_respuestas").addClass("hide");
	$("#listado_ranking_usuarios_preguntas").removeClass("hide");
	$("#listado_ranking_usuarios_respuestas").addClass("hide");
	return false;
}
function listado_ranking_usuarios_respuestas()
{
	$("#listado_ranking_menu a").removeClass();
	$("#listado_ranking_menu_usuarios_respuestas").addClass("active");
	$("#listado_ranking_preguntas").addClass("hide");	
	$("#listado_ranking_respuestas").addClass("hide");
	$("#listado_ranking_usuarios_preguntas").addClass("hide");
	$("#listado_ranking_usuarios_respuestas").removeClass("hide");
	return false;
}


/**********************************************/
/*
/*   LISTADOS
/*
/**********************************************/

function listado_recientes()
{
	$("#listado_menu a").removeClass();
	$("#listado_menu_recientes").addClass("active");
	$("#listado_populares").addClass("hide");
	$("#listado_recientes").removeClass("hide");
	eraseCookie("popular");
	return false;
}
function listado_populares()
{
	$("#listado_menu a").removeClass();
	$("#listado_menu_populares").addClass("active");
	$("#listado_recientes").addClass("hide");
	$("#listado_populares").removeClass("hide");
	createCookie("popular", 1, "");
	return false;
}
function listado_filtro()
{
	var filtro = $("#filtro-abiertas").attr("checked");
	if(filtro){
		createCookie("filtro", 1, "");
	}else{
		eraseCookie("filtro");
	}
	//document.getElementById("filtro-form").submit();
	window.location.reload();
}

function listado_preguntas()
{
	$("#listado_menu a").removeClass();
	$("#listado_menu_preguntas").addClass("active");
	$("#listado_respuestas").addClass("hide");
	$("#listado_preguntas").removeClass("hide");
	eraseCookie("profile_respuestas");
	return false;
}
function listado_respuestas()
{
	$("#listado_menu a").removeClass();
	$("#listado_menu_respuestas").addClass("active");
	$("#listado_preguntas").addClass("hide");
	$("#listado_respuestas").removeClass("hide");
	createCookie("profile_respuestas", 1, "");
	return false;
}

function respuesta_corta()
{
	$("#respuesta_menu a").removeClass();
	$("#respuesta_menu_corta").addClass("active");
	$("#respuesta_normal").addClass("hide");
	$("#respuesta_corta").removeClass("hide");
	return false;
}
function respuesta_normal()
{
	$("#respuesta_menu a").removeClass();
	$("#respuesta_menu_normal").addClass("active");
	$("#respuesta_corta").addClass("hide");
	$("#respuesta_normal").removeClass("hide");
	return false;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


/**********************************************/
/*
/*   PREGUNTAR
/*
/**********************************************/

function abrir_pregunta(id)
{
	createCookie("abrir_pregunta", id);
	return true;
}

function voto_question(id)
{
	createCookie("question_like", id);
	return true;
}
function voto_comment(id)
{
	createCookie("comment_like", id);
	return true;
}
function voto_best(id)
{
	createCookie("comment_best", id);
	return true;
}

function validate_pregunta(){
	
	var titulo = $("#preguntar-titulo").val();
	titulo = titulo.replace("&", "yyyyy");
	var texto = $("#preguntar-texto").val();
	texto = texto.replace("&", "yyyyy");
	var categoria = $("#preguntar-categoria").val();
	var tags = $("#preguntar-tags").val();
	tags = tags.replace("&", "yyyyy");
	var video = escape($("#preguntar-video").val());
	var user_id = $("#preguntar-user_id").val();
	var path = $("#preguntar-path").val();
	
	if (titulo == ""){
		$("#preguntar-error_msg").addClass("show");
		$("#preguntar-error_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Faltan datos por rellenar');
		$("html,body").animate({ scrollTop: 0}, 700 );
	}else{
		$("#preguntar-error_msg").removeClass("show");
		var param = "titulo=" + titulo + "&texto=" + texto + "&categoria=" + categoria + "&tags=" + tags + "&video=" + video + "&user_id=" + user_id;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-preguntar_add.php",
			data:param,
			success:validate_pregunta_sc,
			timeout:10000,
			error:null
		});
	}
	return false;
}
function validate_pregunta_sc(t)
{
	var permalink = $("permalink", t).text();
	var error = $("error", t).text();
	var path = $("#preguntar-path").val();	
	
	if (error){
		$("#preguntar-error_msg").addClass("show");
		$("#preguntar-error_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Esta pregunta ya ha sido formulada');
		$("html,body").animate({ scrollTop: 0}, 700 );
	}else{
		$("#preguntar-error_msg").removeClass("show");
		$("#preguntar-form").attr('action', permalink);
		document.getElementById("preguntar-form").submit();
	}
	
}

function validate_pregunta_edit(){
	
	var titulo = $("#preguntar-titulo").val();
	titulo = titulo.replace("&", "yyyyy");
	var texto = $("#preguntar-texto").val();
	texto = texto.replace("&", "yyyyy");
	var categoria = $("#preguntar-categoria").val();
	var tags = $("#preguntar-tags").val();
	tags = tags.replace("&", "yyyyy");
	var video = escape($("#preguntar-video").val());
	var post_id = $("#preguntar-post_id").val();
	var path = $("#preguntar-path").val();
	
	if (titulo == ""){
		$("#preguntar-error_msg").addClass("show");
		$("#preguntar-error_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Faltan datos por rellenar');
		$("html,body").animate({ scrollTop: 0}, 700 );
	}else{
		$("#preguntar-error_msg").removeClass("show");
		var param = "titulo=" + titulo + "&texto=" + texto + "&categoria=" + categoria + "&tags=" + tags + "&video=" + video + "&post_id=" + post_id;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-preguntar_edit.php",
			data:param,
			success:validate_pregunta_edit_sc,
			timeout:10000,
			error:null
		});
	}
	return false;
}
function validate_pregunta_edit_sc(t)
{
	var permalink = $("permalink", t).text();

	$("#preguntar-error_msg").removeClass("show");
	$("#preguntar_editar-form").attr('action', permalink);
	document.getElementById("preguntar_editar-form").submit();
}

function validate_respuesta_edit(){
	
	var texto = $("#responder_editar-texto").val();
	texto = texto.replace("&", "yyyyy");
	var video = escape($("#responder-video").val());
	var comment_id = $("#responder-comment_id").val();
	var path = $("#responder-path").val();
	
	if (texto == ""){
		$("#responder-error_msg").addClass("show");
		$("#responder-error_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> La respuesta no puede estar vac&iacute;a');
		$("html,body").animate({ scrollTop: 0}, 700 );
	}else{
		$("#responder-error_msg").removeClass("show");
		var param = "texto=" + texto + "&video=" + video + "&comment_id=" + comment_id;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-responder_edit.php",
			data:param,
			success:validate_respuesta_edit_sc,
			timeout:10000,
			error:null
		});
	}
	return false;
}
function validate_respuesta_edit_sc(t)
{
	var permalink = $("permalink", t).text();

	$("#responder-error_msg").removeClass("show");
	$("#responder_editar-form").attr('action', permalink);
	document.getElementById("responder_editar-form").submit();
}

function suggest_tag(tag)
{
	var path = $("#preguntar-path").val();
	var param = "tag=" + tag;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-etiquetas.php",
		data:param,
		success:suggest_tag_sc,
		timeout:10000,
		error:null
	});
	return false;
}
function suggest_tag_sc(t)
{	
	var html = $("html", t).text();
	$("#preguntar-tags_sugerencias").html(html);
}

function get_tag(tag)
{
	var path = $("#preguntar-path").val();
	var anterior = $("#preguntar-tags").val();
	var param = "tag=" + tag + "&anterior=" + anterior;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-etiquetas_get.php",
		data:param,
		success:get_tag_sc,
		timeout:10000,
		error:null
	});
	return false;
}
function get_tag_sc(t)
{
	var html = $("html", t).text();
	$("#preguntar-tags").val(html);
}


/**********************************************/
/*
/*   DATOS PERSONALES
/*
/**********************************************/
function actualiza_provincia()
{
	var path = $("#datos_personales-path").val();
	var pais = $("#datos_personales-pais").val();
	var param = "pais=" + pais;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-datos_personales_provincias.php",
		data:param,
		success:actualiza_provincia_sc,
		timeout:10000,
		error:null
	});
	return false;
}
function actualiza_provincia_sc(t)
{
	var html = $("html", t).text();
	$("#datos_personales-provincia").html(html);
	actualiza_localidad();
}

function actualiza_localidad()
{
	var path = $("#datos_personales-path").val();
	var provincia = $("#datos_personales-provincia").val();
	var param = "provincia=" + provincia;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-datos_personales_localidades.php",
		data:param,
		success:actualiza_localidad_sc,
		timeout:10000,
		error:null
	});
	return false;
}
function actualiza_localidad_sc(t)
{
	var html = $("html", t).text();
	$("#datos_personales-localidad").html(html);
}


/**********************************************/
/*
/*   REGISTRO
/*
/**********************************************/
function show_registro_nombre()
{
	var path = $("#registro-path").val();
	$("#registro-nombre_msg").addClass("show");
	$("#registro-nombre_msg").addClass("neutro");
	$("#registro-nombre_msg").removeClass("error");
	$("#registro-nombre_msg").removeClass("destacado");
	$("#registro-nombre_msg").html('<img src="' + path + '/images/icons/bullet_back.png" alt="back" class="icon" /> Introduce tu nombre y apellidos');
}
function validate_registro_nombre(nombre)
{
	var path = $("#registro-path").val();
	if (nombre == ""){
		$("#registro-nombre_msg").addClass("error");
		$("#registro-nombre_msg").removeClass("destacado");
		$("#registro-nombre_msg").removeClass("neutro");
		$("#registro-nombre_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> El nombre est&aacute; vacio');
	}else{
		$("#registro-nombre_msg").addClass("destacado");
		$("#registro-nombre_msg").removeClass("error");
		$("#registro-nombre_msg").removeClass("neutro");
		$("#registro-nombre_msg").html('<img src="' + path + '/images/icons/accept.png" alt="accept" class="icon" /> El nombre es correcto');
	}
}

function show_registro_log()
{
	var path = $("#registro-path").val();
	$("#registro-log_msg").addClass("show");
	$("#registro-log_msg").addClass("neutro");
	$("#registro-log_msg").removeClass("error");
	$("#registro-log_msg").removeClass("destacado");
	$("#registro-log_msg").html('<img src="' + path + '/images/icons/bullet_back.png" alt="back" class="icon" /> Escoje un nombre de usuario &uacute;nico que defina tu perfil');
}
function validate_registro_log(login)
{
	login = login.toLowerCase();
	var path = $("#registro-path").val();
	var param = "login=" + login;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-registro_login.php",
		data:param,
		success:validate_registro_log_sc,
		timeout:10000,
		error:null
	});
}
function validate_registro_log_sc(t)
{
	var html = $("html", t).text();
	var error = $("error", t).text();
	var perfil = $("perfil", t).text();
	var path = $("path", t).text();
	if(error){
		$("#registro-log_msg").addClass("error");
		$("#registro-log_msg").removeClass("destacado");
		$("#registro-log_msg").removeClass("neutro");
	}else{	
		$("#registro-log_msg").addClass("destacado");
		$("#registro-log_msg").removeClass("error");
		$("#registro-log_msg").removeClass("neutro");
	}
	$("#registro-log_path").html('<strong>Tu perfil ser&aacute;:</strong> ' + perfil );
	$("#registro-log_msg").html(html);
}

function show_registro_email()
{
	var path = $("#registro-path").val();
	$("#registro-email_msg").addClass("show");
	$("#registro-email_msg").addClass("neutro");
	$("#registro-email_msg").removeClass("error");
	$("#registro-email_msg").removeClass("destacado");
	$("#registro-email_msg").html('<img src="' + path + '/images/icons/bullet_back.png" alt="back" class="icon" /> Recibir&aacute;s un c&oacute;digo de activaci&oacute;n en esta cuenta');
}
function validate_registro_email(email)
{
	email = email.toLowerCase();
	var path = $("#registro-path").val();
	var param = "email=" + email;
	$.ajax({
		async:true,
		type: "post",
		dataType: "xml",
		contentType: "application/x-www-form-urlencoded",
		url: path + "/library/sc-registro_email.php",
		data:param,
		success:validate_registro_email_sc,
		timeout:10000,
		error:null
	});
}
function validate_registro_email_sc(t)
{
	var html = $("html", t).text();
	var error = $("error", t).text();
	if(error){
		$("#registro-email_msg").addClass("error");
		$("#registro-email_msg").removeClass("destacado");
		$("#registro-email_msg").removeClass("neutro");
	}else{	
		$("#registro-email_msg").addClass("destacado");
		$("#registro-email_msg").removeClass("error");
		$("#registro-email_msg").removeClass("neutro");
	}
	$("#registro-email_msg").html(html);
}

function show_registro_password()
{
	var path = $("#registro-path").val();
	$("#registro-password_msg").addClass("show");
	$("#registro-password_msg").addClass("neutro");
	$("#registro-password_msg").removeClass("error");
	$("#registro-password_msg").removeClass("destacado");
	$("#registro-password_msg").html('<img src="' + path + '/images/icons/bullet_back.png" alt="back" class="icon" /> M&iacute;nimo 6 car&aacute;cteres. Se cuidadoso!');
}
function validate_registro_password(password)
{
	var login = $("#registro-log").val();
	var path = $("#registro-path").val();
	if (password == ""){
		$("#registro-password_msg").addClass("error");
		$("#registro-password_msg").removeClass("neutro");
		$("#registro-password_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Vacia');
	}else{	
		if (password.length<6){
			$("#registro-password_msg").addClass("error");
			$("#registro-password_msg").removeClass("neutro");
			$("#registro-password_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Corta');
		}else{			
			var resultado = passwordStrength(password, login);
			$("#registro-password_msg").addClass("neutro");
			$("#registro-password_msg").removeClass("error");
			$("#registro-password_msg").html(resultado);
		}
	}
}

function validate_registro(){
	var nombre = $("#registro-nombre").val();
	var login = $("#registro-log").val();
	var email = $("#registro-email").val();
	var password = $("#registro-password").val();
	var acepto = $("#registro-condiciones").attr("checked");	
	var path = $("#registro-path").val();
	var error = false;
	
	if (nombre == ""){
		$("#registro-nombre_msg").addClass("show");
		$("#registro-nombre_msg").addClass("error");
		$("#registro-nombre_msg").removeClass("destacado");
		$("#registro-nombre_msg").removeClass("neutro");
		$("#registro-nombre_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> El nombre est&aacute; vacio');
		error = true;
	}
	if (login == ""){
		$("#registro-log_msg").addClass("show");
		$("#registro-log_msg").addClass("error");
		$("#registro-log_msg").removeClass("destacado");
		$("#registro-log_msg").removeClass("neutro");
		$("#registro-log_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> El nombre de usuario est&aacute; vacio');
		error = true;
	}
	if (email == ""){
		$("#registro-email_msg").addClass("show");
		$("#registro-email_msg").addClass("error");
		$("#registro-email_msg").removeClass("destacado");
		$("#registro-email_msg").removeClass("neutro");
		$("#registro-email_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> El e-mail est&aacute; vacio');
		error = true;
	}	
	if (password == ""){
		$("#registro-password_msg").addClass("show");
		$("#registro-password_msg").addClass("error");
		$("#registro-password_msg").removeClass("neutro");
		$("#registro-password_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Vacia');
		error = true;
	}else{
		if (password.length<6){
			$("#registro-password_msg").addClass("show");
			$("#registro-password_msg").addClass("error");
			$("#registro-password_msg").removeClass("neutro");
			$("#registro-password_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Corta');
			error = true;
		}
	}
	if (!acepto){
		$("#registro-condiciones_msg").addClass("error");
		error = true;
	}else{
		$("#registro-condiciones_msg").removeClass("error");
	}
	
	if (!error){
		var param = "login=" + login;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-registro_login.php",
			data:param,
			success:validate_registro_sc,
			timeout:10000,
			error:null
		});
	}
	return false;
}
function validate_registro_sc(t)
{
	var html = $("html", t).text();
	var error = $("error", t).text();
	
	if(!error){
		var email = $("#registro-email").val();
		var path = $("#registro-path").val();
		var param = "email=" + email;
		$.ajax({
			async:true,
			type: "post",
			dataType: "xml",
			contentType: "application/x-www-form-urlencoded",
			url: path + "/library/sc-registro_email.php",
			data:param,
			success:validate_registro_finish,
			timeout:10000,
			error:null
		});
	}else{
		$("#registro-log_msg").addClass("show");
		$("#registro-log_msg").addClass("error");
		$("#registro-log_msg").removeClass("destacado");
		$("#registro-log_msg").removeClass("neutro");
		$("#registro-log_msg").html(html);
	}
}
function validate_registro_finish(t)
{
	var html = $("html", t).text();
	var error = $("error", t).text();
	
	if(!error){
		document.getElementById("registro-form").submit();
	}else{
		$("#registro-email_msg").addClass("show");
		$("#registro-email_msg").addClass("error");
		$("#registro-email_msg").removeClass("destacado");
		$("#registro-email_msg").removeClass("neutro");
		$("#registro-email_msg").html(html);
	}
}

function validate_modificar_password(password)
{
	var login = $("#password-usuario").val();
	var path = $("#registro-path").val();
	if (password == ""){
		$("#password-psw_msg").addClass("error");
		$("#password-psw_msg").removeClass("neutro");
		$("#password-psw_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Vacia');
	}else{	
		if (password.length<6){
			$("#password-psw_msg").addClass("error");
			$("#password-psw_msg").removeClass("neutro");
			$("#password-psw_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Corta');
		}else{			
			var resultado = passwordStrength(password, login);
			$("#password-psw_msg").addClass("neutro");
			$("#password-psw_msg").removeClass("error");
			$("#password-psw_msg").html(resultado);
		}
	}
}
function validate_password(){
	var password = $("#password-psw").val();
	var path = $("#registro-path").val();
	var error = false;
	
	if (password == ""){
		$("#password-psw_msg").addClass("show");
		$("#password-psw_msg").addClass("error");
		$("#password-psw_msg").removeClass("neutro");
		$("#password-psw_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Vacia');
		error = true;
	}else{
		if (password.length<6){
			$("#password-psw_msg").addClass("show");
			$("#password-psw_msg").addClass("error");
			$("#password-psw_msg").removeClass("neutro");
			$("#password-psw_msg").html('<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Corta');
			error = true;
		}
	}
	
	if (!error){
		document.getElementById("password-form").submit();
	}
	return false;
}

function passwordStrength(password,username)
{
	var path = $("#registro-path").val();
	
	var noPass = '<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Vacia';
	var shortPass = '<img src="' + path + '/images/icons/exclamation.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Corta';
	var badPass = '<img src="' + path + '/images/icons/level_2.png" alt="exclamation" class="icon" /> Contrase&ntilde;a D&eacute;bil';
	var medPass = '<img src="' + path + '/images/icons/level_3.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Media';
	var goodPass = '<img src="' + path + '/images/icons/level_4.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Buena';
	var strongPass = '<img src="' + path + '/images/icons/level_5.png" alt="exclamation" class="icon" /> Contrase&ntilde;a Fuerte';

    score = 0 
   	
	//password = 0
    if (password.length == 0 ) { return noPass }
	
    //password < 4
    if (password.length < 6 ) { return shortPass }
    
    //password == username
    if (password.toLowerCase()==username.toLowerCase()) return badPass
    
    //password length
    score += password.length * 4
    score += ( checkRepetition(1,password).length - password.length ) * 1
    score += ( checkRepetition(2,password).length - password.length ) * 1
    score += ( checkRepetition(3,password).length - password.length ) * 1
    score += ( checkRepetition(4,password).length - password.length ) * 1

    //password has 3 numbers
    if (password.match(/(.*[0-9].*[0-9].*[0-9])/))  score += 5 
    
    //password has 2 sybols
    if (password.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) score += 5 
    
    //password has Upper and Lower chars
    if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/))  score += 10 
    
    //password has number and chars
    if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/))  score += 15 
    //
    //password has number and symbol
    if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/))  score += 15 
    
    //password has char and symbol
    if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/))  score += 15 
    
    //password is just a nubers or chars
    if (password.match(/^\w+$/) || password.match(/^\d+$/) )  score -= 10 
    
    //verifing 0 < score < 100
    if ( score < 0 )  score = 0 
    if ( score > 100 )  score = 100 
    
    //if (score < 34 )  return badPass 
	if (score < 30 )  return badPass 
	if (score < 56 )  return medPass
    if (score < 72 )  return goodPass
    return strongPass
}

function checkRepetition(pLen,str) {
    res = ""
    for ( i=0; i<str.length ; i++ ) {
        repeated=true
        for (j=0;j < pLen && (j+i+pLen) < str.length;j++)
            repeated=repeated && (str.charAt(j+i)==str.charAt(j+i+pLen))
        if (j<pLen) repeated=false
        if (repeated) {
            i+=pLen-1
            repeated=false
        }
        else {
            res+=str.charAt(i)
        }
    }
    return res
}
