/*Source file: ~/Core/Users/Scripts/UserAPI.js*/
/// <reference name="MicrosoftAjax.js"/>
var UserSelectorType_TrustedContentPublishers = 1;
var UserSelectorType_Contacts = 2;
var UserSelectorType_CommunityUsers = 3;
var UserSelectorType_AllUsers = 4;
function ShowUserSelectorModalDialog(caption, controlType, onCloseCallback)
{
if (caption == null)
caption = "Выбор пользователей";
ShowPageModalDialog(caption,
SITE_BASE_URL + "Core/Users/IFrames/IUserSelectorDialog.aspx?t=" + controlType, null, 350,
onCloseCallback);
}
function UserSelector_GetSelectedUsersNClose()
{
window.CloseModalDialog(OS.Web.DialogResult.Ok, UserGrid_GetSelectedUsers());
}
function UserGrid_GetSelectedUsers()
{
var checkboxes = $get("tblUsers").getElementsByTagName("input");
var userPicks = $get("tblUsers").getElementsByTagName("img");
var trs = $get("tblUsers").getElementsByTagName("tr");
var usersObjects = [];
for (var i = 0; i < checkboxes.length; i++)
{
if (checkboxes[i].checked)
{
var trsChildren = trs[i+1].getElementsByTagName("td");
var userObject = {"ID": checkboxes[i].value,
"Url":userPicks[i].src,
"Nickname": trsChildren.item(2).innerHTML.trim(),
"FIO": trsChildren.item(3).innerHTML.trim()}
usersObjects.push(userObject);
}
}
return usersObjects;
}

/*Source file: ~/Core/Users/Scripts/ContactAPI.js*/
function Contact_RemoveFromUserRole(evt, contactId, roleId)
{
if (!OSAreYouSure(evt))
return;
WaitPanel_Show();
OS.TC.Portal.WebSite.WebServices.Core.RemoveFromUserRole(contactId, roleId, Contact_RemoveFromUserRoleSucceeded, Contact_RemoveFromUserRoleFailed);
}
function Contact_RemoveFromUserRoleSucceeded()
{
Contact_HideAndReload();
}
function Contact_RemoveFromUserRoleFailed(error)
{
WaitPanel_Hide();
OSOperationFailed();
}
function Contact_RemoveFromContacts(evt, contactId)
{
if(!(OSAreYouSure(evt)))
return;
WaitPanel_Show();
OS.TC.Portal.WebSite.WebServices.Core.RemoveFromContactList(contactId, Contact_RemoveFromContactsSucceeded, Contact_RemoveFromContactsFailed);
}
function Contact_RemoveFromContactsSucceeded()
{
Contact_HideAndReload();
}
function Contact_RemoveFromContactsFailed(error)
{
WaitPanel_Hide();
OSOperationFailed();
}
function Contact_AcceptContactRequest(evt, contactId)
{
if(!(OSAreYouSure(evt)))
return;
WaitPanel_Show();
OS.TC.Portal.WebSite.WebServices.Core.AcceptContactRequest(contactId, Contact_AcceptContactRequestSucceeded, Contact_AcceptContactRequestFailed);
}
function Contact_AcceptContactRequestSucceeded()
{
Contact_HideAndReload();
}
function Contact_AcceptContactRequestFailed(error)
{
WaitPanel_Hide();
OSOperationFailed();
}
function Contact_RefuseContactRequest(evt, contactId, refuseReason)
{
if(!(OSAreYouSure(evt)))
return;
WaitPanel_Show();
OS.TC.Portal.WebSite.WebServices.Core.RefuseContactRequest(contactId, null, Contact_RefuseContactRequestSucceeded, Contact_RefuseContactRequestFailed);
}
function Contact_RefuseContactRequestSucceeded()
{
Contact_HideAndReload();
}
function Contact_RefuseContactRequestFailed(error)
{
WaitPanel_Hide();
OSOperationFailed();
}
function Contact_HideAndReload()
{
WaitPanel_Contact_HideAndReload(SITE_BASE_URL + "Contacts.aspx");
}
function ShowContactRequestModalDialog(userId)
{
ShowPageModalDialog("Запрос контакта",
SITE_BASE_URL + "Core/Users/IFrames/IContactRequestDialog.aspx?UserId=" + userId, 500, 250);
}
function ShowAddContactToUserRolesModalDialog(contactId)
{
ShowPageModalDialog("Добавить контакт в группы",
SITE_BASE_URL + "Core/Users/IFrames/IAddContactToRolesDialog.aspx?ContactId=" + contactId, 500, 350);
}

