//params
	
	
    var FreePhoneId = '';
    
	var companyId = 10002;
	var visitorId = '';
	var userId = '';
	var customerId = '';
	var compType = null; 
	var command = 'inviteChat';
	var chatId = '';
	var curLanguage='sc';
	var usePhoneMsg = false;
	var useFreePhone = false;
	var chattingType = 0;
	var meettingId='';
	var reseveKey = '';
	var jsConfigId = 542;
	var ua = navigator.userAgent.toLowerCase();
	var isIE = (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0);
	var langConfig = new Array();
	var groupId = '1';
	var clientStyle = '1';

	var ChatBoxHeadImg= 'images/defaultCompLogo.gif';
	var ChatBoxLeftSmallImg = '';
	var ChatBoxLeftLargeImg = 'images/defaultFullAd.gif';
	var ChatBoxHeadImgUrl='';
	var ChatBoxLeftSmallImgUrl='';
	var ChatBoxLeftLargeImgUrl='';
	var sayHello = '';
	var customerCardImg = '';
	var customerCardLink = '';		
	var inputText='1';	
	var callerOpinion='0';	
	var showSmsOnChat=false;
	var showPhoneOnChat=false;
	var showSaveRecordOnChat=true;	
	var showRobot = true;
	var PhoneMsg = '0';

	var useRobot = true;
	var robotIntroduce = '\u4f60\u597d\uff0c\u6211\u662f\u673a\u5668\u4eba\u5c0f\u8bed\uff0c\u6211\u7684\u540c\u4e8b\u6b63\u5fd9\u6216\u8005\u4e0d\u5728\u7ebf\uff0c\u73b0\u5728\u7531\u6211\u4e3a\u4f60\u670d\u52a1\u3002\u4f60\u53ea\u9700\u8981\u5728\u8f93\u5165\u6846\u5185\u8f93\u5165\u95ee\u9898\u5173\u952e\u8bcd\uff0c\u6211\u4f1a\u5e2e\u4f60\u5feb\u901f\u627e\u5230\u5408\u9002\u7684\u95ee\u9898\u7b54\u6848\u3002';
	var robotNoAnswer = '\u5bf9\u4e0d\u8d77\uff0c\u8fd9\u4e2a\u95ee\u9898\u6211\u8fd8\u4e0d\u592a\u719f\u6089\uff0c\u8bf7\u4f60\u76f4\u63a5\u8054\u7cfb\u6211\u4eec\u7684\u5ba2\u670d\u4eba\u5458\u3002';
	var showCatOnConnect = '1';
	
	var authType='0';
	
	var lookOut='1';
	var user='';
	var pass='';


//end 	
var greeting = '';

var msg_select_trans_file = "\u8bf7\u9009\u62e9\u8981\u4f20\u9001\u7684\u6587\u4ef6";

var etext="";

var isConnected = false;
var role = 2;
var needFocus = false;
var maxAllowLen = 500;
var xmlHttp;
var msgXmlHttp = null;
var isAllSaved = false;
var memberId = '';

var message_timer = null;
var invtie_wait_timer = null;
var info_timer = null;

var message_interval = 3000;  //接收信息间隔
var invite_wait_max_time = 30; //请求等待最大时间
var alertNoChatTime = 110; 
var maxReplyWaitTime = 1;

var chat_url = '../chat.do';
var progressDetail = 'progressdetail.jsp?funid=';
var file_url ='down.jsp';
var chatToRobot = false;
var tarParticipant = null;
var spendingType = new Array();
spendingType[0] = '包月';
spendingType[1] = '计次收费';
spendingType[2] = '计时收费';
var emots = new Array();
function appendEmot(key,img){
	if(emots[key]==null)
		emots[key] = '<img src="' + img + '" width="19" height="19" border="0" />';
	$('message').value += key;	
}
function initEmot(key,img)
{

}



window.onfocus = function(){
	
	//$('message').focus();
}






function setHotKey(key){
	shtcut = key;
	var inHtml;
	if(shtcut=='Enter'){
	inHtml='<ul>'
          +'<li><a href="#" onClick="setHotKey(\'Enter\');$(\'sendDiv\').style.display=\'none\'">'
		  +'&raquo;&nbspEnter</a></li>'	
		  +'<li><a href="#" onClick="setHotKey(\'CtrlEnter\');$(\'sendDiv\').style.display=\'none\'">'
		  +'&nbsp;Ctrl+Enter</a></li>'
		  +'</ul>';
	}else {
		
	inHtml='<ul>'
          +'<li><a href="#" onClick="setHotKey(\'Enter\');$(\'sendDiv\').style.display=\'none\'">'
		  +'&nbsp;Enter</a></li>'	
		  +'<li><a href="#" onClick="setHotKey(\'CtrlEnter\');$(\'sendDiv\').style.display=\'none\'">'
		  +'&raquo;&nbsp;Ctrl+Enter</a></li>'
		  +'</ul>';	
	}

	$('sendDiv').innerHTML = inHtml;
}

