// Vinnotech JSC
// License: copyright (c) by Vinnotech JSC. All right reserved.

var seperator = ';';
var adminarea = false;
 
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function periodicUpdater(script,element) {
	var win = $(element);

    var ajax = new Ajax.PeriodicalUpdater(element,script,{method:'get',evalScripts:true,frequency:3	,onSuccess:function(){
    var win = $(element);
	win.scrollTop = 100000;}
	});
	if(win)win.scrollTop = 100000;	
	
}

function startChat(uid){
	if(adminarea){
		periodicUpdater('../chatcenter/?action=pull&uid='+uid,'textwin'+uid);
	} else {
		periodicUpdater('/chatcenter/?action=pull&uid='+uid,'textwin'+uid);
	}
}

function postChatmsg(cont,userto,userto_id){
	var cont = "content=" + cont + "&userto=" + userto + "&userto_id=" + userto_id;

	var script= "/chatcenter/?action=post";
	if(adminarea) script = "../" + script;
	new Ajax.Request(script, {method: 'post',postBody:cont,evalScripts:true});

}
function handleChatSubmit(username,userto,userto_id)
{
	
	var textwin_n = 'textwin' + userto_id;
	var submitbt_n = 'submitb' +userto_id;
	var chattext_n = 'chattext'+userto_id;

	var cont = $(chattext_n).value;

	$(submitbt_n).disabled = 'disabled';

	if(cont)
	{
		var now = clock();
		$(chattext_n).value = "";
		$(textwin_n).innerHTML += "<b>" + username + ":</b> " + cont + "<br />";
		$(textwin_n).scrollTop = 100000;
		postChatmsg(cont,userto,userto_id);
		$(chattext_n).focus();
	}
}

function getKeypressed(event,username,userto,userto_id) {
var code = event.keyCode;
	if(code == 13)
	{
	handleChatSubmit(username,userto,userto_id);
	}
	else
	{
	$('submitb'+userto_id).disabled = '';
	}
}


function quitchat(){
	var userto_id = $('userto_id').value;
	var cname = "chatwin" + userto_id;
	
	var cvname = 'chatwinid';

}

function chkChat() {
	var script= "/chatcenter/?action=chk";
	if(adminarea) script = "../" + script;
	var chk = new Ajax.PeriodicalUpdater("msgchk",script,{method:'get',evalScripts:true,frequency:20});
}

function openChatwin(userto,uid,lid,lang,text,domain_cook,portrait){

  var username=prompt(text+"?", "")
  if(username==null || username=="" || username.replace(/^\s+|\s+$/g,"")==""){
  	
  	return false;
  }
  var cname = "chatwin" + uid;

  var addr = "/chatcenter/?userto=" + userto + "&uid=" + uid + "&langid=" + lid + "&language=" +lang+"&username="+username+"&domain_cook="+domain_cook+"&portrait="+portrait;
  if(adminarea) addr = "../"+addr;
   
  
  var ajaxwin=dhtmlwindow.open('"'+uid+'"', "ajax", addr, userto, "width=268px,height=215px,center=1,resize=1,scrolling=0");
  
  startChat(uid);

	
  ajaxwin.onclose=function()
  { 
  	
  	var id = trim(ajaxwin.id,'"');
  	var cn = 'chatwin' + id;  	

  	cn = 'chatstart' + id;

  	return 1;

  }
  
  var value = userto+seperator+uid+seperator+lid+seperator+lang+seperator+text+seperator+domain_cook;

  
  var cvname = 'chatwinid';

}

var _openChatwin = function (userto,uid,langid,language,text,domain_cook,portrait)
{
  //this.hide();
  //return; 
  openChatwin(userto,uid,langid,language,text,domain_cook,portrait);
}
var _oncancel=function(e)
{
  this.hide();
}

function clock()
{
	var clientTime = new Date();
	var currentTime = new Date();
	var tzo=(new Date().getTimezoneOffset()/60)*(-1); 
	var timeOffset = tzo * 60 * 60 * 1000;
	currentTime.setTime(clientTime.getTime() + timeOffset);

	var currentHours = currentTime.getUTCHours();
	var currentMinutes = currentTime.getUTCMinutes();

	if (currentHours < 10)
	{
		currentHours = "0" + currentHours;
	}
	if (currentMinutes < 10)
	{
		currentMinutes = "0" + currentMinutes;
	}
	return currentHours + ":" + currentMinutes;
}

