function getXMLHTTPRequest() {
	try {req = new XMLHttpRequest();} 
		catch(err1) {  try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
		catch (err2) { try {req = new ActiveXObject("Microsoft.XMLHTTP");} 
		catch (err3) {req = false;}
	  }
	}
	return req;
}

var Ajax = {
	getActiveXObject : function () {
		try {req = new XMLHttpRequest();} 
			catch(err1) {  try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (err2) { try {req = new ActiveXObject("Microsoft.XMLHTTP");} 
			catch (err3) {req = false;}
		  }
		}
		return req;
	},

	request : function (url, param, func){
		var http = Ajax.getActiveXObject();
		Ajax.response (http, url, param, func);
	},

	response : function (http, url, param, func) { 
		http.onreadystatechange = function (){func (http);};
		http.open("POST", url, true);
		http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		http.send(param);
	} 
};

function $(str){return document.getElementById(str);}
function requestChat(USID,MDID){
	//alert(USID);
	var parameter ="Usn="+USID;
		parameter +="&M_ID="+MDID;
		parameter +="&Time="+Math.random();
    var urlResult="ajax/ajax_UserRequestChat.php";
	Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var process=http.responseText;
				//alert(process);
				if(process=='ER_CODE_1'){
					alert("Can't Reserve other room chatting same time");
				
				}else if(process=='ER_CODE_2'){
				
					alert("Room Full please wait");
				}else{
				
					window.open("privatchat.php?Room="+escape(process),"_blank","");
				
				
				}
			
		}
	});





}
function _chkChatRoom(){
	var Usr=$('chatname').value;
	var Psw=$('chatpass').value;
	var parameter ="Usn="+Usr;
		parameter +="&Usp="+Psw;
		parameter +="&Time="+Math.random();
    var urlResult="ajax/ajax_ChackUser.php";
	Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var profile=http.responseText;
			
			if(profile!="error"){
			//var PFObj= eval('(' + profile + ')');
			window.open("process.php?UPF="+escape(profile),"_self","");
			}else{
			alert("username or password wrong");
			
			}
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});
}
function _chkAdminRoom(){
	var Usr=$('chatname').value;
	var Psw=$('chatpass').value;
	var parameter ="Usn="+Usr;
		parameter +="&Usp="+Psw;
		parameter +="&Time="+Math.random();
    var urlResult="../ajax/ajax_CheckAdmin.php";
	Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var profile=http.responseText;
			//alert(profile);
			if(profile!="error"){
			//var PFObj= eval('(' + profile + ')');
			window.open("index1.php","_self","");
			}else{
			alert("username or password wrong");
			
			}
		
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});
}
function sendMessage(){
	var msg=$('message').value;	
	var parameter ="Mode=send";
    parameter +="&M="+escape(msg);
	parameter +="&Time="+Math.random();
	var urlResult='ajax/ajax_Message.php';
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			//var obj=eval('(' + message + ')');
			//alert(obj.);
			//prompt("kkk",message);
			if(message!=='offline'){
			$('showmessage').innerHTML=message;
			$('message').value='';
			setTimeout("reflash('reflash')",5000);
			
			}else{
			window.open("index.php","_self","");
			
			}
			//alert(message);
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});

}
function logout(){
	
	var parameter ="Mode=logout";
	parameter +="&Time="+Math.random();
	var urlResult='ajax/ajax_Message.php';
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			if(message=='offline'){
				window.open("index.php",'_self','');
			}else{
			
			
			}

		}
	});





}
function releaseRoom(Guest){
	var tmproom='';
	var parameter ="Mode=release";
		parameter +="&TMPROOM="+tmproom;
		parameter +="&Time="+Math.random();
		parameter +="&USID="+Guest;

	var urlResult='ajax/ajax_Users_ReleaseRoom.php';

		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;

		}
	});


}
function sendMessagePic(pic){
	var msg=pic;
	var parameter ="Mode=send";
    parameter +="&M="+escape(msg);
	parameter +="&Time="+Math.random();
	var urlResult='ajax/ajax_Message.php';
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			//var obj=eval('(' + message + ')');
			//alert(obj.);
			//prompt("kkk",message);
			if(message!=='offline'){
			$('showmessage').innerHTML=message;
			$('message').value='';
			setTimeout("reflash('reflash')",5000);
			
			}else{
			window.open("index.php","_self","");
			
			}
			//alert(message);
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});

}
function reflashMessage(){

		var urlResult='ajax/ajax_update.php';
		var parameter ="Time="+Math.random();
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			if(message!=='offline'){
			$('showmessage').innerHTML=message;
			setTimeout("reflash('reflash')",5000);
			
			}else{
			window.open("index.php","_self","");
			
			}
			//alert(message);
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});



}
function reflashwhoonline(){

		var urlResult='ajax/ajax_whoonline.php';
		var parameter ="Time="+Math.random();
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			$('online').innerHTML=message;
			
			//alert(message);
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});


}
function reflashmodelonline(){

		var urlResult='ajax/ajax_modelonline.php';
		var parameter ="Time="+Math.random();
		Ajax.request (urlResult, parameter,function(http){
		if (http.readyState == 4) { 
			var message=http.responseText;
			$('modelonline').innerHTML=message;
			
			//alert(message);
			//prompt("kkk",txt);
			//alert(PFObj.user[0].name);
			//$("Genpage").innerHTML=txt;
			
		}
	});


}
function reflash(mode){
var m=mode;
if(m=='load'){
reflashMessage();
reflashwhoonline();
reflashmodelonline()
}else if(m=='reflash'){
	var msg=$('message').value;
		if(msg!=''){
			
		}else{
			reflashMessage();
			reflashwhoonline();
			reflashmodelonline()
			$('message').value='';
		}

}
	

}
function Enter(event,mode,txt){
var characterCode;

		characterCode = event.keyCode //character code is contained in IE's keyCode property
//alert(characterCode);

		if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
				if(mode==''){
				sendMessage();
				}
		}
		else{

			if(mode=='pic'){
					if(event==13){
					sendMessagePic(txt);
					}
			}
			// don't active
		}

}
var ajaxChat={
send:'',
emoticonCodes: new Array(
		':)',
		':(',
		';)',
		':P',
		':D',
		':|',
		':O',
		':?',
		'8)',
		'8o',
		'B)',
		':-)',
		':-(',
		':-*',
		'O:-D',
		'>:-D',
		':o)',
		':idea:',
		':important:',
		':help:',
		':error:',
		':warning:',
		':favorite:'		
 	),
	
 	// Defines the list of emoticon files associated with the emoticon codes:
	emoticonFiles: new Array(
		'smile.png',
		'sad.png',
		'wink.png',
		'razz.png',
		'grin.png',
		'plain.png',
		'surprise.png',
		'confused.png',
		'glasses.png',
		'eek.png',
		'cool.png',
		'smile-big.png',
		'crying.png',
		'kiss.png',
		'angel.png',
		'devilish.png',
		'monkey.png',
		'idea.png',
		'important.png',
		'help.png',
		'error.png',
		'warning.png',
		'favorite.png'
	),
	insertText:function(txt){	
		var tmp=$('message').value;
		var a=ajaxChat.replaceEmoticons(txt);
		$('message').value=tmp+txt;
		var send=tmp+a;
		Enter(13,'pic',send);
		
		
	},
	escapeRegExp: function(text) {
		if (!arguments.callee.regExp) {
			var specials = new Array(
				'^', '$', '*', '+', '?', '.', '|', '/',
				'(', ')', '[', ']', '{', '}', '\\'
			);
			arguments.callee.regExp = new RegExp(
				'(\\' + specials.join('|\\') + ')', 'g'
			);
		}
		return text.replace(arguments.callee.regExp, '\\$1');
	},
	insertBBCode: function(bbCode) {
		var tmp=$('message').value;
		switch(bbCode) {			
			case 'url':
				var url = prompt("Please Insert url", 'http://');
				if(url)
					$('message').value=tmp+'[url=' + url + ']'+ '[/url]';
				else
					
				break;
			default:
				$('message').value=tmp+'<' + bbCode + '>'+'</' + bbCode + '>';		
		}
	},
	replaceEmoticons: function(text) {
		if(!arguments.callee.regExp) {
			var regExpStr = '^(.*)(';
			for(var i=0; i<ajaxChat.emoticonCodes.length; i++) {
				if(i!=0)
					regExpStr += '|';
				regExpStr += '(?:' + ajaxChat.escapeRegExp(ajaxChat.emoticonCodes[i]) + ')';
			}
			regExpStr += ')(.*)$';
			arguments.callee.regExp = new RegExp(regExpStr, 'gm');
		}
			//alert(arguments.callee.regExp);
			
		return text.replace(
			arguments.callee.regExp,			
			ajaxChat.replaceEmoticonsCallback
		);
	},
	arraySearch: function(needle, haystack) {
		var i = haystack.length;
		while(i--) {
			if(haystack[i] === needle) {
				return i;
			}
		}
	    return false;
	},
	replaceEmoticonsCallback: function(str, p1, p2, p3) {
		if (!arguments.callee.regExp) {
			arguments.callee.regExp = new RegExp('(="[^"]*$)|(&[^;]*$)', '');
		}
		// Avoid replacing emoticons in tag attributes or XHTML entities:
		if(p1.match(arguments.callee.regExp)) {
			return str;
		}	
		if(p2) {
			var index = ajaxChat.arraySearch(p2, ajaxChat.emoticonCodes);							
			return 	ajaxChat.replaceEmoticons(p1)
				+	'<img src="'
				+	'img/emoticons/'
				+	ajaxChat.emoticonFiles[index]
				+	'" alt="'
				+	p2
				+	'" />'
				+ 	ajaxChat.replaceEmoticons(p3);
		}
		return str;
	}

}