/*Source file: ~/Core/Security/Scripts/SecurityAPI.js*/
function ShowChangePasswordModalDialog()
{
ShowPageModalDialog("Смена пароля",
SITE_BASE_URL + "Core/Security/IFrames/IChangePasswordDialog.aspx", null, 245);
}

/*Source file: ~/Core/Communities/Scripts/CommunityAPI.js*/
function Community_LeaveCommunity(evt, communityId)
{
if(!(OSAreYouSure(evt)))
return;
WaitPanel_Show();
OS.TC.Portal.WebSite.WebServices.Core.DeleteUserFromCommunity(communityId, Community_LeaveCommunityOnSucceeded, Community_LeaveCommunityOnFailed);
}
function Community_LeaveCommunityOnSucceeded()
{
WaitPanel_HideAndReload();
}
function Community_LeaveCommunityOnFailed(error)
{
WaitPanel_Hide();
OSOperationFailed();
}
function ShowAddUserToCommunityModalDialog()
{
ShowPageModalDialog("Добавление в сообщества",
SITE_BASE_URL + "Core/Communities/IFrames/IAddUserToCommunityDialog.aspx", null, 350,
OnCloseAddUserToCommunityModalDialog);
}
function OnCloseAddUserToCommunityModalDialog(action)
{
if (action == OS.Web.DialogResult.Ok)
window.location.replace(window.location.href);
}
function ShowAddUserToSelectedCommunityModalDialog(communityId)
{
ShowPageModalDialog("Добавление в сообщество",
SITE_BASE_URL + "Core/Communities/IFrames/IAddUserToSelectedCommunityDialog.aspx?CommunityId=" + communityId, null, 150,
OnCloseAddUserToCommunityModalDialog);
}
/*Source file: ~/Modules/Mail/Scripts/MailingAPI.js*/
/// <reference name="MicrosoftAjax.js"/>
var LetterToType_User = 1;
var LetterToType_CommunityUsers = 2;
var LetterToType_CommunityLeaders = 3;
var LetterToType_CommunityLeadersOfChildCommunities = 4;
function ShowLetterToUserModalDialog(userNickname)
{
ShowPageModalDialog("Сообщение пользователю",
SITE_BASE_URL + "Modules/Mail/IFrames/ILetterToDialog.aspx?t=" + LetterToType_User + "&Nickname=" + userNickname, 760, 430);
}
function ShowLetterToCommunityUsersModalDialog()
{
ShowPageModalDialog("Сообщение сообществу",
SITE_BASE_URL + "Modules/Mail/IFrames/ILetterToDialog.aspx?t=" + LetterToType_CommunityUsers, 760, 430);
}
function ShowLetterToCommunityLeadersModalDialog()
{
ShowPageModalDialog("Сообщение лидерам сообщества",
SITE_BASE_URL + "Modules/Mail/IFrames/ILetterToDialog.aspx?t=" + LetterToType_CommunityLeaders, 760, 430);
}
function ShowLetterToCommunityLeadersOfChildCommunitiesModalDialog()
{
ShowPageModalDialog("Сообщение лидерам дочерних сообществ",
SITE_BASE_URL + "Modules/Mail/IFrames/ILetterToDialog.aspx?t=" + LetterToType_CommunityLeadersOfChildCommunities, 760, 430);
}

