function emailOk(emailAddr) {
        var i;
        i = emailAddr.indexOf("@");
        if (i == -1) {
                return false;
        }
        var username = emailAddr.substring(0, i);
        var domain = emailAddr.substring(i + 1, emailAddr.length)
        i = 0;
        while ((username.substring(i, i + 1) == " ") && (i < username.length)) {
                i++;
        }
        if (i > 0) {
                username = username.substring(i, username.length);
        }
        i = domain.length - 1;
        while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
                i--;
        }
        if (i < (domain.length - 1)) {
                domain = domain.substring(0, i + 1);
        }
        if ((username == "") || (domain == "")) {
                return false;
        }
        var ch;
        for (i = 0; i < username.length; i++) {
                ch = (username.substring(i, i + 1)).toLowerCase();
                if (!(((ch >= "a") && (ch <= "z")) ||
                        ((ch >= "0") && (ch <= "9")) ||
                        (ch == "_") || (ch == "-") || (ch == "."))) {
                                return false;
                }
        }

        for (i = 0; i < domain.length; i++) {
                ch = (domain.substring(i, i + 1)).toLowerCase();
                if (!(((ch >= "a") && (ch <= "z")) ||
                        ((ch >= "0") && (ch <= "9")) ||
                        (ch == "_") || (ch == "-") || (ch == "."))) {
                                return false;
                }
        }
        i = domain.indexOf(".");
        if (i == -1) {
                return false;
        }
        return true;
};

function validate(form){
    good = true;
    err = "Грешно въведени данни:\n\n";

    //whitespace characters
    var whitespace = " \t\n\r";

    //check whether string s is empty.
    function isEmpty(s)
    { return ((s == null) || (s.length == 0)) }

    function isWhitespace (s)
    {
       var i;

       //is s empty?
       if (isEmpty(s)) return true;

       //search through string's characters one by one
       //until we find a non-whitespace character.
       //when we do, return false; if we don't, return true.

       for (i = 0; i < s.length; i++)
       {
            //check that current character isn't whitespace.
            var c = s.charAt(i);
            if (whitespace.indexOf(c) == -1) return false;
       }

       //all characters are whitespace.
       return true;
    }

    function ForceEntry(val) {
       var strInput = new String(val.value);

       if (isWhitespace(strInput)) {
            return false;
       } else
            return true;
    }

	if (document.getElementsByName("fname").length){
		if (form.fname.value=='' || !ForceEntry(form.fname)){
			good=false;
			err+="Име\n";
		};
	}

	if (document.getElementsByName("lname").length){
		if (form.lname.value=='' || !ForceEntry(form.lname)){
			good=false;
			err+="Фамилия\n";
		};
	}

	if (document.getElementsByName("city").length){
		if (form.city.value=='' || !ForceEntry(form.city)){
			good=false;
			err+="Град/село\n";
		};
	}

	if (document.getElementsByName("zip").length){
		if (form.zip.value==''){
			good=false;
			err+="Пощенски код\n";
		};
	}

	if (document.getElementsByName("address").length){
		if (form.address.value=='' || !ForceEntry(form.address)){
			good=false;
			err+="Адрес\n";
		};
	}

	if (document.getElementsByName("email").length){
		if (!emailOk(form.email.value)){
			good=false;
			err+="E-mail\n";
		};
	}

	if (document.getElementsByName("phone").length){
		if (form.phone.value=='' || !ForceEntry(form.phone)){
			good=false;
			err+="Телефон/и\n";
		};
	}

	if (document.getElementsByName("user").length){
		if (form.user.value=='' || !ForceEntry(form.user)){
			good=false;
			err+="Потребителско име\n";
		};
	}

	if (document.getElementsByName("pass").length){
		if (form.pass.value=='' || !ForceEntry(form.pass)){
			good=false;
			err+="Парола\n";
		};
	}

	if (document.getElementsByName("pass2").length){
		if (form.pass2.value=='' || form.pass2.value!=form.pass.value){
			good=false;
			err+="Парола повторение\n";
		};
	}

	err += "\nМоля, коригирайте ги и опитайте отново.\n";

    if (!good) {
        alert(err);
    }else{
        exit=false;
    }

    if(good) form.submit();
}
