// form; check for mandatory fields
function checkMandatories(formName)
{
    var theForm = document[formName];
    var m = theForm.mgnlMandatory;
    var i = 0;
    var focusField = null;
    var ok = true;
    if (m) {
        if (!m[0]) {
            var tmp = m;
            m = new Object();
            m[0] = tmp;
        }

        while(m[i]){
            var isEmail = false;
            var name = m[i].value;
            var type;
            var mgnlField;
            if (document.all) {
                mgnlField = theForm(name);
            } else {
                mgnlField = theForm[name];
            }
            //feld ist email?
			//Attribut abfragen
			if ( mgnlField.getAttribute('isEmail') == 'true' ) {
				isEmail = true;
			}
			//
            if (mgnlField.type) {
                type = mgnlField.type;
            } else if (mgnlField[0] && mgnlField[0].type) {
                type = mgnlField[0].type;
            }

            switch (type) {
                case "select-one":
                    if (mgnlField.selectedIndex == 0) {
                        ok = false;
                        document.getElementById(mgnlField.name).className = "error bold";
                    }else{
                        document.getElementById(mgnlField.name).className = "grayText bold";
                    }
                    break;
                case "checkbox":
                case "radio":
                    var obj = new Object();
                    if (!mgnlField[0]) obj[0] = mgnlField;
                    else obj = mgnlField;
                    var okSmall = false;
                    var ii = 0;
                    while (obj[ii])
                    {
                        if (obj[ii].checked)
                        {
                            okSmall = true;
                            break;
                        }
                        ii++;
                    }
                    if (!okSmall) {
                        ok = false;
                        document.getElementById(mgnlField.name).className = "error bold";
                        if(focusField == null){
                            focusField = mgnlField;
                        }
                    }else {
                        document.getElementById(mgnlField.name).className = "grayText bold";
                    }
                    break;
                default:
                   if (!mgnlField.value || (isEmail && !validateEmail(mgnlField.value))) {
                        ok = false;
                        document.getElementById(mgnlField.name).className = "error bold";
                        if(focusField == null){
                            focusField = mgnlField;
                        }
					} else {
                        document.getElementById(mgnlField.name).className = "grayText bold";
                    }
            }


            i++;
        }
        if (!ok)
            {
                if (focusField != null) {
//                    mgnlField.focus();
                    focusField.focus();
                }
            }
    }

    if (ok) {
       document.getElementById("error").style.visibility = "hidden";
       document.getElementById("error").style.height=0;
       document.getElementById("error").style.margin=0;
       theForm.submit();
    } else{
       document.getElementById("error").style.visibility = "visible";
       document.getElementById("error").style.height=30;
       document.getElementById("error").style.margin=5;
    }
}

/*function checkEmail(formName){
    var theForm=document[formName];
    var m=theForm.mgnlEmail;
    var i=0;
    var next = true;
    if (m) {
        if (!m[0]) {
            var tmp=m;
            m=new Object();
            m[0]=tmp;
        }
        while (m[i]) {
            var okEM=true;
            var name=m[i].value;

            var mgnlField;
            if(document.all) {
                mgnlField=theForm(name);
            } else {
                mgnlField=theForm[name];
            }

            if (mgnlField.value && mgnlField.value != "" ) {
                okEM = validateEmail(mgnlField.value);
            }

            if (!okEM) {
                next = false;
                document.getElementById(mgnlField.name).className = "error bold";
            } else {
                document.getElementById(mgnlField.name).className = "grayText bold";
            }
            i++;
                    }

        return next;
    }
}   */

function validateEmail(s)
    {
     var a = false;
     var res = false;
     if(typeof(RegExp) == 'function')
     {
      var b = new RegExp('abc');
      if(b.test('abc') == true){a = true;}
      }

     if(a == true)
     {
      reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                       '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                       '(\\.)([a-zA-Z]{2,4})$');
      res = (reg.test(s));
     }
     else
     {
      res = (s.search('@') >= 1 &&
             s.lastIndexOf('.') > s.search('@') &&
             s.lastIndexOf('.') >= s.length-5)
     }
     return(res);
    }

function fillEmail(recipient) {
    if (recipient != null && recipient != "") {
        var emailField = document.getElementById("inputEmail");
        if (emailField != null) {
            emailField.value = recipient;
        }
    }
}

