/**
 * jQuery handling for contact form
 * @author      Andrew Hamel | Six Foot, LLC
 * @project     6ft Blog
 * @package     WordPress
 * @subpackage  sixfoot_2011
 */

$(document).ready( function(){
    $('#cf_submit').click(function(){
        var data_str = "";
        var err = 0;
        var err_msg = "An error has occurred with your request?\n\n";
        
        if($('#cf_name').val() != ""){
            data_str = "name=" + $('#cf_name').val();
        }else{
            err=1;
            err_msg += "- Enter your name.\n";
        }
        
        if($('#cf_company').val() != ""){
            data_str = "&company=" + $('#cf_company').val();
        }else{
            // not a required field
        }
        
        if($('#cf_email').val() != ""){
            // validate email address
            var emailaddr = $('#cf_email').val();
            if(emailaddr.indexOf("@") == -1 || emailaddr.indexOf(".") == -1){
                err=1;
                err_msg += "- Enter a valid email address.\n";
            }else{
                data_str = "&email=" + emailaddr;
            }
        }else{
            err=1;
            err_msg += "- Enter your email address.\n";
        }
        
        if($('#cf_website').val() != ""){
            data_str = "&website=" + $('#cf_website').val();
        }else{
            // not a required field
        }
        
        if($('#cf_comments').val() != ""){
            data_str = "&comments=" + escape($('#cf_comments').val());
        }else{
            err=1;
            err_msg += "- Enter your comment.\n";
        }
        
        err_msg += "\nPlease correct the error(s) and resubmit the form.";
        
        if(err==0){
            $.ajax({
              url: 'formsub.php',
              type: "POST",
              data: data_str,
              success: function(data) {
                $('#mini_cform').html(data);
              }
            });
        }else{
            alert(err_msg);
            return false;
        }
    });
});

/*

<div id="mini_cform">
    <label for="cf_name">Name<input type="text" name="cf_name" id="cf_name"></label>
    <label for="cf_company">Company<input type="text" name="cf_company" id="cf_company"></label>
    <label for="cf_email">E-mail<input type="text" name="cf_email" id="cf_email"></label>
    <label for="cf_website">Website<input type="text" name="cf_website" id="cf_website"></label>
    <label for="cf_comments" style="margin-bottom:118px;">Comments<textarea name="cf_comments" id="cf_comments"></textarea></label>
    <a href="javascript:void(0)" name="cf_submit" id="cf_submit">Submit</a>
</div>

 
*/

// Email Validation Javascript
// copyright 23rd March 2003, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function validateEmail(addr,man,db) {
    if (addr == '' && man) {
       if (db) alert('email address is mandatory');
       return false;
    }
    if (addr == '') return true;
    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
    for (i=0; i<invalidChars.length; i++) {
       if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
          if (db) alert('email address contains invalid characters');
          return false;
       }
    }
    for (i=0; i<addr.length; i++) {
       if (addr.charCodeAt(i)>127) {
          if (db) alert("email address contains non ascii characters.");
          return false;
       }
    }

    var atPos = addr.indexOf('@',0);
    if (atPos == -1) {
       if (db) alert('email address must contain an @');
       return false;
    }
    if (atPos == 0) {
       if (db) alert('email address must not start with @');
       return false;
    }
    if (addr.indexOf('@', atPos + 1) > - 1) {
       if (db) alert('email address must contain only one @');
       return false;
    }
    if (addr.indexOf('.', atPos) == -1) {
       if (db) alert('email address must contain a period in the domain name');
       return false;
    }
    if (addr.indexOf('@.',0) != -1) {
       if (db) alert('period must not immediately follow @ in email address');
       return false;
    }
    if (addr.indexOf('.@',0) != -1){
       if (db) alert('period must not immediately precede @ in email address');
       return false;
    }
    if (addr.indexOf('..',0) != -1) {
       if (db) alert('two periods must not be adjacent in email address');
       return false;
    }
    var suffix = addr.substring(addr.lastIndexOf('.')+1);
    if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
       if (db) alert('invalid primary domain in email address');
       return false;
    }
return true;
}
