
var default_chat_dpt = 'CC';

function timestamp() {
  var date = new Date();
  return date.getTime();
}

function launchChatWindow(is_live_chat_window, department)
{
  if(typeof(department) == "undefined") department = default_chat_dpt;
  var request_url = "http://support.playukinternet.com/support/users/tickets.php?op=add&dpt="+department;
  var mywidth   = 780;
  var myheight  = 600;

  if(is_live_chat_window)
  {
    request_url = "/sfChat/register.html?dpt="+department;
    mywidth   = 770;
    myheight  = 570;
  }

  var settings = "status=0,toolbar=0,location=0,menubar=0,scrollbars=1,width=" + mywidth + ",height=" + myheight;
  var new_win = window.open(request_url, timestamp(), settings);
  //new_win.focus();
}

var previous_status = "";

function checkOnlineOperators()
{
  var department = default_chat_dpt;
  if($j("#aLiveHelp[rel='SLS']").length > 0) department = 'CC';

  var data = { "mode" : "checkOnlineOperators", "dpt": department }
  var params =  $j.toJSON(data);

  $j.post("/frontend.php/sfChat/update.html", { data: params }, displayOperatorStatus, "text");
  //setTimeout("checkOnlineOperators();", 30000);
}

function displayOperatorStatus(res)
{
  var obj = $j.evalJSON(res);
  if(obj.status != previous_status)
  {
    previous_status = obj.status;
    if($j("#imgLiveSupport").length > 0){
      $j("#imgLiveSupport").attr("src", "/sfLiveChatPlugin/images/icons/" + obj.status + "-" + obj.culture + ".gif");

      if(obj.status == "online"){
        $j("#iLiveSupport").removeClass('offline');

        $j("#iLiveSupport").click(function(e){
          $j('#iLiveSupport > a').on('click', liveCCChatHelp());
        });

        $j("#headLiveSupport").removeClass('offline');
      }

      $j("#imgLiveSupport").click(function(e){
        if(obj.status == "online"){
          var dpt = default_chat_dpt;
          if(typeof($j(this).attr("rel")) != "undefined"){
            dpt = $j(this).attr("rel");
          }
          launchChatWindow(true, dpt);
          e.preventDefault();
          return false;
        }
      });

      $j("#headLiveSupport").click(function(e){
        if(obj.status == "online"){
          var dpt = default_chat_dpt;
          if(typeof($j(this).attr("rel")) != "undefined"){
            dpt = $j(this).attr("rel");
          }
          launchChatWindow(true, dpt);
          e.preventDefault();
          return false;
        }
      });
    }
  }
}

function isOperatorOnline(res)
{
  var obj = $j.evalJSON(res);

  previous_status = obj.status;
  if(obj.status == "online"){
    var dpt = 'CC';
    if(typeof($j(this).attr("rel")) != "undefined"){
      dpt = $j(this).attr("rel");
    }
    launchChatWindow(true, dpt);
    e.preventDefault();
    return false;
  }
  else
  {
    alert('No operators are currently available for Live Support. Please try again later.');
    return false;
  }
}

function launchAdminLiveChatWindow(department)
{
  if(typeof(department) == "undefined") department = default_chat_dpt;
  var settings = "status=0,toolbar=0,location=0,menubar=0,scrollbars=1,width=955,height=570,left=150,top=150";
  var w=window.open('/backend.php/sfChat/admin?dpt='+department, 'myWindow'+department, settings);
  w.focus();
}

function liveChatHelp()
{
  launchChatWindow(true, 'CC');
  return false;
}

function liveCCChatHelp()
{
  launchChatWindow(true, 'CC');
  return false;
}

function liveCCChatHelpLink()
{
  var department = 'CC';

  var data = { "mode" : "checkOnlineOperators", "dpt": department }
  var params =  $j.toJSON(data);

  $j.post("/frontend.php/sfChat/update.html", { data: params }, isOperatorOnline, "text");

  return false;
}

