/*Create un-scrapable mailto links
  instead of <a href="mailto:name@domain.com">name@domain.com</a>
      use <a href="name(at)domain.com" class="_email">name(at)domain.com</a>
*/
jQuery.fn.mailto = function() {
        return this.each(function(){
                var email = jQuery(this).html().replace(/\s*\(.+\)\s*/, "@");
                jQuery(this).before('<a href="mailto:' + email + '" rel="nofollow" title="Email ' + email + '">' + email + '</a>').remove();
        });
};

/*Create a "Spread The Word" link to email this page to a friend. */
jQuery.fn.spreadTheWord = function() {
        return this.each(function(){
                jQuery(this).before('<a class="spreadTheWord" href="spreadtheword.html?title=' + escape(document.title) + '&link=' + encodeURI(location.href) + '" rel="nofollow" title="Spread The Word" target="_BLANK">Spread The Word</a>').remove();
        });
};

/*Function to return a URL parameter */
function getUrlParameter( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//--Returns the current date in mm/dd/yy format as a string.
function todayStr() {
        var today=new Date();
        return today.getMonth()+1+"/"+today.getDate()+"/"+(today.getYear() + 1900);
}

function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
}

jQuery(document).ready(function() {
        jQuery('._email').mailto();
        jQuery('._spreadtheword').spreadTheWord();
        if (jQuery('#xmail_form').length > 0) {
          jQuery('#xsent').hide();
          jQuery('#xnotsent').hide();
          var options = {
                  beforeSubmit:  xvalidateForm,  // pre-submit callback in Form HTML file
                  success:       xshowResponse  // post-submit callback
          };
          jQuery('#xmail_form').ajaxForm(options);
        }

        if (jQuery('#mail_form').length > 0) {
          jQuery('#sent').hide();
          jQuery('#notsent').hide();
          var options = {
                  beforeSubmit:  validateForm,  // pre-submit callback in Form HTML file
                  success:       showResponse  // post-submit callback
          };
          jQuery('#mail_form').ajaxForm(options);
        }
});

// post-submit callback
function xshowResponse(responseText, statusText)  {
  jQuery('#xmail_form').hide();
  if (responseText == "success")        {
                jQuery('#xsent').show();
        } else {
                jQuery('#xnotsent').show();
        }
}
// post-submit callback
function showResponse(responseText, statusText)  {
        jQuery('#mail_form').hide();
  if (responseText == "success")        {
                jQuery('#sent').show();
        } else {
                jQuery('#notsent').show();
        }
}
