function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function DHTMLSound(id, surl)
{
       document.getElementById(id).innerHTML= '<embed src="/'+surl+'" hidden="true" autostart="true" loop="false">';
}

 $(document).ready(function()
 {
       var today = new Date();
       setCookie("updateTime", today.getTime());
	$('#shoutboxJsInformer').hide();
	$('#shoutboxBottom').show();
	 $('#shoutboxHidden').val('login');
	 
	$.ajax(
	{
		type: 'post',
		url: 'shoutbox.php',
		data: 'action=start',
		success: function (obj)
		{
			if (obj.isGuest == false)
			{
				hideLogin();
				$('#shoutboxInputName').val(obj.name);
				$('#shoutboxSmile').show();
				$('#shoutboxWrapper').css('background', 'url(hs/img/chat/bgWrapper.jpg)').height(200);
				$.each(obj.smile, function(i, l)
				{
					$('#shoutboxSmile').append('<img src="' + l + '" alt="' + i + '" /> ');
				});
				$('#shoutboxHidden').val('add');
			}
			addNeww(obj);
		},
		dataType: 'json'
	});
	
	$('body').ajaxError(function()
	{
		alert('Во время загрузки произошла ошибка');
	});
	
	$('#shoutboxSmile img').live('click', function ()
	{
		$('#shoutboxInputMessage').val($('#shoutboxInputMessage').val() + $(this).attr('alt'))
	});

	$('#shoutboxForm').ajaxForm(
	{
		dataType:  'json',
		success: function (obj)
		{
			if (obj.error)
			{
				alert(obj.error);
			}
			else
			{
				if ($('#shoutboxHidden').val() == 'login')
				{
					$('#shoutboxHidden').val('add');
					hideLogin();
					$('#shoutboxSmile').show();
					$('#shoutboxWrapper').css('background', 'url(hs/img/chat/bgWrapper.jpg)').height(200);
					$.each(obj.smile, function(i, l)
					{
						$('#shoutboxSmile').append('<img src="' + l + '" alt="' + i + '" /> ');
					});
				}
				else
				{
					$('#shoutboxInputMessage').val(''); 
					addNew(obj);
				}
			}
		}
	});
	
	$("span.checkbox").mousedown(function()
	{
		changeCheck($(this));
	});

	$("span.checkbox").each(function()
	{
		changeCheckStart($(this));
	});
});

function addNew(obj)
{

	$('#lastId').val(obj.lastId);

	$.each(obj.messages, function(i)
	{
        date = new Date(obj['messages'][i]['time']*1000);
        if(getCookie("shoutboxName") != obj['messages'][i]['name'])
              DHTMLSound('beeeeep', "1.swf");
        h = date.getHours();
        m = date.getMinutes();
        if(h < 10) h = '0'+h.toString(); else h = h.toString();
        if(m < 10) m = '0'+m.toString(); else m = m.toString();
        
		if(/<span/.test(obj['messages'][i]['name']))
         {
             str = obj['messages'][i]['name'].match(/#\w+;/);
            $('#shoutboxClear').after('<p>'+'<b>' + obj['messages'][i]['name'] + '<span style="color:'+str+'"> ('+h+':'+m+'):</span></b> ' + obj['messages'][i]['message'] + '</p>');
         }
         else
            $('#shoutboxClear').after('<p>'+'<b>' + obj['messages'][i]['name'] + '('+h+':'+m+'):</b> ' + obj['messages'][i]['message'] + '</p>');
	});
         
}

function addNeww(obj)
{
   var date, h, m;
   
	$('#lastId').val(obj.lastId);
	
	$.each(obj.messages, function(i)
	{
        date = new Date(obj['messages'][i]['time']*1000);
        h = date.getHours();
        m = date.getMinutes();
        if(h < 10) h = '0'+h.toString(); else h = h.toString();
        if(m < 10) m = '0'+m.toString(); else m = m.toString();
        
        if(/<span/.test(obj['messages'][i]['name']))
        {
         str = obj['messages'][i]['name'].match(/#\w+;/);
         $('#shoutboxMessages').append('<p>'+'<b>' + obj['messages'][i]['name'] + '<span style="color:'+str+'"> ('+h+':'+m+'):</span></b> ' + obj['messages'][i]['message'] + '</p>');
        }
      else
         $('#shoutboxMessages').append('<p>'+'<b>' + obj['messages'][i]['name'] + '  ('+h+':'+m+'):</b> ' + obj['messages'][i]['message'] + '</p>');
	});
}

function hideLogin()
{
	$('#shoutboxInputName').hide();
	$('#shoutboxInputMessage').show();
	$('#shoutboxInputLogin').hide();
	$('#shoutboxInputAdd').show();
}

function refresh()
{
	$.ajax(
		{
			type: 'post',
			url: 'shoutbox.php',
			data: 'action=refresh&lastId=' + $('#lastId').val(),
			success: function (obj)
			{
				if (obj.messages)
				{
					addNew(obj);
				}
			},
			dataType: 'json'
		});
}

function changeCheck(el)
{
	var el = el,
	input = el.find("input").eq(0);
	if(!input.attr("checked"))
	{
		intId = setInterval('refresh()', 5000);
		el.css("background", "url('hs/img/chat/checkboxOn.jpg')");	
		input.attr("checked", true)
	}
	else 
	{
		clearInterval(intId);
		el.css("background", "url('hs/img/chat/checkboxOff.jpg')");	
		input.attr("checked", false)
	}
	
	return true;
}
function changeCheckStart(el)
{
	var el = el,
	input = el.find("input").eq(0);
	if(input.attr("checked"))
	{
		intId = setInterval('refresh()', 5000);
		el.css("background", "url('hs/img/chat/checkboxOn.jpg')");
	}
     
	return true;
}

function ots (o) {
    var s = '{\n';
    for (var p in o)
        s += '    ' + p + ': ' + o[p] + '\n';
    return s + '}';
}

function sto (o) {
	if (o.length > 0)
		return eval("(" + o + ")");
	else
		return ' ';
}