﻿        var iLastId=0;
        var myTyping=0;
        var opTyping=0;
        // ### NEW MESSAGE
        function SendMessage()
        {
           document.getElementById('btnSend').disabled=true;
           if (document.getElementById('fldText').value.trim()!='')
                var proxy = ChatWS.NewMessage(_ChatID,document.getElementById('fldText').value,1,-1,onSuccessNewMessage, onFailureNewMessage);
           document.getElementById('fldText').value='';
           document.getElementById('btnSend').disabled=false;
        }

        function onSuccessNewMessage(sender, e)
        {
        
                
        }
        
        function onFailureNewMessage(sender, e)
        {
           window.status='Error POSTING';
        }
        // ### NEW MESSAGE
        
        
         // ### REFRESH
        
        function ReloadMessagesAll()
        {
			
            if (_ChatID!=-1 && _Reload==1 && ChatWS!=null)
            {
			
                var proxy1 = ChatWS.GetChatById(_ChatID,1,iLastId,myTyping,onSuccessPrint, onFailurePrint);
                myTyping=0;
                ChangeLabel();
                setTimeout('ReloadMessagesAll()',2000)
            }
            if (_ChatID!=-1 && _Reload==0 && ChatWS!=null)
            {
                ReloadMessages();   
                DisableChat();
            }
        }
        
        function ReloadMessages()
        {
            var proxy1 = ChatWS.GetChatById(_ChatID,1,iLastId,myTyping,onSuccessPrint, onFailurePrint);
            myTyping=0;
            ChangeLabel();
        }
        
        function ChangeLabel()
        {
            if (opTyping==1)
                document.getElementById('opTypeL').innerHTML="Оператор пишет сообщение";
            else
                document.getElementById('opTypeL').innerHTML="";
        }
        
        function onSuccessPrint(sender, e)
        {
		    arr=sender.split('#!#');
			status=iLastId+"--"+arr[1];
          
			 
			if (arr[1]>iLastId)
			{
				  iLastId=arr[1];
            	iStatus=arr[2];
			   
            	opTyping=arr[3];
           	 	ChangeLabel();
            	PrintMessages(arr)
				if (iStatus==3)
				{	
                	DisableChat();
				}
			}
            
        }
        
        function onFailurePrint(sender, e)
        {
         //   alert('Error')
        }
        
        function PrintMessages(arr)
        {
                var parser = new DOMImplementation();
                var domDoc = parser.loadXML(arr[0]);
                var docRoot = domDoc.getDocumentElement();
                var oTableCol = docRoot.getElementsByTagName("Table");
                var rv='';
                for (i=0;i<oTableCol.length;i++)
                {
                    var oMessage=oTableCol.item(i);
                    //alert(oMessage);
                    var oText=oMessage.getElementsByTagName("message").item(0).getFirstChild().getNodeValue();
                    var oName=oMessage.getElementsByTagName("Name").item(0).getFirstChild().getNodeValue();
                    var oData=oMessage.getElementsByTagName("data").item(0).getFirstChild().getNodeValue();
                    rv+=FormatLine(oName,oData,oText)
                }


                var oContent= document.getElementById('chatContent');
                oContent.innerHTML=oContent.innerHTML+rv;
                oContent.scrollTop = oContent.scrollHeight;
        }
        
        function FormatLine(Name,Data,Text)
        {
            var rv='<div class="msg"><div class="msgn">'+Name+'</div><div class="msgd">'+ParseData(Data)+'</div><div class="msgm">'+Text+'</div></div>';
            return rv;
        }
        
        function ParseData(Data)
        {
            var rv="";
            var arr=Data.split("T");
            var arrD=arr[0].split("-");
            var sTime=arr[1].substr(0,arr[1].indexOf('.'));
            var sData=arrD[2]+'.'+arrD[1]+'.'+arrD[0];
            return sData+' '+sTime;
        }
        // ### REFRESH
        
        // ### END
        function EndChat()
        {
            ReloadMessages();
            var proxy1 = ChatWS.EndChat(_ChatID,-1,onSuccessEnd, onFailureEnd);
        }
        
        function onSuccessEnd(sender, e)
        {
           DisableChat(); 
           alert('Вы вышли из чата')
        }
        
        function onFailureEnd(sender, e)
        {
         window.status='Error End';
        }
        // ### END
        
         function Press(ev)
        {
            if (ev.keyCode==13 && ev.ctrlKey==true)
            {
                SendMessage();
                ev.returnValue=false;
            }
            myTyping=1;
        }
        
        function DisableChat()
        {
           document.getElementById('fldText').disabled=true;
           document.getElementById('btnSend').disabled=true;
           document.getElementById('btnEnd').disabled=true;
		   document.getElementById('sendDiv').style.display="none";
		   document.getElementById('btnEndDiv').style.display="none";
           _Reload=0;
        }
        
        
        
      
        
        
        
     function showO(sid,sys)
    {
    window.open('reit.aspx?sid='+sid+'&sys='+sys,'',"height=320,width=350,status=yes,toolbar=no,menubar=no,location=no")
	}
	
	function showT(sid,sys)
    {
    window.open('tip.aspx?sid='+sid+'&sys='+sys,'',"height=250,width=350,status=yes,toolbar=no,menubar=no,location=no")
	}    
        
        
        
       