var usuario = "";
var pass = "";
var sha1 = "";
var marca_tiempo = "";
var html_frame_reg = "";

$(document).ready(function(){   
    //Esto hace parpadear el muñeco del logo
    $(".logo_wrapper").bind('mouseenter',function(){
    	parpadeo();
    });
	if (MAINTENANCE_MODE) setTimeout('mantenimiento();',1000);
});


function onkey_login(e)
{
	if (e == null || e.keyCode == 13)
	{
		login_user();
	}
}



function logout_user()
{
	xajax.config.requestURI = "funciones_login.server.php";
	document.getElementById("LOGINKEY").src = "imagenes/web/ajax_loader_peque.gif";
	xajax_logout(SELF);
	FB.logout(function(response) {});
}


function login_user()
{
	xajax.config.requestURI = "funciones_login.server.php";
	var email = document.getElementById("LOGIN_EMAIL");
	var pass = document.getElementById("LOGIN_PASS");
	if (email.value.length == 0) { email.focus(); return; }
	else if (pass.value.length == 0) {pass.focus(); return;}

	var button = document.getElementById("LOGIN_BUTTON");
	var loader = document.getElementById("LOGIN_LOADER");
	
	button.disabled = "disabled";
	email.disabled = "disabled";
	pass.disabled = "disabled";
	email.blur();
	pass.blur();
	
	loader.style.visibility = "visible";
	loader.style.position = "fixed";
	var ts =  document.getElementById("TIMESTAMP").innerHTML;																  
	xajax_login(email.value,SHA1(pass.value+ts),SELF, document.getElementById("TIMESTAMP").parentNode.id);
}

//Si ha ocurrido un error al logarse mostramos el mensaje de error
function login_error(respuesta)
{
	
}

//Función a llamar para el olvido de la contraseña
function onclick_olvido_pass()
{
	xajax.config.requestURI = "funciones_login.server.php";
	var email = document.getElementById("LOGIN_EMAIL").value;
	xajax_olvido_pass(email);	
}

function on_muestra_loginbox()
{
	var email = document.getElementById("LOGIN_EMAIL");
	var pass = document.getElementById("LOGIN_PASS");
	if (email.value.length == 0) email.focus();
	else 
	{
     pass.focus();
	 pass.select();
	}
}

function on_oculta_loginbox()
{
	var elem = document.getElementById("LOGIN_ERROR");
	elem.style.visibility = "hidden";
	elem.style.position = "absolute";
}

function termina_logout()
{
	
	var termina_post = function(response)
	{
		var elem = document.getElementById("toggle_user");
		var parent = elem.parentNode;
		parent.removeChild(elem);
		parent.innerHTML += response;
		login_menu = new ToggleMenu('toggle_login','on_muestra_loginbox();','on_oculta_loginbox();')	
		//login_menu.clickheader();
		//login_menu.mouseover();
	}
	
	var ajax = new XAjax("sub_login.php",null,termina_post);
	ajax.send();	
}

/*********************************************************************************************************/
/*********************************************************************************************************/
/************************************* BÚSQUEDA POR PALABRAS *********************************************/
/*********************************************************************************************************/
/*********************************************************************************************************/
function onkey_search_word(e)
{
	if (e == null || e.keyCode == 13)
	{
		window.location =  "resultados_busqueda.php?function=busqueda_palabras&palabras=" + urlencode(document.getElementById("BUSQUEDA_PALABRAS").value);
	}	
}