/*Source file: ~/Core/Management/Scripts/ManagementAPI.js*/
/// <reference name="MicrosoftAjax.js"/>
function AddSiteThemeAndSetTime(themeId)
{
ShowPageModalDialog("Установка времени и приоритета",
SITE_BASE_URL + "Core/Management/IFrames/SiteSettings/ISiteThemeChangeTimeDialog.aspx?themeId=" + themeId, 670, 250);
}
function EditSiteTheme(id)
{
ShowPageModalDialog("Установка времени и приоритета",
SITE_BASE_URL + "Core/Management/IFrames/SiteSettings/ISiteThemeChangeTimeDialog.aspx?Id=" + id, 670, 250);
}
function ShowRssFeedEditModalDialog(rssFeedId)
{
ShowPageModalDialog(((rssFeedId == null) ? "Новая подписка на RSS ленту": "Редактирование подписки на RSS ленту"),
SITE_BASE_URL + "Core/Management/IFrames/SiteSettings/IRssFeedSubscriptionEditDialog.aspx" +
((rssFeedId == null) ? "": "?Id=" + rssFeedId), 590, 170);
}
function ShowWidgetZoneIndexChangerModalDialog(id, builtinPageId)
{
ShowPageModalDialog("Изменение структуры страницы",
SITE_BASE_URL + "Core/Management/IFrames/CMS/IWidgetZoneIndexChangerDialog.aspx?pageId=" + id + "&builtinPageId=" + builtinPageId,
590, 145);
}
/*Source file: ~/Sites/__General/Scripts/OS.TC.Web.API.js*/
//WaitPanel API
function WaitPanel_Show()
{
var waitPanel = $find('pnlWaitBehavior');
if (waitPanel != null)
waitPanel.show();
}
function WaitPanel_Hide()
{
var waitPanel = $find('pnlWaitBehavior');
if (waitPanel != null)
waitPanel.hide();
}
function WaitPanel_HideAndReload(toReload)
{
WaitPanel_Hide();
if (typeof(toReload) == 'undefined' || toReload == null)
window.location.replace(window.location.href);
else
window.location.href = toReload;
}

