// JavaScript Document

function Inint() {
   try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
};


function validateEmail(email){
	if(email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)!= -1){
		document.chatEntry.sendMssge.disabled=false;
	}else{document.chatEntry.sendMssge.disabled=true;}
}

function sendMssage(src,mssge,name,email){
	document.getElementById(src).innerHTML='';
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLoadLib.php?type=sendMssge&mssge="+mssge+"&name="+name+"&email="+email;
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); 
	 callBack();
}

function callBack(){
	setTimeout('refreshMssges()',3000);
	//alert("Call back is active.");
}

function refreshMssges(){
	//alert("refreshMssges is active")
	var src = 'chatMssges';
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLoadLib.php?type=reloadMssges&sid="+Math.random();
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); 
     req.send(null);
	 callBack();
}

function sendMiniChat(chatmssge,name,email,mssge){
	//alert(src+mssge+name+email);
//	alert("Message length is: "+mssge.length)
	
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=sendMiniMssge&mssge="+mssge+"&send=true&name="+name+"&email="+email;
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
     req.send(null); 
	// callBack();
}

function clearMssgeField(){
	var mssgeDefContent = "Ask anything connected to travel. To anywhere in the world. Anytime.";
	var nameField = document.chatEntry.chatName.value;
	var mailField = document.chatEntry.chatEmail.value;
	var mssgeTextField = document.chatEntry.chatTextArea.value;
	
		document.chatEntry.chatTextArea.value='';
	
	
}

function checkMssgeField(){
	var mssgeDefContent = "Ask anything connected to travel. To anywhere in the world. Anytime.";
	var textFieldValue = document.chatEntry.chatTextArea.value;
	if(textFieldValue == ''){
		document.chatEntry.chatTextArea.value=mssgeDefContent;
	}
}

function closeChat(src){
	var c = confirm("Are you sure you want to end this chat session?");
	if(c){
		document.getElementById(src).innerHTML='';
		var email = document.chatEntry.chatEmail.value;
		//alert(email);
		var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=closeChatSession&email="+email;
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	 
		
	}else{
		return false;
	}
}

function getVisitors(){
	var src = 'visitorsList';
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLoadLib.php?type=getVisitor";
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	 
	callback1();
}

function callback1(){
	setTimeout('getOnlineUsers()',3000);
}

function getOnlineUsers(){
	var src = 'onlineUsers';
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLoadLib.php?type=getOnlineUsers";
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	setTimeout('getVisitors()',3000);
}

function recieveMssge(name,email,ip){
	//document.getElementById('chatWorkstation').innerHTML='';
	//alert(name+email+ip);
	var src = "chatWorkstation";
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLoadLib.php?type=recieveMessage&name="+name+"&email="+email+"&ip="+ip+"&beginSession=true";
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	//getVisitors();
	callBack2(name, email,ip);
}

function callBack2(){
	//alert(name+email+ip);
	setTimeout("refreshMssge()",5000);
}
function refreshMssge(){
	var src = "chatWorkstation";
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     }
	 
	 var url = "chatLoadLib.php?type=recieveMessage&beginSession=false";
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	 callBack2();
}


	
function restoreMsg(){
	var msg=document.chatEntry.chatMsg.value;
		if(msg.length==0){
			document.chatEntry.chatMsg.value='Ask anything connected to travel. To anywhere in the world. Anytime.';
			}
	}


function clearTxtMsgMin(){
	document.chatEntry.chatName.value='';
	document.chatEntry.chatEmail.value='';
	document.chatEntry.chatMsg.value='';
	document.chatEntry.sendMssge.disabled=true;
}

function openChat(){
	//alert("test");
	window.open("newChat.php","OnlineChat");
	 //window.open ("newChat.php","mywindow");
}

