function e(o) {
	return document.getElementById(o);	
}
function trim(cadena) {
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}
	for(i=cadena.length-1; i>=0; i=cadena.length-1) {
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	return cadena;
}
function esNumero(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
	return false;
return true;
}
function strtoupper( str ) {    
return (str+'').toUpperCase(); 
}
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 strlen (string) {
    var str = string+'';
    var i = 0, chr = '', lgth = 0;
 
    var getWholeChar = function (str, i) {
        var code = str.charCodeAt(i);
        var next = '', prev = '';
        if (0xD800 <= code && code <= 0xDBFF) { 
            if (str.length <= (i+1))  {
                throw 'High surrogate without following low surrogate';
            }
            next = str.charCodeAt(i+1);
            if (0xDC00 > next || next > 0xDFFF) {
                throw 'High surrogate without following low surrogate';
            }
            return str[i]+str[i+1];
        } else if (0xDC00 <= code && code <= 0xDFFF) {
            if (i === 0) {
                throw 'Low surrogate without preceding high surrogate';
            }
            prev = str.charCodeAt(i-1);
            if (0xD800 > prev || prev > 0xDBFF) { 
                throw 'Low surrogate without preceding high surrogate';
            }
            return false; 
        }
        return str[i];
    };
 
    for (i=0, lgth=0; i < str.length; i++) {
        if ((chr = getWholeChar(str, i)) === false) {
            continue;
        } 
        lgth++;
    }
    return lgth;
}

function rut(r)
{
	r=r.replace(/-/g,"");
	sub_rut=substr(r,0,strlen(r)-1);
	sub_dv=substr(r,-1);
	x=2;
	s=0;
	if (strlen(sub_rut)==8) {
		var pes = new Array(8);
		for (i=0;i<8;i++) { pes[i] = sub_rut.charAt(i); }
	}
	else if (strlen(sub_rut)==7) {
		var pes = new Array(7);
		for (i=0;i<7;i++) { pes[i] = sub_rut.charAt(i); }
	}
	else { return false; }
	for ( i=strlen(sub_rut)-1;i>=0;i-- ) {
		if ( x >7 )	{ x=2; }
		s = parseInt(s) + (parseInt(pes[i])*parseInt(x));		
		x++;
	}

	if (sub_dv=="k") { sub_dv='K'; }
	var dif=parseInt(s%11);

	var new_dv=11-dif;
	if ( parseInt(new_dv)==10 ) { new_dv='K'; }
	if ( parseInt(new_dv)==11 ) { new_dv='0'; }

	if ( parseInt(new_dv)==parseInt(sub_dv) || new_dv==sub_dv ) { return true; }
	else { return false; }
}
function nuevoAjax(){
    var xmlhttp=false;
     try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
     catch (e) {
         try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    }
         catch (E) { xmlhttp = false; }
     }
     if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); }
     return xmlhttp;
}

function useAjax(file,capan,postdata,texto) {
    ajax = nuevoAjax();
	var rnd=Math.random();
    accionado = function () {
		var capa = document.getElementById(capan);
		if (ajax.readyState == 1) {
			capa.innerHTML = '<img src="images/load.gif" />&nbsp;&nbsp;<span style="color: white; font-family: Arial; font-weight: bold; font-size: 13px;">'+texto+'</span>';
		}
		else if ((ajax.readyState == 4) && (ajax.status == 200)) {
		var g=ajax.responseText;
		var g=g.split('[JS]');
		if (g.length>0) {
		capa.innerHTML = g[0]; 
		eval(g[1]);
		}
		else { capa.innerHTML = ajax.responseText; }
		if (file=='muro.php') { $("#querer").autoResize({textHold: "Escribir en el muro...", minHeight:40}); }
		else { $("#querer").autoResize({textHold: "Escribir publicacion...", minHeight:40}); }
		}
	}
   ajax.onreadystatechange = accionado;
   ajax.open("POST", file+'?random='+rnd,true);
   ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   if (!postdata) { postdata=null; }
   ajax.send(postdata); 
}

function checkLOG() {
var form=e('loghome');
var log_mail=e('log_mail');
var log_pass=e('log_pass');
//alert(nick.value);
if (trim(log_mail.value)=='') { alert('Debe especificar correo acceso'); log_mail.focus(); return false; }
else if (trim(log_pass.value)=='') { alert('Debe especificar clave de acceso'); log_pass.focus(); return false; }
form.submit();
}

function checkREG() {
var form=e('profiler');
var nombre=e('nombre');
var nick=e('nick');
var apellido=e('apellido');
var email=e('email');
var clave1=e('clave1');
var clave2=e('clave2');
//alert(nick.value);
if (trim(nick.value)=='') { alert('Debe especificar un alias o nick'); nick.focus(); return false; }
else if (trim(nombre.value)=='') { alert('Debe especificar su nombre'); nombre.focus(); return false; }
else if (trim(apellido.value)=='') { alert('Debe especificar su apellidos'); apellido.focus(); return false; }
else if (trim(email.value)=='') { alert('Debe especificar su email'); email.focus(); return false; }
else if (trim(clave1.value)=='') { alert('Debe especificar una clave'); clave1.focus(); return false; }
else if (clave1.value!=clave2.value) { alert('La clave ingresada no coincide con su repeticion'); clave2.focus(); return false; }
form.submit();
}


function checkREG2() {
var form=e('profiler');
var nombre=e('nombre');
var nick=e('nick');
var apellido=e('apellido');
var email=e('email');
var clave1=e('clave1');
var clave2=e('clave2');
//alert(nick.value);
if (trim(nick.value)=='') { alert('Debe especificar un alias o nick'); nick.focus(); return false; }
else if (trim(nombre.value)=='') { alert('Debe especificar su nombre'); nombre.focus(); return false; }
else if (trim(apellido.value)=='') { alert('Debe especificar su apellidos'); apellido.focus(); return false; }
else if (trim(email.value)=='') { alert('Debe especificar su email'); email.focus(); return false; }
else if (clave1.value!=clave2.value) { alert('La clave ingresada no coincide con su repeticion'); clave2.focus(); return false; }
form.submit();
}
