// Setti's chat JS

$(document).ready(function(){
	chat();
});


function mysqlTimeStampToDate(timestamp) {
    //function parses mysql datetime string and returns javascript Date object
    //input has to be in this format: 2007-06-05 15:26:02
    var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
    var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
    return new Date(parts[0],parts[1],parts[2],parts[3],parts[4],parts[5]);
}

function translate_to_english(str)
{
	google.load("language", "1");
    google.language.translate(str, "ru", "en", function(result) {
        if (result.error) {
            return 'не получилось';
        }
    });
    return result.translation;

}




function chat(){
	if (document.getElementById("parent_chatbox"))
		{
			  // periodical refresh
			 var last_up = 0;
			setInterval(function() {
					 $.ajax({
						  type: "POST",
						  url: 'http://'+document.location.host+'/Themes/default/setti_chat.php',
						  data: {
							action:'get',
							last_update:last_up
							},
						  dataType: "json",
						  success: function(msg){
						place_last_mesgs(msg.messages_arr);
						last_up = msg.last_up;
						}
					});
				}, 8000 /* 8 sec */ );
			
function place_last_mesgs(mes_arr){
if (mes_arr!= null){
	for (var y = 0; y < mes_arr.length; y++){
			var mess_count = $("#chatbox .main_span").size();
			rExp = new RegExp('' + $('.username').html() + '[^/]', "g"); 
			result = mes_arr[y].msg.search(rExp);
			if (result > (-1)){
			bg = "style=\"background-color : #CCFFCC;\"";
			}else{
			if (typeof i == "undefined" || i==2){bg="style=\"background-color : #FBFBFB;\""; i=1}else{bg="style=\"background-color : #EDEDED;\""; i=2;}
			}

var mydate = mysqlTimeStampToDate(mes_arr[y].msg_time);
var icon = mes_arr[y].icon;
var seconds = mydate.getSeconds(); if (seconds < 10){seconds = "0" + seconds}
var minutes = mydate.getUTCMinutes(); if (minutes < 10){minutes = "0" + minutes}
var hours = mydate.getHours(); if (hours < 10){hours = "0" + hours}
var msg_time = hours+":"+minutes+"'<sup>"+seconds+"</sup>";
var nic_color = $("#nic_color").html();

            
if($("#chatbox .message:last").html() != mes_arr[y].msg){ // заплатка от повторяющихся сообщений
$("#chatbox").append(
   '<span class="main_span" '+bg+'><span class="messagetime">'+msg_time+'</span><a href="http://inline.dn.ua/index.php?action=profile;u='+mes_arr[y].authorid+'"><img src="'+icon+'" class="messageimage" /></a>'+mes_arr[y].bef_nic+'<b class="nic" style="color:'+mes_arr[y].extra+'">'+mes_arr[y].author+'</b>'+mes_arr[y].aft_nic+': <span class="message">'+mes_arr[y].msg+'</span></span>\n\r'
);
}



		$(".flickrbtn").click(function () { 
		$("#chat_sayit").focus(); 
			$("#chat_sayit").val('#flickr-')
			return false;  });  

		$(".infabtn").live("click", function(){
		$("#chat_sayit").focus(); 
			var cur_val = $("#chat_sayit").val();
			$("#chat_sayit").val(cur_val + ' %infa%');
			return false;  });  
			
		$(".catbtn").live("click", function(){
		$("#chat_sayit").focus(); 
			var cur_val = $("#chat_sayit").val();
			$("#chat_sayit").val(cur_val + ' #cat');
			return false;  });  

		$(".twitterbtn").click(function () { 
		$("#chat_sayit").focus(); 
			$("#chat_sayit").val('[randomtwitt][/randomtwitt]')
			return false;  });

		$(".videobtn").click(function () { 
		$("#chat_sayit").focus(); 
			$("#chat_sayit").val('[video][/video]')
			return false;  });  

		$(".del_all").click(function () { 
		$("#chat_sayit").focus(); 
			$("#chat_sayit").val('#del_all')
			return false;  });  

		$(".del_user_msgs").click(function () { 
		$("#chat_sayit").focus(); 
			$("#chat_sayit").val('#del_user_msgs -')
			return false; });  

			
		if(mess_count > 30){
		  $("#chatbox .main_span:first").remove();
		  }
		  
			// do chat div scroll
			
		// var objDiv = document.getElementById("parent_chatbox");
		// if ($('#parent_chatbox')) {
		// objDiv.scrollTop = objDiv.scrollHeight;
		// }


		}
	}
	
	
	$("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
	
	
	
	
}

function getmsgs() {
         $.ajax({
              type: "POST",
              url: 'http://'+document.location.host+'/Themes/default/setti_chat.php',
              data: {
                action:'get',
                last_update:last_up
                },
              dataType: "json",
              success: function(msg){
            place_last_mesgs(msg.messages_arr);
            last_up = msg.last_up;
            }
        });
        
    $("b.nic").live("click", function(){
        nic = $(this).text();
        val = $("#chat_sayit").val();
        $("#chat_sayit").val(function(){
            return nic + ', ' + val;
        });
        $("#chat_sayit").focus();
    });
    
    
    } getmsgs();

function send_msg() { 

	var message = $("#chat_sayit").attr("value");

	if (typeof message!="undefined") {
		nic = $('#user').html();
	$("#sys_msg").html(' ');

				$.ajax({
				  type: "POST",
				  url: 'http://'+document.location.host+'/Themes/default/setti_chat.php',
				  data: {
					action:'put',
					msg: message, 
					author: nic,
					extra:$("#nic_color").html(),
					icon:$("#chaticon").html(),
                    authorid:$("#user_id").html(),
					fix:1
					},
				  dataType: "json",
				  success: function(msg){
								message='';
							}
				});
	$("#chat_sayit").attr({ 
	  value: ''
	});
	message = '';

	} else {
	return false;
	}
}
					  
// scroll down

var objDiv = document.getElementById("parent_chatbox");
if (typeof objDiv !="undefined") {
objDiv.scrollTop = objDiv.scrollHeight;
}

$("#chat_btn").click( function(){send_msg()} );

$("#chat_sayit").keydown(function(event){
			if (event.keyCode == 13 && $('#user').html() != 'Setti') { send_msg() }
		}
	  )
	  
// for Setti only
if ($('#user').html() == 'Setti'){
	
        var isCtrl = false; 
        $(document).keyup(function (e) { 
            if(e.which == 17) isCtrl=false; 
            })
            .keydown(function (e) { 
            if(e.which == 17) isCtrl=true; 
            if(e.which == 13 && isCtrl == true) {
                send_msg();
                return false; } }); 
        
    }
} // end if setti

var s_hidden = 1;
$("#getsmiles").click(function(){
		if (s_hidden == 1){
			$("#smilesblock").slideDown(); s_hidden = 0;
		}else{
			$("#smilesblock").slideUp(); s_hidden = 1;
		}
		$("#chat_sayit").focus();
		return false;
	});
	
$(".smileBTN").click(function(){
		$("#chat_sayit").val($("#chat_sayit").val()+$(this).attr("title"));
		return false;
	});


		
} // end function chat