/*********************************************************************************************************/
/*********************************************************************************************************/
/************************************* CÁLCULO DE HASH SHA1 **********************************************/
/*********************************************************************************************************/
/*********************************************************************************************************/
function SHA1 (msg) {

    function rotate_left(n,s) {
        var t4 = ( n<<s ) | (n>>>(32-s));
        return t4;
    };

    function lsb_hex(val) {
        var str="";
        var i;
        var vh;
        var vl;

        for( i=0; i<=6; i+=2 ) {
            vh = (val>>>(i*4+4))&0x0f;
            vl = (val>>>(i*4))&0x0f;
            str += vh.toString(16) + vl.toString(16);
        }
        return str;
    };

    function cvt_hex(val) {
        var str="";
        var i;
        var v;

        for( i=7; i>=0; i-- ) {
            v = (val>>>(i*4))&0x0f;
            str += v.toString(16);
        }
        return str;
    };


    function Utf8Encode(string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    };

    var blockstart;
    var i, j;
    var W = new Array(80);
    var H0 = 0x67452301;
    var H1 = 0xEFCDAB89;
    var H2 = 0x98BADCFE;
    var H3 = 0x10325476;
    var H4 = 0xC3D2E1F0;
    var A, B, C, D, E;
    var temp;

    msg = Utf8Encode(msg);

    var msg_len = msg.length;

    var word_array = new Array();
    for( i=0; i<msg_len-3; i+=4 ) {
        j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 |
        msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);
        word_array.push( j );
    }

    switch( msg_len % 4 ) {
        case 0:
            i = 0x080000000;
        break;
        case 1:
            i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;
        break;

        case 2:
            i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;
        break;

        case 3:
            i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-1)<<8    | 0x80;
        break;
    }

    word_array.push( i );

    while( (word_array.length % 16) != 14 ) word_array.push( 0 );

    word_array.push( msg_len>>>29 );
    word_array.push( (msg_len<<3)&0x0ffffffff );


    for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {

        for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];
        for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);

        A = H0;
        B = H1;
        C = H2;
        D = H3;
        E = H4;

        for( i= 0; i<=19; i++ ) {
            temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=20; i<=39; i++ ) {
            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=40; i<=59; i++ ) {
            temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=60; i<=79; i++ ) {
            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        H0 = (H0 + A) & 0x0ffffffff;
        H1 = (H1 + B) & 0x0ffffffff;
        H2 = (H2 + C) & 0x0ffffffff;
        H3 = (H3 + D) & 0x0ffffffff;
        H4 = (H4 + E) & 0x0ffffffff;

    }

    var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);

    return temp.toLowerCase();

}


/**
Hace parpadear el muñeco del logo
**/
function parpadeo()
{
	$(".logo_wrapper").css('position','relative');
	$(".logo_wrapper > img").remove();
	$(".logo_wrapper").append("<img src='imagenes/web/parpado.gif' width='12' height='9' border='0' style='position:absolute; left:178px; top:50px; display:none;' ></img>");
	$(".logo_wrapper > img").slideDown(200,function(){
		$(this).slideUp(200,function(){ $(this).remove(); });
	});
}


//Muestra el mensaje de mantenimiento
function mantenimiento()
{
	var txt = "Por mantenimiento en nuestros servidores, AudioViator puede no funcionar correctamente a lo largo del día <b>18</b> de marzo. " +
 				"Recuerda que también puedes buscarnos en Itunes si deseas descargar y escuchar audioguías de todo el mundo. Lo sentimos.";
	var txten = "For maintenance on AudioViator, our servers may not work fine throughout today."+
				"Remember you can also find us on Itunes if you want to download and listen to our audio tours worldwide. Sorry.";
	
	$(".logo_wrapper").css('position','relative');
	$(".logo_wrapper").css('overflow','visible');
	$(".logo_wrapper").append("<div id='mante' class='mensaje_incrustado_yellow' style='width:900px; padding:5px; position:absolute; display:none;'  >"
	+txt+"<hr size='1' />"+txten+
	"</div>");
	$("#mante").css("padding-right","30px");
	$("#mante").css('bottom',"-"+($("#mante").height()+30)+"px");
	$("#mante").css('left',"20px");
	$("#mante").fadeIn();
	
	//Botón de cerrado
	$("#mante").append("<span style='position:absolute; top:35px; right:5px;' class='messagebox_cerrar' />");
	$("#mante > .messagebox_cerrar").unbind();
	$("#mante > .messagebox_cerrar").bind('mousedown', function(){
		$(this).parent().remove();	
	});
	$("#mante b").css('color',"red");
}







