function validateEmail(formObject) {
    if (formObject.value.indexOf("@")>0 && formObject.value.lastIndexOf(".")>2 && (formObject.value.lastIndexOf(".") + 2 ) < formObject.value.length  ) {
       formObject.style.border = "1px solid gray" ;
    } else {
       formObject.style.border = "2px solid red" ;
    }
}

function validatePassword(formObject) {
    var passwordStreangth = 0 ;
    if (formObject.value.length > 8) {
        passwordStreangth += 2 ;
    } else if (formObject.value.length > 4) {
        passwordStreangth += 1 ;
    }
    if (formObject.value.search(/[a-z]+/) > -1 )  passwordStreangth += 1;
    if (formObject.value.search(/[A-Z]+/) > -1 )  passwordStreangth += 1;
    if (formObject.value.search(/[0-9]+/) > -1 )  passwordStreangth += 1;
    if (formObject.value.search(/[\W_]+/) > -1 )  passwordStreangth += 2;

    if (passwordStreangth < 2 ) {
        formObject.style.border = "2px solid red" ;
    } else if (passwordStreangth < 3) {
        formObject.style.border = "2px dotted red" ;
    } else if (passwordStreangth < 4) {
        formObject.style.border = "1px solid orange" ;
    } else if (passwordStreangth < 5) {
        formObject.style.border = "1px solid yellow" ;
    } else if (passwordStreangth < 6) {
        formObject.style.border = "1px dotted green" ;
    } else {
        formObject.style.border = "2px solid green" ;
    }
}

function validatePhone(formObject,tipId) {
    var phoneErrors = 0 ;
    var tip = "" ;
    if (formObject.value.length < 12) {
        phoneErrors += 1 ;
        tip = "Most Phone numbers are longer than 5 digits.";
    }
    if (formObject.value.length < 10) {
        phoneErrors += 1 ;
        tip = "Most Phone numbers are longer than 5 digits.";
    }
    if (formObject.value.search(/[0-9]+/) < 0 ) {
        phoneErrors += 1;
        tip = "A phone number must contain digits." ;
    }
    if (formObject.value.charAt(0)!="+") {
        phoneErrors += 1 ;
        tip = "Phone numbers start with a plus sign \"+\" and then the international code:<br />+1 for USA, +91 for india, +32 for belgium etc.." ;
        formObject.value = "+" + formObject.value ;
    }

    if (phoneErrors > 3 ) {
        formObject.style.border = "2px solid red" ;
    } else if (phoneErrors > 2 ) {
        formObject.style.border = "2px dotted red" ;
    } else if (phoneErrors > 1) {
        formObject.style.border = "1px solid orange" ;
    } else if (phoneErrors > 0) {
        formObject.style.border = "1px dotted green" ;
    } else {
        formObject.style.border = "2px solid green" ;
    }
    document.getElementById(tipId).innerHTML = tip ;
}

function validateMaxLength(maxLength, thetextObject, idOfSpan) {
    if (thetextObject.value.length > maxLength ) {
        thetextObject.value = thetextObject.value.substring(0,maxLength) ;
        thetextObject.style.border = "2px solid red" ;
    } else if ( (maxLength - thetextObject.value.length) < 100 ) {
        thetextObject.style.border = "1px solid orange" ;
    } else {
        thetextObject.style.border = "2px solid green" ;
    }
    // enforced maxLength update info
    document.getElementById(idOfSpan).innerHTML = (maxLength - thetextObject.value.length);
}