function trim(s){
	var zszs="" ;
	if (typeof(s) == "undefined") {zszs=""; }else{ 
	if (s == null) { zszs="";} else { zszs= s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); }
	}
	return zszs;
} 

String.prototype.replaceAll = function( searchStr, replaceStr ) 
{ 
	var temp = this; 
	while( temp.indexOf( searchStr ) != -1 ) temp = temp.replace( searchStr, replaceStr ); 
	return temp; 
} 

function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(name)
{
	//Without this, it will return the first value 
	//in document.cookie when name is the empty string.
	if(name == '')
		return('');

	name_index = document.cookie.indexOf(name + '=');

	if(name_index == -1)
		return('');

	cookie_value =  document.cookie.substr(name_index + name.length + 1, document.cookie.length);

	//All cookie name-value pairs end with a semi-colon, except the last one.
	end_of_cookie = cookie_value.indexOf(';');
	if(end_of_cookie != -1)
		cookie_value = cookie_value.substr(0, end_of_cookie);

	//Restores all the blank spaces.
	space = cookie_value.indexOf('+');
	while(space != -1)
	{ 
		cookie_value = cookie_value.substr(0, space) + ' ' + 
		cookie_value.substr(space + 1, cookie_value.length);
				 
		space = cookie_value.indexOf('+');
	}

	return(cookie_value);
}

function clearCookie(name)
{                  
	expires = new Date();
	expires.setYear(expires.getYear() - 1);

	document.cookie = name + '=null' + '; expires=' + expires; 		 
}
         
function clearCookies()
{
	Cookies = document.cookie;
	Cookie = Cookies;
	expires = new Date();
	expires.setYear(expires.getYear() - 1);

	while(Cookie.length > 0)
	{
		//All cookie name-value pairs end with a semi-colon, except the last one.
		Cookie = Cookies.substr(0, Cookies.indexOf(';'));
		Cookies = Cookies.substr(Cookies.indexOf(';') + 1, Cookies.length);

		if(Cookie != '')
		 document.cookie = Cookie + '; expires=' + expires;
		else
		 document.cookie = Cookies + '; expires=' + expires;			  			  	  
	}		 		 
}

var logined = false;
var authed = false;
function check_register(auth_key)
{
	var uname = unescape(getCookie("uname"));

	if(auth_key == "true")
	{
		if(uname != "")
		{
			var obj = document.getElementById('userInfo');
			var textarea = "";
			obj.innerHTML = textarea;

			var test = document.createElement("textarea");
			var docTestDiv = obj.appendChild(test);
			docTestDiv.id = "uchat";
			docTestDiv.name = "uchat";
			docTestDiv.onkeypress = function(e)
			{
				checkEnter(e)
			}
			
			var frm = document.getElementById('uuform');
			frm.uname.value = uname;

			logined = true;
		}
		authed = true;
	}else{
		var obj = document.getElementById('userInfo');
		obj.innerHTML = "<div class='signup_msg'>"+
						"	<ul>"+
						"		<li>You used invalid authentication key.</li>"+
						"		<li>If you haven't account for tostito.com, sign up on <a href='http://www.tostito.com/' target='_new'>tostito.com</a>.</li>"+
						"	</ul>"+
						"</div>";
	}
	
	if(first == "true")
	{
		var source = "<html><head><style>body { margin:0px;font-size:12px; } div{font-size:12px;margin-left:2px;}</style></head><body></body></html>";
		chatarea.document.write(source);
		chatarea.scrollTo(0,document.getElementById('chatarea').contentWindow.document.body.scrollHeight);
		first = "false";
		get_msg("first");
	}else{
		first = "false";
		get_msg();
	}
}

function add_info(fname)
{
	var obj = document.getElementById(fname);
	
	var uname = obj.uname;
	var tmp = trim(uname.value);
	uname.value = tmp;
	if(tmp == "")
	{
		uname.style.border = "solid 1px red";
		uname.focus();
		return false;
	}

	postForm(obj, _callback_addinfo);
}

