var Message = {
    // old name is sendMessage
    openMessanger: function(userHref, name, img, width, height, id, invite, wintitle) {
        
		var messanger = $('#messanger');
        if(messanger.length == 0 || messanger.dialog('isOpen'))
            return false;
        
        messanger.dialog({
			modal: false,
			draggable: true,
			title: wintitle,
			width: 540,
			beforeclose: function(){
				messanger.dialog('destroy');
				return false;
			}
		});
		$("textarea", messanger).bind("keydown", function(e){
			if (!e)
				e = window.event;
			var key = e.keyCode;
			if ((key == 13 || key == 10) && e.ctrlKey) {
				$(this).closest("form").submit();
				return false;
			}
			return true;
		});
        var form = $("form", messanger);
		var contentNode = $("[name='content']", form); 
        var symbolsLeftNode = $("[name='symbolsLeft']", form);
		contentNode.val('');
		symbolsLeftNode.val('1000');
        $("[name='id']", form).val(id ? id : -1);
        
        var title = $('#messangerTitle');
        var imgTitle = $('#messangerImg');

        title.attr("href", userHref);
        imgTitle.attr("href", userHref);
        title.html('');
		imgTitle.html('');
        title.append(document.createTextNode(name));
		
        var imgs = $("img", imgTitle);
        var imgObj;
        if (!(imgs && imgs.length > 0)) {
            imgObj = $("<img/>", {
				className: 'photo'
			});
            imgTitle.append(imgObj);
        }
		else
            imgObj = $(imgs[0]);
		
        imgObj.attr("src", img);
        imgObj.width(width);
        imgObj.height(height);

		if (invite)
        	$('#messangerGroupDiv').show();
		else
			$('#messangerGroupDiv').hide();

        form.attr("action", userHref + '/message' + (invite ? '?action=invite' : ''));        
        contentNode.bind('keydown', function() {
            var nn = symbolsLeftNode; 
            var n = 1000 - contentNode.val().length;
            if(n < 0)
                return false;
            nn.val(n);
        });
        contentNode.focus();
        return false;
    }
};

Message._doCheckMessages = function(cbx){
	var checked = true;
    for (var pos = 0; true; pos++) {
        var checkbox = document.getElementById('msg' + pos);
        if (checkbox) {
            checkbox.checked = cbx(pos);
            if (!checkbox.checked) checked=false;
        } else {
            break;
        }
    }
    var all = document.getElementById('all');
    if (all) {
        all.checked = checked;
    }
};

Message.checkAll = function(checked) {
	Message._doCheckMessages(function(){ return checked; });
};

Message.checkNew = function() {
    Message._doCheckMessages(function(pos){ return document.getElementById('newmsg' + pos) != undefined; });
};

Message.checkRead = function() {
	Message._doCheckMessages(function(pos){ return document.getElementById('newmsg' + pos) == undefined; });
};

Message.doMessageAction = function(select) {
	if (select.value == 'msgDel') {
		if (!confirm('Do you realy want delete selected messages?')) {
			select.value = '';
			return;
		}
	}
	else if (select.value == 'msgInboxDel') {
		if (!confirm('Do you realy want delete all messages?')) {
			select.value = '';
			return;
		}
	}
	select.form.submit();
}