
progress_block = "<img src='/login/img/progress_dark.gif'>";
progress_bgr = ("background", "url(/login/img/progress_light.gif)");

$.ajaxSetup({
cache: false,
error: function (XMLHttpRequest, textStatus, errorThrown) {
  $("#ajaxerrbox").html(XMLHttpRequest.ResponseText);
}
});

$(document).ready(function() {

});


function XurlInit(){ 
$("a.ajaxhandled").unbind().click(function(){
	return ajaxlink($(this));
});

$("span.chelp").unbind().click(function(){
	return contexthelp($(this));
});
};

function contexthelp(jqobj){
	openModal("Help", jqobj.html(), jqobj);
}

function ajaxlink(jqobj){
	var thistitle = jqobj.attr("title");
	if(thistitle && !confirm(thistitle)){return false;}
	else {
	jqobj.css("background", "url(/login/img/progress_light.gif)");
		$.ajax({
		url: jqobj.attr("href"),
		data: "",
		success: function(resp){
				jqobj.replaceWith(resp);
			}
		});
	}
	return false;
}



function sendPM(){//какого-то хрена при переделке под sendFormUsingAjax() не срабатывает return false
	var datastr = $("#pmform").serialize();
	$("#userboxResult").html(progress_block);
	$.ajax({
		type: "POST",
		url: "/login/scripts/pm_post.htm",
		data: datastr,
		success: function(resp){
				$("#userboxResult").html(resp);
			}
		})
	return false;
}
function sendFormUsingAjax(formID, callback, progressID, resultID){
	if(!progressID){var progressID = formID}
	if(!resultID){var resultID = formID}
	var datastr = $(formID).serialize();
	$(progressID).html(progress_block);
	$.ajax({
		type: $(formID).attr("method"),
		url: $(formID).attr("action"),
		data: datastr, //какого-то хуя нельзя писать $(formID).serialize(); сразу, только через промежуточную переменную
		success: function(resp){
			$(resultID).html(resp);
		}	
	})
//todo	callback;
	return false;
}

function PDdialog(caller, id, boxId){
	var offset = $(caller).offset();
	$(boxId).css("top", $(caller).height()+offset.top+"px").css("left", offset.left+"px").slideToggle("fast");
	PMovingId = id;
	$(caller).blur(function(){$(boxId).slideUp("fast")});
	return false;	
}
function movepm(fld){
	$("#toFolder").slideUp("fast");
		$.ajax({
		url: "/login/scripts/pm_post.htm",
		data: "msgid="+PMovingId+"&pmaction=movemsg&fld="+fld,
		success: function(resp){
				$("#msg"+PMovingId).replaceWith(resp);
			}
		});
	return false;
}
function rate(objId, obj, color, caller){
	var marks = eval(obj);
	var c="";
	for (var i in marks){c+='<a href="javascript:void(0)" onClick="rateme(\''+objId+'\','+i+','+color+')">'+marks[i][color]+'</a><br/>'};
	$("#rateBox").css("z-index", "1000").html(c);
	PDdialog(caller, 1, '#rateBox');
	return false;
}

function rateme(objId, markId, color){
	$("#"+objId).css("background", "url(/login/img/progress_light.gif)")	
		$.ajax({
		url: "/login/scripts/rateme.htm",
		data: "objId="+objId+"&markId="+markId+"&color="+color,
		success: function(resp){
				$("#"+objId).replaceWith(resp);
			}
		});
	return false;
}

function userbox(caller, id, wintype){
	if(wintype == "pmsend")
	wintitle = "Отправить сообщение пользователю";
	else if(wintype == "userinfo"){
	wintitle = "Информация о пользователе";
	}
		openModal(wintitle, 
		'<span id="userboxResult" />', caller);
		waitFor("/login/scripts/pm_post.htm?uid="+id+"&pmaction="+wintype, "#userboxResult");
}

function openModal(head, cont, caller){
	if (caller){
		var offset = $(caller).offset();
		$("#modalOut").css("top", $(caller).height()+offset.top+"px").css("left", (offset.left + $("#modalOut").width() > $(window).width() ? $(window).width() - $("#modalOut").width() - 20 : offset.left)+"px");
	}
	$("#modalContent").html(cont);
	$("#modalHeader").html(head);
	$("#modalOut").fadeIn("fast");
}

function waitFor(theDocument, inPlace){
	$(inPlace).html(progress_block);
	$.ajax({
		type: "GET",
		url: theDocument,
		success: function(resp){
			$(inPlace).html(resp);
		}
	});
}