function checkResourceLoaded()
{
	
}












function notNullStr(str){
	if(typeof str == 'undefined' || str == null || str=='null')
		return '';
	return str;
}





function saveRecord() {
	//alert("在当前浏览器下不支持保存功能");
	
    try {			
        var windowSave = window.open();
	    var time=new Date();
   		var filename=time.toLocaleDateString();
		filename=filename+"聊天记录"+".htm";
		
		 var savestyle='<style type="text/css"> <!--body{font-size:12px;line-height:18px;} .vstTag {font-size: 11px;font-family: "courier new", courier, monospace;color:#9BA22B;}.vstText {font-size: 12px;font-family: "times new roman", times, serif;text-indent: 24px;color:#9BA22B;}.svcTag {font-size: 11px;font-family: "courier new", courier, monospace;color:blue;}.svcText {font-size: 12px;font-family: "times new roman", times, serif;text-indent: 24px;color:blue;}--></style>';
			 
        windowSave.document.open("text/html", "utf-8");		
		windowSave.document.write("<html><body><head>"+savestyle+"</head>");	
        windowSave.document.write(eval("document.all.chatDiv").innerHTML);	
		windowSave.document.write("</body></html>");
        windowSave.document.execCommand("SaveAs", true, filename);
		
        windowSave.close();

    }
    catch (e) {
        alert(e);
    }
	
}









function showRobotMsg(msg,who,r)
{
	var msgHtml = "";
    var clsTag = null;
    var clsMsgText = null;
    var clsName = null;   
    if (r == "visitor") {
        clsTag = "vstTag";
        clsMsgText = "vstText";
        clsName = "vstName";
    } else {    	
        clsTag = "svcTag";
        clsMsgText = "svcText";
        clsName = "scvName";        
    }
  var say = getLabelByName('msgSay');
	
	msgHtml += '<div class="' + clsTag + '"><span class="' + clsName + '">' + who + '</span>'

	
	msgHtml += say+'<span class="createTime">(' + getTimeString() + ')</span></div>';
    msgHtml += '<div class="' + clsMsgText + '">' + msg + '</div>';
    
    //msgHtml = replacelinkHtml(msgHtml);
   	addMsg(msgHtml);
}






function isEnter(evt) {
    var keyCode;
    var ctrlKey;
    var altKey;
    var shiftKey;
    
    keyCode = evt.keyCode;
    ctrlKey = evt.ctrlKey;
    altKey = evt.altKey;
    shiftKey = evt.shiftKey;
    if (shtcut == "Enter") {
        if (ctrlKey && keyCode == 13) {
        } else {
            if (!ctrlKey && keyCode == 13) {
                sendMessage();
                return false;
            }
        }
    } else if (shtcut == "CtrlEnter") {
            if (ctrlKey && keyCode == 13) {
                sendMessage();
                return false;
            } else  if (!ctrlKey && keyCode == 13) {
            }
            
        
    }
    return true;
}
function resetIfEnter(evt) {
    return false;
}

function insertEmot() {

   // window.open("../emoticon.jsp", "", "width=240,height=60,location=no,resizable=0,scrollbars=0,status=0,toolbar=no,location=no,menu=no,top=100,left=300");
   	var s = $('emotLayer').style.display;
	$('emotLayer').style.display = (s=='none')?'':'none';
	document.onclick = function (event){
		//event = event?event:(window.event?window.frames['emotFrame'].window.event:null);
		//alert(event);
		event=event?event:window.event;
//		if(event.srcElement.url.indexOf("#")!=-1)
		if(event.srcElement.id!='vr_menuEmot'){
			$('emotLayer').style.display = 'none';
			document.onclick = null;
		}
	}
	window.frames['emotFrame'].document.onclick=function(event){
		event = event?event:window.frames['emotFrame'].window.event;
		//if(event.srcElement.tagName.toUpperCase()=='IMG'){
			$('emotLayer').style.display = 'none';
			window.frames['emotFrame'].document.onclick = null;
		//}
			
	}
	document.onmouseup = closeEomtDiv;
}

