

function validate(targetForm) {

    var EMAIL = "^[a-zA-Z0-9_-]+(\.([a-zA-Z0-9_-])+)*@[a-zA-Z0-9_-]+[.][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*$"
    var URL = "http://"

    for (var i = 0; i < targetForm.elements.length; i++) {
        if(targetForm.elements[i].getAttribute("strValue") != null) {
            var message = targetForm.elements[i].getAttribute("message");
            var strBound = targetForm.elements[i].getAttribute("strBound");
            var strVal = targetForm.elements[i].getAttribute("strValue");

            if(eval('document.' + strBound + '.type') == 'select-one') {
                var sIndex = eval('document.' + strBound + '.selectedIndex');
                var strBoundVal = eval('document.' + strBound + '[' + sIndex + '].value');
            }
            if(strVal == strBoundVal){
                if(targetForm.elements[i].value == '') {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
            }

        }

        if(targetForm.elements[i].getAttribute("isReq")) {

            var message = targetForm.elements[i].getAttribute("message");

            if(targetForm.elements[i].type == 'checkbox') {
                if(!targetForm.elements[i].checked) {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
            }
            else if(targetForm.elements[i].type == 'text' ||
                    targetForm.elements[i].type == 'password') {
                if(targetForm.elements[i].value == '') {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
                if(targetForm.elements[i].getAttribute("regex") != null) {
                    var UserRegEx = targetForm.elements[i].getAttribute("regex");
                    var InputValue = targetForm.elements[i].value;
                    if(UserRegEx == 'EMAIL') {
                        var re = new RegExp(EMAIL);
                        if(!InputValue.match(re)) {
                            alert(message);
                            targetForm.elements[i].focus();
                            return false;
                        }
                    }
                    else if(UserRegEx == 'URL') {
                        var re = new RegExp(URL);
                        if(!InputValue.match(re)) {
                            alert(message);
                            targetForm.elements[i].focus();
                            return false;
                        }
                    }
                    else {
                        var re = new RegExp(UserRegEx);
                        if(!InputValue.match(re)) {
                            alert(message);
                            targetForm.elements[i].focus();
                            return false;
                        }
                    }
                }
            }
            else if(targetForm.elements[i].type == 'select-one') {
                if(targetForm.elements[i].value == 'Seciniz') {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
            }
            else if(targetForm.elements[i].type == 'textarea') {
                if(targetForm.elements[i].value == '') {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
            }
            else if(targetForm.elements[i].type == 'radio') {
                var isSelected = false;
                var j = 0;
                while(targetForm.elements[i+j].type == 'radio' &&
                      targetForm.elements[i].name == targetForm.elements[i+j].name) {
                    if(targetForm.elements[i+j].checked) {
                        isSelected = true;
                    }
                    j++;

                }

                j = 0;

                while(targetForm.elements[i-j].type == 'radio' &&
                      targetForm.elements[i].name == targetForm.elements[i-j].name) {
                    if(targetForm.elements[i-j].checked) {
                        isSelected = true;
                    }

                    if(i-j <= 0) {
                        break;
                    }

                    j++;
                }

                if(!isSelected) {
                    alert(message);
                    targetForm.elements[i].focus();
                    return false;
                }
            }
            else {
                return true;
            }
        }
    }
}