function _callback_addinfo(msg)
{
	if(msg == "ok")
	{
		var frm = document.getElementById('uuform');
		frm.uname.value = unescape(getCookie("uname"));

		var divObj = document.getElementById('area_chat_3');
		if(divObj.style.display == "inline")
		{
			divObj.style.display = "none";
			document.getElementById('area_chat_1').style.display = "inline";
		}
		
		if(authed)
		{
			if(!logined)
			{
				var obj = document.getElementById('userInfo');
				obj.innerHTML = "";
				var test = document.createElement("textarea");
				var docTestDiv = obj.appendChild(test);
				docTestDiv.id = "uchat";
				docTestDiv.name = "uchat";
				docTestDiv.onkeypress = function(e)
				{
					checkEnter(e)
				}
			}
		}

		sel_tab(1);
	}else{
		alert("This username exists already.");
	}
}
  
function checkEnter(e){
	var keynum;
	if(window.event) // IE
		keynum = event.keyCode;
	else if(e.which) // Netscape/Firefox/Opera
		keynum = e.which;

	if(keynum == 13){
		add_chat();
	}
}

function add_chat()
{
	var obj = document.getElementById('uform');
	
	var uchat = obj.uchat;
	var tmp = trim(uchat.value);
	if(tmp == "" || tmp == "\n")
	{
		uchat.value = "";
		uchat.focus();
		return false;
	}
	
	var process = obj.process;
	process.value = "msg";

	postForm(obj, _callback_addchat);
}

function str_pad(val,len,str) {
	var ret = '';
	while(len-- > 0) ret+= str;
	return val+ret;
}

function word_replace(chars)
{
	for(var i=0;i<g_word_list.length;i++)
	{
		var word = g_word_list[i];
		if(word == "") continue;

		var strlen = word.length;
		var item = str_pad("",strlen,"*");

		chars = chars.replaceAll(word, item);
	}

	return chars;
}

function _callback_addchat()
{
	var obj = document.getElementById('uchat');
	var tmp = obj.value;
	obj.value = "";
	
	tmp = word_replace(tmp);
	var cont = ""+
		"<div>"+
		"	<font style='color:red;'><strong>me  </strong></font>"+tmp+
		"</div>";
				

	chatarea.document.write(cont);
	chatarea.scrollTo(0,document.getElementById('chatarea').contentWindow.document.body.scrollHeight);

	obj.focus();
}

function sel_tab(no)
{
	for(var i=1;i<4;i++)
	{
		var obj = document.getElementById('area_chat_'+i);
		var mobj = document.getElementById('mli'+i);
		if(no == i)
		{
			obj.style.display = "inline";
			mobj.className = "sel";
		}
		else{
			obj.style.display = "none";
			mobj.className = "";
		}
	}

	if(no == 1)
	{
		chatarea.scrollTo(0,document.getElementById('chatarea').contentWindow.document.body.scrollHeight);	
	}

	if(no == 2)
	{
		httpRequest_1("modules/message.php?menu=user", _callback_userlist);
	}
}

function _callback_userlist(msg)
{
	var obj = document.getElementById('userlist');
	obj.innerHTML = msg;
}

function get_msg(is_first)
{
	var uname = unescape(getCookie('uname'));
	var last = getCookie("lastmsg");

	if(is_first && is_first == "first")
		httpRequest("modules/message.php?wsite="+escape(host_url)+"&menu=msg&id="+escape(uname)+"&last="+last+"&first=yes", _callback_msgread);
	else
		httpRequest("modules/message.php?wsite="+escape(host_url)+"&menu=msg&id="+escape(uname)+"&last="+last, _callback_msgread);
}

function _callback_msgread(msg)
{
	if(msg != "")
	{
		chatarea.document.write(msg);
		chatarea.scrollTo(0,document.getElementById('chatarea').contentWindow.document.body.scrollHeight);
	}
	
	window.setTimeout("get_msg();",3000);
}