function closeEomtDiv() {
    var t = $("emotLayer");
    if (t) {
        if (t.style.display != "none") {
            t.style.display = "none";
        }
    }
    document.onmouseup = null;
}

function transferFileStart() {
    if (transFileStatus != 2) {
        return;
    }
       			//alert("start transfer.....");
				//window.open(url+"/chat/transfer_file.jsp","","width=350,height=60,location=no,resizable=0,scrollbars=0,status=0,toolbar=no,location=no,menu=no,top=100,left=300");
    uploadForm.submit();
    transFileStatus = 3;
    setUploadPersent(0);
    changeMsgHeigth();
				//GetProgressDetail();
				//ittt = window.setInterval("GetProgressDetail()",200);
}
function GetProgressDetail() {
    var funid = (new Date()).getTime();
    var detail = new ActiveXObject("Microsoft.XMLHTTP");
    detail.open("GET", progressDetail + funid, false);
    detail.send();
    var detail_info = detail.responseText;
    var start = detail_info.indexOf("<detail-start>");
    var end = detail_info.indexOf("</detail-start>");
    if (start != -1 && end != -1) {
        detail_info = detail_info.substring(start + 14, end);
        var detail_info_array = detail_info.split("||");
        var fileName = detail_info_array[0];
        if (fileName.length > 15) {
            fileName = "..." + fileName.slice(fileName.length - 16);
        }
        setUploadPersent(detail_info_array[1]);
    }
}
var progressBar;
var ittt;
function setUploadPersent(per) {
    var layer2 = $("uploadMsgDiv");
    var str = "";
    str += "<table width=\"" + per + "%\" height=\"20\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
    str += "<tr>";
    str += "<td bgcolor=\"#3300FF\"><font color=\"#00FF99\">" + per + "%<font></td>";
    str += "</tr>";
    str += "</table>";
    layer2.innerHTML = str;
    if (per != 100) {
        setTimeout("GetProgressDetail()", 200);
    }
}
function uploadErr(errorstr) {

    addMsg_event(getLabelByName('msgUploadErrorSize')+ '<p>'+getLabelByName('msgUploadErrorType') + '.txt;.jpg;.rm;.doc;.pdf;.ppt;.xls;.gif;.rar;.zip;.pps');

    hideLayer("Layer2", "hide");
    setUploadPersent(100);
    transFileStatus = 0;
    changeMsgHeigth();
    var layer2 = $("uploadMsgDiv");
    layer2.innerHTML = getLabelByName('msgUploadError');    

}
function uploadfinish(fname) {
				//window.clearInterval(ittt);
    setUploadPersent(100);
    sendFileReq(fname);
    addMsg_event(getLabelByName('msgUploadFinish'));
	hideLayer("Layer2", "hide");
    transFileStatus = 0;
    changeMsgHeigth();
				//MM_showHideLayers(progressBar.xyProgressID,'','hidden');
    var layer2 = $("uploadMsgDiv");
    layer2.innerHTML = getLabelByName('msgUploadFinish');
}
function transferFile() {
    if(uploadForm.file.value=='')
    {
    	alert(msg_select_trans_file);
    	return;
    }
    
				//transferFileStart();
	var layer2 = $("uploadMsgDiv");
    layer2.innerHTML = "<img src=\"images/transfer.gif\" border=\"0\" />";
    
    hideLayer("Layer1", 'hide');
    hideLayer("Layer2", 'show');
    transFileStatus = 2;
       			//alert("start transfer.....");
				//window.open(url+"/chat/transfer_file.jsp","","width=350,height=60,location=no,resizable=0,scrollbars=0,status=0,toolbar=no,location=no,menu=no,top=100,left=300");
    uploadForm.submit();
    transFileStatus = 3;
    setUploadPersent(0);
    changeMsgHeigth();
}
var transFileStatus = 0;
var ichatDivHeight = 0;
function changeMsgHeigth() {
    var ichatDiv = $("chatDiv");
	if(ichatDivHeight == 0)
		ichatDivHeight = ichatDiv.offsetHeight;
    if(transFileStatus == 0)
    	ichatDiv.style.height = ichatDivHeight;
    else
    	ichatDiv.style.height = ichatDivHeight - 27;    
}
function cancelTransferFile() {
    if (transFileStatus == 3) {
        if (getLabelByName('msgConfimCancelFile')) {
           hideLayer('Layer1','hide');
        }
    } else {
        //if (transFileStatus == 2) {
            if (getLabelByName('msgConfimCancelFile')) {
                hideLayer('Layer2','hide');
            }
       // }
    }
    transFileStatus = 0;
    changeMsgHeigth();
}
function transFile() {
    if (transFileStatus == 0) {
        hideLayer("Layer1","show");        
        transFileStatus = 1;
    } else if (transFileStatus == 1) {
        hideLayer("Layer1","hide");
        transFileStatus = 0;        
    }
    changeMsgHeigth();
}
function acceptCost(){
	var callback=acceptCost_do;
	Chat.addEvent(callback, companyId,chatId, visitorId,customerId, '<ACCEPTCOST>');
}
function refuseCost(){
	var callback=refuseCost_do;
	Chat.addEvent(callback,companyId,chatId, visitorId,customerId, '<REFUSECOST>');
}
function acceptCost_do(){
	addMsg_event(getLabelByName('msgBeginCount'));
	$('startCostFlag').style.display = 'none';
	$('startCostFlag').innerHTML ='';
	$('startCostFlag').id = 'startCostFlagpas';
}
function refuseCost_do(){
	addMsg_event(getLabelByName('msgRefuseCount'));
	$('startCostFlag').style.display = 'none';
		$('startCostFlag').innerHTML ='';
	$('startCostFlag').id = 'startCostFlagpas';
}
function showLangSelDiv(){
	//alert("该浏览器下不支持语言切换");
	
	$('languageMenuDiv').style.display = ($('languageMenuDiv').style.display=='none')?'block':'none';
	document.onmouseup = closeShowLangSelDiv;
	
}

