

var email_error_shown = 0; // 2 means "OK" shown
var interval = 400;

function processReqChange() {
    if (req.readyState == 4) {
        clearTimeout(reqTimeout);
 
        if (req.status == 200) {
            if (req.responseText == "ok_email") {
                if (email_error_shown >= 1) {
                	setTimeout("css3_fadein('email_success', 'inline')", interval);
                	setTimeout("css3_fadein('email_error', 'inline')", interval);
                	setTimeout("document.getElementById('email_error').innerHTML = 'OK'", interval);

                } else {
                	css3_fadein('email_success', 'inline');
                	css3_fadein('email_error', 'inline');
                	document.getElementById('email_error').innerHTML = 'OK';
                }
            	email_error_shown = 2;
            } else {
            	if (email_error_shown >= 1) {
            		setTimeout("css3_fadein('email_fail', 'inline')", interval);
            		setTimeout("css3_fadein('email_error', 'inline')", interval);
            		setTimeout("document.getElementById('email_error').innerHTML = 'This email is already registered'", interval);
            	} else {
            		css3_fadein('email_fail', 'inline');
            		css3_fadein('email_error', 'inline');
            		document.getElementById('email_error').innerHTML = 'This email is already registered';
            	}
            	email_error_shown = 1;
            }
        } else {
            alert("Fail: \n" + req.statusText);
        }
    }  
}
 
function ajax_check_email(email) {
	if (email_error_shown == 1) {
		  css3_fadeout('email_fail');
		  css3_fadeout('email_error');
	}

	if (email_error_shown == 2) {
		  css3_fadeout('email_success');
		  css3_fadeout('email_error');
	}

	if (valid_email(email)) {
		loadXMLDoc("register-final.php?check_email=" + email);
	} else {
    	if (email_error_shown == 2) {
    		setTimeout("css3_fadein('email_fail', 'inline')", interval);
    		setTimeout("css3_fadein('email_error', 'inline')", interval);
    		setTimeout("document.getElementById('email_error').innerHTML = 'Invalid email'", interval);
    	}
    	if (email_error_shown == 0) {
    		css3_fadein('email_fail', 'inline');
    		css3_fadein('email_error', 'inline');
    		document.getElementById('email_error').innerHTML = 'Invalid email';
    	}
    	email_error_shown = 1;
	}
}

function check_pass_match() {
	if (document.regform.pwd.value != document.regform.pwd2.value) {
		css3_fadein('confirm_error', 'inline');
		set_value('confirm_error', '<img src="billeder/sidens_design/exclamation.gif"> Passwords do not match');
		return 0;
	} else {
		set_value('confirm_error', '');
		return 1;
	}	
}

function check_pass_length() {
	if (document.regform.pwd.value.length < 3) {
		css3_fadein('pwd_error', 'inline');
		set_value('pwd_error', '<img src="billeder/sidens_design/exclamation.gif"> Password should be longer than 3 symbols');
		return 0;
	} else {
		set_value('pwd_error', '');
		return 1;
	}
}

function check_fields() {
	if (email_error_shown != 2) {
		ajax_check_email(document.regform.email.value);
		return false;
	}
	
	if (check_pass_length() == 0) {
		return false;
	}	

	if (check_pass_match() == 0) {
		return false;
	}

	return 1; 	
}