function validateRequired(requiredClass) {
        var requiredElements = $$(requiredClass);
        var errorElements = Array();
        var resultValidation = true;

        requiredElements.each ( function(elem) {
                                        if ( !elem.value || elem.value.length == 0 ) {
                                                alert("el campo " + elem.title + " es obligatorio");
                                                if (resultValidation) resultValidation = false;
                                        }
                                }
        );
        return resultValidation;
}

function validateEmailAddress(emailClass) {
        var emailElements = $$(emailClass);
        var emailfilter = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
        var badEmailElements = Array();
        var resultValidation = true;

        emailElements.each ( function(elem) {
                             if ( elem.value && !emailfilter.test(elem.value) ) {
                                   alert("el mail " + elem.title + " es invalido");
                                   if (resultValidation) resultValidation = false;
                             }
                         }
    );

    return resultValidation;
}

function beforeRegisterUser() {
    if ( !beforeSubmitValidation() )
        return false;

    var registerObject = {
        mail: xajax.$('mail').value
    };

    xajax_validateUser(registerObject);

    xajax.callback.global.onFailure = function() {
        alert("Error Al Intentar Loguearse a la aplicacion");
        return false;
    }

    xajax.callback.global.onComplete = function() {

alert(errorsBox.value);

        if ( errorsBox.value.length > 0 ) {
            alert(errorsBox.value);
            return false;
        }

        document.forms[0].submit();
    }
}

function beforeSubmitValidation () {
        var errors = true;
        errors = errors && validateRequired('.required');
        errors = errors && validateEmailAddress('.mail')
        return errors;
}


function loginWithKey(e)
{
var keynum

    if(window.event) // IE
    {
        keynum = e.keyCode
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which
    }

    if ( keynum == 13)
    {
        return login();
    }
}

function login() {
    var errorsBox = xajax.$('errorsBox');
    var frm = xajax.$('Aula_Form');
        errorsBox.value = "";

    var chk = xajax.$('checkAula');
    if (chk.checked)
    {
    	var loginObject = {
				user: xajax.$('AulaUser').value
    	};
    	xajax_SendPass(loginObject);

        xajax.callback.global.onFailure = function() {
             alert("Error Al Intentar Loguearse a la aplicacion");
        }
        xajax.callback.global.onComplete = function() {
            if ( errorsBox.value.length > 0 ) {
                alert(errorsBox.value);
             }

 	    }
        return false;
    }

    var loginObject = {
					user: xajax.$('AulaUser').value,
					pass: xajax.$('AulaPass').value,
					tipo: '2'
        };
	if ( beforeSubmitValidation() ) {
	    xajax_login(loginObject);

           xajax.callback.global.onFailure = function() {
                alert("Error Al Intentar Loguearse a la aplicacion");
	    }

           xajax.callback.global.onComplete = function() {
                if ( errorsBox.value.length > 0 ) {
                   alert(errorsBox.value);
                }
                else {
                	frm.submit();
                }
	    }
	}

        return false;
}

function loginBiblo()
{
    var errorsBox = xajax.$('errorsBox');
    var frm = xajax.$('Centro_Form');
        errorsBox.value = "";

    var chk = xajax.$('checkCentro');
    if (chk.checked)
    {
      	var loginObject = {
    		user: xajax.$('CentroUser').value
       	};
      	xajax_SendPass(loginObject);

        xajax.callback.global.onFailure = function() {
              alert("Error Al Intentar Loguearse a la aplicacion");
         }
        xajax.callback.global.onComplete = function() {
        if ( errorsBox.value.length > 0 ) {
               alert(errorsBox.value);
        }
     }
            return false;
    }

   var loginObject = {
					user: xajax.$('CentroUser').value,
					pass: xajax.$('CentroPass').value,
					tipo: '1'
        };
	if ( beforeSubmitValidation() ) {
	    xajax_login(loginObject);

           xajax.callback.global.onFailure = function() {
                alert("Error Al Intentar Loguearse a la aplicacion");
	    }

           xajax.callback.global.onComplete = function() {
                if ( errorsBox.value.length > 0 ) {
                   alert(errorsBox.value);
                }
                else {
                	frm.submit();
                }
	    }
	}

        return false;
}
function AddNews()
{
	var errorsBox = xajax.$('errorsBox');
    var frm = xajax.$('formNews');
        errorsBox.value = "";
	var loginObject = {
			user: xajax.$('NewsNombre').value,
			mail: xajax.$('NewsMail').value
       };
	if ( beforeSubmitValidation() ) {
	    xajax_AddNews(loginObject);

           xajax.callback.global.onFailure = function() {
                alert("Error Al Intentar Agregarse al newsletter");
	    }

           xajax.callback.global.onComplete = function() {
                if ( errorsBox.value.length > 0 ) {
                   alert(errorsBox.value);
                }
                else {
                	frm.submit();
                }
	    }
	}

        return false;
}

function enterValidate()
{
    var errors = true;
    errors = errors && validateRequired('.required');
    errors = errors && validateEmailAddress('.email');
    return errors;
}