function sendMiniChatVisitor(src, name, email, mssge, ip, online){
	
	
	var emailValue = document.getElementById('chatEmail').value;
	//alert(emailValue);
if(emailValue.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)!= -1){
	
	
	var numAgents = document.getElementById('numOnlineAgents').value;
	online = new Number(numAgents);
	//alert(online);
	//if (online < 1){
		//alert("At this moment of time, there are no travel agents online. \nJust leave your messages and we will contact you through your email.");
	//}
	
	
		var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=recieveMessageChatFrontDesk&name="+name+"&email="+email+"&beginSession=true&mssge="+mssge+"&ip="+ip;
	 
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	callBack6();
	}else{
		alert("Please enter a valid email address.");
		}
	
	
	
	}
	
function callBack6(){
	setTimeout('refreshMssge2()',5000);
	}
	
function refreshMssge2(){
	var src="frontDeskChat";
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=recieveMessageChatFrontDesk&beginSession=false";
	 
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
	 callBack6();
	}
	
	function endChatSession(src){
	var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=endChatSession";
	 
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
//		popup('endChatSession.php');
	}
	
	function sendAgentMssge(name,email,ip){
		
		if(name.length<1 || email.length<1 || ip.length.length<1){
			alert("Chat session is empty. Please select an online visitor to begin.");
		}else{
			var src = 'actionDiv';
			var mssge = document.getElementById('sendMssge').value;
			
			var req = Inint();
     		req.onreadystatechange = function () { 
          	if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
		  
     	};
	 
	 	var url = "chatLoadLib.php?type=agentsReply&name="+name+"&email="+email+"&mssge="+mssge+"&ip="+ip;
	 
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      
	 req.send(null); 
		document.getElementById('sendMssge').value='';
		//alert(mssge);
		}
	}

function agentOut(){
	var answer = confirm("Do you wish to Log-Out?")
	var src = "hiddenDiv";
		if (answer){
			location.href="end.php";		
		}
	
	}
	
function mssgeHistory(){
	    window.open("chatHistory.php","OnlineChat");
		//window.location = "chatHistory.php";
	}
	
function historyVisitor(){
	
	    var src ='historyVisitor';
		var req = Inint();
     		req.onreadystatechange = function () { 
          	if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     	};
		
	var url = "chatLoadLib.php?type=chatHistory";
	req.open("GET", url); 
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");    req.send(null);
	
	}

function displayMsg(email, src,name){
		
		var req = Inint();
     		req.onreadystatechange = function () { 
          	if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     	};
		
		
		
		var url = "chatLoadLib.php?type=displayMsg&email="+email+"&name="+name;
		req.open("GET", url); 
   		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");    
		req.send(null)
	}
	
function showHistory(dateHistory, src){
		 //alert(src);
		 if(dateHistory==''){
			alert("Text field is empty.");
			 }
		var req = Inint();
     		req.onreadystatechange = function () { 
          	if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     	};
		
	var url = "chatLoadLib.php?type=chatHistory&dateHistory="+dateHistory;
	req.open("GET", url); 
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");    req.send(null);
	}
	
function sendReq(src){
	var name=document.getElementById('name').value;
	var email=document.getElementById('email').value;
	var contact=document.getElementById('contact').value;
	var request=document.getElementById('request').value;
	

	if(validateEmail2(email)==false){
		alert('Invalid email!');
		}
		else if(validateEmail2(email) & name.length>0 & contact.length>0 & request.length>0){
			document.getElementById(src).innerHTML='<center><br><br><br><br<img src="assets/images/loading.gif"><br>Processing your request. Please wait....</center><br><br><br>';
			var req = Inint();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
	 
	 var url = "chatLive/chatLoadLib.php?type=sendRequest&name="+name+"&email="+email+"&contact="+contact+"&request="+request;
	 
     req.open("GET", url); 
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");      req.send(null); 
			
			}else{
				alert('Please input all the fields.');
				}
}

function validateEmail2(email){
	if(email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)!= -1){
		return true;
	}else{
		return false;
	}
}

document.getElementById('textChat').style.color='document.getElementById(this.id).value';

