File: /home/salhiscp/salhab360photos.com/wp-content/plugins/fwdsisc/js/playlist_manager.js
/**
* Galleries manager.
*
* @package fwdsisc
* @since fwdsisc 1.0
*/
jQuery(document).ready(function($){
'use strict';
// Get data array.
fwdsiscMainPlaylistsAr = unescapeHtml(fwdsiscMainPlaylistsAr);
if(fwdsiscMainPlaylistsAr == 'null'){
fwdsiscMainPlaylistsAr = []
}else{
fwdsiscMainPlaylistsAr = JSON.parse(fwdsiscMainPlaylistsAr);
}
if(!fwdsiscMainPlaylistsAr) fwdsiscMainPlaylistsAr = [];
// Initialize sortable and accordion.
$("#main_playlists").accordion({
header: ".playlist-header",
collapsible: true,
heightStyle: "content",
active: false
}).sortable({
axis: "x,y",
handle: ".playlist-header-sort",
start: startPlaylistsOrder,
update: updatePlaylistsOrder
});
$(".pls").accordion({
header: ".playlist-header",
collapsible: true,
heightStyle: "content",
active: false
}).sortable({
axis: "x,y",
handle: ".playlist-header-sort",
start: startPlaylistsOrder,
update: updatePlaylistsOrder
});
$(".fwd-playlist").mouseover(function(){
$(this).addClass("pl_over");
$(this).find(".pl-header").css("color", "#212121");
});
$(".fwd-playlist").mouseout(function(){
$(this).removeClass("pl_over");
$(this).find(".pl-header").css("color", "#555555");
});
var newimageOrderId;
var imgPath = fwdsiscIconsPath + "normal-icon.png";
var img = "<img src='" + imgPath + "' class='galleries-icon'>";
$(".playlist > h3").prepend(img);
$(".images").sortable({
axis: "x,y",
handle: ".image-header",
start: startimageesOrder,
update: updateimageesOrder
});
$(".fwd-image").mouseover(function(){
$(this).addClass("image_over");
$(this).find(".image-header").css("color", "#212121");
});
$(".fwd-image").mouseout(function(){
$(this).removeClass("image_over");
$(this).find(".image-header").css("color", "#555555");
});
if ($("#main_playlists .playlist-count").length > 0){
$("#mp_em").hide();
}
$("img").fwdTooltip({});
function startPlaylistsOrder(ev, ui){
var allMpimages = $(this).sortable("toArray");
curPlOrderId = allMpimages.indexOf($(ui.item).attr("id"));
}
function updatePlaylistsOrder(ev, ui){
var allMpimages = $(this).sortable("toArray");
newPlOrderId = allMpimages.indexOf($(ui.item).attr("id"));
var curimage = fwdsiscMainPlaylistsAr.splice(curPlOrderId, 1)[0];
fwdsiscMainPlaylistsAr.splice(newPlOrderId, 0, curimage);
};
function startimageesOrder(ev, ui){
var allimageimages = $(this).sortable("toArray");
curimageOrderId = allimageimages.indexOf($(ui.item).attr("id"));
}
function updateimageesOrder(ev, ui){
var allimageimages = $(this).sortable("toArray");
newimageOrderId = allimageimages.indexOf($(ui.item).attr("id"));
var allPlimages = $("#main_playlists").sortable("toArray");
var plParent = $(this).closest(".playlist");
curPlOrderId = allPlimages.indexOf($(plParent).attr("id"));
var curimage = fwdsiscMainPlaylistsAr[curPlOrderId].images.splice(curimageOrderId, 1)[0];
fwdsiscMainPlaylistsAr[curPlOrderId].images.splice(newimageOrderId, 0, curimage);
}
// Galleries dialogs.
$("#add_main_playlist_btn").click(function(e){
e.preventDefault();
$("#add-playlist-dialog").dialog("open");
});
var curPlOrderId;
var newPlOrderId;
var cur_pl_id;
var curImageWidth;
var curImageHeight;
var cur_image_id;
var curimageOrderId;
var pl_source = $("#pl_source");
var pl_type = $("#pl_type");
var allFieldsPl = $([]).add(pl_source)
var pl_source_edit = $("#pl_source_edit");
var pl_type_edit = $("#pl_type_edit");
var pl_source_edit = $("#pl_source_edit");
var allFieldsPlEdit = $([]).add(pl_source_edit)
$("#add-playlist-dialog").dialog({
autoOpen: false,
width: 380,
height: 210,
dialogClass:"fwdsisc",
modal: true,
buttons:[{
text:fwdsicAddGallery__,
click: function(){
var fValid = true;
var tips = $("#add_pl_tips");
allFieldsPl.removeClass("ui-state-error");
fValid = fValid && checkLength(tips, pl_source, "gallery name", 1, 64);
if (fValid){
var pid = $("#main_playlists .playlist-count").length;
var plsIdsAr = [];
if (pid > 0){
$.each(fwdsiscMainPlaylistsAr, function(i, el){
plsIdsAr.push(el.id);
});
for (var i=0; i<fwdsiscMainPlaylistsAr.length; i++){
if($.inArray(i, plsIdsAr) == -1){
pid = i;
break;
}
}
}else{
$("#mp_em").hide();
}
$("#main_playlists").append("<div id='pl" + pid + "' class='playlist playlist-count'>"
+ "<h3 class='playlist-header-sort playlist-header'><span class='gallery-name'>" + pl_source.val().replace(/"/g, "'") + "</span></h3>"
+ "<div>"
+ "<div id='pl" + pid + "_images' class='images'></div>"
+ "<button class='add_image_btn' id='pl" + pid + "_btn' >" + fwdsicAddImage__ + "</button>"
+ "<button class='add_bulk_btn' id='pl" + pid + "_bulk_btn'>" + fwdsicAddBulkImages__ + "</button>"
+ "<button class='edit_playlist_btn' id='pl" + pid + "_edit_btn'>" + fwdsicEditGallery__ + "</button>"
+ "<button class='delete_playlist_btn' id='pl" + pid + "_del_btn'>" + fwdsicDeleteGallery__ + "</button>"
+ "</div>"
+ "</div>");
var imgPath = fwdsiscIconsPath + "normal-icon.png";
var img = "<img src='" + imgPath + "' class='galleries-icon'>";
$("#pl" + pid + " > h3").prepend(img);
$(".add_image_btn").click(function(e){
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
$("#add-image-dialog").dialog("open");
return false;
});
$(".add_bulk_btn").click(function(e){
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
openBulkUploader(e, cur_pl_id);
return false;
});
$(".edit_playlist_btn, .edit_playlist_btn2").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$("#edit-playlist-dialog").dialog("open");
});
$(".delete_playlist_btn, .delete_playlist_btn2").click(function(e){
e.preventDefault();
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
$("#delete-playlist-dialog").dialog("open");
});
$("#pl" + pid + "_images").sortable({
axis: "x,y",
handle: ".image-header",
start: startimageesOrder,
update: updateimageesOrder
});
$("#main_playlists").sortable("refresh");
$("#main_playlists").accordion("refresh");
var newPl ={
id:pid,
name: pl_source.val().replace(/"/g, "'"),
pl_source: pl_source.val().length > 0 ? pl_source.val().replace(/"/g, "'") : undefined,
pl_type: $("#pl_type").val(),
images: []
};
fwdsiscMainPlaylistsAr.push(newPl);
$(this).dialog("close");
}
}},
{
text: fwdsiscCancel__,
click: function() {
$(this).dialog("close");
}}
],
close: function(){
allFieldsPl.removeClass("ui-state-error");
$("#add_pl_tips").removeClass("fwd-error");
},
open: function(){
$("#pl_source").val("");
$("#pl_type").val("normal");
$("#pl_source").val("");
$("#pl_source_div").hide();
$("#add_pl_tips").text("The gallery name is required.");
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
$(".add_playlist_btn").click(function(e){
e.preventDefault();
var reg_exp = /mp[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
$("#add-playlist-dialog").dialog("open");
});
$("#edit-playlist-dialog").dialog({
autoOpen: false,
width: 380,
height: 210,
dialogClass:"fwdsisc",
modal: true,
buttons:[{
text: fwdsiscUpdateGallery__,
click: function(){
var fValid = true;
var tips = $("#pl_tips_edit");
allFieldsPlEdit.removeClass("ui-state-error");
fValid = fValid && checkLength(tips, pl_source_edit, "gallery name", 1, 64);
if (fValid){
var content = $("#pl_source_edit").val();
$("#pl" + cur_pl_id + " .gallery-name").html(content.replace(/"/g, "'"));
fwdsiscMainPlaylistsAr[curPlOrderId].name = pl_source_edit.val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].pl_source = pl_source_edit.val().replace(/"/g, "'");
$(this).dialog("close");
}
}},
{
text: fwdsiscCancel__,
click: function(){
$(this).dialog("close");
}}
],
close: function(){
allFieldsPlEdit.removeClass("ui-state-error");
$("#pl_tips_edit").removeClass("fwd-error");
},
open: function(){
$("#pl_tips_edit").text("The gallery name is required:");
$("#pl_source_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].name);
$("#pl_source_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].pl_source);
$("#pl_type_edit").prop("disabled", false);
$("#pl_type_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].pl_type);
$("#pl_type_edit").prop("disabled", true);
$("#source_help_img_edit").prop("title", "The gallery name.");
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
$(".edit_playlist_btn, .edit_playlist_btn2").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$("#edit-playlist-dialog").dialog("open");
});
$("#delete-playlist-dialog").dialog({
autoOpen: false,
width: 300,
height: 160,
dialogClass:"fwdsisc",
modal: true,
buttons:[{
text: fwdsiscYes__,
click: function(){
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
fwdsiscMainPlaylistsAr.splice(curPlOrderId, 1);
$("#pl" + cur_pl_id).remove();
$(".main_playlists").accordion("option", "active", false);
$(".main_playlists").sortable("refresh");
$(".main_playlists").accordion("refresh");
if ($("#main_playlists .playlist-count").length == 0){
$("#mp_em").show();
}
$(this).dialog("close");
}},
{
text: fwdsiscNo__,
click: function(){
$(this).dialog("close");
}}
],
open: function(){
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
$(".delete_playlist_btn, .delete_playlist_btn2").click(function(e){
e.preventDefault();
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
$("#delete-playlist-dialog").dialog("open");
});
// Image dialogs
var image_name = $("#image_name");
var image_source = $("#image_source");
var image_thumb = $("#image_thumb");
var video_poster_source = $("#video_poster_source");
var image_max_width = $("#image_max_width");
var image_max_height = $("#image_max_height");
var showAds = false;
var allFieldsimage = $([]).add(image_name).add(image_source);
$("#add-image-dialog").dialog({
autoOpen: false,
width: 640,
height: 720,
dialogClass:"fwdsisc",
modal: true,
buttons:[{
text: fwdsicAddImage__,
click: function() {
var fValid = true;
var tips = $("#add_image_tips");
allFieldsimage.removeClass("ui-state-error");
fValid = fValid && checkLength(tips, image_name, "image name", 1, 64);
fValid = fValid && checkLength(tips, image_source, "image source", 1, 256);
if (fValid){
var imageId = $("#pl" + cur_pl_id + "_images .fwd-image").length;
var imagesIdsAr = [];
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$.each($("#pl" + cur_pl_id + "_images .fwd-image"), function(i, el){
var reg_exp = /image[0-9]+/;
var image_id = parseInt($(el).attr("id").match(reg_exp)[0].slice(5));
imagesIdsAr.push(image_id);
});
for (var i=0; i<fwdsiscMainPlaylistsAr[curPlOrderId].images.length; i++){
if ($.inArray(i, imagesIdsAr) == -1){
imageId = i;
break;
}
}
var source = image_source.val().replace(/"/g, "'");
$("#pl" + cur_pl_id + "_images").prepend("<div id='pl" + cur_pl_id + "_image" + imageId + "' class='fwd-image'>"
+ "<h3 class='image-header'>" + image_name.val().replace(/"/g, "'") + "</h3>"
+ "<img src='" + source + "' class='fwd-image-playlist-img' id='pl" + cur_pl_id + "_image" + imageId + "_img'></img>"
+ "<button class='delete_image_btn' id='pl" + cur_pl_id + "_image" + imageId + "_del_btn'>" + fwdsicDeleteImage__ + "</button>"
+ "<button class='edit_image_btn' id='pl" + cur_pl_id + "_image" + imageId + "_edit_btn'>" + fwdsicEditImage__ + "</button>"
+ "</div>");
$(".edit_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
var allimageimages = $("#pl" + cur_pl_id + "_images").sortable("toArray");
curimageOrderId = allimageimages.indexOf("pl" + cur_pl_id + "_image" + cur_image_id);
$("#edit-image-dialog").dialog("open");
});
$(".delete_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
$("#delete-image-dialog").dialog("open");
});
$(".images").sortable("refresh");
$(".fwd-image").mouseover(function(){
$(this).addClass("image_over");
$(this).find(".image-header").css("color", "#212121");
});
$(".fwd-image").mouseout(function(){
$(this).removeClass("image_over");
$(this).find(".image-header").css("color", "#555555");
});
var newimage ={
name: image_name.val().replace(/"/g, "'"),
source: image_source.val().replace(/"/g, "'"),
width:curImageWidth,
height:curImageHeight,
link:$("#image_link").val().replace(/"/g, "'"),
target:$("#image_target").val().replace(/"/g, "'"),
text_vertical_alignment:$("#text_vertical_alignment").val().replace(/"/g, "'"),
video_source:$("#video_source").val().replace(/"/g, "'"),
video_password:$("#video_password").val().replace(/"/g, "'"),
vast:$("#vast").val().replace(/"/g, "'"),
subtitle_source:$("#subtitle_source").val().replace(/"/g, "'"),
is360:$("#is360").val(),
show360VrButton:$("#show360VrButton").val(),
video_thumbnails:$("#video_thumbnails").val().replace(/"/g, "'"),
dsecription: getimageDescription().replace(/"/g, "'"),
};
fwdsiscMainPlaylistsAr[curPlOrderId].images.unshift(newimage);
$(this).dialog("close");
}else{
$("#add-image-dialog").scrollTop(0);
}
}},
{
text: fwdsiscCancel__,
click: function(){
curImageWidth = curImageHeight = undefined;
$(this).dialog("close");
}}
],
close: function(){
allFieldsimage.removeClass("ui-state-error");
$("#add_image_tips").removeClass("fwd-error");
},
open: function(){
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$("#image_name").val("");
$("#image_source").val("");
$("#text_vertical_alignment").val("bottom");
$("#image_link").val("");
$("#image_target").val("_blank");
$("#video_source").val("");
$("#video_password").val("");
$("#vast").val("");
$("#subtitle_source").val("");
$("#video_thumbnails").val("no");
$("#is360").val("no");
$("#show360VrButton").val("no");
setimageDescription("");
$("#thumb_source").attr("src", "");
$("#upload_thumb").attr("src", "");
$("#wp-imagedescription-wrap").attr("style", "margin-top:-30px;");
$("#imagedescription-html").html("HTML");
$("#add_image_tips").text("The image name and source path fields are required.");
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
function setimageDescription(str){
if (typeof tinyMCE !== "undefined" && tinyMCE.get("imagedescription")){
tinyMCE.get("imagedescription").setContent(str);
}
$("#imagedescription").val(str);
}
function getimageDescription(){
var image_description;
if (typeof tinyMCE !== "undefined" && tinyMCE.get("imagedescription")){
if ($("#wp-imagedescription-wrap").hasClass("tmce-active")){
image_description = tinyMCE.get("imagedescription").getContent();
if (image_description.length < 1){
image_description = $("#imagedescription").val();
}
}else{
image_description = $("#imagedescription").val();
}
}else{
image_description = $("#imagedescription").val();
}
return image_description.replace(/"/g, "'").replace(/\n/g, "");
}
$(".add_image_btn").click(function(e){
e.preventDefault();
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
$("#add-image-dialog").dialog("open");
});
$(".add_bulk_btn").click(function(e){
var reg_exp = /pl[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp)[0].slice(2, -1));
openBulkUploader(e, cur_pl_id);
return false;
});
// Edit image dialog.
var image_name_edit = $("#image_name_edit");
var image_source_edit = $("#image_source_edit");
var image_thumb_edit = $("#image_thumb_edit");
var showAdsEdit = false;
var allFieldsimageEdit = $([]).add(image_name_edit).add(image_source_edit);
$("#edit-image-dialog").dialog({
autoOpen: false,
width: 640,
height: 720,
modal: true,
dialogClass:"fwdsisc",
buttons:[{
text: fwdsicUpdateImage__,
click: function(){
var fValid = true;
var tips = $("#edit_image_tips");
allFieldsimageEdit.removeClass("ui-state-error");
fValid = fValid && checkLength(tips, image_name_edit, "image name", 1, 64);
//fValid = fValid && checkLength(tips, image_thumb_edit, "image thumbnail", 1, 256);
fValid = fValid && checkLength(tips, image_source_edit, "image source", 1, 256);
if (fValid){
var content = $("#pl" + cur_pl_id + "_image" + cur_image_id + " > h3").html();
var pos = content.indexOf(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].name);
content = content.slice(0, pos);
$("#pl" + cur_pl_id + "_image" + cur_image_id + " > h3").html(content + image_name_edit.val().replace(/"/g, "'"));
if(curImageWidth && curImageWidth){
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].width = curImageWidth;
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].height = curImageHeight;
}
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].name = image_name_edit.val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].source = image_source_edit.val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].link = $("#image_link_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].target = $("#image_target_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].dsecription = getimageDescriptionEdit();
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_source = $("#video_source_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_password = $("#video_password_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].vast = $("#vast_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].is360 = $("#is360Edit").val();
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].show360VrButton = $("#show360VrButtonEdit").val();
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].subtitle_source = $("#subtitle_source_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].subtitle_source = $("#subtitle_source_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_thumbnails = $("#video_thumbnails_edit").val().replace(/"/g, "'");
fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].text_vertical_alignment = $("#text_vertical_alignment_edit").val().replace(/"/g, "'");
var parent = document.getElementById("pl" + cur_pl_id + "_image" + cur_image_id);
var child = document.getElementById("pl" + cur_pl_id + "_image" + cur_image_id + "_img");
if($.contains(parent,child)){
$("#pl" + cur_pl_id + "_image" + cur_image_id + "_img").attr("src", image_source_edit.val().replace(/"/g, "'"));
}else{
$("#pl" + cur_pl_id + "_image" + cur_image_id).append("<img src='" + image_source_edit.val() + "' id='pl" + cur_pl_id + "_image" + cur_image_id + "_img' class='fwd-image-playlist-img'></img>")
$("#pl" + cur_pl_id + "_image" + cur_image_id + "_img").attr("src", image_source_edit.val().replace(/"/g, "'"));
}
$(this).dialog("close");
}else{
$("#edit-image-dialog").scrollTop(0);
}
}},
{
text: fwdsiscCancel__,
click: function(){
curImageWidth = curImageHeight = undefined;
$(this).dialog("close");
}}
],
close: function(){
allFieldsimageEdit.removeClass("ui-state-error");
$("#edit_image_tips").removeClass("fwd-error");
},
open: function(){
$("#image_name_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].name);
$("#image_thumb_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].thumb);
$("#image_source_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].source);
$("#thumb_source_edit").attr("src", fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].source);
$("#image_link_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].link);
$("#text_vertical_alignment_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].text_vertical_alignment);
$("#video_source_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_source);
$("#video_password_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_password);
$("#vast_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].vast);
$("#subtitle_source_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].subtitle_source);
$("#video_thumbnails_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].video_thumbnails);
if(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].target == undefined){
$("#image_target_edit").val("_blank");
}else{
$("#image_target_edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].target);
}
if(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].is360 == undefined){
$("#is360Edit").val("no");
}else{
$("#is360Edit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].is360);
}
if(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].show360VrButton == undefined){
$("#show360VrButtonEdit").val("no");
}else{
$("#show360VrButtonEdit").val(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].show360VrButton);
}
setimageDescriptionEdit(fwdsiscMainPlaylistsAr[curPlOrderId].images[curimageOrderId].dsecription);
showAdsEdit = false;
$("#wp-imagedescriptionedit-wrap").attr("style", "margin-top:-30px;");
$("#imagedescriptionedit-html").html("HTML");
$("#wp-imagedecrpedit-wrap").attr("style", "margin-top:-30px;");
$("#imagedecrpedit-html").html("HTML");
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$("#edit_image_tips").text("The image name and source path fields are required.");
$("#imagedescriptionedit_ifr").height(181);
$("#imagedecrpedit_ifr").height(181);
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
// Set and get caption.
function setimageDescriptionEdit(str){
if (typeof tinyMCE !== "undefined" && tinyMCE.get("imagedescriptionedit")){
tinyMCE.get("imagedescriptionedit").setContent(str);
}
$("#imagedescriptionedit").val(str);
}
function getimageDescriptionEdit(){
var image_description_edit;
if (typeof tinyMCE !== "undefined" && tinyMCE.get("imagedescriptionedit")){
if ($("#wp-imagedescriptionedit-wrap").hasClass("tmce-active")){
image_description_edit = tinyMCE.get("imagedescriptionedit").getContent();
if (image_description_edit.length < 1){
image_description_edit = $("#imagedescriptionedit").val();
}
}else{
image_description_edit = $("#imagedescriptionedit").val();
}
}else{
image_description_edit = $("#imagedescriptionedit").val();
}
return image_description_edit.replace(/"/g, "'").replace(/\n/g, "");
}
$(".edit_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
var allimageimages = $("#pl" + cur_pl_id + "_images").sortable("toArray");
curimageOrderId = allimageimages.indexOf("pl" + cur_pl_id + "_image" + cur_image_id);
$("#edit-image-dialog").dialog("open");
});
// Delete image dialog.
$("#delete-image-dialog").dialog({
autoOpen: false,
width: 300,
height: 160,
dialogClass:"fwdsisc",
modal: true,
buttons:[{
text: fwdsiscYes__,
click: function(){
var allPlimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allPlimages.indexOf("pl" + cur_pl_id);
var allimageimages = $("#pl" + cur_pl_id + "_images").sortable("toArray");
curimageOrderId = allimageimages.indexOf("pl" + cur_pl_id + "_image" + cur_image_id);
fwdsiscMainPlaylistsAr[curPlOrderId].images.splice(curimageOrderId, 1);
$("#pl" + cur_pl_id + "_image" + cur_image_id).remove();
$(".images").sortable("refresh");
$(this).dialog("close");
}},
{
text: fwdsiscNo__,
click: function(){
$(this).dialog("close");
}}
],
open: function(){
$('.ui-widget-overlay').addClass('fwdsisc');
}
});
$(".delete_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
$("#delete-image-dialog").dialog("open");
});
// Upload image thumb.
var custom_uploader4;
var curScroll4;
$("#upload_thumb_button").click(function(e) {
e.preventDefault();
curScroll = $("#add-image-dialog").scrollTop();
// If the uploader object has already been created, reopen the dialog.
if (custom_uploader4){
custom_uploader4.open();
return;
}
// Extend the wp.media object.
custom_uploader4 = wp.media.frames.file_frame = wp.media({
title: fwdsicChooseImage__,
button:
{
text: fwdsicAddImage__
},
multiple: false
});
// When a file is selected, grab the URL and set it as the text field's value.
custom_uploader4.on("select", function(){
var attachment = custom_uploader4.state().get("selection").first().toJSON();
$("#image_thumb").val(attachment.url);
$("#upload_thumb").attr("src", attachment.url);
});
// Open the uploader dialog.
custom_uploader4.open();
custom_uploader4.on("close", function(){
$("#add-image-dialog").scrollTop(curScroll);
});
});
// Image video poster upload.
var custom_uploader7;
var curScroll7;
$("#video_poster_upload_button").click(function(e) {
e.preventDefault();
curScroll7 = $("#add-image-dialog").scrollTop();
// If the uploader object has already been created, reopen the dialog.
if (custom_uploader7){
custom_uploader7.open();
return;
}
// Extend the wp.media object.
custom_uploader7 = wp.media.frames.file_frame = wp.media({
title: fwdsicChooseImage__,
button:
{
text: fwdsicAddImage__
},library:
{
type: "image"
},
multiple: false
});
// When a file is selected, grab the URL and set it as the text field's value.
custom_uploader7.on("select", function(){
var attachment = custom_uploader7.state().get("selection").first().toJSON();
$("#video_poster_source").val(attachment.url);
$("#video_poster_thumb").attr("src", attachment.url);
});
// Open the uploader dialog.
custom_uploader7.open();
custom_uploader7.on("close", function(){
$("#add-image-dialog").scrollTop(curScroll7);
});
});
// Image video poster upload edit.
var custom_uploader8;
var curScroll8;
$("#video_poster_upload_button_edit").click(function(e) {
e.preventDefault();
curScroll8 = $("#add-image-dialog-edit").scrollTop();
// If the uploader object has already been created, reopen the dialog.
if (custom_uploader8){
custom_uploader8.open();
return;
}
// Extend the wp.media object.
custom_uploader8 = wp.media.frames.file_frame = wp.media({
title: fwdsicChooseImage__,
button:
{
text: fwdsicAddImage__
},library:
{
type: "image"
},
multiple: false
});
// When a file is selected, grab the URL and set it as the text field's value
custom_uploader8.on("select", function(){
var attachment = custom_uploader8.state().get("selection").first().toJSON();
$("#video_poster_source_edit").val(attachment.url);
$("#video_poster_thumb_edit").attr("src", attachment.url);
});
// Open the uploader dialog.
custom_uploader8.open();
custom_uploader8.on("close", function(){
$("#add-image-dialog-edit").scrollTop(curScroll8);
});
});
// Image custom uploader.
var custom_uploader;
var curScroll;
var btnTarget;
$("#upload_image_source_button, #upload_image_source_button_edit").click(function(e) {
e.preventDefault();
btnTarget = e.target.id;
curScroll = $("#add-image-dialog").scrollTop();
// If the uploader object has already been created, reopen the dialog.
if (custom_uploader){
custom_uploader.open();
return;
}
// Extend the wp.media object.
custom_uploader = wp.media.frames.file_frame = wp.media({
title: fwdsicChooseImage__,
button:
{
text: fwdsicAddImage__
},library:
{
type: "image"
},
multiple: false
});
// When a file is selected, grab the URL and set it as the text field's value.
custom_uploader.on("select", function(){
var attachment = custom_uploader.state().get("selection").first().toJSON();
curImageWidth = attachment.width;
curImageHeight = attachment.height;
if(btnTarget == "upload_image_source_button"){
$("#image_source").val(attachment.url);
$("#thumb_source").attr("src", attachment.url);
}else{
$("#image_source_edit").val(attachment.url);
$("#thumb_source_edit").attr("src", attachment.url);
}
});
// Open the uploader dialog.
custom_uploader.open();
custom_uploader.on("close", function(){
$("#add-image-dialog").scrollTop(curScroll);
});
});
// Video custom uploader edit.
var video_custom_uploader;
var curScrollEdit;
$("#upload_video_source_button, #upload_video_source_button_edit").click(function(e) {
e.preventDefault();
btnTarget = e.target.id;
curScroll = $("#add-image-dialog").scrollTop();
// If the uploader object has already been created, reopen the dialog.
if (video_custom_uploader){
video_custom_uploader.open();
return;
}
// Extend the wp.media object.
video_custom_uploader = wp.media.frames.file_frame = wp.media({
title: fwdsicChooseVideo__,
button:
{
text: fwdsiscAddVideo__
},library:
{
type: "video, audio"
},
multiple: false
});
//When a file is selected, grab the URL and set it as the text field's value
video_custom_uploader.on("select", function(){
var attachment = video_custom_uploader.state().get("selection").first().toJSON();
if( btnTarget == "upload_video_source_button"){
$("#video_source").val(attachment.url);
}else{
$("#video_source_edit").val(attachment.url);
}
});
// Open the uploader dialog.
video_custom_uploader.open();
video_custom_uploader.on("close", function(){
$("#add-image-dialog").scrollTop(curScroll);
});
});
// Subtitle custom uploader edit.
var ubtitle_custom_uploader;
var curScrollEdit;
$("#upload_subtitle_source_button, #upload_subtitle_source_button_edit").click(function(e) {
e.preventDefault();
btnTarget = e.target.id;
curScroll = $("#add-image-dialog").scrollTop();
//If the uploader object has already been created, reopen the dialog.
if (ubtitle_custom_uploader){
ubtitle_custom_uploader.open();
return;
}
// Extend the wp.media object.
ubtitle_custom_uploader = wp.media.frames.file_frame = wp.media({
title: "Chose subtitle",
button:
{
text: "Add subtitle (.srt)"
},library:
{
type: ""
},
multiple: false
});
// When a file is selected, grab the URL and set it as the text field's value.
ubtitle_custom_uploader.on("select", function(){
var attachment = ubtitle_custom_uploader.state().get("selection").first().toJSON();
if(btnTarget == "upload_subtitle_source_button"){
$("#subtitle_source").val(attachment.url);
}else{
$("#subtitle_source_edit").val(attachment.url);
}
});
// Open the uploader dialog.
ubtitle_custom_uploader.open();
ubtitle_custom_uploader.on("close", function(){
$("#add-image-dialog").scrollTop(curScroll);
});
});
// Image custom uploader edit.
var custom_bullk;
var curScrollEdit;
function openBulkUploader(e, cur_pl_id){
e.preventDefault();
var cur_pl_id = cur_pl_id;
// If the uploader object has already been created, reopen the dialog.
if (custom_bullk){
custom_bullk.open();
return;
}
//Extend the wp.media object
custom_bullk = wp.media.frames.file_frame = wp.media(
{
title: "Choose multiple images to create a gallery",
button:
{
text: fwdsicAddImage__
},library:
{
type: "image"
},
multiple: true
});
// When a file is selected, grab the URL and set it as the text field's value.
custom_bullk.on("select", function(){
var attachment = custom_bullk.state().get("selection").toJSON();
for(var i = 0; i<attachment.length; i++){
var isDuplicate = false;
for(var j=0; j<fwdsiscMainPlaylistsAr[cur_pl_id].images.length; j++){
if(fwdsiscMainPlaylistsAr[cur_pl_id].images[j].source == attachment[i].url){
isDuplicate = true;
}
}
if(!isDuplicate){
var imageId = fwdsiscMainPlaylistsAr[cur_pl_id].images.length;
var imagesIdsAr = [];
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
$.each($("#pl" + cur_pl_id + "_images .fwd-image"), function(i, el){
var reg_exp = /image[0-9]+/;
var image_id = parseInt($(el).attr("id").match(reg_exp)[0].slice(5));
imagesIdsAr.push(image_id);
});
for (var k=0; k<fwdsiscMainPlaylistsAr[curPlOrderId].images.length; k++){
if ($.inArray(k, imagesIdsAr) == -1){
imageId = k;
break;
}
}
var imgWidth = attachment[i].width;
var imgHeight = attachment[i].height;
addBulkimages(cur_pl_id, imageId, attachment[i].title, attachment[i].url, imgWidth, imgHeight);
}
}
});
// Open the uploader dialog.
custom_bullk.open();
};
// Add bulk images.
function addBulkimages(cur_pl_id, imageId, title, source, imageWidth, imageHeight){
$("#pl" + cur_pl_id + "_images").prepend("<div id='pl" + cur_pl_id + "_image" + imageId + "' class='fwd-image'>"
+ "<h3 class='image-header'>" + title.replace(/"/g, "'") + "</h3>"
+ "<img class='fwd-image-playlist-img' id='pl" + cur_pl_id + "_image" + imageId + "_img'></img>"
+ "<button class='delete_image_btn' id='pl" + cur_pl_id + "_image" + imageId + "_del_btn'>" + fwdsicDeleteImage__ + "</button>"
+ "<button class='edit_image_btn' id='pl" + cur_pl_id + "_image" + imageId + "_edit_btn'>" + fwdsicEditImage__ + "</button>"
+ "</div>");
$("#pl" + cur_pl_id + "_image" + imageId + "_img").attr("src", source);
$(".edit_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
var allMpimages = $("#main_playlists").sortable("toArray");
curPlOrderId = allMpimages.indexOf("pl" + cur_pl_id);
var allimageimages = $("#pl" + cur_pl_id + "_images").sortable("toArray");
curimageOrderId = allimageimages.indexOf("pl" + cur_pl_id + "_image" + cur_image_id);
$("#edit-image-dialog").dialog("open");
});
$(".delete_image_btn").click(function(e){
e.preventDefault();
var reg_exp1 = /pl[0-9]+_/;
var reg_exp2 = /image[0-9]+_/;
cur_pl_id = parseInt($(this).attr("id").match(reg_exp1)[0].slice(2, -1));
cur_image_id = parseInt($(this).attr("id").match(reg_exp2)[0].slice(5, -1));
$("#delete-image-dialog").dialog("open");
});
$(".images").sortable("refresh");
$(".fwd-image").mouseover(function(){
$(this).addClass("image_over");
$(this).find(".image-header").css("color", "#212121");
});
$(".fwd-image").mouseout(function(){
$(this).removeClass("image_over");
$(this).find(".image-header").css("color", "#555555");
});
var newimage ={
name: title.replace(/"/g, "'"),
source: source.replace(/"/g, "'"),
dsecription:"",
width:imageWidth,
height:imageHeight,
link:"",
target:"_blank",
text_vertical_alignment:"bottom",
video_source:"",
video_password:"",
vast:"",
subtitle_source:"",
video_thumbnails:"no",
dsecription:"",
};
fwdsiscMainPlaylistsAr[cur_pl_id].images.unshift(newimage);
}
$("#update_btn").click(function(){
$("#playlist_data").val(JSON.stringify(fwdsiscMainPlaylistsAr));
});
// Utils.
function checkLength(tips, el, prop, min, max){
if ((el.val().length > max) || (el.val().length < min)){
el.addClass("ui-state-error");
updateTips(tips, "Length of " + prop + " must be between " + min + " and " + max + ".");
return false;
}else{
return true;
}
}
function checkJSON(tips, el, prop, min, max){
if (el.val().indexOf("siscobj_") == -1){
el.addClass("ui-state-error");
updateTips(tips, "Please make sure that the JSON source starts with 'siscobj_' .");
return false;
}else{
return true;
}
}
function checkIfIntegerAndLength(tips, el, prop, min, max){
var int_reg_exp = /-?[0-9]+/;
var str = el.val();
var res = str.match(int_reg_exp);
if (res && (res[0] == str)){
if ((el.val().length > max) || (el.val().length < min)){
el.addClass("ui-state-error");
updateTips(tips, "Length of " + prop + " must be between " + min + " and " + max + ".");
return false;
}else{
return true;
}
}else{
el.addClass("ui-state-error");
updateTips(tips, "The " + prop + " field value must be an integer.");
return false;
}
}
function updateTips(tips, txt){
tips.text(txt).addClass("ui-state-highlight");
setTimeout(function(){
tips.removeClass("ui-state-highlight", 1500);
}, 500);
tips.addClass("fwd-error");
}
function escapeHtml(str) {
var map = {
"&": "&",
"<": "<",
">": ">",
"\"": """,
"'": "'"
};
str = str.replace(/'/g, "\"");
return str.replace(/[&<>"']/g, function(m) { return map[m]; });
}
function unescapeHtml(str) {
var map = {
"&": "&",
"<": "<",
">": ">",
""": "\"",
"'": "'"
};
return str.replace(/(&|<|>|"|')/g, function(m) { return map[m]; });
}
})