application/modules/wishlist/assets/js/wishlist.js
$(
function () {
if ($("#datepicker").length) {
$("#datepicker").datepicker();
}
}
);
function addToWL(varId) {
var checkedList = $('#wishCart input[type=radio]:checked');
if (checkedList.length) {
var listID = checkedList.data('id');
var listName = false;
var commentProduct = $('.wishProductComment').val();
if (checkedList.hasClass('newWishList')) {
listID = false;
listName = $('.wish_list_name').val();
if (listName === lang('Create list')) {
$('#errors').css('display', 'block');
$('#wishCart .error').html('');
$('#wishCart .error').append('<p>' + lang('Wrong list name') + '</p>');
return false;
}
}
$.ajax(
{
type: 'POST',
data: {
varId: varId,
listID: listID,
listName: listName,
commentProduct: commentProduct
},
url: '/wishlist/wishlistAJAX/addItem',
success: function (data) {
if (data) {
var errors = {};
var response = JSON.parse(data);
if (response.answer == "error") {
errors = response.errors;
var outErrors = "";
for (var error in errors) {
outErrors += errors[error];
}
$('#errors').css('display', 'block');
$('#wishCart .error').html('');
$('#wishCart .error').append(outErrors);
}
// // $('.overlayDrop').remove();
$('#wishCart .addWL').css('display', 'none');
$('#wishCart .share_tov').css('display', 'block');
//--------------------
$('#' + varId).val(lang('Already in Wish List'));
$('#' + varId).addClass('inWL');
$('#' + varId).bind('click');
$('#' + varId).die('click').on(
"click",
function () {
document.location.href = '/wishlist';
}
);
}
}
}
);
} else {
$('#errors').css('display', 'block');
$('#wishCart .error').html('');
$('#wishCart .error').append('<p>' + lang('List does not chosen') + '</p>');
}
}
function delFromWL($this, varID, WLID) {
$.ajax(
{
type: 'POST',
data: {
varID: varID,
WLID: WLID
},
url: '/wishlist/wishlistAJAX/deleteItem',
success: function (data) {
obj = JSON.parse(data);
if (obj.answer === 'sucesfull') {
$($this).closest('tr').remove();
} else {
$($this).closest('body').find('.error_text').html('');
$($this).closest('body').find('.error_text').append('<div class="msg"><div class="error">' + obj.errors + '</div></div>');
}
}
}
);
}
function delWL($this, WLID) {
$.ajax(
{
type: 'POST',
data: {
WLID: WLID
},
url: '/wishlist/wishlistAJAX/deleteWL',
success: function (data) {
obj = JSON.parse(data);
console.log(obj.errors);
if (obj.answer === 'sucesfull') {
$($this).closest('.table').remove();
} else {
$($this).closest('body').find('.error_text').html('');
$($this).closest('body').find('.error_text').append('<div class="msg"><div class="error">' + obj.errors + '</div></div>');
}
}
}
);
}
function editWL() {
var title = $('.wishListTitle').text();
$('.wishListTitle').replaceWith('<input type="text value="' + + '">');
}
function ajaxFileUpload(upload_field)
{
// Checking file type
var re_text = /\.jpg|\.gif|\.jpeg/i;
var filename = upload_field.value;
if (filename.search(re_text) == -1) {
alert("File should be either jpg or gif or jpeg");
upload_field.form.reset();
return false;
}
document.getElementById('picture_preview').innerHTML = '<div><img src="images/progressbar.gif" border="0" /></div>';
upload_field.form.action = '/wishlist/do_upload';
upload_field.form.target = 'upload_iframe';
upload_field.form.submit();
upload_field.form.action = '';
upload_field.form.target = '';
return true;
}
function renderPopup(varId, wlBtn) {
if (!$('#' + varId).hasClass('inWL')) {
var popupTemplate = '';
$.ajax(
{
type: 'POST',
dataType: 'json',
url: '/wishlist/renderPopup/' + varId,
success: function (data) {
if (data) {
if (!$('.wishTMP').length) {
body.append(data.popup);
}
body.append('<div class="overlayDrop drop_overlay_fixed" style="position: fixed; width: 100%; height: 100%; left: 0px; top: 0px; z-index: 1001; background-color: rgb(0, 0, 0); opacity: 0.6;"></div>');
$('#wishCart').css('display', 'block');
}
}
}
);
} else {
document.location.href = '/wishlist';
}
}
function removePopup() {
$('.overlayDrop').remove();
$('#wishCart').remove();
}
$('.overlayDrop').live(
'click',
function () {
this.remove();
$('#wishCart').remove();
}
);
$('.newWishList').live(
'click',
function () {
var listCount = $(this).data('listscount');
var maxListsCount = $(this).data('maxlistscount');
if (listCount >= maxListsCount) {
if (!$('.listsLimit').length) {
$('.newWishListLable').append('<div class="listsLimit">' + lang('Limit of Wish List finished ') + '</div>');
}
$(this).removeAttr('checked');
$('.wish_list_name').blur();
return false;
}
}
);
//---------------------TEST API-------------------------------//
$('.APItester').live(
'click',
function () {
$.ajax(
{
type: 'POST',
dataType: 'text',
data: {
userID: 47
},
url: 'wishlist/wishlistApi/show/49/9',
success: function (data) {
console.log(data);
if (typeof data != Object) {
$('.testAPI').replaceWith('<div style="border: 2px solid;">' + data + '</div>');
} else {
$('.testAPI').text(JSON.stringify(data));
console.log(data);
}
}
}
);
}
);
// create wishlist ajax
$("#createWishList").unbind().bind(
'click',
function () {
var data = $("form#wishlistForm").serialize();
$('#wishlistForm .wishListName').next().hide();
$.post(
'/admin/components/cp/wishlist/createWishList',
data,
function (response) {
$("#notifies").empty();
var notifContainer = document.getElementById('notifies');
var status = parseInt(response.status);
if (status == 1) {
var infoDiv = document.createElement('div');
infoDiv.className = 'alert alert-success';
var text = document.createTextNode('Создано')
infoDiv.appendChild(text);
notifContainer.appendChild(infoDiv);
setTimeout(
function () {
$("a[href='#lists']").trigger('click');
location.reload();
},
2500
);
return;
}
var errorsDiv = document.createElement('div');
errorsDiv.className = 'alert alert-error';
var p = [];
var text = [];
var i = 0;
if (typeof (response.errors) != 'undefined') {
for (var key in response.errors) {
if (key == 'name') {
$('#wishlistForm .wishListName').next().show();
} else {
p[i] = document.createElement('p');
text[i] = document.createTextNode(response.errors[key]);
p[i].appendChild(text[i]);
errorsDiv.appendChild(p[i]);
i++;
}
}
if (i) {
notifContainer.appendChild(errorsDiv);
}
}
},
'json'
);
return false;
}
);