Your IP : 216.73.216.240


Current Path : /home/juvelize/www/modules/mod_simple_unite_gallery/elements/ckslidesmanager/
Upload File :
Current File : /home/juvelize/www/modules/mod_simple_unite_gallery/elements/ckslidesmanager/ckslidesmanager.js

/**
* Simple Unit Gallery - Joomla Module 
* Version			: 1.2.0
* Package			: Joomla 3.6.x
* copyright 		: Copyright (C) 2016 ConseilGouz. All rights reserved.
* license    		: http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* From              : Unit Gallery, https://github.com/vvvmax/unitegallery
* The class JFormFieldCkslidesmanager is adapted from carouselCK by Cedric KEIFLIN alias ced1870
* Updated on        : November, 2016
**/

// pour gestion editeur d'images
function jInsertEditorText(text, editor) {
	var valeur = jQuery(text).attr('src');
	jQuery('#'+editor).val(valeur);
	addthumbnail(valeur, '#'+editor);
}

function addthumbnail(imgsrc, editor) {
	var slideimg = jQuery(editor).parent().find('img');
	var testurl = 'http';
	if (imgsrc.toLowerCase().indexOf(testurl.toLowerCase()) != -1) {
		slideimg.attr('src', imgsrc);
	} else {
		slideimg.attr('src', JURI + imgsrc);
	}

	slideimg.attr('width', '64px');
	slideimg.attr('height', '64px');
}