function closeShowLangSelDiv() {
    var t = $("languageMenuDiv");
    if (t) {
        if (t.style.display != "none") {
            t.style.display = "none";
        }
    }
    document.onmouseup = null;
}

function sendDiv(){
	$('sendDiv').style.display = ($('sendDiv').style.display=='none')?'block':'none';
	document.onmouseup = closeSendDiv;
}

function closeSendDiv() {
    var t = $("sendDiv");
    if (t) {
        if (t.style.display != "none") {
            t.style.display = "none";
        }
    }
    document.onmouseup = null;
}

function openOpinionWnd(){
	if(chattingType == 1||chatId==null){
		alert('没有任何对话建立或者对话类型不支持此操作！');
		return;
	}
	var cId = chatId;
	var url = 'opinion.jsp?chatId=' + cId + '&cId=' + companyId;
	if(jsConfigId!=0)
		url = url + '&jId=' + jsConfigId;

	var param = "width=690,height=460,location=no,resizable=0,scrollbars=0,status=0,toolbar=no,location=no,menu=no,top=100,left=200";
	
	window.open(url, 'DOYOO', param);
	removeOpinionDiv();
}
function removeOpinionDiv(){
	var od = $('opinionDiv');
	if( od != null ){
		od.parentNode.removeNode(od);
	}
}
var opinioned = false;
function opinionFinn(cmd){
	var s = '<OPINION>' + ((cmd=='submit')?'finn':'cancel');	
	Chat.addEvent(companyId,chatId, visitorId,customerId, s);	
	opinioned = true;
}

function showCusCommonWord(){

	var s = $('cuscommonWordLayer').style.display;
	$('cuscommonWordLayer').style.display = (s=='none')?'':'none';
	document.onclick = function (event){
	
		event=event?event:window.event;
		
		if(event.srcElement.id!='vr_showCusCommonWord'){
			
			$('cuscommonWordLayer').style.display = 'none';
			
			document.onclick = null;
			
		}
	}
	window.frames['cuscommonWordFrame'].document.onclick=function(event){
		
		event = event?event:window.frames['cuscommonWordFrame'].window.event;
		//if(event.srcElement.tagName.toUpperCase()=='A'){
			$('cuscommonWordLayer').style.display = 'none';
			window.frames['cuscommonWordLayer'].document.onclick = null;
		//}
			
	}
	document.onmouseup = closeCommonDiv;
}


function closeCommonDiv() {
    var t = $("cuscommonWordLayer");
    if (t) {
        if (t.style.display != "none") {
            t.style.display = "none";
        }
    }
    document.onmouseup = null;
}
function appendCusCommonWord(cw){
	$('message').focus();
	$('message').value += cw;
}
var status=false;

function checkInput(){
	
	var stext=document.getElementById('message').value;

	if(stext!=etext){
		etext=stext;	
		 if(chatId!=null&&chattingType!=1){
		   if(inputText=="1")
		   {
			sendEvent(chatId, customerId, "getfocus");
		   }
		   else
			{
				if(status!=true)
				sendEvent(chatId, customerId, "getfocus");
			}
		 }
		status=true ;
	}
	else {
		status = false;
	}
	window.setTimeout("checkInput()", 2000);
	
}

