function ajax_call_nologin() {
	var args = ajax_call_nologin.arguments;
	var func_name = args[0];
	var func_args = [];
	var callback;
	var callback_object;
	func_args[0] = PhotoEmail; //hack to get photouser in ajax calls
	for (var i = 1; i<args.length; i++) {
		if ((typeof(args[i])!="undefined") && (args[i].constructor == Function)) {
			callback = args[i];
			if (args.length>i+1) {
				callback_object = args[i+1];
			}
			break;
		} else {
			func_args[func_args.length] = args[i];
		}
	}
	var pos = ajax_requests.length;
	var request = new AjaxRequest("POST",'http://' + PhotoPerlHostValue + '/cgi-bin/photo/ajaxnologin',func_name,func_args,callback,callback_object);
	ajax_requests[pos] = request;
	if (!request.send()) {
		ajax_requests.splice(ajax_requests.length-1,1);
		return false;
	} else {
		return true;
	}
}

function ajax_call_static() {
	var args = ajax_call_static.arguments;
	var url = args[0];
	var callback = args[1];

	var pos = ajax_requests.length;
	var request = new AjaxRequest("POST",url,'','',callback,'');
	ajax_requests[pos] = request;
	if (!request.send()) {
		ajax_requests.splice(ajax_requests.length-1,1);
		return false;
	} else {
		return true;
	}
}

function ajax_call() {
	var args = arguments;
	var func_name = args[0];
	var func_args = [];
	var callback;
	var callback_object;
	func_args[0] = PhotoEmail; //hack to get photouser in ajax calls
	for (var i = 1; i<args.length; i++) {
		if ((typeof(args[i])!="undefined") && (args[i].constructor == Function)) {
			callback = args[i];
			if (args.length>i+1) {
				callback_object = args[i+1];
			}
			break;
		} else {
			func_args[func_args.length] = args[i];
		}
	}
	var pos = ajax_requests.length;
	var request = new AjaxRequest("POST",'http://' + PhotoPerlHostValue + '/cgi-bin/photo/ajax',func_name,func_args,callback,callback_object);
	ajax_requests[pos] = request;
	if (!request.send()) {
		ajax_requests.splice(ajax_requests.length-1,1);
		return false;
	} else {
		return true;
	}
}

function ajax_call_nomagick() { 
	var args = ajax_call_nomagick.arguments;
	var url = args[0];
	var callback = args[1];

	var pos = ajax_requests.length; 
	var request = new AjaxRequest("GET",url,'','',callback,{'nomagick' : true}); 
	ajax_requests[pos] = request; 
	if (!request.send()) { 
		ajax_requests.splice(ajax_requests.length-1,1); 
		return false; 
	} else {
		return true; 
	} 
}











var voted=false;
function saveTagsCallback(tags,user_tags,encoded,photo_id,isError,errorText)
{
	if (!tags.length)
		{tags = [tags];}
	if (!user_tags.length)
		{user_tags = [user_tags];}
	if(tags == 'error')
		{alert(user_tags); return false;}

	var span = gebi('labelLinkListId');
	span.innerHTML = '';
	for (var i=0; i<tags.length; i++) {
		span.innerHTML += '<a href="' + labelLinkListId_link + 'tags/'+encoded[i]+'" class="additional">'+tags[i]+'<\/a>&nbsp; ';
	}
	span.innerHTML += "<a onclick=\"showLabelsEditDiv(); gebi('fotoTagsEditFormId').elements['name'].focus(); return false;\" href=\"#\"><img src=\"http://img.mail.ru/r/foto2/ico_pencil.gif\" width=\"16\" height=\"16\" alt=\"\" />Редактировать<\/a>";

	var edit_tags = gebi('txtarForEditLabelsId');
	edit_tags.value = '';
	edit_tags.value += tags[0];
	for (var i=1; i<tags.length; i++) {
		edit_tags.value += ', ' + tags[i];
	}

	var user_span = gebi('UserTags');
	user_span.innerHTML = '';
	for (var i=0; i<user_tags.length; i++) {
		user_span.innerHTML += "<a href=\"#\" onclick=\"return addLabel(this, 'txtarForEditLabelsId');\" class=\"additional\">" + user_tags[i] + "<\/a>&nbsp; ";
	}
	hideLabelsEditDiv();
	if(isError){
		alert(errorText);
	}
}

function addToFavorites(image_id,album_id,tagstr,tags_init)
{
	if (addedtofav) {
		alert('Вы уже добавили фото в "Избранное"');
		hideAddToFavorites();
		return false;
	}
	var st=ajax_call('perl_add_to_favorites',image_id,album_id,tagstr,addToFavoritesCallback);
	if (!st) {
		alert('Добавить в "Избранное" не получилось');
	}
	gebi('txtarForAddToFavorId').value = tags_init;
	hideAddToFavorites();
	return false;
}
