﻿var http = createRequestObject();
function createRequestObject() {
    // find the correct xmlHTTP, works with IE, FF and Opera
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {
            xmlhttp = null;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != "undefined") {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;

}
function SetHTTP_Header(params) 
{
            
//http.setRequestHeader("Content-Type", "text/xml");

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");
}
//*******************************************************************************************************************************************************************
function Chatpageload()
{

    var params = '';
    http.open('post', 'ajax.aspx?action=onpageload&'+params,true);
    http.onreadystatechange = HandleDisplayPageload;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleDisplayPageload()
{
    if(http.readyState==4)
    {
       var response=http.responseText;
      
       if(response.indexOf('your have to join to chat')!=-1)
       {
       document.getElementById('txt_username').focus();
         clearTimeout(chat_timerid);
         //alert('You have to join chat');
       }
       else
       {
         HandleDisplayChat(response);
         chat_expand(seconds);
       }
    }
}
function clickJoin()
{

    var username=document.getElementById('txt_username').value;
    var params = 'username='+username;
    http.open('post', 'ajax.aspx?action=join&' + params,true);
    http.onreadystatechange = HandleJoin;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleJoin()
{
    if(http.readyState==4)
    {
       
       var response=http.responseText;
       //alert(response);
       HandleDisplayChat(response);
       chat_expand(60);
    }
}
function HandleMessage()
{
    if(http.readyState==4)
    {
        
        try
        {
           if(http.status==200)
           {
               document.getElementById('txt_input').value="";
               var response=http.responseText;
               HandleDisplayChat(response);
               chat_expand(seconds);
           }
           else
           {
          
              http.status = 13030;

           }
        }
        catch(e)
        {
           //alert(e); 
        }
  }
  else
  {
    
  }
}
function click_chat_send()
{

    clearTimeout(chat_timerid);
    var inputMessage=document.getElementById('txt_input').value;
    
    inputMessage=RestrictedCharactersCheck(inputMessage);
    var params = 'action=sendmessage&inputmessage='+inputMessage;
    http = createRequestObject();
    http.open('post', 'ajax.aspx?' + params,true);
    http.onreadystatechange = HandleMessage;
    SetHTTP_Header(params);
  
    http.send(params);
}

function DisplayAll_Chat()
{

    var params = '';
     http = createRequestObject();
    http.open('post', 'ajax.aspx?action=displayall&'+params,true);
    http.onreadystatechange = handleDisplayAllChat;
    SetHTTP_Header(params);
    http.send(params);
}
 
function HandleDisplayChat(response)
{

       if(response.indexOf('<!--chat_messages_starts_here-->')!=-1)
       {
//alert('c');
      
           //document.getElementById('end_chat').style.display="block";
           document.getElementById('chat_wind').style.display="block";
           document.getElementById('txt_username').value="";
           document.getElementById('chatjoin').style.display="none";
          
           document.getElementById('txt_input').focus();
            
           var chat_message_Arr=new Array();
           chat_message_Arr=response.split('<!--chat_messages_starts_here-->');
           chat_message_Arr=chat_message_Arr[1].split('<!--chat_messages_ends_here-->');
           document.getElementById('chatwindowTop').innerHTML=chat_message_Arr[0];
           var currentscrooll=document.getElementById('chatwindowTop').scrollTop;
           document.getElementById('chatwindowTop').scrollTop=document.getElementById('chatwindowTop').clientHeight+currentscrooll;
         
          
       }
       else
       {
       
        
       
       }
      
       if(response.indexOf('<!--chat_error_starts_here-->')!=-1)
       {
//alert('m');
           var chat_error_Arr=new Array();
           chat_error_Arr=response.split('<!--chat_error_starts_here-->');
           chat_error_Arr=chat_error_Arr[1].split('<!--chat_error_ends_here-->');
           document.getElementById('div_error').innerHTML=chat_error_Arr[0];
       }
       
    
}
function handleDisplayAllChat()
{
    if(http.readyState==4)
    {
            var response=http.responseText;
            if(response.indexOf('your session timedout')!=-1)
            {
               clearTimeout(chat_timerid);
               document.getElementById('chat_wind').style.display="none";
               document.getElementById('chatjoin').style.display="block";
               alert('Thank you!your session has been timed out,you have to join again to chat.');
               
              
            }
            else
            {
            
              HandleDisplayChat(response);
              chat_expand(seconds);
            }
            
    }
}
var chat_timerid="";
//clearTimeout(timerid);

function chat_expand(seconds)
{
        var changeImageSeconds=parseInt(seconds)*1000;
        if (document.layers)
            chat_timerid=setTimeout("DisplayAll_Chat();", changeImageSeconds);
        else if (document.all)
            chat_timerid=setTimeout("DisplayAll_Chat();", changeImageSeconds);
        else if (document.getElementById) {
        
            chat_timerid=setTimeout("DisplayAll_Chat();", changeImageSeconds);
        }
        return;
  
    
}
function clickSignOutChatCustomer()
{
    clearTimeout(chat_timerid);
    var params='action=signout';
     http = createRequestObject();
    http.open('post', 'ajax.aspx?' + params,true);
    http.onreadystatechange = HandleSignoutCustomer;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleSignoutCustomer()
{
 if(http.readyState==4)
    {
           document.getElementById('chat_wind').style.display="block";
           document.getElementById('end_chat').style.display="none";
           //chatwindowTop
           var str="<div style=\"width:100%;height:100%;text-align:center;border:0px solid black;float:left;background-color:#D2E6FA;margin-top:40px;\">";
           str+="<div style=\"width:100px;height:100px;text-align:center;border:0px solid black;margin-left:70px;margin-top:70px;\">Thank You!<br/><a style=\"cursor:pointer;\" href=\"javascript:closeWindowChat();\">closewindow</a></div>";
           str+="</div>";
           document.getElementById('chat_wind').innerHTML=str;
           document.getElementById('chatjoin').style.display="none";
    }
}
function closeWindowChat()
{
window.close();
}
function sessiontimeout()
{
alert('yor session has been timed out');

//           document.getElementById('chat_wind').style.display="block";
//           //chatwindowTop
//           var str="<div style=\"width:100%;height:100%;text-align:center;border:0px solid black;float:left;background-color:#D2E6FA;margin-top:40px;\">";
//           str+="<div style=\"width:100px;height:100px;text-align:center;border:0px solid black;margin-left:70px;margin-top:70px;\">Your session has been timed out.<br/><a style=\"cursor:pointer;\" href=\"javascript:closeWindowChat();\">closewindow</a></div>";
//           str+="</div>";
//           document.getElementById('chat_wind').innerHTML=str;
//           document.getElementById('chatjoin').style.display="none";
           clickSignOutChatCustomer();

}
//***************************************************************************************************************************************************
seconds=5;

function RestrictedCharactersCheck(value)
{
      if(value.indexOf('\'')!=-1)
     {
        value=value.replace(/\'/g,"''");
     }
     if(value.indexOf('&')!=-1)
     {
        value=value.replace(/&/g,encodeURIComponent('&'));
     }
     return value;
}
function click_link(fn,e)
{ 

  var ret=false;
  var evt = e ? e : window.event;
  if (evt.keyCode == 13 || e.which==13)
  { 
      switch(fn)
      {
          case "client_join":
          clickJoin();
          break;
          case "client_send":
          click_chat_send();
          break;
           case "admin_join":
          AdminclickJoin();
          break;
          case "admin_send":
          click_chat_send_Admin();
          break;
      }
        ret=true;
  } 
  return ret;
}

function clickButton(btn,e)
{ 

      var ret=false;
      var evt = e ? e : window.event;
      var bt = document.getElementById(btn);
      if (bt)
      { 
     alert(evt.keyCode);alert(e.which);
          if (evt.keyCode == 13 || e.which==13)
          { 
            
                bt.click();
                ret=true;
          } 
         
      } 
        return ret;
}

//***********************************************************************************************************************************************************
function sessiontimeoutAdmin()
{
alert('yor session has been timed out');
clickSignOutChatAdmin();

}
function Adminpageload()
{
    var params = '';
     http = createRequestObject();
    http.open('post', 'adminajax.aspx?action=onpageload&'+params,true);
    http.onreadystatechange = HandleAdminDisplayPageload;
    SetHTTP_Header(params);
    http.send(params);
}

function HandleAdminDisplayPageload()
{
    if(http.readyState==4)
    {
       var response=http.responseText;
      
       if(response.indexOf('your have to join to chat')!=-1)
       {
         document.getElementById('txt_username').focus();
         clearTimeout(admin_timerid);
         //alert('You have to join chat');
       }
       else
       {
         HandleDisplayAdmin(response);
         chat_admin_expand(seconds);
       }
    }
}
function ifcookieonPageload(value)
{

 document.getElementById('chatjoin').style.display="none";
 document.getElementById('div_enterusername').innerHTML="Roger's chat session is opening..please wait...";
 AdminclickJoin();
}
function AdminclickJoin()
{  

    var username=document.getElementById('txt_username').value;
  
    cleanupCustomers();
    
    var params = 'username='+username;
    http = createRequestObject();
   
    http.open('post', 'adminajax.aspx?action=join&'+params,true);
    http.onreadystatechange = HandleAdmin;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleAdmin()
{
  if(http.readyState==4)
    {
       var response=http.responseText;
     
       document.getElementById('chatjoin').style.display="block";
       document.getElementById('div_enterusername').innerHTML="";
      
       HandleDisplayAdmin(response);
         
          if(displayed)
          {
            chat_admin_expand(seconds);
          }
    }
}
var sound=false;
var displayed=false;
function HandleDisplayAdmin(response)
{

        
           
           if(response.indexOf('You have a new message')!=-1 || response.indexOf('You have a new customer')!=-1 )
            {
             
              displayed=true;
              sound=true;
              clearTimeout(admin_timerid);
              document.getElementById("divSound").style.display="none";
              PlaySoundDiv();
              
            
            }
            else
            {
             var div = document.getElementById("divSound");
                               div.innerHTML = "";
            }
       if(response.indexOf('<!--chat_header_starts_here-->')!=-1)
       {
           var chat_error_Arr=new Array();
           chat_error_Arr=response.split('<!--chat_header_starts_here-->');
           chat_error_Arr=chat_error_Arr[1].split('<!--chat_header_ends_here-->');
           try{
           document.getElementById('chat_header').innerHTML=chat_error_Arr[0];
            displayed=true;
           }
           catch(b)
           {
           }
       }
       
       if(response.indexOf('AgentName Starts:')!=-1)
       {
      
           var chat_error_Arr=new Array();
           chat_error_Arr=response.split('AgentName Starts:');
           chat_error_Arr=chat_error_Arr[1].split(':AgentName Ends');
           try{
           document.getElementById('div_agentName').innerHTML=chat_error_Arr[0];
            displayed=true;
           }
           catch(b)
           {
           }
       }
       
       if(response.indexOf('<!--chat_messages_starts_here-->')!=-1)
        {
           try
           { 
               document.getElementById('chat_section').style.display="block";
               document.getElementById('chatFront').style.display="block";
               document.getElementById('chatjoin').style.display="none";
               if(window.focus)
               {
                document.getElementById('txt_input').focus();
                }
               var chat_message_Arr=new Array();
               chat_message_Arr=response.split('<!--chat_messages_starts_here-->');
               chat_message_Arr=chat_message_Arr[1].split('<!--chat_messages_ends_here-->');
               document.getElementById('chatwindowTop').innerHTML=chat_message_Arr[0];
               var currentscrooll=document.getElementById('chatwindowTop').scrollTop;
               document.getElementById('chatwindowTop').scrollTop=document.getElementById('chatwindowTop').clientHeight+currentscrooll;
                displayed=true;
           }
           catch(d)
           {
             
           }
       }
       if(response.indexOf('<!--chat_error_starts_here-->')!=-1)
       {
           var chat_error_Arr=new Array();
           chat_error_Arr=response.split('<!--chat_error_starts_here-->');
           chat_error_Arr=chat_error_Arr[1].split('<!--chat_error_ends_here-->');
           try{
           document.getElementById('div_error').innerHTML=chat_error_Arr[0];
            displayed=true;
           }
           catch(b)
           {
           }
       }
      
         if(response.indexOf(':display CUST_AGENT list:')!=-1)
         {
        
         document.getElementById('chat_section').style.display="block";
         document.getElementById('chatjoin').style.display="none";
           if(response.indexOf(' <!--list_starts_here-->')!=-1)
           {
               var chat_error_Arr=new Array();
               chat_error_Arr=response.split(' <!--list_starts_here-->');
               chat_error_Arr=chat_error_Arr[1].split('<!--list_ends_here-->');
               try
               {
                 document.getElementById('Customer_agent_list').innerHTML=chat_error_Arr[0];
                  displayed=true;
               }catch(fg)
               {
               }
           }
            if(response.indexOf(' <!--agent_list_starts_here-->')!=-1)
           {
               var chat_error_Arr=new Array();
               chat_error_Arr=response.split(' <!--agent_list_starts_here-->');
               chat_error_Arr=chat_error_Arr[1].split('<!--agent_list_ends_here-->');
               try
               {
                 document.getElementById('div_agentlist').innerHTML=chat_error_Arr[0];
                  displayed=true;
               }catch(fg)
               {
               }
           }
        }
}
function select_a_customer(userid)
{

if(userid!="")
{
    clearTimeout(admin_timerid);
    var params = 'userid='+userid;
    http = createRequestObject();
    http.open('post', 'adminajax.aspx?action=select_a_customer&'+params,true);
    http.onreadystatechange = HandleAdmin;
    SetHTTP_Header(params);
    http.send(params);
    }
    else
    {
     alert('No Customer Selected');
    }
}
function click_chat_send_Admin()
{

    clearTimeout(admin_timerid);
  
    var inputMessage=document.getElementById('txt_input').value;
    document.getElementById('txt_input').value="";
    inputMessage=RestrictedCharactersCheck(inputMessage);
    var params = 'inputmessage='+inputMessage;
    http = createRequestObject();
    http.open('post', 'adminajax.aspx?action=sendmessage&' + params,true);
    http.onreadystatechange = HandleAdmin;
    SetHTTP_Header(params);
    http.send(params);
}

function DisplayAll_Admin()
{

    var params = '';
     http = createRequestObject();
    http.open('post', 'adminajax.aspx?action=displayall&'+params,true);
    http.onreadystatechange = handleDisplayAll;
    SetHTTP_Header(params);
    http.send(params);
}
function handleDisplayAll()
{
if(http.readyState==4)
{
        var response=http.responseText;
        if(response.indexOf('your session timedout')!=-1)
        {
          clearTimeout(admin_timerid);
          try{
          document.getElementById('chat_wind').style.display="none";
          }
          catch(notfound)
          {
          }
          document.getElementById('chatjoin').style.display="block";
          alert('your session has timed out,you have to join again.');
        }
        else
        {
          HandleDisplayAdmin(response);
          if(!sound)
          {
           chat_admin_expand(seconds);
          }
          else
          {
            chat_admin_wait(2);
          }
        }
        
}
}
function wait()
{
 chat_admin_expand(seconds);
}
function chat_admin_wait(seconds)
{
        var changeImageSeconds=parseInt(seconds)*1000;
        if (document.layers)
            admin_timerid=setTimeout("wait();", changeImageSeconds);
        else if (document.all)
            admin_timerid=setTimeout("wait();", changeImageSeconds);
        else if (document.getElementById) {
        
            admin_timerid=setTimeout("wait();", changeImageSeconds);
        }
        return;
  
    
}
var admin_timerid="";
//clearTimeout(timerid);

function chat_admin_expand(seconds)
{
        var changeImageSeconds=parseInt(seconds)*1000;
        if (document.layers)
            admin_timerid=setTimeout("DisplayAll_Admin();", changeImageSeconds);
        else if (document.all)
            admin_timerid=setTimeout("DisplayAll_Admin();", changeImageSeconds);
        else if (document.getElementById) {
        
            admin_timerid=setTimeout("DisplayAll_Admin();", changeImageSeconds);
        }
        return;
  
    
}
var lastclassonhover="";
function mouseoverList(id)
{
 if(id!="")
 {
 lastclassonhover=document.getElementById('div_'+id).className;
 document.getElementById('div_'+id).className="box_hover";
 }
}
function mouseoutList(id)
{
if(id!="")
 {
 document.getElementById('div_'+id).className=lastclassonhover;
 }
}
function clickSignOutChatAdmin()
{
    clearTimeout(admin_timerid);
    var params='';
    http.open('post', 'adminajax.aspx?action=signout&' + params,true);
    http.onreadystatechange = HandleSignoutAdmin;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleSignoutAdmin()
{
 if(http.readyState==4)
    {
           document.getElementById('chat_section').style.display="none";
           document.getElementById('chatjoin').style.display="block";
           
    }
}

function click_liveChat()
{

    var params='';
     http = createRequestObject();
    http.open('post', 'ajax.aspx?action=openchatwindow&' + params,true);
    http.onreadystatechange = HandleOpenwindow;
    SetHTTP_Header(params);
    http.send(params);

}
function HandleOpenwindow()
{
if(http.readyState==4)
    {
    chatwindowOpen();
    }
}
function chatwindowOpen()
{
 var width  = 440;
 var height = 300;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+'px, height='+height;
 params += 'px, top='+top+'px, left='+left;
 params += 'px, directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';

 newwin=window.open('chat.aspx?newchat=true','chatpopup', params);
  if(newwin==null || typeof(newwin)=="undefined")
  {
    alert('popupwindow blocked');
  }
return false;
 // if (window.focus) {newwin.focus()}
// return false;

}

function DeleteAgent(agentid)
{

    var params='agentid='+agentid;
     http = createRequestObject();
    http.open('post', 'adminajax.aspx?action=DeleteAgent&' + params,true);
    http.onreadystatechange = HandleDeleteAgent;
    SetHTTP_Header(params);
    http.send(params);
}
function HandleDeleteAgent()
{
 if(http.readyState==4)
    {
     var response=http.responseText;
      if(response.indexOf(' <!--agent_list_starts_here-->')!=-1)
           {
               var chat_error_Arr=new Array();
               chat_error_Arr=response.split(' <!--agent_list_starts_here-->');
               chat_error_Arr=chat_error_Arr[1].split('<!--agent_list_ends_here-->');
               try
               {
                 document.getElementById('div_agentlist').innerHTML=chat_error_Arr[0];
               }catch(fg)
               {
               }
           }
    }
}
function cleanupCustomers()
{
    var params='';
    http.open('post', 'adminajax.aspx?action=cleanupCustomers&' + params,true);
    http.onreadystatechange = HandleCleanUp;
    SetHTTP_Header(params);
    http.send(params);
    clean_expand(cleanseconds);
}
function HandleCleanUp()
{
    if(http.readyState==4)
    {
    var response=http.responseText;
     
           if(response.indexOf(' <!--list_starts_here-->')!=-1)
           {
               var chat_error_Arr=new Array();
               chat_error_Arr=response.split(' <!--list_starts_here-->');
               chat_error_Arr=chat_error_Arr[1].split('<!--list_ends_here-->');
               try
               {
                 document.getElementById('Customer_agent_list').innerHTML=chat_error_Arr[0];
               }
               catch(fg)
               {
               }
           }
        
    }
}
cleanseconds=14400;
function clean_expand(cleanseconds)
{
        var cleaningseconds=parseInt(cleanseconds)*1000;
        if (document.layers)
            chat_timerid=setTimeout("cleanupCustomers();", cleaningseconds);
        else if (document.all)
            chat_timerid=setTimeout("cleanupCustomers();", cleaningseconds);
        else if (document.getElementById) {
        
            chat_timerid=setTimeout("cleanupCustomers();", cleaningseconds);
        }
        return;
  
    
}
function PlaySoundDiv() 
{
        var snd="<object classid=\"clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95\">";
        snd+="<param name=\"FileName\" value=\"../Images/DingLing.wav\" />";
        snd+="<param name=\"autoplay \" value=\"true\" />";
        snd+="<param name=\"autostart  \" value=\"true\" />";
        snd+="<param name=\"hidden  \" value=\"true\" />";
        snd+="<param name=\"loop \" value=\"false\" />";
        snd+="<param name=\"volume \" value=\"100\" />";
        snd+="<param name=\"enablejava \" value=\"true\" />";
        snd+="<param name=\"name \" value=\"NewMessageSound\" />";
        snd+="</object>";
    var div = document.getElementById("divSound");
    div.innerHTML =snd;
    
    //div.innerHTML = "<embed  src=\"../Images/DingLing.wav\"  id=\"NewMessageSound1\"  loop=\"false\" WIDTH=145 HEIGHT=55  autoplay=\"true\"  hidden=\"true\"  name=\"NewMessageSound\"  enablejava=\"true\"  volume=\"100\"></embed>";
                
             
 }
 function deletecustomerfromlist(userid)
 {
    var params='userid='+userid;
    http.open('post', 'adminajax.aspx?action=deletecustomerfromlist&' + params,true);
    http.onreadystatechange = HandleCleanUp;
    SetHTTP_Header(params);
    http.send(params);
 }
 function OpenAddPhoneNumbers()
{
 var width  = 840;
 var height = 700;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+'px, height='+height;
 params += 'px, top='+top+'px, left='+left;
 params += 'px, directories=no';
 params += ', location=no';
 params += ', menubar=no';
 params += ', resizable=no';
 params += ', scrollbars=no';
 params += ', status=no';
 params += ', toolbar=no';

 newwin=window.open('../sendtextphonnumbers.aspx','phonepopup', params);
  if(newwin==null || typeof(newwin)=="undefined")
  {
    alert('popupwindow blocked');
  }
return false;
}
 
           