function clear_login_elem()
{
    document.getElementById('username').value="";
    document.getElementById('password').value="";
    document.login.elements['username'].focus();
}

function clear_business_elem()
{
    document.getElementById('name').value="";
    document.getElementById('email').value="";
    document.getElementById('company_url').value="";
    document.getElementById('phone_no').value="";
    document.getElementById('enquiry_info').value="";
}

function clear_signup()
{
    document.getElementById('contact_firstname').value = "";
    document.getElementById('contact_lastname').value = "";
    document.getElementById('contact_email').value = "";
    document.getElementById('contact_organisation').value = "";
    document.getElementById('contact_ourl').value = "";
    document.getElementById('contact_designation').value = "";
    document.getElementById('contact_oaddr').value = "";
    document.getElementById('contact_city').value = "";
    document.getElementById('contact_state').value = "";
    document.getElementById('contact_country').value = "";
    document.getElementById('contact_zipcode').value = "";
    document.getElementById('contact_telephone').value = "";
    document.getElementById('contact_pwd').value = "";
    document.getElementById('contact_reenter').value = "";
    document.getElementById('contact_firstname').focus();
}

function validate_loginform()
{
    document.getElementById('notvaliduser').innerHTML = "";
    var uname = document.getElementById('username');
    if(trim(uname.value) == "") {
        document.getElementById('unblankfields').innerHTML = "Username field cannot be left blank";
        document.getElementById('username').focus();
        return false;
    } else {
        document.getElementById('unblankfields').innerHTML = "";
        }
    if(trim(document.getElementById('password').value) == "") {
        document.getElementById('pwblankfields').innerHTML = "Password field cannot be left blank";
        document.getElementById('password').focus();
        return false;
    } else { document.getElementById('pwblankfields').innerHTML = ""; }
    return true;
}

function validate_form()
{
    var fname = document.getElementById('name');
    var email = document.getElementById('email');
    var company_url = document.getElementById('company_url');
    var phone_no = document.getElementById('phone_no');
    var enquiry_info = document.getElementById('enquiry_info');

    if(isAlphabet(fname, "Please enter your name") && (lengthRestriction(fname, 1, 50,"Name"))) {
     if(emailValidator(email, "Please enter a valid email address") && (lengthRestriction(email, 1, 70,"E-mail"))) {
         var url = urlValidator(company_url, "URL address");
            if(url) {
         var phone =  phoneValidator(phone_no, "Phone number");
            if(phone) {
                if(lengthRestriction(enquiry_info, 1, 500,"Business enquiry")) {
                return true;
            }
           }
         }
       }
     }
  return false;
}

function validate_signup()
{
    var fname        = document.getElementById('contact_firstname');
    var lname        = document.getElementById('contact_lastname');
    var e_mail       = document.getElementById('contact_email');
    var organisation = document.getElementById('contact_organisation');
    var o_url        = document.getElementById('contact_ourl');
    var designation  = document.getElementById('contact_designation');
    var address      = document.getElementById('contact_oaddr');
    var city         = document.getElementById('contact_city');
    var state        = document.getElementById('contact_state');
    var country      = document.getElementById('contact_country');
    var zip          = document.getElementById('contact_zipcode');
    var telephone    = document.getElementById('contact_telephone');
    var pwd          = document.getElementById('contact_pwd');
    var repwd        = document.getElementById('contact_reenter');

    var design       = isLetters(designation, "Please enter your designation");
    var add          = isLetters(address, "Please enter your address");
    var c_city       = isLetters(city, "Please enter your city place");
    var c_state      = isLetters(state, "Please enter your state");
    var url          = urlValidator(o_url, "Please enter a valid URL address");

    if(isAlphabet(fname, "Please enter your first name") && (lengthRestriction(fname, 1, 50,"Name"))) {
       if(isAlphabet(lname, "Please enter your last name") && (lengthRestriction(lname, 1, 50,"Last name"))) {
          if(emailValidator(e_mail, "Please enter your valid email address") && (lengthRestriction(e_mail, 1, 70,"E-mail"))) {
             if(isLetters(organisation, "Please enter your organization name") && (lengthRestriction(organisation, 1, 50,"Organization name "))) {
                if(url) { if(design) { if(add) { if(c_city) { if(c_state) {
                   if(isAlphabet(country, "Please enter your country") && (lengthRestriction(country, 1, 50,"Country name"))) {
                      if(validNumeric(zip, "Please enter your valid zipcode")) {
                          if(phoneValidator(telephone, "Please enter your valid phone number")) {
                             if(isPassword(pwd,repwd, " Please enter both passwords correct") && (lengthRestriction(pwd,6,15,"Password"))) {
                                 return true;
                             }
                          }
                      }
                  }
                } } } } }
             }
          }
       }
    }
    return false;
}

