// JavaScript Document
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//FECHA DE CREACION: 27/07/2009
//AUTOR: MARIANO CAPRIZ - mcapriz@housefactory.com.ar
//COMENTARIOS:
//MODIFICACIONES:
//
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function crearInstancia(){
	var XMLHttp;
	XMLHttp = false;
	if (window.XMLHttpRequest){
		return new XMLHttpRequest();
	} else if (window.ActiveXObject){
		var versiones = ["Msxml2.XMLHTTP.7.0","Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
		for (var i=0;i<versiones.length;i++){
			try {
				XMLHttp = new ActiveXObject(versiones[i]);
				if (XMLHttp){
					return XMLHttp;
					break;
				}
			} catch (e) {};
		}
	}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function overImagen(url_imagen,imagen,id){
    //var url = document.location.host;
    document.images[id].src = url_imagen + '/' + imagen + 2 + '.gif'; 
}
function outImagen(url_imagen,imagen,id){
    
    document.images[id].src = url_imagen + '/' + imagen + 1 + '.gif';
}

function swichImg(url_imagen, imagen){
    document.images['imgBG'].src = url_imagen + '/bg_' + imagen;
}
// USUARIOS - LOGIN //////////////////////////////////////////////////////////////////////////////////////////////////////////
function sendLogin(user,pws,lang){
    document.getElementById("loaderContainer").style.display = '';

    var user_name = document.getElementById(user).value;
    var user_pws = document.getElementById(pws).value;
    var msg ="";

    if (lang == 'esp'){
        msg = "Usuario o contraseña incorrectos!"
    } else if (lang == 'eng'){
        msg = "Invalid login or password!"
    }

    if (user_name == "" || user_pws == ""){
        document.getElementById('errorLogin').innerHTML = msg;
        document.getElementById("errorLogin").style.display = '';
        document.getElementById("loaderContainer").style.display = 'none'; //Oculto el Preload
        return;
    }

    //Llamo a la rutina ajax ke valida
    ajaxValidaUser = crearInstancia();

    if (ajaxValidaUser){

        url = "lib/validaUser.php?user_name=" + user_name + "&user_pws=" + user_pws + "&lang=" + lang;

        ajaxValidaUser.onreadystatechange = sumitFormUser;
        ajaxValidaUser.open('GET', url);
        ajaxValidaUser.send(null);

    }
}
function sumitFormUser(){
    
    if (ajaxValidaUser.readyState == 4){
        if (ajaxValidaUser.status == 200){ //La pagina ya esta load

            var result = ajaxValidaUser.responseText;

            switch (result){
                case 'eng':
                    document.location.href = "/myaccount";
                break;
                case 'esp':
                    document.location.href = "/micuenta";
                break;
                default:
                    document.getElementById("errorLogin").innerHTML = result;
                    document.getElementById("errorLogin").style.display = '';
                break;
            }

            document.getElementById("loaderContainer").style.display = 'none'; //Oculto el Preload
        }
    }
}
// USUARIOS - CREATE ACCOUNT //////////////////////////////////////////////////////////////////////////////////////////////////////////
function validaCampoRequerido(campo){
    $vCampo = trim(document.getElementById(campo).value);

    if ($vCampo == ''){ //Campo no ingresado
        document.getElementById(campo).focus();
        document.getElementById('label-' + campo).style.color = 'red';
        return 'error';
    } else {
        document.getElementById('label-' + campo).style.color = '#999999';
        return 'ok';
    }
}

function validaMail(campo_mail){
    document.getElementById("loaderContainer").style.display = '';
    var patronEmail=/(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/;

    validaCampoRequerido(campo_mail);
    var mail = document.getElementById(campo_mail).value;
    

    if (!patronEmail.test(mail)){
        document.getElementById(campo_mail).focus();
        document.getElementById('label-' + campo_mail).style.color = 'red'
        
    }
    
    if (document.getElementById('ref').value == 'singup'){
        buscaMail(campo_mail);
    }
    document.getElementById("loaderContainer").style.display = 'none'; //Oculto el Preload
}
function buscaMail(mail){
    document.getElementById("loaderContainer").style.display = '';
    var user_mail = document.getElementById(mail).value;

    //Llamo a la rutina ajax ke valida
    ajaxbuscaMail = crearInstancia();

    if (ajaxbuscaMail){

        url = "lib/buscaMail.php?user_mail=" + user_mail;

        ajaxbuscaMail.onreadystatechange = resultMail;
        ajaxbuscaMail.open('GET', url);
        ajaxbuscaMail.send(null);

    }

}
function resultMail(){

    if (ajaxbuscaMail.readyState == 4){
        if (ajaxbuscaMail.status == 200){ //La pagina ya esta load
            
            if (ajaxbuscaMail.responseText == 'error'){
                document.getElementById('mail').focus();
                document.getElementById('label-mail').style.color = 'red'
            }
            document.getElementById("loaderContainer").style.display = 'none'; //Oculto el Preload
        }
    }
}


function validaUserName(campo_name){
    document.getElementById("loaderContainer").style.display = '';
    validaCampoRequerido(campo_name);
    buscaUserName(campo_name);

}
function buscaUserName(userName){
    

    var user_name = document.getElementById(userName).value;

    //Llamo a la rutina ajax ke valida
    ajaxbuscaUserName = crearInstancia();

    if (ajaxbuscaUserName){

        url = "lib/buscaUserName.php?user_name=" + user_name;

        ajaxbuscaUserName.onreadystatechange = resultUserName;
        ajaxbuscaUserName.open('GET', url);
        ajaxbuscaUserName.send(null);

    }

}
function resultUserName(){

    if (ajaxbuscaUserName.readyState == 4){
        if (ajaxbuscaUserName.status == 200){ //La pagina ya esta load
            
            if (ajaxbuscaUserName.responseText == 'error'){
                document.getElementById('userAccount').focus();
                document.getElementById('label-userAccount').style.color = 'red'
            } 
            document.getElementById("loaderContainer").style.display = 'none'; //Oculto el Preload
        }
    }
}
function validaPws(campo_pws, campo_pws2){
    
    validaCampoRequerido(campo_pws);
    var pws = document.getElementById(campo_pws).value;
    validaCampoRequerido(campo_pws2);
    var pws2 = document.getElementById(campo_pws2).value;

    if (pws != pws2){

        document.getElementById(campo_pws).value = '';
        document.getElementById('label-' + campo_pws).style.color = 'red';

        document.getElementById(campo_pws2).value = '';
        document.getElementById('label-' + campo_pws2).style.color = 'red';

        document.getElementById(campo_pws).focus();
    }
}

function submitform(lang){

    var campos = new Array();
    campos[0] = validaCampoRequerido('name');
    campos[1] = validaCampoRequerido('mail');
    campos[2] = validaCampoRequerido('userAccount');
    campos[3] = validaCampoRequerido('pwsAccount');
    campos[4] = validaCampoRequerido('pwsAccount2');

    var flag = 'ok';
    for (i=0; i<=4; i++){
        if (campos[i] == 'error'){
            switch (lang) {
                case 'esp':
                    document.getElementById('errorSignup').innerHTML = 'Los campos en rojo son incorrectos, por favor vuelva a cargar el formulario.';
                break;
                case 'eng':
                    document.getElementById('errorSignup').innerHTML = 'One or more fields have error, please, check and try again';
                break;
            }
            flag = 'error';
            break;
        }
    }

    if (flag == 'ok'){
        document.account_form.submit();
    }
}
////////////////////////////////////////////////////////////////////////
function trim(cadena){
    for(i=0; i<cadena.length; i++){
        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;
}
