// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
var CHARLIMIT = 500;
function isPsuedoValidEmailAddress(email) {
  var pat = 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 pat.test(email);
}

function setContactForm(form) {
  $.ajax({
    url: '/contacts/new',
    dataType: 'json',
    data: "contact[inquiry_type]=" + form,
    success: function(jsondata) {
      $('#ajax_contact_form').html(jsondata.form);
    }
  });
}

function interactiveEmailValidation(nodeString) {
  $(nodeString).keyup(function() {
    console.log("keyup: " + nodeString);
    if (isPsuedoValidEmailAddress($(this).val())) {
      $("#valid-email").css({"background-image" : "url(/images/icons/valid.png)"});
    } else {
      $("#valid-email").css({"background-image" : "url(/images/icons/invalid.png)"});
    }
  });
}

$(document).ready(function() {
  var hostname = window.location.hostname;
  hostname = hostname.replace("www.","").toLowerCase();

  $('#features').jshowoff({speed: 5000, links: true, controls: false, hoverPause: false});

  $('#contact_inquiry_type').change(function() {
    setContactForm($(this).val());
  });


  $('a').each(function() {
    var href = this.href.toLowerCase();

    if ((href.indexOf("http://")!=-1 && href.indexOf(hostname)==-1)) {
      this.target = "_blank";
      jQuery(this).addClass('external');
    }
  });

  $('.flash').hide().slideDown().animate({opacity: 1.0}, 3000).slideUp();

  $('input.clearme').each(function() {
    var default_value = this.value;
    $(this).focus(function() {
      if(this.value == default_value) {
	this.value = '';
      }
    });
    $(this).blur(function() {
      if(this.value == '') {
	this.value = default_value;
      }
    });
  });
});