function isPassword(elem1, elem2, helperMsg)
{
    var varpwd = trim(elem1.value);
    var varrepwd = trim(elem2.value);
    if(varpwd == "") {
        elem1.focus();
        return false;
    }
    if(varrepwd == "") {
        elem2.focus();
        return false;
    }
    if(varpwd == varrepwd)
        return true;
    else
        alert(helperMsg);
        elem1.value = "";
        elem2.value = "";
        elem1.focus();
        return false;
}

function isAlphabet(elem, helperMsg)
{
    var alphaExp = /^[a-zA-Z]/;
    if(trim(elem.value).match(alphaExp)) {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
    }
    else {
            document.getElementById('B'+elem.name).innerHTML = helperMsg;
            elem.focus();
            elem.value = "";
            return false;
      }
}

function phoneValidator(elem, helperMsg)
{
    var phoneExp = /^[0-9,\+,(), ,-]{1,}(,[0-9]+){0,}$/;
    if(trim(elem.value) == "") {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
    } else {
        if(trim(elem.value).match(phoneExp)) {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
        } else {
            document.getElementById('B'+elem.name).innerHTML = helperMsg;
            elem.focus();
            elem.value = "";
            return false;
        }
      }
}

function isLetters(elem, helperMsg)
{
    var alpha = /^[a-zA-Z0-9\,]/;
    if(trim(elem.value) == ""){
        return true;
    } else {
        if(trim(elem.value).match(alpha)) {
            return true;
        } else {
            alert(helperMsg);
            elem.focus();
            elem.value = "";
            return false;
        }
    }
}

function emailValidator(elem, helperMsg)
{
    var emailExp = /^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.([a-z]{2,7})$/;
    if(trim(elem.value).match(emailExp)) {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
    } else {
        document.getElementById('B'+elem.name).innerHTML = helperMsg;
        elem.focus();
        elem.value = "";
        return false;
     }
}

function urlValidator(elem, helperMsg)
{
    var urlExp = /^[\w\-\.\+]+\.[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,7}$/;
    if(trim(elem.value) == ""){
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
    } else {
        if(trim(elem.value).match(urlExp)) {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
        } else {
            document.getElementById('B'+elem.name).innerHTML = helperMsg;
            elem.focus(); 
            elem.value = "";
            return false;
        }
    }
}

function isNumeric(elem, helperMsg)
{
    var numericExpression = /^[0-9_\()\-\+\+]+$/;
    if(trim(elem.value) == ""){
        return true;
    } else {
        if(trim(elem.value).match(numericExpression)) {
        return true;
	    } else {
            alert(helperMsg);
            elem.focus();
            elem.value = "";
            return false;
        }
      }
}

function validNumeric(elem, helperMsg)
{
    var numericExpression = /^[0-9\.\()\-\+]+$/;
    if(trim(elem.value).match(numericExpression)) {
        return true;
        } else {
            alert(helperMsg);
            elem.focus();
            elem.value = "";
            return false;
        }
}

function lengthRestriction(elem, min, max, helperMsg)
{
    var uInput = trim(elem.value);
    if(uInput.length >= min && uInput.length <= max) {
        document.getElementById('B'+elem.name).innerHTML = "";
        return true;
    } else {
        if(elem.name=='enquiry_info') {
        if(uInput.length > max)  document.getElementById('B'+elem.name).innerHTML = "Please enter less than 2000 words<br />";
        else                     document.getElementById('B'+elem.name).innerHTML = helperMsg + " field cannot be left blank<br />";
        }
        else
        document.getElementById('B'+elem.name).innerHTML = helperMsg+" is too long";
        //document.getElementById('B'+elem.name).innerHTML = Enter "+helperMsg+" between " +min+ " and " +max+ " characters";
        elem.focus();
        elem.value = "";
        return false;
    }
}

function noNumbers(e)
{
    var keynum;
    var keychar;
    var numcheck;
    if(window.event) {
        keynum = e.keyCode;
    } else if(e.which) {
        keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    numcheck = /\d/;
    return !numcheck.test(keychar);
}

function upperCase()
{
    var x = trim(document.getElementById("name").value);
    if(x)
    document.getElementById("name").value = x.toUpperCase();
}

 function trim(str) {
    var temp = str;
    var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
    if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
    var obj = / +/g;
    temp = temp.replace(obj, " ");
    if (temp == " ") { temp = ""; }
    return temp;
 }