function addslideck(imgname, imgcaption, imgthumb, imglink, imgtarget, imgvideo, slideselect, imgalignment, articleid, imgtime, articlename, imgtitle) {
	if (!imgtitle)
		imgtitle = '';
	if (!articleid)
		articleid = '';
	if (!articlename)
		articlename = '';
	if (!imgtime)
		imgtime = '';
	if (!imgname)
		imgname = '';
	if (!imgthumb) {
		imgthumb = '';
		if (imgname == '') {
			imgthisthumb = 'modules/mod_simple_unite_gallery/elements/ckslidesmanager/unknown.png';	
		} else {
			imgthisthumb = imgname;
			}
		} else { 
		imgthisthumb = imgthumb; 
	}
 
	if (!imgcaption)
		imgcaption = '';
	imgcaption = imgcaption.replace(/\|\|/g, """);
	if (!imglink)
		imglink = '';
	if (!imgvideo)
		imgvideo = '';
	if (!imgtarget || imgtarget == 'default') {
		imgtarget = '';
	} 
	if (!slideselect) {
		slideselect = '';
	}

	imgalignment = '';

	index = checkIndex(0);
	var ckslide = jQuery('<li class="ckslide" id="ckslide' + index + '" />');

	ckslide.html('<div class="ckslidehandle"><div class="ckslidenumber">' + index + '</div></div><div class="ckslidecontainer">'
			+ '<input name="ckslidedelete' + index + '" class="ckslidedelete" type="button" value="' + Joomla.JText._('SAG_IMAGE_REMOVE2') + '" onclick="javascript:removeslide(this.getParent().getParent());" />'
			+ '<div class="cksliderow"><div class="ckslideimgcontainer"><img src="../' + imgthisthumb + '" width="64" height="64"/></div>'
			+ '<input style="margin-top: 10px;" name="ckslideimgname' + index + '" id="ckslideimgname' + index + '" class="ckslideimgname hasTip" title="Image::affichage &agrave; partir de cette image " type="text" value="' + imgname + '" onchange="javascript:addthumbnail(this.value, this);" />'
			+ '<a style="margin-top: 10px;" class="btn modal ckselectimg" href="' + JURI + 'administrator/index.php?option=com_media&view=images&tmpl=component&e_name=ckslideimgname' + index + '" rel="{handler: \'iframe\', size: {x: 800, y: 500}}" >' + Joomla.JText._('SAG_SELECTIMAGE') + '</a></div>'
			+ '<div class="cksliderow" style="display:none"><span class="ckslidelabel">' + Joomla.JText._('SAG_IMAGE_TITLE') + '</span><input name="ckslidetitletext' + index + '" class="ckslidetitletext" type="text" value="' + imgtitle + '" onchange="javascript:storesetwarning();" /></div>'
			
			+ '<div class="cksliderow"><span class="ckslidelabel">' + Joomla.JText._('SAG_CAPTION') + '</span><input name="ckslidecaptiontext' + index + '" class="ckslidecaptiontext" type="text"  value="' + imgcaption + '" onchange="javascript:storesetwarning();" /></div>'

			+ '<div class="cksliderow" id="cksliderowarticle' + index + '"><span class="ckslidelabel">' + Joomla.JText._('SAG_IMAGE_TITLE') + '</span><input name="ckslidearticleid' + index + '" class="ckslidearticleid input-medium" id="ckslidearticleid' + index + '" style="width:20px;display:none" type="text" value="' + articleid + '" disabled="disabled" onchange="javascript:storesetwarning();" /><input name="ckslidearticlename' + index + '" class="ckslidearticlename " id="ckslidearticlename' + index + '" type="text" value="' + articlename + '" disabled="disabled" /><a id="ckslidearticlebuttonSelect" class="modal btn" href="index.php?option=com_content&amp;layout=modal&amp;view=articles&amp;tmpl=component&amp;function=jSelectArticle_ckslidearticleid' + index + '" rel="{handler: \'iframe\', size: {x: 800, y: 450}}" style="display:inline-block;margin:0 5px 0 5px;">' + Joomla.JText._('SAG_IMAGE_ARTICLE_ID') + '</a><a class="btn" href="javascript:void(0)" onclick="document.getElementById(\'ckslidearticleid' + index + '\').value=\'\';document.getElementById(\'ckslidearticlename' + index + '\').value=\'\';">' + Joomla.JText._('SAG_CLEAR_IMAGE') + '</a>'
			
			+'</div>'			
			+ '</div>'
			+ '</div></div>'
			+ '</div><div style="clear:both;"></div>');

	jQuery('#ckslideslist').append(ckslide);

	script = document.createElement("script");
	script.setAttribute('type', 'text/javascript');
	script.text = "function jSelectArticle_ckslidearticleid" + index + "(id, title, catid, object) {"
			+ "document.getElementById('ckslidearticleid" + index + "').value = id;"
			+ "document.getElementById('ckslidearticlename" + index + "').value = title;"
			+ "SqueezeBox.close();"
			+ "}";

	document.body.appendChild(script);

	storeslideck();
	makesortables();
	SqueezeBox.initialize({});
	SqueezeBox.assign(jQuery('#ckslide' + index + ' a.modal'), {
		parse: 'rel'
	});
	create_tabs_in_slide(jQuery('#ckslide' + index));
}

function create_tabs_in_slide(slide) {
	jQuery('.ckslideaccordeoncontent', slide).hide();
	jQuery('.ckslideaccordeonbutton', slide).each( function(i, button) {
		this.tab = jQuery('.ckslideaccordeoncontent', slide).eq(i);
		jQuery(button).click(function(){
			if (jQuery(this).hasClass('open')) {
				// if is opened
				jQuery(this).removeClass('open');
				jQuery('.ckslideaccordeoncontent', slide).hide();
			} else {
				// if is closed
				jQuery('.ckslideaccordeonbutton', slide).removeClass('open');
				jQuery(this).addClass('open');
				jQuery('.ckslideaccordeoncontent', slide).hide();
				this.tab.fadeIn();
			}
		});
	});
}

function checkIndex(i) {
	while (jQuery('#ckslide' + i).length)
		i++;
	return i;
}


function removeslide(slide) {
	if (confirm(Joomla.JText._('SAG_REMOVE') + ' ?')) {
		slide.remove();
		storeslideck();
	}
}

function storesetwarning() {
// $('ckstoreslide').setStyle('background-color', 'red');
}

function storeremovewarning() {
// $('ckstoreslide').setStyle('background-color', 'white');
}

function storeslideck() {
	var i = 0;
	var slides = new Array();
	jQuery('#ckslideslist .ckslide').each(function(i, el) {
		el = jQuery(el);
		slide = new Object();
		slide['imgname'] = el.find('.ckslideimgname').val();
		slide['imgcaption'] = el.find('.ckslidecaptiontext').val();
		slide['imgcaption'] = slide['imgcaption'].replace(/"/g, "||");
		slide['imgtitle'] = el.find('.ckslidetitletext').val();
		slide['imgtitle'] = slide['imgtitle'].replace(/"/g, "||");
		slide['imgthumb'] = '';
		slide['imglink'] = '';
		slide['imgtarget'] = '';
		slide['imgalignment'] = '';
		slide['imgvideo'] = '';
		slide['slidearticleid'] = el.find('.ckslidearticleid').val();
		slide['slidearticlename'] = el.find('.ckslidearticlename').val();
		slide['imgtime'] = el.find('.ckslideimgtime').val();
		slides[i] = slide;
		i++;
	});

	slides = JSON.stringify(slides);
	slides = slides.replace(/"/g, "||");
	jQuery('#ckslides').val(slides);

}

function callslides() {
	var slides = jQuery.parseJSON(jQuery('#ckslides').val().replace(/\|\|/g, "\""));
	if (slides.length) {
		jQuery(slides).each(function(i, slide) {
			addslideck(slide['imgname'],
					slide['imgcaption'],
					slide['imgthumb'],
					slide['imglink'],
					slide['imgtarget'],
					slide['imgvideo'],
					slide['slideselect'],
					slide['imgalignment'],
					slide['slidearticleid'],
					slide['imgtime'],
					slide['slidearticlename'],
					slide['imgtitle']
					);
		});
	}
}


function makesortables() {	
	jQuery("#ckslideslist").sortable({
		placeholder: "ui-state-highlight",
		handle: ".ckslidehandle",
		items: ".ckslide",
		axis: "y",
		forcePlaceholderSize: true,
		forceHelperSize: true,
		dropOnEmpty: true,
		tolerance: "pointer",
		placeholder: "placeholder",
		zIndex: 9999,
		update: function(event, ui) {
			renumber_slides();
		},
		sort: function(event, ui) {
			jQuery(ui.placeholder).height(jQuery(ui.helper).height());
		}
	});
}

function renumber_slides() {
	var index = 0;
	jQuery('.ckslide').each(function(i, slide) {
		jQuery('.ckslidenumber', jQuery(slide)).html(i);
		index++;
	});
}

jQuery(document).ready(function() {
	callslides();

	var script = document.createElement("script");
	script.setAttribute('type', 'text/javascript');
	script.text = "Joomla.submitbutton = function(task){"
			+ "storeslideck();"
			+ "if (task == 'module.cancel' || document.formvalidator.isValid(document.id('module-form'))) {	Joomla.submitform(task, document.getElementById('module-form'));"
			+ "if (self != top) {"
			+ "window.top.setTimeout('window.parent.SqueezeBox.close()', 1000);"
			+ "}"
			+ "} else {"
			+ "alert('Formulaire invalide');"
			+ "}}";
	document.body.appendChild(script);
});