function is_array( mixed_var ) {
    return ( mixed_var instanceof Array );
}

function trim (str, charlist) {

    var whitespace, l = 0, i = 0;
    str += '';
    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

function str_replace(search, replace, subject) {
	var f = search, r = replace, s = subject;
	var ra = is_array(r), sa = is_array(s), f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
	while (j = 0, i--) {
		while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
	};
	return sa ? s : s[0];
}

function substr (f_string, f_start, f_length) {

    f_string += '';
 
    if (f_start < 0) {
        f_start += f_string.length;
    }
 
    if (f_length == undefined) {
        f_length = f_string.length;
    } else if (f_length < 0){
        f_length += f_string.length;
    } else {
        f_length += f_start;
    }
 
    if (f_length < f_start) {
        f_length = f_start;
    }
 
    return f_string.substring(f_start, f_length);
}

function strpos (haystack, needle, offset) {
    var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

function strrpos (haystack, needle, offset) {
	var i = (haystack+'').lastIndexOf( needle, offset ); // returns -1
	return i >= 0 ? i : false;
}

$(document).ready(function(){

	$("#formpaso1").submit(function () {

		/*
		if($("#formpaso1 #direccion").val().indexOf('@', 0) == -1 || $("#formpaso1 #direccion").val().indexOf('.', 0) == -1) {
			jAlert("La dirección de correo parece incorrecta");
			return false;
		}
		
		if($("#formpaso1 #password").val().length < 3) {
			jAlert("La contraseña es obligatoria, debe ser superior a 4 caracteres.");
			return false;
		}
		*/

		$("#paso1").hide("blind",false,500);
		$("#paso2").show("blind",false,500);

		return false;

	})

	$(".tutorial_link").mouseenter(function() {
		$(this).css("text-decoration","underline");
	})
	
	$(".tutorial_link").mouseleave(function() {
		$(this).css("text-decoration","none");
	})
	
	$(".tutorial_link").click(function() {
		tutorial_mostrar = trim(str_replace("tutorial_link tutorial_","",$(this).attr("class")));
		usuario = trim(substr($("#formpaso1 #direccion").val(),0,strpos($("#formpaso1 #direccion").val(),"@")));
		dominio = trim(substr($("#formpaso1 #direccion").val(),strpos($("#formpaso1 #direccion").val(),"@")+1));
		password = $("#formpaso1 #password").val();
		$.get(tutorial_mostrar+".php", { usuario: usuario, dominio: dominio, password: password }, function(data) {
			$("#tutorial").html(data);
			$('#div_volver').css({display:'block'});
			$('#paso2').css({display:'none'});
			$("#tutorial").show("blind",false,500);
		});
	})

});

function comprobar(campo,mensaje1,mensaje2,mensaje3) {
	i=i+1;
	if(campo.value.length < 1) {
		alert(mensaje1);
	} else if(campo.value.length < 2) {
		alert(mensaje2);
	} else if((mensaje3!=undefined) && (campo.value.indexOf('@', 0) == -1 || campo.value.indexOf('.', 0) == -1)) {
		alert(mensaje3);
	} else {
		a=a+1;
	}
}

function comprobar_campo(f) { 

	i=0;
	a=0;
	comprobar(f.direccion,"La dirección de correo es obligatoria","La dirección de correo es muy corta","La dirección de correo parece incorrecta");
	comprobar(f.password,"Debe rellenar la contraseña","La contraseña es muy corta");

	var paso1 = document.getElementById("paso1");
	var paso2 = document.getElementById("paso2");

	if(a==i) {
		paso1.style.display = "none";
		paso2.style.display = "block";
	}

	return false;

}

function cambiar_seccion(web) {
	var paso2 = document.getElementById("paso2");
	var div_volver = document.getElementById("div_volver");
	var tutorial = document.getElementById("tutorial");
	paso2.style.display = "none";
	div_volver.style.display = "block";
	tutorial.style.display = "block";
	ver_tutorial(web);
}

function volver() {
	$("#paso2").show("blind",false,500);
	$('#div_volver').css({display:'none'});
	$("#tutorial").hide("blind",false,500);
}

function ver_tutorial(web) {

	var num_usuario = document.formpaso1.direccion.value.lastIndexOf("@");
	var usuario = document.formpaso1.direccion.value.substring(0,num_usuario);
	var dominio = document.formpaso1.direccion.value.substring(num_usuario + 1,document.formpaso1.direccion.value.length);
	var password = document.formpaso1.password.value;
	var tutorial = document.getElementById("tutorial");
	var ajax = xmlhttp();

	ajax.onreadystatechange=function(){
		if(ajax.readyState==1) {
			tutorial.innerHTML="Cargando...";
		}
		if(ajax.readyState==4) {
			tutorial.innerHTML=ajax.responseText
		}
	}
	
	ajax.open("GET",web+"?dominio="+encodeURIComponent(dominio)+"&usuario="+encodeURIComponent(usuario)+"&password="+encodeURIComponent(password),true);
	ajax.send(null);

	return false;

}