/*Source file: ~/Sites/__General/Scripts/OS.TC.Web.js*/
function ReloadCurrentPage()
{
window.location.replace(window.location.href);
}
function GoToSiteDefaultPage()
{
window.location.href = SITE_BASE_URL;
}
function OSAreYouSure(ev)
{
return (OSConfirm(ev, "Are you sure?"));
}
function OSNotImplemented()
{
alert("Not yet implemented");
}
function OSOperationSucceeded()
{
alert("Operation has been successfully completed");
}
function OSOperationFailed()
{
alert("Operation failed");
}
function OSServerIsNotAvailable()
{
alert("Server is not available");
}
function OSUserNotLogged()
{
alert("Для выполнения данной операции Вам необходимо авторизоваться");
}
function OSConfirm(ev, msg)
{
var result = confirm(msg);
if (!result)
{
if (typeof(ev) == 'undefined' || ev == null)
return false;
if (ev.preventDefault)
{
ev.preventDefault();
ev.stopPropagation();
}
else
ev.returnValue = false;
}
return true;
}
function OSIsHtmlTag(s)
{
var pattern = /<|>|&/;
return pattern.test(s);
}
function GetAllProps(obj, includeFunctions)
{
var out = "";
for (prop in obj)
{
if (typeof(obj[prop]) != 'function' || includeFunctions)
out += prop + ' - ' + (typeof(obj[prop]) == 'function' ? 'function' : obj[prop]) + '\r\n';
}
return out;
}
function Enable(element, enable)
{
try{element.disabled = (enable ? false : true);}catch(ex){}
var childs = element.childNodes;
var len = childs.length;
for (var i = 0; i < len; i++)
Enable(childs[i], enable);
}
function ToggleEnabled(element)
{
Enable(element, element.disabled == true || element.disabled == "disabled");
}
function NextElement(element)
{
var nextElement = element;
while (true)
{
nextElement = nextElement.nextSibling;
if ((nextElement == null) || (nextElement.nodeType != 3))
{
return nextElement;
}
}
}
function PreviousElement(element)
{
var previousElement = element;
while (true)
{
previousElement = previousElement.previousSibling;
if ((previousElement == null) || (previousElement.nodeType != 3))
{
return previousElement;
}
}
}
function FirstChildElement(element)
{
var childElement = element.firstChild;
if (childElement == null) return null;
return childElement.nodeType != 3 ? childElement : NextElement(childElement);
}
function LastChildElement(element)
{
var childElement = element.lastChild;
if (childElement == null) return null;
return childElement.nodeType != 3 ? childElement : PreviousElement(childElement);
}
function ChildElements(element)
{
var childs = element.childNodes;
var childElements = new Array();
for (var i = 0; i < childs.length; i++)
{
if (childs[i].nodeType != 3)
childElements.push(childs[i]);
}
return childElements;
}
function GetElementInnerText(el)
{
if (typeof(el.innerText) != 'undefined')
return el.innerText;
else if (el.firstChild)
return el.firstChild.nodeValue;
}
function SetElementInnerText(el, text)
{
if (typeof(el.innerText) != 'undefined')
el.innerText = text;
else if (el.firstChild)
el.firstChild.nodeValue = text;
else
el.appendChild(document.createTextNode(text));
}
function GetIFrameInnerHTML(iframe) {
var doc=iframe.contentDocument;
if (!doc && iframe.contentWindow) doc=iframe.contentWindow.document;
if (!doc) doc=window.frames[iframe.id].document;
if (!doc) return null;
return doc.body.innerHTML;
}
function containsElement(ancestor, descendant)
{
if (ancestor === descendant) return false;
while (descendant && descendant !== ancestor)
descendant = descendant.parentNode;
return descendant === ancestor;
}
function GetPageX(event)
{
return event.pageX || (event.clientX +
(document.documentElement.scrollLeft || document.body.scrollLeft));
}
function GetPageY(event)
{
return event.pageY || (event.clientY +
(document.documentElement.scrollTop || document.body.scrollTop));
}
function PushSessionToSites(urls, sessionId)
{
for (var i = 0; i < urls.length; i++)
{
var img = new Image();
img.src = "http://" + urls[i] + "/Handlers/SessionPusher.ashx?sessionId=" + sessionId;
}
}
function $createMultiple(type, ids, properties, events, references) {
if (!ids || ids.length === 0)
return null;
properties = DistributeSetters(properties);
events = DistributeSetters(events);
references = DistributeSetters(references);
for (var i = 0, l = ids.length; i < l; i++) {
var propertiesForItem = properties[i];
var eventsForItem = events[i];
var refsForItem = references[i];
var element = $get(ids[i]);
$create(type, propertiesForItem, eventsForItem, refsForItem, element);
}
function DistributeSetters(setters) {
var settersDistrubuted = [];
if (setters != null) {
for (var prop in setters) {
var valuesIndexes = setters[prop];
if (valuesIndexes.length == 1) {
//one value for all elements
var value = valuesIndexes[0];
for (var i = 0, l = ids.length; i < l; i++) {
var elmSetters = settersDistrubuted[i];
if (elmSetters == null)
settersDistrubuted[i] = elmSetters = {};
elmSetters[prop] = value;
}
}
else {
for (var i = 0, l = valuesIndexes.length; i < l; i += 2) {
var value = valuesIndexes[i];
var index = valuesIndexes[i + 1];
if (index instanceof Array) {
var arrayOfIndexes = index;
for (var j in arrayOfIndexes) {
var realIndex = arrayOfIndexes[j];
var elmSetters = settersDistrubuted[realIndex];
if (elmSetters == null)
settersDistrubuted[realIndex] = elmSetters = {};
elmSetters[prop] = value;
}
}
else {
var elmSetters = settersDistrubuted[index];
if (elmSetters == null)
settersDistrubuted[index] = elmSetters = {};
elmSetters[prop] = value;
}
}
}
}
}
return settersDistrubuted;
}
}
