function getElement(sID) {
return document.getElementById(sID);
}
var isIE = document.all ? true : false;
var isOpera = navigator.userAgent.toLowerCase().indexOf('opera') != -1;
var isChrome = /chrome/.test(navigator.userAgent.toLowerCase());
var isIE11 = !!navigator.userAgent.match(/Trident\/7\./);
var ieVer = (function () {
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '',
all[0]
);
return v > 4 ? v : undef;
}());
function LoadJS(filename) {
LoadResourceFile(filename, "js");
}
function LoadCSS(filename) {
LoadResourceFile(filename, "css");
}
function LoadResourceFile(filename, filetype) {
if (filetype == "js") { //if filename is a external JavaScript file
var fileref = document.createElement('script')
fileref.setAttribute("type", "text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype == "css") { //if filename is an external CSS file
var fileref = document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref != "undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
function isUrl(s) {
var sUrlParts = s.split('?');
var regexp = new RegExp();
var regexp2 = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
var regexp3 = /(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
regexp.compile("^[A-Za-z,]+://[A-Za-z0-9-_,]+\\.[A-Za-z0-9-_%&\?\/.=,]+$");
if (sUrlParts.length == 1)
return (regexp.test(sUrlParts[0]) && regexp2.test(sUrlParts[0]))
return (regexp3.test(sUrlParts[0]) && regexp3.test(sUrlParts[1]))
}
function getLocalizedAppDir() {
var sLang = (typeof (BaseMaster_sLanguageCode) == "undefined" ? "he" : BaseMaster_sLanguageCode.toLowerCase());
var sLocal = (sLang == 'he' ? '/KotarApp' : '/KotarApp/Loc/' + BaseMaster_sLanguageCode)
return sLocal;
}
function isRTL() {
var sLang = (typeof (BaseMaster_sLanguageCode) == "undefined" ? "he" : BaseMaster_sLanguageCode.toLowerCase());
return (sLang == 'he' || sLang == 'ar' ? true : false)
}
var nHideAjaxMessageBoxTimeout = 0;
var oAjaxMessageContent = null;
var oAjaxMessageContainer = null;
var oAjaxMessageContainerBG = null;
var oAjaxMessageBox = null;
var bAjaxMessageIsImportant = false;
var nAjaxMessageWidth = 0;
var nAjaxMessageCustomContainerLeft = 0;
var nAjaxMessageCustomContainerWidth = 0;
var nAjaxMessageCustomContainerTop = 0;
function SetAjaxAjaxMessageCustomContainerLeft(nLeft) {
nAjaxMessageCustomContainerLeft = nLeft;
}
function SetAjaxAjaxMessageCustomContainerWidth(nWidth) {
nAjaxMessageCustomContainerWidth = nWidth;
}
function SetAjaxAjaxMessageCustomContainerTop(nTop) {
nAjaxMessageCustomContainerTop = nTop;
}
function ShowAjaxImportantMessageBox(sMessage, nTimeout) {
if (typeof (nTimeout) == "undefined")
nTimeout = 3000;
bAjaxMessageIsImportant = true;
ShowAjaxMessage(sMessage, nTimeout);
}
function ShowAjaxNotification(sMessage, nTimeout) {
if (typeof (nTimeout) == "undefined")
nTimeout = 2000;
bAjaxMessageIsImportant = true;
ShowAjaxMessage(sMessage, nTimeout);
}
function ShowAjaxMessageBox(sMessage, nTimeout) {
if (bAjaxMessageIsImportant == true)
return;
if (typeof (nTimeout) == "undefined")
nTimeout = 1200;
ShowAjaxMessage(sMessage, nTimeout);
}
function ShowAjaxMessage(sMessage, nTimeout) {
VerifyAjaxMessageBoxControls();
sMessage = SetAjaxMessageBoxDimensions(sMessage);
oAjaxMessageContent.innerHTML = sMessage;
SetAjaxMessageBoxVisibility(true);
window.clearTimeout(nHideAjaxMessageBoxTimeout);
nHideAjaxMessageBoxTimeout = window.setTimeout("HideAjaxMessageBox()", nTimeout);
}
function VerifyAjaxMessageBoxControls() {
if (oAjaxMessageContent == null) {
oAjaxMessageContent = document.getElementById("ajaxMessageContent");
oAjaxMessageContainer = document.getElementById("ajaxMessageContainer");
oAjaxMessageContainerBG = document.getElementById("ajaxMessageContainerBG");
oAjaxMessageBox = document.getElementById("ajaxMessageBox");
CalcClientSize();
}
}
function HideAjaxMessageBox() {
bAjaxMessageIsImportant = false;
SetAjaxMessageBoxVisibility(false);
}
function SetAjaxMessageBoxDimensions(sMessage) {
sMessage = ReplaceAll(sMessage, "[A]", "'");
var nLen = sMessage.length;
//alert(nLen);
if (nLen < 15)
SetAjaxMessageBoxWidth(170);
else if (nLen < 20)
SetAjaxMessageBoxWidth(210);
else if (nLen < 30)
SetAjaxMessageBoxWidth(300);
else if (nLen < 35)
SetAjaxMessageBoxWidth(330);
else if (nLen < 40)
SetAjaxMessageBoxWidth(370);
else if (nLen < 45)
SetAjaxMessageBoxWidth(390);
else if (nLen < 50)
SetAjaxMessageBoxWidth(420);
else if (nLen < 55)
SetAjaxMessageBoxWidth(500);
else if (nLen < 60)
SetAjaxMessageBoxWidth(540);
else if (nLen < 65)
SetAjaxMessageBoxWidth(550);
else {
SetAjaxMessageBoxWidth(590);
sMessage = sMessage.substr(0, 65) + "...";
}
return sMessage;
}
function SetAjaxMessageBoxWidth(nWidth) {
nAjaxMessageWidth = nWidth;
oAjaxMessageContainer.style.width = nWidth + "px";
oAjaxMessageContainerBG.style.width = (nWidth - 2) + "px";//(nWidth - (isIE ? 2 : 2)) + "px";
oAjaxMessageBox.style.width = nWidth + "px";
}
function SetAjaxMessageBoxVisibility(bVisible) {
var nTop = (nAjaxMessageCustomContainerTop > 0 ? nAjaxMessageCustomContainerTop : 150);
var nContainerWidth = (nAjaxMessageCustomContainerWidth > 0 ? nAjaxMessageCustomContainerWidth : clientDimensions.width);
var nLeft = (nContainerWidth - nAjaxMessageWidth) / 2 + nAjaxMessageCustomContainerLeft;
oAjaxMessageContainer.style.left = nLeft + "px";
oAjaxMessageContainer.style.top = nTop + "px";
oAjaxMessageBox.style.left = nLeft + "px";
oAjaxMessageBox.style.top = nTop + "px";
oAjaxMessageContainer.style.display = (bVisible ? "block" : "none");
oAjaxMessageBox.style.display = (bVisible ? "block" : "none");
oAjaxMessageBox.style.direction = BV_BookDirection;
}
function ShowCetLinks() {
if (ModalPopupIsVisible())
return;
if (nCetLinks_Timer > 0)
window.clearTimeout(nCetLinks_Timer);
var hCetLinks = getElement("hCetLinks");
hCetLinks.style.borderBottom = "solid 1px white";
var dvCetLinks = getElement("dvCetLinks");
dvCetLinks.style.display = "";
dvCetLinks.style.zIndex = 2;
}
var nCetLinks_Timer = 0;
function HideCetLinks() {
if (nCetLinks_Timer > 0)
window.clearTimeout(nCetLinks_Timer);
nCetLinks_Timer = window.setTimeout("CetLinks_OnTimeout()", 500);
}
function CetLinks_OnTimeout() {
getElement("hCetLinks").style.borderBottom = "none";
getElement("dvCetLinks").style.display = "none";
}
var PopupDimensions =
[
{ name: "Login", width: 550, height: 290 },
{ name: "LoginWithAutoLine", width: 550, height: 324 },
{ name: "LoginFromIPSubscriptionTerminal", width: 550, height: 400 },
{ name: "PasswordRecovery", width: 496, height: 400 },
{ name: "AdditionalInfo", width: 580, height: 412 },
{ name: "WhyRegister", width: 580, height: 420 },
{ name: "ExpireNotice", width: 496, height: 350 },
{ name: "SiteSubscriptionInMonthlyMode", width: 496, height: 250 },
{ name: "SiteSubscriptionStillActive", width: 496, height: 250 },
{ name: "ActiveProductsInCartWarning", width: 496, height: 250 },
{ name: "SiteSubscriptionActiveByProxy", width: 496, height: 250 },
{ name: "AddBookToProject", width: 560, height: 240 },
{ name: "AddBookToCart", width: 320, height: 250 },
{ name: "UserHasNoBooks", width: 550, height: 500 },
{ name: "WelcomeToFreeSite", width: 550, height: 420 },
{ name: "WelcomeToCartSite", width: 550, height: 420 },
{ name: "WelcomeToSubscriptionSite", width: 550, height: 420 },
{ name: "UserHasNoSubscription", width: 550, height: 300 },
{ name: "MessageBox", width: 350, height: 190 },
{ name: "SyncBox", width: 350, height: 150 },
{ name: "AddLink", width: 420, height: 177 },
{ name: "CopyToClipboard", width: 410, height: 207 },
{ name: "IAmTheWalrus", width: 700, height: 500 },
{ name: "GoToCheckout", width: 350, height: 152 },
{ name: "ClipboardInaccessible", width: 350, height: 150 },
{ name: "ManualCopyToClipboard", width: 350, height: 250 },
{ name: "ViewerHelp", width: 400, height: 350 },
{ name: "UploadAvatar", width: 400, height: 150 },
{ name: "PendingMembershipApproval", width: 400, height: 150 },
{ name: "SiteMembershipIsRequired", width: 400, height: 150 },
{ name: "ExplainPrivate", width: 400, height: 150 },
{ name: "ExplainPublic", width: 400, height: 150 },
{ name: "TechnicalRequirements", width: 500, height: 500 }
];
function ShowPrivateNoteExplanationPopup() {
ShowNoteExplanationPopup("Private");
}
function ShowPublicNoteExplanationPopup() {
ShowNoteExplanationPopup("Public");
}
function ShowNoteExplanationPopup(sType) {
ChangeIFrameSource("/KotarApp/Viewer/Popups/Markers/Explain" + sType + ".aspx?", false);
BV_SmartHideMarkerBubble('', false);
ShowModalPopup("Explain" + sType);
}
function ShowPendingMembershipApprovalPopup(bFromViewer) {
ChangeIFrameSource(MainMaster_AccountPopupsFolder + "PendingMembershipApproval.aspx?bFromViewer=" + bFromViewer, false);
if (bFromViewer)
BV_SmartHideMarkerBubble('', false);
ShowModalPopup("PendingMembershipApproval");
}
function ShowSiteMembershipIsRequiredPopup(bFromViewer) {
ChangeIFrameSource(MainMaster_AccountPopupsFolder + "SiteMembershipIsRequired.aspx?bFromViewer=" + bFromViewer, false);
if (bFromViewer)
BV_SmartHideMarkerBubble('', false);
ShowModalPopup("SiteMembershipIsRequired");
}
function ShowUploadAvatar() {
ChangeIFrameSource("/Account/Popups/UploadAvatar.aspx", false)
ShowModalPopup("UploadAvatar");
}
function ShowTTS() {
var nPageNum = BV_nTopPageInView;
gPageToken = BookPageState_GetPageGuid(nPageNum);
sPageLabel = BookPageState_GetPageLabel(nPageNum);
var url = "/KotarApp/Viewer/Popups/TTS.aspx?nBookID=" + BV_nBookID + "&gPageToken=" + gPageToken + "&sPageLabel=" + sPageLabel;
var iframewidth = "870px";
if ($(window).width() <= 768) {
url += "&Width=550";
iframewidth = "592px";
}
$.colorbox({ href: url, iframe: true, open: true, height: "600px", width: iframewidth, title: "" });
$('#colorbox').show();
}
function ShowViewerHelp() {
ChangeIFrameSource(getLocalizedAppDir() + "/Viewer/Popups/Help.aspx", false)
ShowModalPopup("ViewerHelp");
}
function SetLoginIFrameURL(sLoginWindow, sUrl) {
ChangeIFrameSource(sLoginWindow + "?bPopup=true&sReturnUrl=" + sUrl, false);
}
function SetLoginIFrameURLForIncompleteRegistration(sLoginWindow) {
ChangeIFrameSource(sLoginWindow + "?bClear=true&bSubscriptionExpired=true", false);
}
function CloseWarningPopupAndShowAddBookToCartPopup(nBookID) {
HideModalPopup();
var params = new Array({ name: "nBookID", value: nBookID });
callAppKotarCommand("Products.AddToCart", params, { onSuccessFunction: ShowAddBookToCartPopup, onFailureFunction: ShowFailedToAddBookToCartPopup, nBookID: nBookID }, false);
}
function ShowClipboardInaccessible() {
ChangeIFrameSource("/KotarApp/Viewer/Popups/ClipboardInaccessible.aspx", false)
ShowModalPopup("ClipboardInaccessible");
}
function ShowManualCopyToClipboardPopup() {
var oWin = ChangeIFrameSource("/KotarApp/Viewer/Popups/ManualCopyToClipboard.aspx", false)
ShowModalPopup("ManualCopyToClipboard");
return oWin;
}
function ShowGotoCheckout_OnLoad() {
AddOpenWindowCommand("ShowGotoCheckout()");
}
function ShowGotoCheckout() {
ChangeIFrameSource("/KotarApp/Shop/Popups/GoToCheckout.aspx", false)
ShowModalPopup("GoToCheckout");
}
function TransactionFailedMessage() {
ChangeIFrameSource("/KotarApp/Shop/Popups/TransactionFailedMessage.aspx", true)
ShowModalPopup("TransactionFailedMessage");
}
function ShowCuponMessage() {
ChangeIFrameSource("/KotarApp/Shop/Popups/ShowCuponMessage.aspx", false)
ShowModalPopup("ShowCuponMessage");
}
function ShowIAmTheWalrusPopup(nBookID) {
ChangeIFrameSource("/KotarApp/Account/Popups/IAmTheWalrus.aspx?nBookID=" + nBookID, false)
ShowModalPopup("IAmTheWalrus");
}
function ShowFailedToAddBookToCartPopup() {
Utils_ShowMessageDialog("קרתה תקלה בהוספת הספר לעגלת הקניות", "תקלת מערכת", false);
}
function ShowAddBookToCartPopup(nBookID, sReturnUrl) {
if (typeof (sReturnUrl) == "undefined")
sReturnUrl = "";
ChangeIFrameSource("/KotarApp/Shop/Popups/AddBookToCart.aspx?nBookID=" + nBookID + "&sReturnUrl=" + sReturnUrl, false)
ShowModalPopup("AddBookToCart");
}
function ShowAddLinkPopup() {
ChangeIFrameSource("/KotarApp/Viewer/Popups/AddLink.aspx", false)
ShowModalPopup("AddLink");
}
function ShowCopyToClipboardPopup(nBookID) {
ChangeIFrameSource("/KotarApp/Viewer/Popups/CopyToClipboard.aspx?nBookID=" + nBookID, false)
ShowModalPopup("CopyToClipboard");
}
function ShowWelcomePopup_OnLoad(sType) {
AddOpenWindowCommand("ShowWelcomePopup('" + sType + "')");
}
function ShowWelcomePopup(sType) {
ChangeIFrameSource(MainMaster_AccountPopupsFolder + "WelcomeTo" + sType + "Site.aspx", false)
ShowModalPopup("WelcomeTo" + sType + "Site");
}
function ShowUserHasNoSubscriptionPopup_OnLoad() {
AddOpenWindowCommand("ShowUserHasNoSubscriptionPopup()");
}
function ShowUserHasNoSubscriptionPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/UserHasNoSubscription.aspx", true)
ShowModalPopup("UserHasNoSubscription");
}
function ShowUserHasNoBooksPopup_OnLoad() {
AddOpenWindowCommand("ShowUserHasNoBooksPopup()");
}
function ShowUserHasNoBooksPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/UserHasNoBooks.aspx", true)
ShowModalPopup("UserHasNoBooks");
}
function ShowMailPopup(sUrl) {
ChangeIFrameSource("/KotarApp/Viewer/Popups/SendMail.aspx?" + sUrl, false)
ShowModalPopup("SendMail");
//in Homepage the BV_SmartHideMarkerBubble function is yet not loaded,only in the viewer.
if (typeof (BV_SmartHideMarkerBubble) != "undefined") {
BV_SmartHideMarkerBubble('', false);
}
}
function ShowPrintPopup(sUrl) {
ChangeIFrameSource("/KotarApp/Viewer/Popups/Print.aspx?" + sUrl, false)
ShowModalPopup("Print");
}
function ShowLoginPopup(bSetUrl, sCallbackFunction, bAuto) {
if (typeof (BaseMaster_bUserIsLoggedIn) != "undefined" && BaseMaster_bUserIsLoggedIn)
return;
if (typeof (bAuto) == "undefined")
bAuto = false;
var sPopup = (bAuto ? "LoginWithAutoLine" : "Login");
var sURL = MainMaster_AccountPopupsFolder + "Login.aspx";
if (typeof (BaseMaster_bIsClientInIpSubscriptionRange) != "undefined" && BaseMaster_bIsClientInIpSubscriptionRange == true) {
sPopup = "LoginFromIPSubscriptionTerminal";
sURL = MainMaster_AccountPopupsFolder + "LoginFromIPSubscriptionTerminal.aspx";
}
if (bSetUrl == true) {
var params = (typeof (sCallbackFunction) != "undefined" ?
"bAuto=" + bAuto + "&bSmartLogin=true&sCallback=" + sCallbackFunction : "bPopup=true") +
"&tmp=" + getTimestamp();
ChangeIFrameSource(sURL + "?" + params, false);
}
if (IsInViewer())
BV_SmartHideMarkerBubble('ShowLoginPopup', false);
ShowModalPopup(sPopup);
}
function ShowAdditionalInfoPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/AdditionalInfo.aspx", false)
ShowModalPopup("AdditionalInfo");
}
function ShowWhyRegisterPopup() {
ChangeIFrameSource(MainMaster_AccountPopupsFolder + "WhyRegister.aspx", false);
ShowModalPopup("WhyRegister");
}
function ShowPasswordRecoveryPopup() {
HideModalPopup();
ChangeIFrameSource("/KotarApp/Account/Popups/PasswordRecovery.aspx", false);
ShowModalPopup("PasswordRecovery");
}
function ShowHasActiveProductsInCartWarningPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/ActiveProductsInCartWarning.aspx", false);
ShowModalPopup("ActiveProductsInCartWarning");
}
function ShowSiteSubscriptionInMonthlyModeWarningPopup_OnLoad() {
AddOpenWindowCommand("ShowSiteSubscriptionInMonthlyModeWarningPopup()");
}
function ShowSiteSubscriptionInMonthlyModeWarningPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/SiteSubscriptionInMonthlyModeWarning.aspx", false);
ShowModalPopup("SiteSubscriptionInMonthlyMode");
}
function ConfirmTransferProducts() {
ChangeIFrameSource("/KotarApp/Account/Popups/ConfirmTransferProducts.aspx", false);
ShowModalPopup("ConfirmTransferProducts");
}
function TransferProductsMessage() {
ChangeIFrameSource("/KotarApp/Account/Popups/TransferProductsMessage.aspx", false);
ShowModalPopup("ConfirmTransferProducts");
}
function ShowSiteSubscriptionStillActiveWarningPopup_OnLoad() {
AddOpenWindowCommand("ShowSiteSubscriptionStillActiveWarningPopup()");
}
function ShowSiteSubscriptionStillActiveWarningPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/SiteSubscriptionStillActiveWarning.aspx", false);
ShowModalPopup("SiteSubscriptionStillActive");
}
function ShowSiteSubscriptionActiveByProxyWarningPopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/SiteSubscriptionActiveByProxyWarning.aspx", false);
ShowModalPopup("SiteSubscriptionActiveByProxy");
}
function ShowSiteSubscriptionAboutToExpirePopup_OnLoad() {
AddOpenWindowCommand("ShowSiteSubscriptionAboutToExpirePopup()");
}
function ShowSiteSubscriptionAboutToExpirePopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/SiteSubscriptionExpiresSoon.aspx", false);
ShowModalPopup("ExpireNotice");
}
function ShowBookSubscriptionAboutToExpirePopup_OnLoad(nBookID) {
AddOpenWindowCommand("ShowBookSubscriptionAboutToExpirePopup(" + nBookID + ")");
}
function ShowBookSubscriptionAboutToExpirePopup(nBookID) {
ChangeIFrameSource("/KotarApp/Account/Popups/BookSubscriptionExpiresSoon.aspx?nBookID=" + nBookID, false);
ShowModalPopup("ExpireNotice");
}
function ShowExpireNoticePopup() {
ChangeIFrameSource("/KotarApp/Account/Popups/ExpireNotice.aspx", false);
ShowModalPopup("ExpireNotice");
}
function ShowSyncBoxPopup() {
ChangeIFrameSource("/KotarApp/BackOffice/SyncBox.htm", false);
ShowModalPopup("SyncBox");
}
function ShowCuponExplainPopup() {
var oWin = ChangeIFrameSource("/KotarApp/Shop/Popups/CuponExplain.aspx", false)
ShowModalPopup("CuponExplainPopup");
return oWin;
}
function ShowAddToCartExplainPopup(Type) {
var oWin = ChangeIFrameSource("/KotarApp/Shop/Popups/AddToCartExplain.aspx?type=" + Type, false)
ShowModalPopup("ShowAddToCartExplainPopup");
return oWin;
}
function Open_AddBookToProjectPopup(nBookID, bRefreshProjectList, bRefreshPage, nPageID) {
if (typeof (nPageID) == "undefined") nPageID = 0;
ChangeIFrameSource("/KotarApp/Projects/Popups/AddBookToProject.aspx?nBookID=" + nBookID + "&nPageID=" + nPageID + "&bRefreshProjectList=" + bRefreshProjectList + "&bRefreshPage=" + bRefreshPage, false);
ShowModalPopup("AddBookToProject");
}
function Utils_ShowErrorMessageDialog(sMessage, sUrl, sHrefText) {
Utils_ShowMessageDialog(sMessage, "שגיאת מערכת", true, sUrl, sHrefText);
}
function Utils_ShowDelayedMessageDialog(sMessage, sTitle, bError, nDelay) {
window.setTimeout("Utils_ShowMessageDialog('" + sMessage + "', '" + sTitle + "', " + bError + ", '')", nDelay);
}
function Utils_ShowMessageDialog(sMessage, sTitle, bError, sUrl, sHrefText, bShowWait) {
if (typeof (sTitle) == "undefined") sTitle = "שימו לב";
if (typeof (sUrl) == "undefined") sUrl = "";
if (typeof (sHrefText) == "undefined") sHrefText = "";
if (typeof (bShowWait) == "undefined") bShowWait = false;
if (typeof (bError) == "undefined")
bError = false;
ChangeIFrameSource("/KotarApp/System/MessageBox.aspx?sTitle=" + escape(sTitle)
+ "&sMessage=" + escape(sMessage)
+ "&bError=" + bError
+ "&sUrl=" + sUrl
+ "&sHrefText=" + escape(sHrefText)
+ "&bShowWait=" + bShowWait
, false);
ShowModalPopup("MessageBox");
}
var _openedWindowName = "";
var _reopenWindowName = "";
var _lastIFrameSource = "";
function ChangeIFrameSource(newLocation, bAddTimestamp) {
if (typeof (bAddTimestamp) == "undefined")
bAddTimestamp = false;
if (_openedWindowName == "")
_lastIFrameSource = newLocation;
var oFrame = document.getElementById("modalDialogIFrame");
if (oFrame == null) {
Utils_ShowErrorMessageDialog("בעייה בפתיחת החלונית");
return;
}
var gUserID = (typeof (BaseMaster_gUserID) == "undefined" ? '00000000-0000-0000-0000-000000000000' : BaseMaster_gUserID);
newLocation += (newLocation.indexOf("?") > 0 ? "&" : "?") +
"bShowResourceFieldName=" + bShowResourceFieldName +
"&gUserID=" + gUserID +
(bAddTimestamp ? "&tmp=" + getTimestamp() : "");
if (isIE) {
var w = document.getElementById("modalDialogIFrame")
w.contentWindow.location.replace(newLocation);
return w;
}
else {
oFrame.src = newLocation;
return oFrame;
}
}
function SetPleaseWaitIFrame() {
var waitUrl = "/KotarApp/System/MessageBox.aspx?bShowLoading=true&sLang=" + BaseMaster_sLanguageCode;
if (isIE) {
var w = document.getElementById("modalDialogIFrame")
w.contentWindow.location.replace(waitUrl);
}
else {
var oFrame = document.getElementById("modalDialogIFrame");
oFrame.src = waitUrl;
}
}
var _overflow = "";
var bModalPopupIsVisible = false;
function ModalPopupIsVisible() {
return bModalPopupIsVisible;
}
var modalPopupListners = new Array();
function AddModalPopupListner(open, close) {
modalPopupListners[modalPopupListners.length] = [open, close];
}
function ExecModalPopup(bOpen) {
for (var l = 0; l < modalPopupListners.length; l++)
if (bOpen)
eval(modalPopupListners[l][0]);
else
eval(modalPopupListners[l][1]);
}
function ShowModalPopup(sPopupName) {
if (_openedWindowName == sPopupName)
return;
if (getElement('dvFlashWrapper') != null)
getElement('dvFlashWrapper').style.visibility = "hidden";
if (getElement('FlashDivdvFlash') != null)
getElement('FlashDivdvFlash').style.visibility = "hidden";
if (_openedWindowName != "")
_reopenWindowName = _openedWindowName;
else
_reopenWindowName = "";
bModalPopupIsVisible = true;
SetBodyOverlayState(true);
_openedWindowName = sPopupName;
SetPopupDimensions();
}
var HideModalPopupCallback = null;
function HideModalPopup() {
if (HideModalPopupCallback != null) {
eval(HideModalPopupCallback);
HideModalPopupCallback = null;
}
if (getElement('dvFlashWrapper') != null)
getElement('dvFlashWrapper').style.visibility = "";
if (getElement('FlashDivdvFlash') != null)
getElement('FlashDivdvFlash').style.visibility = "";
var now = new Date();
_openedWindowName = "";
if (_reopenWindowName == "") {
SetPleaseWaitIFrame();
SetBodyOverlayState(false);
bModalPopupIsVisible = false;
}
else {
ChangeIFrameSource(_lastIFrameSource);
ShowModalPopup(_reopenWindowName);
}
if (IsInViewer()) {
document.body.scrollTop = 0;
window.focus();
BV_SmartShowMarkerBubble(false);
}
}
function SetBodyOverlayState(bIsVisible) {
ExecModalPopup(bIsVisible);
getElement("dvModalDialogBackground").style.display = (bIsVisible ? "block" : "none");
if (isIE) {
SetElementOverlayState("tblContentContainer", bIsVisible);
SetElementOverlayState("tblHomePage", bIsVisible);
SetElementOverlayState("BV_oBook", bIsVisible);
}
if (getElement('dvFlashWrapper') != null)
getElement('dvFlashWrapper').style.display = (bIsVisible ? "none" : "block");
if (bIsVisible) {
_overflow = document.body.style.overflow;
document.body.style.overflow = "hidden";
}
else
document.body.style.overflow = _overflow;
}
function SetElementOverlayState(sID, bIsVisible) {
var oElement = getElement(sID);
if (oElement == null)
return;
if (bIsVisible)
oElement.style.filter = "alpha(opacity=40)";
else
oElement.style.removeAttribute('filter');
}
function IsInViewer() {
var sUrl = window.location.href.replace('http://', '').toLowerCase();
return (sUrl.indexOf('/viewer.aspx') > 0) || (sUrl.indexOf('/bareboneviewer.aspx') > 0);
}
function SetPopupDimensions() {
var nWidth = 0, nHeight = 0;
for (var p = 0; p < PopupDimensions.length && nWidth == 0; p++) {
if (PopupDimensions[p].name.toLowerCase() == _openedWindowName.toLowerCase()) {
nWidth = PopupDimensions[p].width;
nHeight = PopupDimensions[p].height;
}
}
if (nWidth > 0 && nHeight > 0) {
AdjustModalPopupHeight(nWidth, nHeight);
}
}
function AdjustModalPopupToTrueDimensions(nWidth, nHeight) {
for (var p = 0; p < PopupDimensions.length; p++) {
if (PopupDimensions[p].name.toLowerCase() == _openedWindowName.toLowerCase()) {
PopupDimensions[p].width = nWidth;
PopupDimensions[p].height = nHeight;
}
}
AdjustModalPopupHeight(nWidth, nHeight);
}
function AdjustModalPopupHeight(nWidth, nHeight) {
var dvModalDialogIFrameContainer = getElement("dvModalDialogIFrameContainer");
var iFrame = getElement("modalDialogIFrame");
var pleaseWaitIFrame = getElement("pleaseWaitIFrame");
dvModalDialogIFrameContainer.style.width = nWidth + "px";
dvModalDialogIFrameContainer.style.height = nHeight + "px";
iFrame.style.width = nWidth + "px";
iFrame.style.height = nHeight + "px";
if (clientDimensions == null)
CalcClientSize();
var dvModalDialogBackground = getElement("dvModalDialogBackground");
var nTop = (clientDimensions.height - nHeight) / 2;
if (nTop < 0) { nTop = 0; }
nTop += document.body.scrollTop;
var nLeft = (clientDimensions.width - nWidth) / 2;
if (nLeft < 0) { nLeft = 0; }
dvModalDialogIFrameContainer.style.top = nTop + "px";
dvModalDialogIFrameContainer.style.left = nLeft + "px";
}
function Utils_ShowMessageDialog_OnLoad(sMessage) {
AddOpenWindowCommand("Utils_ShowMessageDialog('" + sMessage + "')");
}
var openWindowsQueue = new Array();
function AddOpenWindowCommand(code) {
openWindowsQueue[openWindowsQueue.length] = code;
}
var windowResizeListners = new Array();
function AddWindowResizeListner(code) {
windowResizeListners[windowResizeListners.length] = code;
}
var postLoadScripts = new Array();
function AddPostLoadScript(sSrc) {
postLoadScripts[postLoadScripts.length] = sSrc;
}
function LoadPendingScripts() {
for (var l = 0; l < postLoadScripts.length; l++)
LoadJS(postLoadScripts[l]);
}
var MasterPage_OnLoadFlag = false;
function MasterPage_SetOnLoadFlag() {
MasterPage_OnLoadFlag = true;
ExecWindowOnResizeEventHandlers();
}
function MasterPage_OnLoadFlagIsSet() {
return MasterPage_OnLoadFlag;
}
function MasterPage_OnLoad() {
AddWindowResizeListner("Page_OnResize()");
CalcClientSize();
if (_openedWindowName == "") {
if (!IsInViewer())
SetPleaseWaitIFrame();
}
window.onresize = ExecWindowOnResizeEventHandlers;
ExecWindowOnResizeEventHandlers();
GetActiveUserStatus(false);
window.setTimeout("OpenWindowsInQueue()", 250);
if (isChrome) {
var oRSSFeed = document.getElementById("hrefRSSFeed");
if (oRSSFeed != null)
oRSSFeed.style.display = "none";
}
Splitter_SetEvents();
// XBrowserAddHandler(document, "onmousemove", function (e) { mouseMove(e); });
$(document).mousemove(function (e) { mouseMove(e); });
XBrowserAddHandler(document, "onmouseup", function (e) { mouseUp(e); });
$(document).dblclick(function (e) { mouseDblclick(e); });
}
function OpenWindowsInQueue() {
for (var l = 0; l < openWindowsQueue.length; l++)
eval(openWindowsQueue[l]);
}
function ExecWindowOnResizeEventHandlers() {
for (var l = 0; l < windowResizeListners.length; l++)
eval(windowResizeListners[l]);
}
function Page_OnResize() {
CalcClientSize();
var dvModalDialogBackground = getElement("dvModalDialogBackground");
dvModalDialogBackground.style.width = clientDimensions.width;
dvModalDialogBackground.style.height = clientDimensions.height;
if (dvModalDialogBackground.style.display != "none")
SetPopupDimensions();
}
function footerHeight() {
return (getElementHeight("trFooterContainer") +
getElementHeight("trFooterContainer2") +
getElementHeight("trFooterContainer3") +
getElementHeight("trNoFrofitContainer"));
}
function getElementHeight(sID) {
var oElement = getElement(sID);
if (oElement == null)
return 0;
return oElement.offsetHeight
}
function setStageHeight(sStageID, bNavigationLineIsVisible) {
var oStage = getElement(sStageID);
var nHeight = clientHeight() - nWebsiteHeaderHeight - footerHeight() - (bNavigationLineIsVisible ? 25 : 0);
if (nHeight > 30) {
oStage.style.height = nHeight + "px";
oStage.style.display = "";
oStage.style.overflow = "auto";
}
else {
oStage.style.display = "none";
}
}
var qsParm = new Array();
function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i = 0; i < parms.length; i++) {
var pos = parms[i].indexOf('=');
if (pos > 0) {
var key = parms[i].substring(0, pos);
var val = parms[i].substring(pos + 1);
qsParm[key] = val;
}
}
}
function cancelEvent() {
if (window.event) {
window.event.returnValue = false;
window.event.cancelBubble = true;
}
}
function ReplaceAll(ex, oldChar, newChar) {
oldChar = oldChar + '';
newChar = newChar + '';
if (newChar.indexOf(oldChar) != -1) {
Utils_ShowErrorMessageDialog("ReplaceAll - worng syntax");
return;
}
var nIndexOfMatch = ex.indexOf(oldChar);
while (nIndexOfMatch != -1) {
ex = ex.replace(oldChar, newChar)
nIndexOfMatch = ex.indexOf(oldChar);
}
return ex;
}
function encodeKotar(str) {
str = encodeURIComponent(str);
str = ReplaceAll(str, "'", "[A]");
str = ReplaceAll(str, '"', '[Q]');
return str;
}
function decodeKotar(str) {
//% Char makes URI to be not valid encoding
str = ReplaceAll(str, '%', '[S]');
str = decodeURIComponent(str);
str = ReplaceAll(str, '[S]', '%');
str = ReplaceAll(str, "[A]", "'");
str = ReplaceAll(str, '[Q]', '"');
return str;
}
function CreateXmlHttp() {
var XmlHttp;
try {
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (oc) {
XmlHttp = null;
}
}
if (!XmlHttp && typeof XMLHttpRequest != "undefined")
XmlHttp = new XMLHttpRequest();
return XmlHttp;
}
function DoSiteSearch(sTextboxID, rbMybooksCtrlID, sSearchType, sLanguage, sProdType, sSearchPageBaseUrl) {
var sMyBooks = "";
var sFilter = "";
var sBaseUrl = "/KotarApp/Search.aspx";
if (typeof (rbMybooksCtrlID) != "undefined" && rbMybooksCtrlID != "")
if (getElement(rbMybooksCtrlID).checked)
sMyBooks = "&bOnlyTitles=true";
if (typeof (sSearchType) == "undefined")
sSearchType = "All";
if ((typeof (sLanguage) != "undefined") && sLanguage != "") {
sFilter = "&bAdvanced=true&sLanguage=" + sLanguage;
}
if ((typeof (sProdType) != "undefined") && sProdType != "") {
sFilter = "&bAdvanced=true&sProdType=" + sProdType;
}
if ((typeof (sSearchPageBaseUrl) != "undefined") && sSearchPageBaseUrl != "") {
sBaseUrl = sSearchPageBaseUrl;
}
var sSearchText = getElement(sTextboxID).value;
var myRegExp = new RegExp("<[^>]*>", "g");
sSearchText = sSearchText.replace(myRegExp, "");
sSearchText = encodeKotar(sSearchText);
var sUrl = sBaseUrl + "?sSearchText=" + sSearchText + "&sSearchType=" + sSearchType + sMyBooks + sFilter;
Utils_ShowMessageDialog(UTXT_Searching, UTXT_PleaseWait, false, "", "", true);
window.setTimeout("SetWindowLocation('" + sUrl + "', false)", 500);
}
function SubmitSiteSearch(e, sTextboxID) {
if (e.keyCode == 13) {
DoSiteSearch(sTextboxID);
return false;
}
}
// ---------- Homepage Books Tabs ----------
var selectedHomePageTabButtonID = "";
function SelectHomePageUserTab(tdClientID, btnClientID) {
document.getElementById(tdClientID).onclick = null;
document.getElementById(tdClientID).onclick = null;
SelectHomePageTabButton(document.getElementById(tdClientID), btnClientID, true);
}
function SelectHomePageTabButton(HomePageTabButton, btnClientID, bDoOnClick) {
if (typeof (bDoOnClick) == "undefined")
bDoOnClick = true;
if (selectedHomePageTabButtonID != "") {
// if (selectedHomePageTabButtonID == HomePageTabButton.id)
// return;
getElement(selectedHomePageTabButtonID).className = "button";
}
HomePageTabButton.className = "selectedButton";
selectedHomePageTabButtonID = HomePageTabButton.id;
if (bDoOnClick) {
try {
getElement(btnClientID).click();
} catch (e) { }
}
}
function RefreshSelectedHomepageTab() {
if (selectedHomePageTabButtonID != "") {
if (isIE)
getElement(selectedHomePageTabButtonID).click();
else
getElement(selectedHomePageTabButtonID).onclick();
}
}
function HomePageTabButton_OnMouseOver(HomePageTabButton) {
if (selectedHomePageTabButtonID != HomePageTabButton.id)
HomePageTabButton.className = "highlightedButton";
}
function HomePageTabButton_OnMouseOut(HomePageTabButton) {
if (selectedHomePageTabButtonID != HomePageTabButton.id)
HomePageTabButton.className = "button";
}
// ------- BOOK THUMBNAIL BUTTONS --------
function ShowAddButtons(divID) {
document.getElementById(divID + "_AddButtons").style.display = "";
}
function HideAddButtons(divID) {
document.getElementById(divID + "_AddButtons").style.display = "none";
}
function BookThumb_CreateAddToCartParams(nBookID) {
return new Array(
{ name: "nBookID", value: nBookID },
{ name: "SerType", value: 2 },
{ name: "tmp", value: Date() }
);
}
function BookThumb_AddToCart(nBookID, sLinkID, sThumbIconID) {
document.getElementById(sLinkID).innerHTML = "";
document.getElementById(sThumbIconID).style.backgroundImage = "url(/KotarApp/Shop/Images/cart_icon_checked.gif)";
var params = new Array({ name: "nBookID", value: nBookID });
callAppKotarCommand("Products.AddToCart", params, { onSuccessFunction: BookThumb_AddToCart_OnSuccess, onFailureFunction: BookThumb_AddToCart_OnFailure, nBookID: nBookID }, false);
}
function BookThumb_AddToCart_OnSuccess(oRV, oInfo) {
ShowAddBookToCartPopup(oInfo.nBooID);
getElement("numItemsInShoppingCart").innerHTML = "(" + oRV.nItemsInCart + ")";
}
function BookThumb_AddToCart_OnFailure() {
Utils_ShowMessageDialog("BookThumb_AddToCart_OnFailure");
}
function CloseAddedToCartPopup(bGoToShoppingCart) {
GetAddToCartExtender().hide();
if (bGoToShoppingCart == true)
window.location = "/KotarApp/Shop/Cart.aspx";
}
function AddBookToFavorites(nBookID, bRefreshPage) {
var params = new Array({ name: "nBookID", value: nBookID });
callAppKotarCommand("UserBooks.Add", params,
{
onSuccessFunction: AddBookToFavorites_OnComplete,
onFailureFunction: AddBookToFavorites_OnError,
bRefreshPage: bRefreshPage,
nBookID: nBookID
}
,false);
cancelEvent();
}
function AddBookToFavorites_OnError() {
Utils_ShowErrorMessageDialog(UTXT_ActionFailed);
}
function AddBookToFavorites_OnComplete(oRes, oCmd) {
var oIcon = document.getElementById("dvAddToFavorites_" + oCmd.nBookID);
if (oIcon != null)
oIcon.style.display = "none";
Utils_ShowMessageDialog(UTXT_BookAddedToFavorites, UTXT_ActionCompleted,
false, (oCmd.bRefreshPage == false ? "" : "javascript:parent.location.reload()"));
}
var sUtils_sJSAction = "";
var bUtils_bInPlaceLogin = false;
var bCancelTabRefresh = false;
function Utils_OpenSmartLoginPopup(sJSAction, bCancelRefresh) {
if (typeof (bCancelRefresh) != "undefined")
bCancelTabRefresh = bCancelRefresh;
sJSAction = ReplaceAll(sJSAction, "[A]", "'");
if (bUtils_bInPlaceLogin == true) {
eval(sJSAction);
return true;
}
cancelEvent();
sUtils_sJSAction = sJSAction;
ShowLoginPopup(true, "Utils_SmartLogin_OnSuccess", true);
return false;
}
function Utils_OpenInPlaceLoginPopup() {
cancelEvent();
sUtils_sJSAction = "";
bCancelTabRefresh = false;
ShowLoginPopup(true, "Utils_SmartLogin_OnSuccess", false);
}
function Utils_OpenLoginPopupAndRefreshAfterLogin() {
ShowLoginPopup(true, "Utils_RefreshAfterLogin", false);
}
function Utils_RefreshAfterLogin(gUserID, sUsername, bIsAdmin, bIsCoordinator, bIsSchoolUser, bIsTeacher, nDefaultProjectID, sMySpaceUrl, numOpenTasksInLMS) {
UpdateAnonymousControlsToReflectNewState(sUsername, bIsAdmin);
var bAddedLMSLink = false;
if ((bIsSchoolUser || bIsTeacher) && sMySpaceUrl != "") {
if (getElement("tdMySpace1") != null)
getElement("tdMySpace1").style.display = "";
if (getElement("tdMySpace2") != null)
getElement("tdMySpace2").style.display = "";
if (typeof(hrefMySpaceClientID) != "undefined" && getElement(hrefMySpaceClientID) != null)
getElement(hrefMySpaceClientID).href = sMySpaceUrl;
OptionallySetInnerTextByID("numOpenTasksInLMS", (numOpenTasksInLMS == 0 ? "" : "(" + numOpenTasksInLMS + ")"));
bAddedLMSLink = true;
}
if (bIsCoordinator && !bAddedLMSLink)
window.setTimeout("Refresh('Utils_RefreshAfterLogin');", 200);
else {
Utils_SmartLogin_OnSuccess(gUserID, sUsername, bIsAdmin);
}
}
var Utils_sClickOnSuccessfulLogin = "";
function Utils_SmartLogin_OnSuccess(gUserID, sUsername, bIsAdmin) {
bUtils_bInPlaceLogin = true;
BaseMaster_gUserID = gUserID;
BaseMaster_bUserIsLoggedIn = true;
UpdateAnonymousControlsToReflectNewState(sUsername, bIsAdmin);
if (!bCancelTabRefresh)
RefreshSelectedHomepageTab();
if (Utils_sClickOnSuccessfulLogin != "") {
getElement(Utils_sClickOnSuccessfulLogin).click();
}
if (sUtils_sJSAction != "")
eval(sUtils_sJSAction);
}
function UpdateAnonymousControlsToReflectNewState(sUsername, bIsAdmin) {
var loginButtons = getElement("tblHomepageLoginButtons");
if (loginButtons != null)
loginButtons.style.display = "none";
if (sUsername.length > 15)
sUsername = sUsername.substring(0, 15);
document.getElementById(ltrUsername_ctrlID).innerHTML = sUsername;
if (bIsAdmin == true)
document.getElementById(ltrUsername_ctrlID).style.color = "green";
var oLogin = document.getElementById(hrefLogin_ctrlID);
oLogin.href = "/default.aspx?logout=true";
oLogin.innerHTML = UTXT_Logout;
oLogin.title = UTXT_Logout;
}
var _SmartLoginPopupForRedirect_sDestURL = "";
function Utils_OpenSmartLoginPopupForRedirect(sDestURL) {
if (bUtils_bInPlaceLogin == false) {
_SmartLoginPopupForRedirect_sDestURL = sDestURL;
ShowLoginPopup(true, "Utils_SmartLoginPopupForRedirect_OnSuccess", true);
} else
window.location = sDestURL;
}
function Utils_SmartLoginPopupForRedirect_OnSuccess() {
window.location = _SmartLoginPopupForRedirect_sDestURL;
}
var _nVerifiedLoginStatusInterval = 0;
var _dtVerifiedLoginStatusIsReal = new Date();
_dtVerifiedLoginStatusIsReal.setFullYear(1970, 1, 1);
//var _nVerifyActiveUserStatusResponseID = 0;
function changeLanguage(url, lang) {
var params = new Array(
{ name: "tmp", value: Date() }
, { name: "url", value: url }
, { name: "lang", value: lang });
executeWebRequest("Users.ChangeLanguage", params,
{ onSuccessFunction: ChangeLanguage_OnComplete, onFailureFunction: ChangeLanguage_OnFailure });
}
function ChangeLanguage_OnComplete(url) {
ssoRedirect(url);
}
function ChangeLanguage_OnFailure() {
}
///this method working for Mozila and IE browser with SSO
function ssoRedirect(url) {
if (typeof (url) != 'undefined') {
if (document.all) {
$('#SSOredirect').attr('href', url);
($('#SSOredirect')[0]).click();
}
else {
//workaround for Mozila
//to simutale click, beacuse aTagDomElement.click is not a function
//from other side $(selector atag).click() not working on aa only on server side controls
//which are implementing javascript postback
document.location.href = url;
}
}
}
function GetActiveUserStatus(bNow) {
var diff = new Date();
var now = new Date();
diff.setTime(Math.abs(_dtVerifiedLoginStatusIsReal.getTime() - now.getTime()));
var numSecondsSinceLastCheck = (diff.getTime() / 1000);
if (numSecondsSinceLastCheck > 180 || bNow) {
_dtVerifiedLoginStatusIsReal = now;
var params = new Array({ name: "cb", value: BrowserDetect.browser }, { name: "cbv", value: BrowserDetect.version });
callAppKotarCommand("Users.GetActiveUserStatus", params, { onSuccessFunction: GetActiveUserStatus_OnComplete, onFailureFunction: GetActiveUserStatus_OnFailure }, false);
//seem like a safty machanisim when no response from server.was remarked cause it issued problems when upload files within Note
//_nVerifyActiveUserStatusResponseID = window.setTimeout("VerifyActiveUserStatusResponse()", 7500);
}
if (_nVerifiedLoginStatusInterval == 0)
_nVerifiedLoginStatusInterval = window.setInterval("GetActiveUserStatus(false)", 5000);
}
function VerifyActiveUserStatusResponse() {
GetActiveUserStatus_Refresh();
}
function GetActiveUserStatus_OnFailure() {
GetActiveUserStatus_Refresh();
}
function GetActiveUserStatus_OnComplete(oStatus) {
if (oStatus == "Refresh" || BaseMaster_bUserIsLoggedIn != oStatus.bIsLoggedIn) {
GetActiveUserStatus_Refresh();
}
//window.clearTimeout(_nVerifyActiveUserStatusResponseID);
//OptionallySetInnerTextByID("numOpenTasksInLMS", (oStatus.nNumOpenTasksInLMS == 0 ? "" : "(" + oStatus.nNumOpenTasksInLMS + ")"));
}
function GetActiveUserStatus_Refresh() {
if (IsInViewer()) {
location.reload(true);
}
else
Refresh('GetActiveUserStatus_OnComplete');
}
function Refresh(sCaller) {
var hash = window.location.hash;
var url = window.location.href.replace(hash, '');
var now;
now = new Date();
if (url.indexOf("?") > 0) {
url += "&ts=" + now.getTime();
}
else {
url += "?ts=" + now.getTime();
}
window.location.replace(url + hash);
}
// This function executes a Web request.
// using the AJAX.NET client library for all the data access functions.
// Parameters:
// "methodName" - a string with the name of method to call.
// "parameters" - array of objects for the parameters to send with the FlashMethod.
// object structure - { name: , value: }
// "callbackData" - object with data to go with the call and come back on callback
// 2 must have properties - { onSuccessFunction: , onFailureFunction: }
// other than that - add any data in additional properties that want to be sent with the request.
function executeCombinedWebRequest(methods, parameters, callbackData, serviceUrl, callbackFunc) {
var sMethods = methods[0];
for (var m = 1; m < methods.length; m++)
sMethods = sMethods + "," + methods[m];
executeWebRequest(sMethods, parameters, callbackData, serviceUrl, callbackFunc);
}
function executeWebRequest(methodName, parameters, callbackData, serviceUrl, callbackFunc) {
var url = buildRequestURL(methodName, {}, serviceUrl);
url += addTimestampParameter(parameters);
webRequest = new Sys.Net.WebRequest();
webRequest.set_url(url);
if (typeof (callbackData) != "undefined")
webRequest.set_userContext(callbackData);
addParameters(webRequest, parameters)
webRequest.set_httpVerb("POST");
if (typeof (callbackFunc) == "undefined")
webRequest.add_completed(callback);
else {
webRequest.set_userContext({ callbackFunc: callbackFunc });
webRequest.add_completed(callbackBridge);
}
webRequest.invoke();
}
function callbackBridge(executor, eventArgs) {
if (executor.get_responseData() == "Refresh") {
Refresh('callbackBridge');
}
var callbackData = executor.get_webRequest().get_userContext();
oHandler = eval(callbackData.callbackFunc);
oHandler(executor);
}
function adjustCdnPattern(sCdnDomain) {
if (sCdnDomain == '')
return '';
var sHost = window.location.href.replace('http://', '').split('/')[0];
sHost = sHost.replace(".cotar.co.il", ".kotar.co.il")
var sCDN = sCdnDomain.split('.')[0];
var sTempCdnDomain = sCdnDomain.replace(sCDN + ".", "");
var nIndex = sHost.toLowerCase().indexOf(sTempCdnDomain);
return sCdnDomain;
}
var sAdjustedCdn = "";
function buildRequestURL(methodName, parameters, serviceUrl) {
if (serviceUrl == undefined) {
if (sAdjustedCdn == "") {
var sHost = window.location.href.replace('http://', '').split('/')[0];
sAdjustedCdn = adjustCdnPattern(sHost);
}
serviceUrl = 'http://' + sAdjustedCdn + "/KotarApp/System/ApiBroker.aspx";
}
if (serviceUrl.indexOf("?") == -1)
serviceUrl += "?";
else if (serviceUrl.charAt(serviceUrl.length - 1) != "&")
serviceUrl += "&";
var url = serviceUrl + "sMethod=" + methodName;
if (parameters.length > 0) {
for (i = 0; i < parameters.length; i++)
url += "&" + parameters[i].name + "=" + parameters[i].value;
}
return url;
}
function addTimestampParameter(parameters) {
if (parameters.length > 0) {
for (i = 0; i < parameters.length; i++) {
if (parameters[i].name == "tmp") {
return "&" + parameters[i].name + "=" + getTimestamp()
}
}
}
return "";
}
function getTimestamp() {
var tmp = new Date();
return tmp.getFullYear() + "." + tmp.getMonth() + "." + tmp.getDate() + "." + tmp.getHours() + "." +
tmp.getMinutes() + "." + tmp.getSeconds() + "." + tmp.getMilliseconds();
}
function addParameters(webRequest, parameters) {
var sParams = "";
if (parameters.length > 0) {
for (i = 0; i < parameters.length; i++) {
if (parameters[i].name != "tmp")
sParams += (sParams != "" ? "&" : "") + parameters[i].name + "=" + parameters[i].value;
}
}
var gUserID = (typeof (BaseMaster_gUserID) == "undefined" ? '00000000-0000-0000-0000-000000000000' : BaseMaster_gUserID);
sParams += (sParams != "" ? "&" : "") + "gUserID=" + gUserID;
webRequest.set_body(sParams);
}
function callback(executor, eventArgs) {
if (executor.get_responseAvailable()) {
var callbackData = executor.get_webRequest().get_userContext();
if (executor.get_statusCode() == 200) // loading completed successfully
{
try {
if (executor.get_responseData() == "Refresh") {
Refresh('callback');
return;
}
eval('var recievedData = ' + executor.get_responseData());
}
catch (Error) {
callbackData.onFailureFunction(callbackData);
return;
}
callbackData.onSuccessFunction(recievedData, callbackData);
}
else
callbackData.onFailureFunction(callbackData);
}
else {
if (executor.get_timedOut()) {
// TODO: message for server call timeout
}
else if (executor.get_aborted()) {
// TODO: message for server call aborted
}
}
}
function callbackXml(executor, eventArgs) {
if (executor.get_responseAvailable()) {
var callbackData = executor.get_webRequest().get_userContext();
if (executor.get_statusCode() == 200) // loading completed successfully
{
try {
var recievedData = getXMLDoc(executor.get_responseData());
}
catch (Error) // error in servers response
{
callbackData.onFailureFunction(callbackData);
return;
}
callbackData.onSuccessFunction(recievedData, callbackData);
}
else // loading completed with errors - try again
{
callbackData.onFailureFunction(callbackData);
}
}
else {
if (executor.get_timedOut()) {
// TODO: message for server call timeout
}
else if (executor.get_aborted()) {
// TODO: message for server call aborted
}
}
}
//////////////////////////////
var Splitter_bDraggingDisabled = false;
var Splitter_bToggleBtnDisabled = false;
var Splitter_bDragging = false;
var Splitter_oSlider = false;
var Splitter_nStartMouseX;
var Splitter_nStartSplitterX;
var Splitter_nWidth = 8
var Splitter_fRatio = 0.3
function Splitter_SetEvents() {
var oHandle = getElement("imgSplitterHandle");
if (oHandle != null)
XBrowserAddHandler(oHandle, "onmousedown", function (e) { SplitterHandle_OnMouseDown(e); return false; });
}
function SplitterHandle_OnMouseDown(e) {
if (window.event) e = window.event;
if (e.preventDefault) { e.preventDefault(); }
e.cancelBubble = true;
}
function GetElementPos(oElement) {
var nLeft = 0;
var nTop = 0;
while (oElement != null) {
nLeft += oElement.offsetLeft;
nTop += oElement.offsetTop;
oElement = oElement.offsetParent;
}
return { nLeft: nLeft, nTop: nTop }
}
function Splitter_DisableDragging() {
Splitter_bDraggingDisabled = true;
}
function Splitter_EnableDragging() {
Splitter_bDraggingDisabled = false;
}
function Splitter_StartDrag(event) {
if (Splitter_bDragging || Splitter_bDraggingDisabled)
return;
var oPos = GetElementPos(oSplitterLine);
Splitter_oSlider = document.createElement("DIV");
Splitter_oSlider.style.overflow = "hidden";
Splitter_oSlider.style.width = "8px";
if (oSplitterLine.parentElement != null)
Splitter_oSlider.style.height = oSplitterLine.parentElement.offsetHeight + "px";
else
Splitter_oSlider.style.height = oSplitterLine.parentNode.offsetHeight + "px";
Splitter_oSlider.style.position = "absolute";
Splitter_oSlider.style.left = oPos.nLeft + "px";
Splitter_oSlider.style.top = oPos.nTop + "px";
Splitter_oSlider.style.backgroundImage = "url(/KotarApp/Resources/Images/Splitter/splitter_tile.gif)";
Splitter_oSlider.style.backgroundPosition = "center center";
Splitter_oSlider.style.backgroundRepeat = "repeat-y";
document.body.appendChild(Splitter_oSlider);
Splitter_nStartMouseX = mousePos.x;
Splitter_nStartSplitterX = oPos.nLeft;
Splitter_bDragging = true;
}
function Splitter_ContinueDrag() {
if (!Splitter_bDragging)
return;
var nDiff = mousePos.x - Splitter_nStartMouseX;
var nNewLeft = Splitter_nStartSplitterX + nDiff;
Splitter_oSlider.style.left = nNewLeft + "px";
}
function Splitter_EndDrag() {
if (!Splitter_bDragging)
return;
Splitter_bDragging = false;
var nDiff = Splitter_oSlider.offsetLeft - Splitter_nStartSplitterX;
document.body.removeChild(Splitter_oSlider);
var nStageWidth = clientWidth();
var nTabsWidth = Math.round(nStageWidth * Splitter_fRatio);
if (isRTL())
nTabsWidth -= nDiff;
else
nTabsWidth += nDiff;
Splitter_fRatio = nTabsWidth / nStageWidth;
//So it's practically closed
if (Splitter_fRatio < 0) {
Splitter_SetDefaultRatio();
CloseSplitter();
}
if (Splitter_fRatio > 0.70)
Splitter_fRatio = 0.70;
ExecSplitterOnResizeEventHandlers();
}
function Splitter_SetDefaultRatio() {
Splitter_fRatio = 0.3;
}
function Splitter_GetCollpasiblePanel() {
var oPanel = document.getElementById("oSubjectsTreeContainer");
if (oPanel == null)
oPanel = document.getElementById("oTabs");
return oPanel;
}
function Splitter_CalcRatio() {
var oPanel = Splitter_GetCollpasiblePanel();
Splitter_fRatio = (oPanel.style.width.replace('px', '') * 1) / clientWidth();
}
var nSplitter_fRatio_onClose = 0;
//check if user closed splitter
//or it was closed when it was full screen
var bSplitterClosedByUser = true;
function Splitter_DisableToggleBtn() {
Splitter_bToggleBtnDisabled = true;
}
function Splitter_EnableToggleBtn() {
Splitter_bToggleBtnDisabled = false;
}
function OpenSplitter() {
if (Splitter_bToggleBtnDisabled)
return;
var oPanel = Splitter_GetCollpasiblePanel();
oPanel.style.display = '';
oOpenedSplitter.style.display = 'block';
oClosedSplitter.style.display = 'none';
Splitter_fRatio = nSplitter_fRatio_onClose; //0.3;
ExecSplitterOnResizeEventHandlers();
}
function CloseSplitter() {
if (Splitter_bToggleBtnDisabled)
return;
var oPanel = Splitter_GetCollpasiblePanel();
oPanel.style.display = 'none';
oOpenedSplitter.style.display = 'none';
oClosedSplitter.style.display = 'block';
nSplitter_fRatio_onClose = Splitter_fRatio;
Splitter_fRatio = 0;
ExecSplitterOnResizeEventHandlers();
}
var splitterResizeListners = new Array();
function AddSplitterResizeListner(code) {
splitterResizeListners[splitterResizeListners.length] = code;
}
function ExecSplitterOnResizeEventHandlers() {
for (var l = 0; l < splitterResizeListners.length; l++)
eval(splitterResizeListners[l]);
}
var oBreakPoints = new Array();
function Dbg(sName) {
if (typeof (oBreakPoints[sName]) == "undefined") {
oBreakPoints[sName] = true;
debugger;
}
}
function AddDebugMessage(msg) {
if (BaseMaster_bIsInDevMode) {
var oNow = new Date();
document.title = oNow.toLocaleTimeString() + ":" + oNow.getMilliseconds() + " - " + msg;
}
}
var mousePos = null;
function mouseMove(ev) {
ev = ev || window.event;
mousePos = mouseCoords(ev);
if (Splitter_bDragging)
Splitter_ContinueDrag();
if (typeof(book_OnMouseMove) != "undefined") {
book_OnMouseMove(ev);
}
if (typeof(Page_OnMouseMove) != "undefined") {
Page_OnMouseMove(ev);
}
}
function mouseUp(ev) {
if (Splitter_bDragging)
Splitter_EndDrag();
if (typeof(book_OnMouseUp) != "undefined") {
book_OnMouseUp(ev);
}
if (typeof(Page_OnMouseUp) != "undefined") {
Page_OnMouseUp(ev);
}
}
function mouseDblclick(ev) {
ev = ev || window.event;
mousePos = mouseCoords(ev);
if (typeof (Page_OnMouseDblclick) != "undefined") {
Page_OnMouseDblclick(ev);
}
};
function mouseCoords(ev) {
try {
if (ev.pageX || ev.pageY) {
return { x: ev.pageX, y: ev.pageY };
}
else if (typeof (document.body) != "undefined") {
var evX = ev.clientX + document.body.scrollLeft - document.body.clientLeft;
var evY = ev.clientY + document.body.scrollTop - document.body.clientTop;
return { x: evX, y: evY };
}
} catch (e) {
}
return null;
}
function XBrowserAddHandler(target, eventName, handlerName) {
if (eventName.indexOf("on") == 0)
eventName = eventName.substring(2);
if (target.addEventListener) { // FireFox
target.addEventListener(eventName, handlerName, false);
}
else if (target.attachEvent) { // IE
target.attachEvent("on" + eventName, handlerName);
}
else {
target["on" + eventName] = handlerName;
}
}
var clientDimensions = null;
function clientWidth() {
CalcClientSize();
return clientDimensions.width;
}
function clientHeight() {
CalcClientSize();
return clientDimensions.height;
}
function CalcClientSize() {
var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
clientDimensions = { width: myWidth, height: myHeight };
}
function f_scrollTop() {
return f_filterResults(
window.pageYOffset ? window.pageYOffset : 0,
document.documentElement ? document.documentElement.scrollTop : 0,
document.body ? document.body.scrollTop : 0
);
}
function f_filterResults(n_win, n_docel, n_body) {
var n_result = n_win ? n_win : 0;
if (n_docel && (!n_result || (n_result > n_docel)))
n_result = n_docel;
return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
/**
* A simple JavaScript image loaderimage loader
* @author Cuong Tham
* @url http://thecodecentral.com/2008/02/21/a-useful-javascript-image-loader
* @usage
* var loader = new ImageLoader('IMAGE_URL');
* //set event handler
* loader.loadEvent = function(url, image){
* //action to perform when the image is loaded
* document.body.appendChild(image);
* }
* loader.load();
*/
//source: http://snipplr.com/view.php?codeview&id=561
// Cross-browser implementation of element.addEventListener()
function addListener(element, type, expression, bubbling) {
bubbling = bubbling || false;
if (window.addEventListener) { // Standard
element.addEventListener(type, expression, bubbling);
return true;
} else if (window.attachEvent) { // IE
element.attachEvent('on' + type, expression);
return true;
} else return false;
}
var ImageLoader = function (url) {
this.url = url;
this.image = null;
this.loadEvent = null;
};
ImageLoader.prototype = {
load: function () {
this.image = document.createElement('img');
var url = this.url;
var image = this.image;
var loadEvent = this.loadEvent;
addListener(this.image, 'load', function (e) {
if (loadEvent != null) {
loadEvent(url, image);
}
}, false);
this.image.src = this.url;
},
getImage: function () {
return this.image;
}
};
function OptionallySetInnerTextByID(sCtrlID, sValue) {
var oCtrl = getElement(sCtrlID);
if (oCtrl != null)
SetInnerText(oCtrl, sValue);
}
function SetInnerTextByID(sCtrlID, sValue) {
SetInnerText(getElement(sCtrlID), sValue);
}
function SetInnerText(oCtrl, sValue) {
if (isIE)
oCtrl.innerText = sValue;
else if (oCtrl.tagName.toLowerCase() == "div" || oCtrl.tagName.toLowerCase() == "span")
oCtrl.innerHTML = sValue;
else
oCtrl.text = sValue;
}
function GetInnerText(oCtrl) {
if (isIE)
return oCtrl.innerText;
else
return oCtrl.text;
}
function SetWindowLocation(sUrl, bNewWindow) {
if (typeof (bNewWindow) == "undefined")
bNewWindow = true;
if (bNewWindow) {
if (isIE == false && !isIE11) {
window.open(sUrl);
} else {
var oLink = document.createElement("a");
oLink.target = "_blank";
oLink.href = sUrl;
document.body.appendChild(oLink);
oLink.click();
}
}
else {
if (isIE)
location.href = sUrl;
else
window.location.replace(sUrl);
}
}
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
},
searchString: function (data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
},
dataBrowser: [
{
string: navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
}
]
};
BrowserDetect.init();
function IsFirefox() {
return (BrowserDetect.browser == "Firefox");
}
var nNavHelper = 0;
var aHelp = ["Help", "I need somebody", "not just anybody", "you know I need someone", "H...e...l...p...!"];
function hrefNavHelp_OnMouseOver() {
if (isRTL() == false) {
document.getElementById("hrefNavHelp").title = aHelp[nNavHelper];
if (nNavHelper < aHelp.length - 1)
nNavHelper++;
else
nNavHelper = 0;
}
}
function RectangleIsInRange(oRect, nMaxWidth, nMaxHeight) {
var x = oRect.x * 1;
var y = oRect.y * 1;
var w = oRect.width * 1;
var h = oRect.height * 1;
return (x > 0 && y > 0 && w > 0 && h > 0 && x + w < nMaxWidth && y + h < nMaxHeight);
}
function Utilities_SetCtrlDisplay(sCtrlID, bDisplay) {
if (typeof (sCtrlID) == 'undefined' || sCtrlID == "")
return;
var oCtrl = document.getElementById(sCtrlID);
if (oCtrl == null) return;
oCtrl.style.display = (bDisplay ? 'block' : 'none');
}
function Utilities_SetCtrlClass(sCtrlID, sClass) {
if (typeof (sCtrlID) == 'undefined' || sCtrlID == "")
return;
var oCtrl = document.getElementById(sCtrlID);
if (oCtrl == null) return;
oCtrl.className = sClass;
}
function OpenMembersPage(sort) {
var sUrl = "/Misc/Members.aspx?nSort=" + sort;
Utils_ShowMessageDialog(UTXT_Searching, UTXT_PleaseWait, false, "", "", true);
window.setTimeout("SetWindowLocation('" + sUrl + "', false)", 500);
}
function ShowTechnicalRequirementsPopup() {
ChangeIFrameSource("/Item/TechnicalReq.aspx", true)
ShowModalPopup("TechnicalRequirements");
}
function ZeroPad(num, count) {
var numZeropad = num + '';
while (numZeropad.length < count) {
numZeropad = "0" + numZeropad;
}
return numZeropad;
}
function callAppKotarCommandNoSession(command, parameters, callbackData, iscacheable, isAsync) {
/// Create an ajax call and calls the success or fail callbacks
/// command name
/// Array of name-value objects
/// Object with callbacks and command data to be returned
/// Define if the ajax call will be cache
/// Define if the ajax call will be async
var url = buildKotarCommandBaseUrl('CommandHandlerNoSession', command);
callAppKotarCommandBase(url, command, parameters, callbackData, iscacheable, isAsync);
};
function callAppKotarCommand(command, parameters, callbackData, iscacheable) {
var url = buildKotarCommandBaseUrl('CommandHandler', command);
callAppKotarCommandBase(url, command, parameters, callbackData, iscacheable,true);
};
function callAppKotarCommandSync(command, parameters, callbackData, iscacheable) {
var url = buildKotarCommandBaseUrl('CommandHandler', command);
callAppKotarCommandBase(url, command, parameters, callbackData, iscacheable,false);
};
function callAppKotarCommandBase(url, command, parameters, callbackData, iscacheable, isasync) {
/// Create an ajac call and class the success or fail callbacks
/// command name
/// Array of name value objects
/// Object with callbacks and command data to be returned
/// Define if the ajax call will be cache
/// Define if the ajax call will be async
if (iscacheable === undefined) {
iscacheable = false;
}
if (isasync === undefined) {
isasync = true;
}
//add params
if (parameters && parameters.length > 0) {
for (var i = 0; i < parameters.length; i++) {
url += '&' + parameters[i].name + '=' + parameters[i].value;
}
}
var gUserID = (typeof (BaseMaster_gUserID) == "undefined" ? '00000000-0000-0000-0000-000000000000' : BaseMaster_gUserID);
url += "&gUserID=" + gUserID;
$.ajax({
url: url,
cache: iscacheable,
async: isasync,
success: function (response) {
if (response) {
if (response === "Refresh") {
//users.getactiveuserstatus check if user is avtive and if not send respond "Refresh"
Refresh('callbackBridge'); //this will logout the user
return;
}
callbackData.onSuccessFunction(response, callbackData);
}
else {
callbackData.onFailureFunction();
}
},
fail: function fail(jqx, error, ex) {
alert(error);
}
});
};
var kotarcommandBaseUrl = '';
function buildKotarCommandBaseUrl(pagename, methodName) {
if (kotarcommandBaseUrl === '') {
var sHost = window.location.href.replace('http://', '').split('/')[0];
kotarcommandBaseUrl = adjustCdnPattern(sHost);
}
var pageurl = new Array();
pageurl.push('http://', kotarcommandBaseUrl, '/KotarApp/System/', pagename, '.aspx?command=', methodName);
return pageurl.join('');
}
function buildKotarCommandBaseUrlWithParams(pagename, methodName,params) {
if (kotarcommandBaseUrl === '') {
var sHost = window.location.href.replace('http://', '').split('/')[0];
kotarcommandBaseUrl = adjustCdnPattern(sHost);
}
var pageurl = new Array();
pageurl.push('http://', kotarcommandBaseUrl, '/KotarApp/System/', pagename, '.aspx?command=', methodName);
if (params && params.length > 0) {
for (var i = 0; i < params.length; i++) {
pageurl.push('&' + params[i].name + '=' + params[i].value);
}
}
return pageurl.join('');
}
function AddUsageLog(usageName) {
var params = new Array({ name: "UsageName", value: usageName });
callAppKotarCommand("addusageLog", params, { onSuccessFunction: AddUsageLog_OnComplete, onFailureFunction: AddUsageLog_OnError }, false);
}
function AddUsageLog_OnComplete() {
}
function AddUsageLog_OnError() {
}