﻿var W3CDOM = (document.getElementsByTagName && document.createElement);

function validate() {
    validForm = true;
    firstError = null;
    errorstring = '';
    var x = document.forms['feedback'].elements;

    for (var i=0;i<x.length;i++) {
        if (!x[i].value && x[i].className != 'optional')
            writeError(x[i],'Обязательно для заполненя');
    }
    if (x['fm_mail'].value.indexOf('@') == -1)
        writeError(x['fm_mail'],'Указан неверный email');
    if (!W3CDOM)
        alert(errorstring);
    if (firstError)
        firstError.focus();
	if (validForm) {
        return true;
    }
    else return false;
}

function writeError(obj,message) {
    validForm = false;
    if (obj.hasError) return;
    if (W3CDOM) {
        obj.className = 'fld-error';
        obj.onchange = removeError;
        var sp = document.createElement('span');
        sp.className = 'msg-error';
        sp.appendChild(document.createTextNode(message));
        obj.parentNode.appendChild(sp);
        obj.hasError = sp;
    }
    else {
        errorstring += obj.name + ': ' + message + '\n';
        obj.hasError = true;
    }
    if (!firstError)
        firstError = obj;
}

function removeError()
{
    this.className = this.className.substring(0,this.className.lastIndexOf(' '));
    this.parentNode.removeChild(this.hasError);
    this.hasError = null;
    this.onchange = null;
}