function $(itemID){
	if(document.getElementById)
		return document.getElementById(itemID);
	else
		return document.all[itemID];
}
function getMsgFocus(){
	if(typeof getFocus != 'undefined')
		getFocus();
}
var shtcut = 'Enter';

function hideLayer(layerName,args){
	var obj = $(layerName);
	if(obj){
	if(args == 'show')
		obj.style.display = 'block';
	else if(args == 'hide')
		obj.style.display = 'none';
	}
}
	
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

		
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showFaq(){
	var url = '../rebot/faq.jsp?companyId=' + companyId;
	window.open(url,"","width=800,height=600,scrollbars=1,left=130,top=50");			
}

function swapSendImg(){
	  var lang=curLanguage;
	  var sendI=$('sendImg');

	  sendI.src='images/send2_' + lang + '.gif';

}
function swapRestoreSendImg(){
	   var lang=curLanguage;
	  var sendI=$('sendImg');
	  sendI.src='images/send_' + lang + '.gif';
}

function swapLangugageImg(){
	 var lang=curLanguage;
	 var sendI=$('language');
	 
	 sendI.src='images/lang2_' + lang + '.gif';
}
function swapRestoreLanguageImg(){

	 var lang=curLanguage;
	 var sendI=$('language');
	  
	 sendI.src='images/lang_' + lang + '.gif';
}

function swapFastQuestionImg(){
	   var lang=curLanguage;
	  var sendI=$('vr_showCusCommonWord');
	  if(lang==null)
	  	lang = 'sc';
		
	  sendI.src='images/question2_' + lang + '.gif';

}
function swapRestoreFastQuestionImg(){

	  var lang=curLanguage;
	  var sendI=$('vr_showCusCommonWord');
	  
	  sendI.src='images/question_' + lang + '.gif';
}
function swapEndcallBtnImg(){
	   var lang=curLanguage;
	  var sendI=$('endcallBtn');
	  if(lang==null)
	  	lang = 'sc';
	  sendI.src='images/endcall_up.jpg';

}
function swapRestoreEndcallBtnImg(){

	  var lang=curLanguage;
	  var sendI=$('endcallBtn');
	  sendI.src='images/endcall_down.jpg';
}
function swapRecallBtnImg(){
	   var lang=curLanguage;
	  var sendI=$('recallBtn');
	  if(lang==null)
	  	lang = 'sc';
	  if(sendI.src.indexOf('images/recall_disable.jpg')<0)
	  sendI.src='images/recall_up.jpg';

}
function swapRestoreRecallBtnImg(){
	  var lang=curLanguage;
	  var sendI=$('recallBtn');
	  if(sendI.src.indexOf('images/recall_disable.jpg')<0)
	  sendI.src='images/recall_down.jpg';
}
function swapQuestionImg(){

	  var lang=curLanguage;
	  var sendI=$('vr_question');
	  
	  sendI.src='images/changjian2_' + lang + '.gif';

}
function swapRestoreQuestionImg(){

	  var lang=curLanguage;
	  var sendI=$('vr_question');
	  
	  sendI.src='images/changjian_' + lang + '.gif';
}
var confirmed = false;
function onTabClicked(tabName)
{
	if(!confirm('跳转到其他功能页面将会断开当前会话！\r\n\r\n您确定结束会话并跳转到其他功能页面吗？'))
	{
		return;
	}
	confirmed = true;
	
	var params = "c=" + companyId;
	
	params = params +'&v=' + visitorId;
	params = params +'&u=' + userId;
	params = params +'&n=' + customerId;
	params = params +'&f=' + jsConfigId;
	params = params +'&r=' + reseveKey;

	if(groupId!="")
		params = params +'&g=' + groupId;
		
	var cmd = '';
	if(tabName =='robot')
	{

		cmd = 'robotChat';
	}
	else if(tabName =='leaveMsg')
	{
		cmd = 'leaveMessage';
	}
	else if(tabName =='sms')
	{
		cmd = 'phoneChat';
	}
	else if(tabName =='freePhone')
	{
		cmd = 'freePhone';
	}
	else
	{
		//do nothing
		return;
	}
	var rpath = "p.do?command=" + cmd + '&' + params + "&lang=" + curLanguage;
	self.location.href = rpath;
	
}
