;(function( $ ){
  $.fn.aliveChat = function( options ) {  
    var settings = {
      'groupid' : 7503,
      'websiteid' : 578,
      'departmentid' : 9114,
      'barge' : true,
      'bargedelay' : 15,
      'invitetimeout' : 120
    };
    
    var data = {
      'jshost' : '//www.websitealive7.com/',
      'jsfile' : 'Visitor/vTracker_v2.asp',
      'inviteobj' : '#wsa_div',
      'intervalcount' : 0,
      'inviteinterval' : 0
    };

    var checkInvite = function() {
      if (data.intervalcount++ > settings.invitetimeout) clearInterval(data.inviteinterval);
      if ($(data.inviteobj).is(':visible')) {
        clearInterval(data.inviteinterval);
        setTimeout(clickInvite, (settings.bargedelay * 1000));
      }
    };
  
    var clickInvite = function() {
      $(data.inviteobj + ':visible').children('img[onclick*="open"]').click();
    };
    
    this.loadJS = function() {
      if ( options ) { 
        $.extend( settings, options );
      }

      $(window).load(function(){
        $('script').first().before(
          $('<script/>', {
            type: 'text/javascript', async: true,
            src: data.jshost
              + settings.groupid
              + '/' + data.jsfile
              + '?groupid=' + settings.groupid
              + '&websiteid=' + settings.websiteid
          })
        );
        
        if (settings.barge) data.inviteinterval = setInterval(checkInvite, 1000);
      });
    };

    return this.each(function() {
      if ( options ) {
        $.extend( settings, options );
      }
      
      $(this).click(function(ev){
        if(typeof wsa_open_chat == 'function') {
          ev.preventDefault();
          wsa_open_chat( settings.websiteid, settings.departmentid );
        }
      });
    });
  };
})( jQuery );
