var validatorUri = "/13_User_Validate";
var errors = 0;
if (!window.$) {
    function $(id){
        return document.getElementById(id);
    }
}
function validateReview(f){
    if ($('ratings_overall').value.length == 0) 
        return false;
    if ($('ratings_food').value.lenght == 0) 
        return false;
    if ($('ratings_service').value.length == 0) 
        return false;
    if ($('ratings_ambience').value.length == 0) 
        return false;
    if ($('ratings_value').value.lenght == 0) 
        return false;
    if ($('comment_text').value.length == 0) 
        return false;
    return true;
}

function checkForm(f){
    errors = 0;
    advAJAX.setDefaultParameters({
        group: "sample_group",
        onGroupLeave: function(){
            if (errors > 0) {
				$('u_general_msg').innerHTML = 'Please reenter values in red boxes';
				window.scrollTo(0,0);
			}
			else 
				$('form1').submit();
        },
        onGroupEnter: function(){
        },
        onSuccess: function(obj){
            eval(obj.responseText);
            if (data.error) {
                errors++;
                $(obj.tag + '_msg').innerHTML = data.msg;
                $(obj.tag + '_msg').className = 'error';
                $(obj.tag + '_msg').style.display = "block";
                $(obj.tag).style.border = "1px solid red";
            }
            else {
                try {
                    $(obj.tag + '_msg').style.display = "none";
                    $(obj.tag + '_msg').className = '';
                    $(obj.tag).style.border = "";
                } 
                catch (e) {
                }
            }
        },
        onError: function(obj){
            alert("Error: " + obj.status);
        }
    });
	if ($('u_nick_name')) {
		advAJAX.get({
			url: validatorUri + ',what,username,value,' + $('u_nick_name').value + ',',
			tag: 'u_nick_name'
		});
	}
    advAJAX.get({
        url: validatorUri + ',what,email,value,' + $('u_email').value + ',',
        tag: 'u_email'
    });
    if ($('u_mobile')) {
	 
	    advAJAX.get({
	        url: validatorUri + ',what,phone,value,' + $('u_mobile').value + ',',
	        tag: 'u_mobile'
	    });

     
        if (!/^([0-9\ \(\)\-\+]){5,30}$/.test($('u_mobile').value)) {
            $('u_mobile_msg').display = 'block';
            $('u_mobile_msg').innerHTML = 'Digits only';
        }
        else {
            $('u_mobile_msg').display = 'none';
        }
    }
    if ($('u_password').value.length > 0) {
        if (!checkPassword()) {
            errors++;
            $('u_password_msg').style.display = 'block';
            $('u_password_msg').className = 'error';
            $('u_password_msg').innerHTML = 'Password don\'t match';
        } else {			
			$('u_password_msg').style.display = 'none';
            $('u_password_msg').className = '';
            $('u_password_msg').innerHTML = '';
			    advAJAX.get({
			        url: validatorUri + ',what,password,value,' + $('u_password').value + ',',
			        tag: 'u_password'
			    });
		}
		
    }
    if ($('u_email_confirm').value != $('u_email').value) {
		errors++;
        $('u_email_confirm_msg').style.display = 'block';
        $('u_email_confirm_msg').className = 'error';
        $('u_email_confirm_msg').innerHTML = 'Emails don\'t match';
    }
    else 
        if (!is_valid_email($('u_email_confirm').value)) {
			errors++;
            $('u_email_confirm_msg').style.display = 'block';
            $('u_email_confirm_msg').className = 'error';
            $('u_email_confirm_msg').innerHTML = 'Email is not correct';
        } else {
			$('u_email_confirm_msg').style.display = 'none';
            $('u_email_confirm_msg').className = '';
            $('u_email_confirm_msg').innerHTML = '';
		}
    
	if(false && $('rest_file')) {
		if($('rest_file').value.length == 0) {
			$('u_rest_file_msg').style.display = 'block';
            $('u_rest_file_msg').className = 'error';
            $('u_rest_file_msg').innerHTML = 'Please insert file';
		} else {
			$('u_rest_file_msg').style.display = 'none';
            $('u_rest_file_msg').className = '';
            $('u_rest_file_msg').innerHTML = '';
		}
	}
	
    return false;
}

function checkPassword(){
    return ($('u_password').value == $('u_password_confirm').value);
}

function checkUsername(el){
    var value = el.value;
    if (value.length < 3) {
        $('u_nick_name_msg').innerHTML = 'Login is too short';
        $('u_nick_name_msg').display = 'block';
        $('u_nick_name_msg').className = 'error';
        setTimeout(function(){
            el.focus();
        }, 500);
        return false;
    }
    advAJAX.get({
        async: false,
        url: validatorUri + ',what,username,value,' + value,
        onSuccess: function(obj){
            eval(obj.responseText);
            if (data.error) {
                $(el.id + '_msg').innerHTML = data.msg;
                $(el.id + '_msg').style.display = "block";
                $(el.id + '_msg').className = 'error';
                errors++;
                el.value = '';
                setTimeout(function(){
                    el.focus();
                }, 200);
                return false;
            }
            else {
                $(el.id + '_msg').style.display = 'none';
                $(el.id + '_msg').className = '';
                return true;
            }
        }
    });
    return false;
}

function is_valid_email(email){
    return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}



function checkEmail(el){
    var value = el.value;
    if (!is_valid_email(value)) {
        $('u_email_msg').innerHTML = 'Email is not valid!';
        errors++;
        el.value = '';
        setTimeout(function(){
            el.focus();
        }, 200);
        return false;
    }
    advAJAX.get({
        async: false,
        url: validatorUri + ',what,email,value,' + value,
        onSuccess: function(obj){
            eval(obj.responseText);
            if (data.error) {
                $(el.id + '_msg').innerHTML = data.msg;
                $(el.id + '_msg').style.display = "block";
                $(el.id + '_msg').className = 'error';
                
                errors++;
                el.value = '';
                setTimeout(function(){
                    el.focus();
                }, 200);
                return false;
            }
            else {
                $(el.id + '_msg').style.display = "none";
                $(el.id + '_msg').className = '';
                
                return true;
            }
        }
    });
    return false;
}

function validPhone(e){
    var unicode = e.charCode ? e.charCode : e.keyCode;
    var chr = String.fromCharCode(unicode);
    if (unicode == 8) 
        return true;
    if ((chr >= 0 && char <= 9) || (chr == '+' && $('u_mobile').value.length == 0)) {
        return true;
    }
    else {
        return false;
    }
}

function checkPhone(el){
    var value = el.value;
    advAJAX.get({
        async: false,
        url: validatorUri + ',what,phone,value,' + value,
        onSuccess: function(obj){
            eval(obj.responseText);
            if (data.error) {
                $(el.id + '_msg').innerHTML = data.msg;
                $(el.id + '_msg').className = 'error';
                
                $(el.id + '_msg').style.display = "block";
                errors++;
                el.value = '';
                setTimeout(function(){
                    el.focus();
                }, 200);
                return false;
            }
            else {
                $(el.id + '_msg').style.display = "none";
                $(el.id + '_msg').className = '';
                
                return true;
            }
        }
    });
    return false;
}

window.onload = function(){
    if ($('sub')) 
        $('sub').disabled = false;
}
