

function Inint_AJAX() {
    try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
    try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
    return null;
}


function check_username(un) { 
    var req = Inint_AJAX();
    if(req == null){
        return 0;
    }

    req.onreadystatechange = function () {
        if (req.readyState==4) {
            if (req.status==200) {
                var r = req.responseText; //return value
                if( r >= 1){
                    var errors = 'The username ['+un+'] is already taken. Please enter a different username.\n';
                    err('unerr');
                    alert(errors);
                    return false; 
                }else{
                    clear('unerr');
                    document.uform.submit();
                    return true;
                }
            }
        }
    };
    req.open("GET", "/reg/check_user.php?un="+un); //make connection
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
    req.send(null); //send value

}

function check_user(un){
    var u = "";
    alert("Checking "+un);
    u = check_username(un);
    alert("after time "+u);
    return u;
}

function err(id){
    var e = document.getElementById(id);
    e.style.color = '#ff0000';;
}
function clear(id){
    var e = document.getElementById(id);
    e.style.color = '#000000';
}

function validate_user(){

    var errors = '';
    if(document.uform.fname.value == ""){
        errors  += 'Enter your first name\n';
        err('fnameerr');
    }else{
        clear('fnameerr');
    }
    if(document.uform.lname.value == ""){
        errors += 'Enter your last (family) name\n';
        err('lnameerr');
    }else{
        clear('lnameerr');
    }
    if(document.uform.email.value == ""){
        errors += 'Enter your email address\n';
       err('email');
    }else{
        clear('email');
    }
    if(document.uform.email_check.value == ""){
        errors += 'Confirm your email address.\n';
       err('email2');
    }else{
        clear('email2');
    } 
    if(document.uform.gender.value == ""){
        errors += 'Select your gender.\n';
        err('gendererr');
    }else{
        clear('gendererr');
    }
    if(document.uform.yob.value == ""){
        errors += 'Select your year of birth.\n';
       err('yoberr');
    }else{
        clear('yoberr');
    }
    var une = 0;
    if(document.uform.un1.value == ""){
        errors += 'Enter a username.\n';
        une++;
    }else if(document.uform.un1.length < 4){
        errors += 'Your username is less than 4 characters, it must have at least 4 and no more than 12 characters.<br>\n';
        une++;
    }else if(document.uform.un1.length > 12){
        errors += 'Your username is more than 12 characters, it must have at least 4 and no more than 12 characters.<br>\n';
        une++;
    }
    if(une > 0){
        err('unerr');
    }else{
        clear('unerr');
    }


    if(document.uform.country_id.value == ""){
        errors += 'Select the country where you live.\n';
        err('countryerr');
    }else{
        clear('countryerr');
        if(document.uform.country_id.value == "1"){
            if((document.uform.state_id.value == "")){
                errors += 'Select your U.S. state.\n';
                err('stateerr');
            }else{
                clear('stateerr');
            }
            clear('proverr');
            document.uform.prov.value == "";
        }else{
            if((document.uform.prov.value == "")){
                errors += 'Select your province.\n';
                err('proverr');
            }else{
                clear('proverr');
            }
            clear('stateerr');
            document.uform.state_id.selectedIndex = "0";
        }
    }
    var e = document.getElementById('ageerr');
    if(!document.uform.age.checked){
        errors += 'Confirm you are 13 years of age.\n';
        e.style.color = '#ff0000';
    }else{
        e.style.color = '#000000';
    }
    var e = document.getElementById('approp');
    if(!document.uform.server.checked){
        errors += 'Confirm you will act appropriately on the site.\n';
        e.style.color = '#ff0000';
    }else{
        e.style.color = '#000000';
    }
    var e = document.getElementById('terms');
    if(!document.uform.approval.checked){
        errors += 'Confirm you accept the Terms of User, Copyright and Privacy agreement.\n';
        e.style.color = '#ff0000';
    }else{
        e.style.color = '#000000';
    }

    if(errors != ''){
        errors = 'There are the following errors with your registration:\n\n'+errors+'\nFields marked in red need to be corrected.\n';
        alert(errors); 
        return false;
    }else{
        check_username(document.uform.un1.value);
    }
}
