function validateLength(elemname) {
    var element = elemname;
    var newelem = element.replace(/^[ \t]+|[ \t]+$/g,"");
    if(newelem.length < 3)
        return true;
    else
        return false;
}

function validateEmail(elemname) {
    var element = elemname;
    var match = element.search(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/);
    if(match != -1)
        return false;
    else
        return true;
}

function validateMsgLength(elemname) {
    var element = elemname;
    var newelem = element.replace(/^[ \t]+|[ \t]+$/g,"");
    if(newelem.length < 10)
        return true;
    else
        return false;
}

function validateCaptcha(elemname) {
    var element = parseInt(elemname);
    var n1 = parseInt(document.getElementById('n1').value);
    var n2 = parseInt(document.getElementById('n2').value);
    var sum = n1+n2;
    if(element == sum)
        return false;
    else
        return true;
}

function validateForm(url) {
    var $j = jQuery.noConflict();
    $j('#confirmation').fadeOut(500);
    var error = false;
    var emailreq = false;
    var cname = document.getElementById('cfname').value;
    var cemail = document.getElementById('cfemail').value;
    var csubject = document.getElementById('cfsubject').value;
    var cmsg = document.getElementById('cfmessage').value;
    var ccaptcha = document.getElementById('cfcaptcha').value;
    
    if(validateLength(cname)) {
        $j('#cfname-error').fadeIn(500);
        document.getElementById('cfname-error').innerHTML = "Name is Required";
        error = true;
    } else { $j('#cfname-error').fadeOut(500); }
    
    if(validateLength(cemail)) {
        $j('#cfemail-error').fadeIn(500);
        document.getElementById('cfemail-error').innerHTML = "Email is Required";
        error = true;
        emailreq = true;
    }
    
    if(emailreq == false) {
        if(validateEmail(cemail)) {
            $j('#cfemail-error').fadeIn(500);
            document.getElementById('cfemail-error').innerHTML = "Email is Invalid";
            error = true;
        } else { $j('#cfemail-error').fadeOut(500); }
    }
    
    if(validateLength(csubject)) {
        $j('#cfsubject-error').fadeIn(500);
        document.getElementById('cfsubject-error').innerHTML = "Subject is Required";
        error = true;
    } else { $j('#cfsubject-error').fadeOut(500); }
    
    if(validateMsgLength(cmsg)) {
        $j('#cfmessage-error').fadeIn(500);
        document.getElementById('cfmessage-error').innerHTML = "Message too Short";
        error = true;
    } else { $j('#cfmessage-error').fadeOut(500); }
    
    if(validateCaptcha(ccaptcha)) {
        $j('#cfcaptcha-error').fadeIn(500);
        document.getElementById('cfcaptcha-error').innerHTML = "Verification failed";
        error = true;
    } else { $j('#cfcaptcha-error').fadeOut(500); }
    
    
    if(error) {
        smoothscroll('contactform');
        return false;
    } else {
        $j.get(url,{ name: cname, email: cemail, subject: csubject, message: cmsg }, function() {
            document.getElementById('confirmation').innerHTML = "Thank you for your feedback. Your message has been sent";
            $j('#confirmation').fadeIn(500);
        });
        document.getElementById('cfcaptcha').value = "";
        var n1=Math.floor(Math.random()*10);
        var n2=Math.floor(Math.random()*10);
        var captchalabel = n1 + " + " + n2 + " = ";
        document.getElementById('captchalabel').innerHTML = captchalabel;
        document.getElementById('n1').value = n1;
        document.getElementById('n2').value = n2;
        document.getElementById('cfname').value = "";
        document.getElementById('cfemail').value = "";
        document.getElementById('cfsubject').value = "";
        document.getElementById('cfmessage').value = "";
        smoothscroll('wrapper');
        return false;
    }
}