function checkForm(obj, elems) {
var element, pattern;
var reg = new RegExp("[0-9a-z_]+@[0-9a-z_^.]+\\.[a-z]{2,3}", 'i');
        for (var i = 0; i < obj.elements.length; i++) {
                element = obj.elements[i];      
                if (elems != undefined) 
                if (elems.join().indexOf(element.type) < 0) continue;       
                if (!element.getAttribute("required")) continue;   
                if (pattern = element.getAttribute("check_pattern")) {
                        pattern = new RegExp(pattern, "g"); 
                        if (!pattern.test(element.value)) { 
                                alert(element.getAttribute("required"));   
                                element.focus();        
                                return false;   
                        }   
                }
                else if(/^\s*$/.test(element.value)) {
                        alert(element.getAttribute("required"));       
                        element.focus();    
                        return false;       
                }
                if (null!=element.getAttribute("mail"))
                if (!reg.test(element.value)) {
                        alert(element.getAttribute("mail"));
                        element.focus(); 
                        return false;
                }
        }
        return true;
}