function trim(stringToTrim) {
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function lTrim(stringToTrim) {
  return stringToTrim.replace(/^\s+/,"");
}
function rTrim(stringToTrim) {
  return stringToTrim.replace(/\s+$/,"");
}

function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className = trim(ele.className + " " + cls);
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=trim(ele.className.replace(reg,' '));
  }
}

function getElementsByClass( searchClass, domNode, tagName) {
  if (domNode == null) domNode = document;
  if (tagName == null) tagName = '*';
  var el = new Array();
  var tags = domNode.getElementsByTagName(tagName);
  var tcl = " "+searchClass+" ";
  for(i=0,j=0; i<tags.length; i++) {
    var test = " " + tags[i].className + " ";
    if (test.indexOf(tcl) != -1)
      el[j++] = tags[i];
  }
  return el;
}

function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
  var r = obj.attachEvent("on"+evType, fn);
  return r;
  } else {
    return false;
  }
}







function getAllFormElements( parent_node ) {
  if( parent_node == undefined ) {
    parent_node = document;
  }
      
  var out = new Array();
   
  formInputs = parent_node.getElementsByTagName("input");
  for (var i = 0; i < formInputs.length; i++)
  out.push( formInputs.item(i) );
     
  formInputs = parent_node.getElementsByTagName("textarea");
  for (var i = 0; i < formInputs.length; i++)
  out.push( formInputs.item(i) );
      
  formInputs = parent_node.getElementsByTagName("select");
  for (var i = 0; i < formInputs.length; i++)
  out.push( formInputs.item(i) );      
    
  formInputs = parent_node.getElementsByTagName("button");
  for (var i = 0; i < formInputs.length; i++)
  out.push( formInputs.item(i) );    
      
  return out;
}

function swapImage(id, src) {
  if (document.getElementById) {
    var oImage = document.getElementById(id);
    if (oImage.tagName.toLowerCase() == "img") {
      oImage.src = src;
    }
  }
}

function isValid(type, str) {
  if (type.toLowerCase() == "email") {
    if ((str == null) || (str == "")) return false;
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.indexOf(at)==-1) return false;
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) return false;
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) return false;
    if (str.indexOf(at,(lat+1))!=-1) return false;
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) return false;
    if (str.indexOf(dot,(lat+2))==-1) return false;
    if (str.indexOf(" ")!=-1) return false;
    return true;
  }
};

function setEmailMarketingAjax($) {
  $("form#email-marketing-form").submit(function() {
    if(!isValid("email", this.email.value)) { alert("Please enter a valid email"); return false; }
    this.event.value = "emailmarketing.contact.add.ajax";
    $.post("index.cfm", $(this).serializeArray(), function(data){
      $(data).find("success").each(function() {
        alert($(this).text());
        $("#email-marketing-form input[type=text]").val($("#email-marketing-form input[type=text]").attr("title"));
      });
    });
    return false;
  });
}

(function($) {
  $(function() {
    $("input[type=text][title]").each(function() { $(this).val($(this).attr("title")); if($.trim($(this).val()) == "") $(this).val($(this).attr("title")); $(this).focus(function() { if($(this).val() == $(this).attr("title")) $(this).val(""); }).blur(function() { if($.trim($(this).val()) == "") $(this).val($(this).attr("title")); }); });
    $("a[href][rel*=external]").each(function() { $(this).attr("target", "_blank"); });
    $(".fade-hover").hoverIntent(function() { $(this).fadeTo("fast", 0.5); }, function() { $(this).fadeTo("fast", 1.0); });
    $(".lo").hoverIntent({ sensitivity: 3, interval: 200, timeout: 800, over: function() { $(this).removeClass("lo").addClass("hi"); }, out: function() { $(this).removeClass("hi").addClass("lo"); }});
    
    setEmailMarketingAjax($);
    
    $("#navigation .main-menu li:first").css("border-top", "0");
    $(".main-menu").each(function() {
      var ul_width = 150;
      var width = $(this).outerWidth();
      var ul_left_position = -((ul_width - width) / 2);
      $(this).find("ul").css("left", ul_left_position + "px");
    });
    
    //cart page
    $("img[src*=images/ecommerce/template/01/keepshopping.gif]").click(function() { location.href="index.cfm?event=catalog" });
  });
})(jQuery);