/* ** nopCommerce custom js functions */ function OpenWindow(query, w, h, scroll) { var l = (screen.width - w) / 2; var t = (screen.height - h) / 2; winprops = 'resizable=0, height=' + h + ',width=' + w + ',top=' + t + ',left=' + l + 'w'; if (scroll) winprops += ',scrollbars=1'; var f = window.open(query, "_blank", winprops); } function setLocation(url) { window.location.href = url; } function displayAjaxLoading(display) { if (display) { $('.ajax-loading-block-window').show(); } else { $('.ajax-loading-block-window').hide('slow'); } } function displayPopupNotification(message, messagetype, modal) { //types: success, error, warning var container; if (messagetype == 'success') { //success container = $('#dialog-notifications-success'); } else if (messagetype == 'error') { //error container = $('#dialog-notifications-error'); } else if (messagetype == 'warning') { //warning container = $('#dialog-notifications-warning'); } else { //other container = $('#dialog-notifications-success'); } //we do not encode displayed message var htmlcode = ''; if ((typeof message) == 'string') { htmlcode = '

' + message + '

'; } else { for (var i = 0; i < message.length; i++) { htmlcode = htmlcode + '

' + message[i] + '

'; } } container.html(htmlcode); var isModal = (modal ? true : false); container.dialog({ modal: isModal, width: 350 }); } function displayJoinedPopupNotifications(notes) { if (Object.keys(notes).length === 0) return; var container = $('#dialog-notifications-success'); var htmlcode = document.createElement('div'); for (var note in notes) { if (notes.hasOwnProperty(note)) { var messages = notes[note]; for (var i = 0; i < messages.length; ++i) { var elem = document.createElement("div"); elem.innerHTML = messages[i]; elem.classList.add('popup-notification'); elem.classList.add(note); htmlcode.append(elem); } } } container.html(htmlcode); container.dialog({ width: 350, modal: true }); } function displayPopupContentFromUrl(url, title, modal, width) { var isModal = (modal ? true : false); var targetWidth = (width ? width : 550); var maxHeight = $(window).height() - 20; $('
').load(url) .dialog({ modal: isModal, width: targetWidth, maxHeight: maxHeight, title: title, close: function(event, ui) { $(this).dialog('destroy').remove(); } }); } function displayBarNotification(message, messagetype, timeout) { var notificationTimeout; var messages = typeof message === 'string' ? [message] : message; if (messages.length === 0) return; //types: success, error, warning var cssclass = ['success', 'error', 'warning'].indexOf(messagetype) !== -1 ? messagetype : 'success'; //remove previous CSS classes and notifications $('#bar-notification') .removeClass('success') .removeClass('error') .removeClass('warning'); $('.bar-notification').remove(); //add new notifications var htmlcode = document.createElement('div'); //IE11 Does not support miltiple parameters for the add() & remove() methods htmlcode.classList.add('bar-notification', cssclass); htmlcode.classList.add(cssclass); //add close button for notification var close = document.createElement('span'); close.classList.add('close'); close.setAttribute('title', document.getElementById('bar-notification').dataset.close); for (var i = 0; i < messages.length; i++) { var content = document.createElement('p'); content.classList.add('content'); content.innerHTML = messages[i]; htmlcode.appendChild(content); } htmlcode.appendChild(close); $('#bar-notification') .append(htmlcode); $(htmlcode) .fadeIn('slow') .on('mouseenter', function() { clearTimeout(notificationTimeout); }); //callback for notification removing var removeNoteItem = function () { $(htmlcode).remove(); }; $(close).on('click', function () { $(htmlcode).fadeOut('slow', removeNoteItem); }); //timeout (if set) if (timeout > 0) { notificationTimeout = setTimeout(function () { $(htmlcode).fadeOut('slow', removeNoteItem); }, timeout); } } function htmlEncode(value) { return $('
').text(value).html(); } function htmlDecode(value) { return $('
').html(value).text(); } // CSRF (XSRF) security function addAntiForgeryToken(data) { //if the object is undefined, create a new one. if (!data) { data = {}; } //add token var tokenInput = $('input[name=__RequestVerificationToken]'); if (tokenInput.length) { data.__RequestVerificationToken = tokenInput.val(); } return data; };